# Sequence Project State Use this reference when a Seedance request becomes a multi-clip project. The project state is the source of truth; prompts are temporary compiled instructions for one generation. ## Operating Model User idea -> story spine -> world and continuity bible -> scene plan -> sequence plan -> current clip contract -> current clip prompt -> generated take -> observed take review -> canon reconciliation -> next clip contract -> next prompt. Plan globally. Generate locally. Observe the real result. Update canon. Continue from actual accepted footage. ## Canonical State Keep canonical and transient state separate. Canonical references control identity and immutable design: character identity, product identity, wardrobe, product geometry, persistent props, location, and approved reference tags. Accepted previous footage controls transient opening state: pose, action phase, screen position, camera phase, environment arrangement, audio phase, open motion, and incomplete gestures. ## Scene Layer A scene is the re-anchor unit: one location and time envelope whose clips may chain from each other's accepted footage. Scenes group beats and own clips; every clip carries exactly one `scene_id`. Seamless continuation is legal only inside a scene. A scene boundary is an intentional cut: the next clip opens from canonical references, not from prior output, and `extension_depth` resets to 0. `extension_depth` counts consecutive output-sourced generations since the last canonical re-anchor. It resets to 0 whenever a clip opens from canonical references. It may not exceed the scene's `max_chain_depth` (default 2, hard ceiling 3): a clip that would exceed it must open from canonical references instead. Schedule these re-anchors in the plan; do not wait for visible drift. Map the arc to scenes, not clips: each scene carries one `arc_position` (open, rising, turn, climax, or release) and its clips inherit it. Audio plan: clips carry ambience, sync SFX, and on-camera dialogue only. Unify music and score in post, because audio is not continuous across separate generations. Do not ask each clip for score. ## Dramatic Authoring State Classify every clip with the canonical [Director's Read](directors-read.md) contract and record its `directors_read_lane` explicitly as `narrative` or `non_narrative`; never infer the lane from the free-form project `medium` label. Per-clip scope permits a utility insert and a character-led beat to coexist in one sequence without inventing psychology for the insert. Every explicit lane carries its complete canonical record in `authoring_state`; `felt_intent` alone is not enough. A narrative record preserves `dramatic_function`, `turn`, `pov`, `power_shift`, `hidden_want_objective`, `obstacle_tactic`, `subtext_contradiction`, `visible_suppressed_behavior`, `non_transferable_detail`, `stock_solution_refused`, explicit `value_before` and `value_after`, and exact `prompt_carriers`. `non_transferable_detail_provenance` is `source_bound` only when `non_transferable_detail_source` names a concrete reference tag, URL, or `file:`, `ref:`, or `evidence:` locator that is registered in project state. When invention was invited, provenance is `authored_choice` and the source is `null`; an authored choice may never masquerade as observed or user-supplied fact. A non-narrative record preserves exactly `utility_intent` and `non_narrative_refusal`. It does not carry narrative psychology, values, or prompt carriers. This is the canonical two-line utility handoff, not an empty lane marker. This record is internal. Never paste field names, hidden psychology, or a prose explanation of subtext into Seedance. Compile only `prompt_carriers` plus the ordinary action, endpoint, camera, light, and sound instructions. A carrier must be filmable or audible: a hand stops under a lid, a paper tag is folded face-down, a reply comes after two unanswered rings. "She feels conflicted" is not a carrier. Carrier inclusion is checked only in rendered generation prose after YAML front matter, HTML comments and tags, recognized non-rendered or hidden HTML bodies, fenced/indented/inline/HTML code, valid reference definitions and continuation titles, inline-link destinations and titles, and alt text from image references that actually resolve are removed. Definitions inside code or raw HTML blocks do not resolve an outside reference. Undefined, escaped, or malformed Markdown remains rendered evidence. An element with inline `style` is ineligible evidence; because CSS cascade evaluation is out of scope, any raw `