1实现原理 · 为什么它能做到
动手前先立「连续性契约」:上一场景末帧、当前场景首帧、转场方向、相机运动时长、下一场景里被复制的图表或表格或卡片或 logo 或文本、以及不得修改的已批准场景。
Before editing a scene, identify:
相机擦除有方向性模式:右移即当前世界左移、下一世界从右进入或落在干净空场;背景色、光照、尺度必须连续;除非用户要求否则不要淡入到新幻灯片。
- Move the current world left.
首帧匹配要求把上一场景末帧「复制或重建」进新组合,且必须带上最新文本、标签、主题色、加号、高亮与批注;若末帧是源驱动,两个场景都要重渲,并抽边界前后帧。
- Re-render both affected scenes if the final frame is source-driven.
边界 QA 有六查:接缝无视觉跳变、无旧渲染遗留文本、无突然色偏、无上一场景新增批注的缺失、无意外裁切或尺度变化、字幕不遮关键边界文本。
- No visual pop at the join.
surgical change rule:只要上一场景末帧变了,就默认下一场景可能也要改源——先搜再说完成。
If the previous final frame changes, assume the next scene may also need a source patch. Search before declaring done.
边界证明程序固定四个抽帧点:边界前 0.05s、边界后 0.05s、转场中间、首个稳定帧;判定规则是「标签在边界前出现、边界后消失」即 carryover 源过期。
If a label appears before the boundary and disappears after, the carryover source is stale.
时间默认值按转场类型给出(场景间擦除 0.4-1.0s、干净重置保持 0.5-1.5s、产品演示落地要够长看懂首帧、结尾 CTA 快进后静止保持、图表到问题转场留干净负空间),并明确旁白时序优先。
These are defaults; narration timing wins when explicit.
把用户的口头纠正映射成动作(「It jumps」→边界证明与尺度位置检查;「It forgot the text」→搜 carryover 源;「It feels like a slide」→把淡入或硬切换成相机运动;「Too fast」→延长转场或落地后加保持;「Too empty」→加环境动效而非加新面板)。
"It jumps" means boundary proof and scale/position check.
2核心能力
3外部依赖
| 类型 | 依赖 |
|---|---|
| cli | 抽边界证明帧与重渲(文档未点名 CLI;实际由同族工具承担:scripts/extract_proof_frames.py 用 ffmpeg -ss 抽帧,场景渲染由 HyperFrames 完成) |
4风险提醒 风险提醒:蓝色 · 知晓即可
- 搜 carryover 仍是人工或 agent 文本搜索,无机制保证 — references 给的是搜索程序(搜同文本、邻近标签、SVG 路径、旧主题色、下一场景首帧标记),没有工具自动比对;若复制件写法与源不同(例如被重排或被拆分到子组合),搜索可能漏掉,只能靠边界证明帧发现。
- 「重渲两个场景」与族内「只重渲受影响场景」表述不一致 — 本件说 both affected scenes,另两处说 only affected scene(s);语义可调和(carryover 属受影响),但并列阅读时存在误读风险,可能导致漏渲或多渲。
- 边界 QA 依赖抽帧加人眼,无自动差异检测 — 六查(跳变、旧文本、色偏、缺批注、裁切尺度、字幕遮挡)只能靠看证明帧;仓库层脚本能抽帧与拼接触表,但没有画面差异检测,边界问题在长片里容易漏检。
- 无命令示例,落地完全依赖另外两件 skill — 本件不给渲染或抽帧命令;若使用者只加载本件,会得到「应该抽哪些帧」而不知「怎么抽」(实际在 render-qa 的脚本清单与 scene-builder 的渲染命令里)。
- 产品演示边界的细节与 product-demo-integration 部分重叠 — 本件的 Product Demo Boundaries 与 product-demo-integration 的进出转场与裁切判据有交集;两件同时加载时需以 product-demo-integration 为准(它更细),否则可能出现两套略有差异的操作顺序。
5第二遍独立确认
- [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] 是否需要外部素材(例如参考图)才能执行 — 全流程只依赖项目内既有场景源与上一场景末帧,无外部素材、无远端依赖;这也是本件被设计成纯判据的原因。
6结论
c9aa5531333a1629…f6b043d9fd