012 ゴムひもの山歩き / runtime evidence

rope_hike_automatic_silent.mp4
実際のPyxelランタイム描画。app.py --headless --demo の自動入力。
Aで張る→解放→成功、Bで勢いを付け過ぎて岩へ→同面再開→巻取りで成功、
Cで中棚に休む→Dで2本目を選ぶ→旗へ到着。
画面上にも「自動操作・無音」と表示。人のプレイ映像ではありません。
音トラックなし。音は実装していません。実聴も未実施です。
PNG/GIF: Pyxel自身のscreenshot/screencast。MP4: 元GIFをffmpegでH.264へ変換。
MP4の秒数・サイズ・コーデックはMP4_VERIFICATION.jsonに記録。
元GIFは1フレーム約3csへ丸められます。MP4は全GIFフレームを保持し、
settb=1/30,setpts=Nで各フレームを1/30秒に補正。率の変換による間引きはしません。
Pyxel取得時点の先頭/末尾により、モデルの780フレームと収録フレーム数は少し異なります。
再作成: Pyxel環境で python tools/capture_demo.py（別途ffmpeg/ffprobeが必要）。

runtime_53.png: Aの接続した振り
runtime_115.png: Aの到着
runtime_260.png: Bの危険な岩で失敗し、開始棚へ復帰
runtime_450.png: Bの巻取り経路で到着
runtime_580.png: Cの中棚に着地して休む
runtime_700.png: Cの最後の棚へ到着
experiment_before.png / experiment_after.png: B同入力で長さ固定／巻取りのみ変更
manual_runtime.png: 別途Linux native GUIの実操作でF12保存（MANUAL_QA.txtを参照）

demo_events.json: 自動入力に対応する実状態・frame・モデル/描画source hash。
manual_input_log.json: native実操作のUIイベントとその時の状態。
全ルートの成功した入力列と全frame軌跡は、親フォルダsuccessful_replays.json。
headless.log: 音声デバイスが使えない警告を含む場合があります。映像取得成否とは分けます。
