1仕組みと動作原理
作業着手前に「連続性コントラクト」を策定:前シーンの最終フレーム、現シーンの初期フレーム、トランジションの方向、カメラ移動時間、次シーンで複製されるグラフ・表・カード・ロゴ・テキスト、および変更不可の承認済みシーンを明文化する。
Before editing a scene, identify:
カメラスワイプには方向性のパターンが存在:右移動は現在の世界が左へ退場し次の世界が右から進入(またはクリーンな空間に着地)することを意味する。背景色、ライティング、スケールは連続していなければならず、ユーザー指示がない限り新規スライドへのフェードインは避ける。
- Move the current world left.
先頭フレームの一致には、前シーンの最終フレームを新コンポジションへ「複製または再構築」し、最新テキスト、ラベル、テーマカラー、プラス記号、ハイライト、注記を漏れなく同期させることが必須。最終フレームがソース依存の場合は双方のシーンを再レンダリングし、境界前後のフレームを抽出する。
- Re-render both affected scenes if the final frame is source-driven.
境界QAにおける6つのチェック項目:つなぎ目に視覚的な跳躍(ジャンプ)がないか、古いレンダリングの残滓テキストがないか、突然の色ブレがないか、前シーンで追加された注記の欠落がないか、予期せぬクロップやスケール変化がないか、字幕が重要な境界テキストを遮っていないか。
- 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.
境界検証手順で4つのフレーム抽出ポイントを固定:境界の-0.05秒前、境界の+0.05秒後、トランジション中間、最初の安定フレーム。「境界前には存在したラベルが境界後で消失している」場合はキャリーオーバー元が古いと判定する。
If a label appears before the boundary and disappears after, the carryover source is stale.
トランジション種別ごとのデフォルト時間を設定(シーン間スワイプ 0.4〜1.0秒、クリーンリセット保持 0.5〜1.5秒、製品デモ着地は初見で理解できる十分な長さ、末尾CTAは高速進入後に静止保持、グラフから問いへの遷移では余白を確保)。ナレーションのタイミングを常に優先させる。
These are defaults; narration timing wins when explicit.
ユーザーの口頭フィードバックを具体的アクションに対応付け(「飛んだ感じがする」→境界検証とスケール・位置の確認、「テキストが抜けている」→キャリーオーバー元の検索、「スライドっぽい」→フェードやカットをカメラワークへ変更、「速すぎる」→トランジション延長または着地保持の追加、「余白が多すぎる」→新規パネル追加ではなく環境モーションの付加)。
"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/: ローカルスクリプトおよびコマンドの実行: (本スキルディレクトリ内にスクリプトは存在せず、ドキュメント内でも固有のコマンド名は指定されていません)ドキュメントに基づき、ホスト環境側でシーンの再レンダリング、アセンブリの再構築、境界検証フレームの抽出を実行します(具体的には HyperFrames レンダラーおよびリポジトリ側のスクリプトを使用)。
- 本地工作目录: ファイル読み書きと成果物出力: 変更対象のシーンソースファイル(次シーンのキャリーオーバーまたは開始フレームを含む)。
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…