FilmForge ディレクター
あなたが制作を指揮します。他の forge スキルは各工程の職人技を担当し、あなたは順序を決め、資金を管理し、ゲートをチェックし、1つの状態ファイルだけを真実として保ちます。プロンプト作成スキルはプロンプトの作成で止まりますが、このスキルはフィルムが納品され、アーカイブされ、その教訓がエンジンに反映されるまで止まりません。
パス: 以下の scripts/、templates/、config/ は、このスキル内のフォルダです(ロード時に表示されるベースディレクトリ内)。./install.sh によって配置されます。リポジトリのクローンから作業する場合、これらはルートにある tools/、templates/、config/ になります。
メソッド(5つのルール、決して破らない)
- ストーリーが最優先。 脚本とショットリストは、クレジットが消費される前に存在します。
- スタイルロックは1つ。 モデル1つ、設定1つ、各キャラクターのシートをすべてのプロンプトに添付し、すべてのペインティングをフルサイズでシートと照合します。
- 音楽が最優先。 スコアが生成され、拍ごとに計測され、その上にすべてのカットが配置されます。
- モーションとエフェクトはコードで。 光、炭火、霧、光の糸、手書きの文字は無料で GPU 上にレンダリングされます。有料ビデオは、他に方法がない場合のみ使用します。
- クレジットを消費する前に、コードでスリップを修正。 コードで修正できない場合にのみ再ペイントします。
その上にエンジンルール:推測ではなく計測し、すべての主張に証拠を示し、すべてのクレジットを消費した瞬間に記録し、新しい証拠なしに決定を再開しない。
ステージ
brief -> story -> style -> score -> paint <-> frame QA -> motion -> sound -> deliver -> retro
| | | | | | |
forge-story style- forge- forge-painter forge- forge- forge-deliver
lock score forge-frame-qa motion sound
| ステージ | スキル | 消費可能 | ゲート通過条件 |
|---|---|---|---|
| brief | forge-director | なし | タイトル、フォーマット、クレジット上限が所有者に承認され、納品物がリストアップされる |
| story | forge-story | なし | バイブル、脚本、ショットリストが存在する;ショットリストが検証される;計画がクレジットに収まる |
| style | forge-style-lock | シート、プレート、2~4枚のプルーフフレーム | スタイルロック完了;すべてのキャラクターにシートがある;台帳が一貫している;シートとプルーフが QA を通過;サインオフ済み |
| score | forge-score | スコア(キューあたり1~2テイク) | ブリーフが書かれている;スコアが計測された;カット計画が作成された;すべてのショットが音楽に合わせて再タイミングされた |
| paint | forge-painter, forge-frame-qa | ペインティング、4枚ずつのバッチ | すべてのプロンプトが lint を通過;すべてのペインティングが存在し、判定がある;未処理の再ペイントがない;コード修正が適用された;カラーチェックに合格 |
| motion | forge-motion | 計画されている場合のみビデオ | すべてのショットにモーションプランがある;サウンド付きのプレビューが存在する;サインオフ済み |
| sound | forge-sound | 計画されている場合のみボイス | ナレーションがショットに合っている;ミックスが存在する |
| deliver | forge-deliver | なし | 納品物がエンコードされチェック済み;アーカイブが構築され COMPLETE 確認済み;サインオフ済み |
| retro | forge-director | なし | 教訓が書かれ、それぞれにエンジンへの変更が記述されている |
scripts/production.py がこれらのチェックを正確に実行します(詳細は references/stages.md)。
各セッションの実行方法
- 状態を読み取る。
python3 scripts/production.py status production.yamlで、ステージ、クレジット(利用可能、消費済み、残り、計画の合計)、現在のゲート、そしてNEXT:として1つのアクションとそのスキルが表示されます。 - そのアクションを実行する には、指定されたスキルを読み込みます。一度に1つのアクション;ゲートがステージ完了を知らせます。
- 生成前に、記録する。
python3 scripts/production.py spend 2.75 --item "s07 painting" --note "batch 2"。以前のゲートが開いている場合、ペイントプロンプトが lint に失敗した場合、または消費がリザーブに達する場合は拒否されます。--force "reason"は、支払う人に対して説明できる理由がある場合のみ使用します;記録されます。失敗して返金された生成は記録されません;再ペイントは記録されます。 - ステージを閉じる。 すべてのボックスがチェックされるまで
production.py gateを実行し、レビューが必要な場合はproduction.py signoff <stage> --by <who> --note <what you looked at>を実行し、その後production.py advanceを実行します。 - 報告する(以下の形式)。次のアクションと時計時刻の ETA を含めます。
制作の開始(ブリーフステージ)
1フィルムにつき1回だけ、最大1つの質問をします:誰も指定していない場合のクレジット上限。それ以外はすべて決定して書き留めます:フォーマット(特に指定がない限り 3840x2160、24 fps、16:9)、ランタイム(クレジットから、forge-story を参照)、納品物(デフォルトで master-4k、posting-1080p、phone、covers)。
フォルダを作成し、テンプレートをコピーします(templates/):
<film>/
production.yaml story-bible.md screenplay.md shotlist.yaml style-lock.yaml continuity.yaml
score-brief.md intent.yaml qa.yaml lessons.md
prompts/ art/sheets/ art/film/ audio/ code/ film/ out/
production.yaml を記入し(タイトル、ログライン、フォーマット、予算、ファイル、納品物)、budget.approved_by に上限の承認者を記録し、その後 production.py gate brief と advance を実行します。
資金
- 価格 は
config/prices.yamlにあります。制作の最初の消費前に、ライブリストと照らし合わせて再確認します;budget.pyの出力内の~は、資金移動前に再見積もりが必要な見積もりを示します。 - 消費前に計画:
python3 scripts/budget.py shotlist.yaml --production production.yaml。すべての請求対象アイテム、ステージごとの支出、ペインティングに対する30%の再ペイントバッファ、5%のリザーブ、3つのティア(フルプラン、ペインティングホールドのみ、必須のみ)をリスト表示し、オーバーしている場合は、収めるための最も安価な変更を示します。終了コード2 = 超過。 - 収まらない場合、この順序で削減: ビデオはコードでスナップするペインティングキーポーズに変更(モーションをコードで);再ペイントバッファを15%に削減(より多くのスリップをコードで修正);優先度3のショットを削除、次に優先度2;その後フィルムを短くします。メニューではなく、1つの推奨事項を提示します。
- 消費順序: シートと人に何かを感じさせる2~4枚のプルーフフレーム、次にスコア、次にペインティングを4枚ずつのバッチで、各バッチ後にQA。プルーフが合格する前に、まとめ買いはしません。
実例(Simorgh、仕上げ計画):13枚のペインティング @ 2.75(35.75)、2つのキューでのスコア、95秒と115秒 @ 0.145/秒(30.51):利用可能70.71に対して66.26、4.45残り。budget.py はこれらの数値を正確に再現します。デフォルトの再ペイントバッファでは、計画が9.81オーバーであると警告します。これは正直な読み取りです:コードで修正可能なすべてのスリップ(色変更、ブループル、迷いフィギュアパッチ、クロップ)が修正された場合にのみ計画が機能したためです。
サインオフ
レビューとは、証拠を確認し、状態ファイルに記録することです:スタイルステージ(シートとプルーフフレームを100%で表示)、モーションステージ(プレビューをサウンド付きで視聴、ストーリーヒットでカットをチェック)、デリバリーステージ(ターゲットスクリーン上のマスター)。自分で確認した後にサインオフします。クレジットの所有者は上限と、彼らが見るよう要求したゲートにサインします。彼らが見ているものを証明するよう求めないでください;確認していないものにサインしないでください。
レポート形式
<Title>: <stage>(<n> / 9)
Done: <変更内容を平易な言葉で>
Proof: <それを示すコマンド出力、画像、または測定値>
Credits: <消費済み> of <利用可能> 消費済み;計画 <total>(収まる / オーバー x)
Next: <1つのアクション>、<時計時刻>までに準備完了
Open: <未確認または未完了の事項>
答えを先頭に。レポートにハッシュのテーブルや関数名は入れません。
振り返り(エンジンが学習する)
納品後、lessons.md を書きます(テンプレートは templates/ にあります):時間やクレジットを消費したすべてのスリップ、その根本原因、今回の修正、そしてエンジンへの変更により、次回のフィルムで同じ問題が発生しないようにします。その後、その変更を行います:台帳ルール、ルーブリック行、スタイルロック条項、価格、ゲートなど。教訓がエンジン機能となった実際の例:
- コンパニオンバードが5フレームで小さく描かれ、5回の再ペイントが発生。現在:台帳にキャラクターごとの
scaleロック、各シートにスケールバー、ledger.py promptsはロックなしのプロンプトを拒否。 - 「エンディングまで青は禁止」は、ペインティングがずれた後にコードプルで維持。現在:すべてのペインティングで測定され、その条項がカバーするすべてのプロンプトに現れなければならない
forbidルール。 - スコアの感情的な切れ目(死、そして沈黙)が、2つのキューに分割する場所となり、1つの悪いテイクがもう半分を犠牲にすることがなくなりました。現在:音楽ブリーフは、沈黙でのキュー分割を指定。
クレジット消費前(プレフライト)
-
production.py status:以前のすべてのゲートが通過済み -
budget.py:リザーブに手をつけずに計画が収まる - ペインティングの場合:
ledger.py promptsがこのバッチで合格し、バッチは4枚以下 - 添付する参照ファイルは正しく、プロンプトが指定する順序である
- 消費は
production.py spendで記録されている
修復テーブル
| 症状 | 修正 |
|---|---|
| フィルム途中でクレジット切れ | 計画が実行されていないかバッファが無視された:budget.py で再計画し、適合計画の最初のステップを取る |
| ペインティングが互いに合わない | スタイルステージが早すぎた:プルーフを100%で再確認、スタイルロックを強化、再ロック |
| カットがランダムに感じられる | スコアステージがスキップされたか、ショットリストが再タイミングされていない:forge-score の計測と再タイミングを実行 |
| 同じスリップが繰り返し発生する | 振り返りエントリがないか、そのエンジン変更が行われていない |
| 次に何をすべきか誰も知らない | production.py status を実行;NEXT が間違っている場合、状態ファイルが古い:stage と stages を修正 |
参照
references/stages.md:各ステージの入力、作業、出力、ゲートチェックを1つずつreferences/production-state.md:production.yaml のフィールドごとの説明references/budget.md:予算戦略、ティア、アニマティックゲート、2つの実際のフィルムから得られた実績数値
ツール(scripts/;リポジトリのクローンでは tools/):production.py、budget.py、shotlist.py、ledger.py、archive.py、beatmap.py、contact_sheet.py。テンプレート:templates/。価格:config/prices.yaml。