Developer Guide
Dependency graph
Interactive map of the generation graph: pick anything you can edit and see which prompts, sheets, stills and clips go stale.
Every generated artifact stores a hash of the inputs it was made from. Staleness is never a flag we set: on every read we recompute the hash from the current inputs and compare. A mismatch is stale. A row with no stored hash is untracked and never stale. Versioned things (green border) keep every generation as a row and a pointer picks one. Renders record which version of a prompt or sheet they used, so selecting a different version is what makes them stale, not editing the text.
- tracked
- not tracked — a gap
- not tracked, by design
- seeded once, then yours
- versioned
- optional
- goes stale
- makes it stale
Video model
you editThe model that renders clips. Also decides which durations a shot can snap to and whether it can hear dialogue or take reference clips.
Counts
Change one of these and what depends on it goes stale.
- Nothing is compared today
Does not count
Change these freely. Nothing goes stale.
- Switching model starts a new render segment; the old clips stay, nothing reads stale
Edit this and these go stale
Nothing downstream is tracked.
Connected, but not tracked
- not tracked, by design — a different model is a different segment, never a stale one
What "Update all" regenerates
The depth picker is cumulative. Each rung includes the ones above it, and no rung ever creates an artifact that does not exist yet.
- 1.Prompts only — Rewrites stale visual and motion prompts. Nothing renders.
- 2.Prompts + images — Also re-renders a still that is stale, or whose prompt was just rewritten. Never renders a first still.
- 3.Prompts, images + videos — Also re-renders a clip whose prompt or still changed in this run, or whose manifest already diverged. Never renders a first clip.
- 4.Everything, incl. music — Also rewrites a stale music prompt, then the track if one exists. Never a first track.