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外部依赖
| Kind | Dependency / Endpoint |
|---|---|
| cli | 抽边界证明帧与重渲(文档未点名 CLI;实际由同族工具承担:scripts/extract_proof_frames.py 用 ffmpeg -ss 抽帧,场景渲染由 HyperFrames 完成) |
4管控建议与判定依据
- scripts/: 执行本地脚本或命令: (本 skill 目录内无脚本,文档也未点名任何命令)按文档由宿主重渲场景、重建装配并抽边界证明帧——具体由 HyperFrames 渲染与仓库 sc
- 本地工作目录: 文件读写与工件输出: 被改动的场景源文件(含下一场景的 carryover 或起始帧)
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…