re-edit
いつ使うか(必ず発火する条件)
- ユーザーが「もう少し短くして」「この部分カットして」「順番を変えて」と言ったとき
- 既存 rough cut に対して局所修正を入れたいとき
05_timeline/timeline.jsonが既に存在し、patch apply で再編集できるときreview_patch.jsonを人間指示から直接作り直して再 compile したいとき
前提条件
05_timeline/timeline.jsonが存在すること06_review/review_patch.jsonはschemas/review-patch.schema.jsonに従うことruntime/compiler/patch.tsの allowed op は以下のみreplace_segmenttrim_segmentmove_segmentinsert_segmentremove_segmentchange_audio_policychange_visual_transformchange_audio_finishadd_markeradd_note
review_patch.json.timeline_versionにはtimeline.json.versionを入れることscripts/compile-timeline.ts --patch ...はtimeline.jsonを上書きし、preview-manifest.jsonを再生成し、最後に schema validation を走らせる- current 実装では patch mode の
--fpsは使われない。fps を変えたい場合は upstream compile 側を見直す replace_segment/insert_segmentは unsafe になりやすい。必要ならreview-roughcut/references/patch-patterns.mdも参照すること
やること(ステップ)
Step 1: ユーザーの修正指示を patchable な意図に落とす
- 何を短く / 削除 / 入れ替え / 調整したいのかを具体化する
- request が local patch で済むか、selects / blueprint / package の更新が要るかを先に切る
- 詳細な自然言語マッピングは
references/edit-commands.mdを参照すること
Step 2: 現在の timeline を読む
05_timeline/timeline.jsonのversionを確認する- 対象 clip の
clip_id,segment_id,beat_id,role,timeline_in_frame,timeline_duration_framesを確認する - 置換や挿入が必要なら
04_plan/selects_candidates.yamlと、必要に応じて06_review/human_notes.yamlを読む
Step 3: patch で直せるかを判断する
patch で直せる代表例:
- クリップを少し短くする
- 冗長なクリップを削除する
- 既存クリップの順番や入る frame をずらす
- approved candidate に差し替える
- nat sound / ducking / fade を局所調整する
- 人物のzoom/crop/positionを変更する
- タイムライン全体へ会話MAプリセットを指定する
patch だけでは不正確な代表例:
- approved source や anchor のない新規シーン追加
- beat の再設計が必要な大きな並べ替え
- BGM asset 自体の差し替え
後者は無理に patch 化せず、必要なら select-clips / build-blueprint / render-video 側へ回す。
Step 4: 06_review/review_patch.json を生成する
基本 shape:
{
"timeline_version": "<timeline.json version>",
"operations": []
}
- op 名は schema にあるものだけを使う
- 1 op = 1 つの具体的修正
target_clip_id/with_segment_id/new_timeline_in_frame/new_src_in_usなど、必要 field を実データから埋めるreasonは必須。可能ならconfidenceとevidenceも入れる
Step 5: patch を適用して再 compile する
npx tsx scripts/compile-timeline.ts projects/<project> --patch projects/<project>/06_review/review_patch.json
selects / blueprint を直したあとの full compile が必要なら別途 compile mode を使う。
npx tsx scripts/compile-timeline.ts projects/<project> --fps 30
Step 6: 結果を確認する
Patch errors:が出ていないかtimeline.json.versionが increment されたか05_timeline/preview-manifest.jsonが再生成されたかSchema validation: PASSEDになったか
Step 7: 必要なら render をやり直す
- ユーザーが final packaged video まで求めており、Gate 10 を満たしているなら
render-videoを実行する - rough cut の再編集だけなら
timeline.json/ preview manifest の更新で止める
出力 artifact
06_review/review_patch.json05_timeline/timeline.json05_timeline/preview-manifest.json- 条件が揃っていて render まで進める場合は
07_package/*
注意事項
reorderという patch op はない。現在の repo では並べ替えは主にmove_segmentで表現するchange_audio_policyは ducking / nat sound / fade 調整であり、BGM asset の差し替えではない- 「長くして」は
move_segment/insert_segment/ upstream blueprint 修正になることがある。duration を盲目的に伸ばさない - MAまたは人物リフレームを含む場合は
finish-interviewを併用し、字幕や質問カードより前の映像レイヤーへ変換を適用する - 講演・インタビューを信頼感のある縦型SNSショートへ仕上げる場合は
finish-business-shortを併用し、重複発言の削除、冒頭主張、フル字幕、 話者表記、登録済みCTA、retention QAを一体で扱う - patch mode は
selects_candidates.yamlやedit_blueprint.yamlを自動更新しない