# Core Concepts

Make Effects gives media generation a shared project record.

The goal is simple: generate freely, compare Variants, understand how each
result was made, choose the main result, and continue from exact media.

## Space

A Space is a collaborative project boundary. It owns Assets, Variants, Recipes,
References, Lineage, Collections, chat, and real-time sync.

Use one Space for a game, episode, trailer, campaign, or other project where
people and agents need shared context.

## Asset

An Asset is the named thing you care about: a character, scene, item, music
bed, sound effect, dialogue take, animation, or reference.

Assets have mutable metadata such as name and type, plus one main Variant.

## Variant

A Variant is an immutable media result attached to an Asset.

Variants can be images, audio files, or video files. A completed Variant stores
the public media facts needed to review and reuse it.

## Recipe

A Recipe records the prompt, public model, exact Variant references, and typed
media-family settings used to make a Variant.

Recipes let people and agents regenerate a completed result with changes or
retry a failed Variant unchanged.

## Reference

A Reference is an exact Variant used as generation input. It identifies what
the result came from; it does not decide whether the result becomes a new Asset
or a sibling Variant.

## Lineage

Lineage is immutable provenance between exact source and result Variants.

For example, a video attack animation can use a character image and an earlier
idle animation as references. Those exact sources stay visible as lineage.

## Collection

A Collection is ordered, mutable organization. It may contain Assets or exact
Variants. Collection membership does not change media, References, or Lineage.

## Actions

- Generate creates a new Asset.
- Regenerate creates a sibling Variant from a completed Recipe with deliberate changes.
- Retry repeats only a failed Variant in place.
- Activate explicitly chooses the main Variant.
- Copy creates a new Asset from existing media without generation.
- Update changes mutable metadata or Collection ordering.
- Delete is permanent; there is no trash or restore.

Regenerate keeps the current main Variant while work is running. On success,
the sibling becomes main only if nobody selected another Variant after
submission. Failure never changes the selection. Retry keeps both the Variant
identity and Recipe unchanged.

## Shared state

The authoritative Space state is shared by the web app, MakeFX CLI, and hosted
MCP server.

Agents should use the CLI or MCP instead of internal databases, storage, or
execution APIs.

Apply these concepts in [the reproducible media record](/docs/reproducible-ai-media),
or follow [the Variant review and selection workflow](/docs/ai-media-variants).
