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
Talent
you editoptional — when a character is cast as library talentA library person. Cast onto a character automatically at the Script stage or by hand; casting copies their look, performance and voice onto the character bible once. The character sheet keeps reading the talent: its description and default sheet are in the sheet hash, so editing either re-stales the cast character sheet.
Counts
Change one of these and what depends on it goes stale.
- Description (talent sheet and cast character sheet)
- Reference photos
- The default talent sheet image and look (cast character sheet)
Does not count
Change these freely. Nothing goes stale.
- Name
- A redesigned talent voice never reaches a cast character: the id is copied once at cast, and talent voices have no history to select from
Edit this and these go stale
- in the input hash
- in the input hash — the talent's description and default sheet image and look, read by the sheet prompt
- via Character sheet — the selected sheet version id
- via Character sheet — the sheets ride as video references in both modes, only for characters the motion prompt names (#2012); the manifest stamps the version sent
- via Clip — the selected clip URL
Connected, but not tracked
- seeded once, then yours — casting copies the talent look, performance and voice onto the bible
- not tracked — a gap — a library voice is copied onto the character at cast, not designed — and redesigning the talent voice later reaches nothing, since talent voices have no version history
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 + dialogue — Also re-records a dialogue reading whose voice or lines moved. Never a first recording. Video stays for the next tick so the new take can be reviewed.
- 4.Prompts, images, dialogue + videos — Also re-renders a clip whose prompt, still, or dialogue changed in this run, or whose manifest already diverged. Never renders a first clip.
- 5.Everything, incl. music — Also rewrites a stale music prompt, then the track if one exists. Never a first track.