code-film
すべてのフレームがタイムスタンプの純粋関数であるモーションフィルム:ページは
window.__seek(t)を公開し、ui:render --profile filmが各フレームにシークし、キャプチャし、シーケンスが決定論的であることを証明し、フォトセンシティビティ閾値と宣言されたフォーマットに対してチェックし、ffmpeg でエンコードします。 有料のビデオプロバイダもライブ再生も不要です。フィルムモーションの値はreferences/film-motion.mdにあり、ページコントラクトはfilm-pageにあります。
使用するタイミング
- ユーザーが自身の素材から短編モーションフィルム(製品ローンチクリップ、ショーリール、キネティックタイポグラフィ、アニメーションチャート、プロセス説明、ループするブランドアニメーション)を依頼した場合。
- フィルムが毎回同じようにレンダリングされる必要がある場合、ビートまたは宣言されたテンポに合わせる必要がある場合、または指定されたサイズの MP4 として納品する必要がある場合。
使用してはいけないタイミング
- 生成ビデオプロバイダ(Veo, Kling, Sora)のプロンプト →
motion-choreographerを使用。 - UI 内のアニメーション(ホバー、スクロールリビール、ページ遷移) →
fe-designの「モーション」節を参照。 - 既存の映像のカットや字幕追加 →
/videoクラスタを使用。 - 単一の静的またはループする SVG アセット →
svg-authoringを使用。
手順
-
入力. レシピに変数としてリストされているもののみを尋ねる:目的、フォーマットとピクセルサイズ、パレット(16進数)、1つのタイプフェイス、オーディオ(なし、提供されたファイル、または宣言されたテンポ)、エンドカード。「とにかく作って」と言われた場合は、使用したデフォルト値を明記する。
-
方向性. コーパスから1つのレシピを選び、すべてのショットが仕える1つのコンセプトを明記する:
node <skills-root>/corpus-grounding/scripts/ground.mjs search \ --manifest <skills-root>/code-film/data/manifest.json "<簡単な指示>" -
禁止事項. 簡単な指示に対するテル(
--domain tell)を取得し、各禁止事項とその代替案を計画に書き込む。 -
グリッド. 提供されたトラックからテンポと小節数を取得(
allin1.shがインストールされている場合;それ以外の場合は宣言されたテンポを使用し、宣言されたものであることを報告)。その後、時間付きの順序付きショットリストを作成する。すべてのテキストはその読み上げ時間(秒速3ワード)保持する。 -
解説のみ — 主張. 画面上のすべての図、名前、日付とその出典をリストアップする。またはユーザーのものであると明記する。一切発明しない。
-
ビルド. シークコントラクトに従ったページを作成する:
window.__seek(t)、window.__videoMeta、壁時計なし、シード付き乱数、ローカルフォント。レンダラーは--domain rendererから選択する。プレーンな HTML がデフォルトであり、ライセンスが必要なレンダラーは、ライセンス質問に回答した後にのみ提案する。 -
接触シート. 一度レンダリングし、
contact.pngを読み込み、乱雑さ、重なり、ビートずれを修正する。最大3パス。 -
レンダリング.
agent-config ui:render film/index.html --profile film --out film/out.mp4 [--audio track.wav]終了コード 0 は正常、2 は所見あり(決定論、フラッシュ、デッドタイム、フォーマット、ネットワーク)、1 は未評価、3 はブラウザドライバなし。
-
レポート. マニフェストを引用する:シーク形式、各チェックの結果(
ranまたはskipped: <理由>)、所見、verification。マニフェストがそれを示し、そのファイルダイジェストが納品するファイルと一致する場合にのみverifiedと記載する。
ステータス — 各単語の意味
- verified — すべての該当チェックがこのマシンで実行され、エンコードされたファイルのダイジェストが記録されたものと一致する。フィルムが良いかどうかについては何も語らない。
- static-only — フレームはキャプチャされハッシュ化されたが、ffmpeg を必要とするチェック(フラッシュ閾値、エンコード、フォーマット)は実行されなかった。不足しているツールを名前で指定する。
- unassessed — 何も確認されなかった:ブラウザドライバなし、シークフォームなし、または宣言された長さなし。インストール方法または不足している宣言を名前で指定する。
出力形式
- フィルムのパスとマニフェストからの SHA-256。
- チェックテーブル(
ran/skipped: …)とすべての所見。 - 接触シートのパス。
- 解説の場合、出典付きの主張リスト。
注意点
Math.randomまたはDate.nowを使用するページは逆方向パスで異なるレンダリング結果になる;マニフェストは最初に不一致が発生したフレームを名前で指定する。tからシードする。- フラッシュ閾値は安全閾値である:ストロボは失敗し、どのフラグもそれを下げない。
- フィルムプロファイルはネットワークをオフにしてページのスクリプトを実行する。CDN からフェッチされたフォントや画像は読み込まれない — ページの隣に配置する。
- 決定論はマシンごとに証明される;フォントと GPU はマシン間で異なる。
- タイムラインフレームワーク上に構築されたページは
window.__timelines(一時停止、シーク可能なエントリ)を通じて認識される;埋め込まれた映像はt − data-startで保持される。映像はオールイントラ(-g 1)でエンコードする。そうしないとシークがキーフレーム間に入ってしまう。
禁止事項
- 外部ギャラリーからプロンプトテキストを計画やレシピにペーストしない — コーパスから新たに書くこと。
- レンダラーを尋ねずにバンドルまたはインストールしない — 検出してルーティングすること。
- コードだけを見てフィルムが完成したと判断しない — フレームが決定する。
- フィルムが良い、ブランドに合っている、「AI らしくない」と主張しない — 測定されたものを報告すること。
関連項目
motion-choreographer— 生成プロバイダ向けモーションプロンプト。svg-authoring— 単一アセット向けの同じ証拠語彙。corpus-grounding—data/の背後にあるエンジン。