scene-continuity-and-transitions
Preserve visual continuity across video scenes with previous-final-frame starts, camera swipes, carryover frames, transition QA, and boundary proofing. Use when a scene must begin from the exact last frame of a previous scene, when adding camera-move transitions, when replacing scene endings, or when debugging stale starting frames.
1How It Works & Mechanism
Establish a "continuity contract" before making changes: previous scene's final frame, current scene's initial frame, transition direction, camera move duration, charts/tables/cards/logos/text duplicated in the next scene, and approved scenes that must not be modified.
Before editing a scene, identify:
Camera swipes follow directional patterns: shifting right means moving the current world left while the next world enters from the right or lands in a clean empty space; background color, lighting, and scale must remain continuous; avoid fading into a new slide unless explicitly requested by the user.
- Move the current world left.
First-frame matching requires duplicating or reconstructing the previous scene's final frame into the new composition, including the latest text, labels, accent colors, plus signs, highlights, and annotations; if the final frame is source-driven, re-render both scenes and extract frames across the boundary.
- Re-render both affected scenes if the final frame is source-driven.
Boundary QA follows six checks: no visual jumps at seams, no leftover text from stale renders, no sudden color shifts, no missing annotations added in the previous scene, no unexpected cropping or scale changes, and captions do not obscure critical boundary text.
- No visual pop at the join.
Surgical change rule: Whenever the previous scene's final frame changes, assume by default that the next scene's source may also need updates—search before declaring completion.
If the previous final frame changes, assume the next scene may also need a source patch. Search before declaring done.
The boundary proofing procedure fixes four frame extraction points: -0.05s before boundary, +0.05s after boundary, transition midpoint, and the first stable frame; the decision rule flags carryover sources as stale if "a label appears before the boundary but disappears after it."
If a label appears before the boundary and disappears after, the carryover source is stale.
Default timing values are assigned by transition type (inter-scene swipes 0.4–1.0s, clean reset holds 0.5–1.5s, product demo landings held long enough to comprehend the first frame, closing CTAs held still after fast entry, clean negative space left when transitioning from charts to questions), with voiceover pacing taking precedence.
These are defaults; narration timing wins when explicit.
Map verbal user feedback into concrete actions ("It jumps" → run boundary proofing and check scale/position; "It forgot the text" → inspect carryover sources; "It feels like a slide" → replace fade/hard cut with camera motion; "Too fast" → extend transition or add a landing hold; "Too empty" → add ambient motion instead of new panels).
"It jumps" means boundary proof and scale/position check.
2Core Capabilities
3External Dependencies
| Kind | Dependency / Endpoint |
|---|---|
| cli | 抽边界证明帧与重渲(文档未点名 CLI;实际由同族工具承担:scripts/extract_proof_frames.py 用 ffmpeg -ss 抽帧,场景渲染由 HyperFrames 完成) |
4Recommended Governance & Evidence
- scripts/: Local script and command execution: (No scripts inside this skill directory, nor are specific commands named in the documentation) Re-rendering scenes, rebuilding assemblies, and extracting boundary proof frames are performed by the host environment according to documentation—specifically via HyperFrames rendering and repository scripts.
- 本地工作目录: File I/O and artifact output: Modified scene source files (including carryover or starting frames of the subsequent scene).
5Second-Pass Verification
- [ok] 是否真为纯判据件(无命令、无端点、无凭证) — 全文无 http(s)://、无 fetch、无 token/env、无 npx/ffmpeg/ffprobe 等命令字样;目录仅两个 markdown。故接触面只有本地文件读写,落蓝档。
- [ok] 「末帧改动即改下一场景源」在族内是否一致(避免同族互相矛盾) — 本件 Surgical Change Rule、render-qa-and-surgical-changes 的 Safe Text Replacement(Search next scene for carryover copy.)、workflows/surgical-final-edit.md(Updating a chart in one scene but forgetting the next scene's carryover chart.)三处一致。
- [ok] 边界证明的抽帧点与 references 是否相容 — SKILL.md 的 Boundary Proof Procedure 列 0.05s 前、0.05s 后、转场中、首个稳定帧;carryover-frames.md 的 Proof Timestamps 列末帧 -0.05s、首帧 +0.05s、转场运动中一帧。后者是前者的子集,无冲突(SKILL.md 更严)。
- [discrepancy] 「重新渲染两个场景」与同族「只重渲受影响场景」是否冲突 — 本件首帧匹配段要求 Re-render both affected scenes if the final frame is source-driven.,而 render-qa-and-surgical-changes 与 end-to-end-video-playbook 强调 Re-render only affected scene(s).。二者并不真冲突(carryover 使「受影响」包含下一场景),但表述上容易让操作者误以为矛盾;合读时应理解为「受影响闭包 = 源场景 + 承载帧场景」。
- [ok] 时间默认值是否会被误当硬约束 — SKILL.md 在 Timing Guidelines 段末明写 These are defaults; narration timing wins when explicit.,与 audio-sync-assembly 的「旁白为时序真源」一致,不冲突。
- [ok] 是否需要外部素材(例如参考图)才能执行 — 全流程只依赖项目内既有场景源与上一场景末帧,无外部素材、无远端依赖;这也是本件被设计成纯判据的原因。
6Verdict & Scenarios
c9aa5531333a1629…