Canon Bible
Your show's single source of truth — characters, locations, props, palette rules, style rules, and canon events. Every render reads from it; every render stamps its state back into a signed provenance manifest.
What lives in canon
- Characters — name, aliases, hair/eye/skin, height, distinguishing features, voice notes, personality, reference images, optional trained LoRA, optional bound TTS voice.
- Locations — setting type, time of day, weather, color notes, reference images.
- Props — category, description, color / material notes, reference images.
- Style Rule Sets — named rules the generator must honor ("no lens flares", "line weight 1.5pt", "1970s anime painterly"). Grouped so a project can have an A-roll pack and a flashback pack.
- Canon Events — timestamped "what happened when" anchors the continuity engine reads to detect anachronisms (weapon in hand before it's picked up, etc.).
Canon fingerprints
Each canon entity has a SHA-256 canonFingerprint computed over its canonical JSON (stable field order, trimmed strings, normalized arrays). When a field changes, canonVersion bumps.
Every ShotVersion's provenance manifestrecords the fingerprint + version of every canon entity referenced. That's the answer to the distributor's question: "prove this shot was generated against the canon state you claim."
Adding canon fast
The three Library buttons (Character / Location / Prop) all run the same three-pane flow: Catalog of starter archetypes, Candidates (4 renders from a prose description), Refine (edit canon fields and save).
Starters are curated archetypes that ship with enough canon detail to render consistently on shot #1 — no training data required. Describe-your-own runs a fast image model under the hood (or a deterministic Unsplash stub when image generation isn't configured) to propose 4 options.
Character consistency: LoRA + voice
A character with 4+ reference images can train a LoRA via the Consistency model panel. Once active, the LoRA is threaded into every packet that references this character, locking the silhouette across shots.
The Voice panel binds a character to a specific ElevenLabs voice id (or a stub when no key is set). Directing-mode shots with dialogue will render that voice track on the clip.
Continuity events
Continuity Events are annotations on the production timeline. Example: "Kai acquires the katana at shot S1-012." If a later shot references the katana before S1-012, the continuity engine flags it. Events are kept minimal — don't try to log every beat; log the anchors that matter for consistency.
What's next
- Continuity Lint consumes canon + previous-shot state to flag drift in real time.
- Release Delivery explains how provenance manifests are signed and bundled.