film-audit: これらのチェックなしに映像は出せない
キットの場所: このスキルのすべてのコマンドは
reels-makerフォルダ(github.com/thativanng/reels-maker のクローンでtemplate/とtools/を持つもの)から実行してください。プロジェクトにない場合は、まずそのリポジトリの SETUP.md に従ってセットアップしてください。
ルール: 映像が人のもとへ行くのは、(1) 衝突パスが NO COLLISIONS を返し、(2) 「X は顔の上にあるか」という懸念のすべてにピクセル数が付き、(3) 独立監査人が未解決の MUST-FIX なしで承認したときのみです。ビルダー自身による 1fps の確認はスケッチチェックであり、ゲートではありません。修正は他のものを動かします(吹き出しを動かしたらそれがフレーム外に押し出されたことがあります)。そのため、修正のたびに、影響を受けたウィンドウだけを絞って再チェックします。
ゲート1 · 3D 衝突 (node tools/collide.mjs)
- ページは
window.collide(t)を公開します。これは AUD_M(動くもの)内のすべてのメッシュのバウンディングボックスを AUD_S(静止しているもの)および互いと比較し、各ボックスを 0.03 縮めた後に判定します。 - 新しい移動体と静止体はすべて登録してください。登録されなければチェックはそれを認識できません。投げられた箱、運ばれるカップ、通り過ぎるキューブ、浮遊するウイルスはすべて移動体としてカウントされます。
- 意図的な接触(手の中のカップなど)は、
HELDに名前で除外します。 - 高さ 0.12 単位未満のメッシュ(床デカール、道路標示、薄いプレート)はスキップされるため、平らなものが誤報を引き起こすことはありません。本当に薄い移動体は独自のチェックが必要です。
- 40fps で実行してください(
STEP=.025、デフォルト)。10fps では、2つの1フレーム接触(投げられた箱が2人の頭を貫通する)を見逃しました。 - 出力はペアごとに1行:
from–to s A × B depth (frames)。NO COLLISIONSの場合のみ出荷してください。
ゲート2 · 画面上のピクセル (node tools/probe.mjs)
3D では決して接触しない欠陥もあります。誰かの頭の3m後ろにあるボトルキャップが、まるで頭から生えているように見えることがあります。画面を測定します:
node tools/probe.mjs "4.4,4.6,4.8" "D.CUPS[0]" "head" # カップと主人公の頭の重なり(ピクセル単位)
node tools/probe.mjs "24.5,26" "head" "pill" # 頭は字幕の後ろにあるか?
node tools/probe.mjs "3.0,3.5" "D.GUESTS[1].v.root" # 1つの矩形: この人物はフレーム内にいるか?
overlap: [x, y](両方 > 0 で重なりあり)、gapY、inside(A が B に完全に収まる)を読み取ります。- 任意のページ(2D を含む):
sel:<css selector>は要素が実際に描画するもの(その文字、行ごとに測定、背景・境界線・画像を含む)で、safeはプラットフォームのキープクリア領域(window.FILM.safeから取得)です。画面上のすべての単語は、すべてのビートでsafeに対してinside: trueでなければなりません:node tools/probe.mjs --page reels/<name>/page.html --format 9:16 "2,6.4,10.4" "sel:.title,.line,.kicker,.handle,.cap" "safe" - ファイルを編集せずにカメラキーを試すには、
PREを渡します(毎回前に実行されます):PRE="window._CK.find(k => k[0] === 23.8)[1] = window._dbg.A(72.2, 10, 31, 72, 5.2, 1.5)" node tools/probe.mjs "25,28" "head"。 - ボックスは保守的です(バウンディングボックスは形状より大きいため)。数ピクセルの重なりは実際には問題ない場合があります。監査人の判断によります。
レンダリング前に、以下のすべてを数値で確認してください:
- すべての単語、キャプション、ロゴがプラットフォームのキープクリアゾーン(
safe、template/formats.json から)内にあること。オーガニックな 9:16 リールではそれは中央帯(アプリが下部4分の1と右側のボタンレールを覆う)です。有料リールでは、下部 35% より上のすべて - 顔の近くにあるもの: キャップ、頭の後ろの画面(後光)、通り過ぎるキューブ、口元の小道具
- カメラ移動中の主人公と字幕ピル
- フレーム端と近くの小道具に対する吹き出し
- フレーム端に対する人と車両(24px 以上は安全)
- 飛翔物(投げられた箱、コイン、ウイルスクラスター)が通過するすべての頭
ゲート3 · 独立監査人
新しいエージェント(決してビルダーではなく、ビルドを見たことのないもの)を references/auditor-brief.md で起動してください。
- ライブページではなく、レンダリングされた MP4 を読み取ります:
ffmpeg -i out/film.mp4 -vf fps=2 …、次にタイムスタンプ付きシート(tools/sheet.py)。 - フィルム全体で ≥2fps、変更された各ウィンドウで ≥4fps、接触点(ピックアップやハンドオフなど)では 30fps でフレームごとに確認します。
- アイテムごとに: FIXED / NOT FIXED / REGRESSED / NEW を回答し、MUST-FIX / NICE-TO-FIX でランク付けし、最後に1行:
SIGN-OFFまたはNOT。 - 修正後の再チェックは絞られます: 修正が触れたウィンドウのみ、および短い回帰チェック。全履歴を持ち越すエージェントを再開するよりも、新しいエージェントを開始する方が安価な場合があります。
監査人が常に見つけていたもの(最初にこれらを確認してください)
- 頭に触れたり後ろにあるもの: 髪の毛の中のボトルキャップ、頭の後ろの地図ピン、頭の後ろで光るモニター、あごを横切るキューブ
- 物体同士の貫通: 建物を通り抜けるトラック、互いを通り抜けるトラック、机の下に停められたバン
- 論理: トラックが先頭からドッキングする、2台目のトラックが1台目を追い越す、テーブルの端に置かれているのに落ちるはずのカップ
- 人物: 2人が非常に近くに立ち、頭が1つの図形に融合する; 誰かがフレームの半分外にいる
- 動き: 1フレームのジャンプ(テレポート)、0.1秒で床を突き抜けて落ちるもの、シーン間で主人公が消える
- 文字: プラットフォームのボタンが覆うゾーン内のテキスト、単語の途中で分割される中国語、シーンと同期していないバナー、英米スペルの混在、誰も説明できない数字、主人公を覆う字幕
- 音: ウィッシュ音、音楽の下で聞こえないキュー、挿入されたビート後にずれるキュー