Skip to content

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