052 機能・設計検証（2026-10-02 UTC）
実装と機能検証。人による面白さは確認待ち。

純粋モデル: A158/B193/C142の全合法状態、計1228遷移を探索。
装備上限・一枚の同一性・台限定編集・帆の水上解除拒否・風・穴・壁、
バネ中間壁・すべり停止・最後だけの印・出口着地・違法入力無料を検査。
全遷移をundo/再適用、全成功記録をJSON再生。別プロセスhashseed1/937で一致。
状態キーから除いた手数/履歴は遷移を変えない。試験では全描画前後のhash一致。
UI: 持った開始/移動、段階的複合押下、停止中の解放と新押下、台編集、
二枚上限、結果undo、R、違法移動、全到達状態＋三つのカード選択を描画。
巨大手数・全三組の履歴・説明画面でも画面境界を確認。
初版の描画試験が全ピクセル座標をリスト保存しメモリ上限で終了したため、
試験だけを一定メモリの逐次境界判定へ修正。モデル/描画機能の障害ではありません。
自動試験はファイル出力をスタブ化。native/mediaの書換を禁止し前後hash一致を検査。

候補盤を盲信せず改修
A: 候補は解けるが、バネで穴を渡る意図した手順が成立せず。
開始を(2,1)、穴の向こう(4,1)を台に変更。下側の無カード解を保持。
C: 候補は解けるが、出口(5,2)にすべりが止まれず比較版も固定靴未達。
上の印を(2,1)、出口を(5,3)へ。最終図を両比較版に共通使用。
Bは候補のまま。修正前の可解性と、意図した手順の不成立を区別しています。

方策定義
固定装備は開始台で指定の0/1/2枚を装備し、以後一度も編集しない方策。
「常に二枚」は固定二枚の全三組で比較。面途中での自由な二枚交換ではない。
台で見直す方策は全状態グラフ上のDijkstraで移動数→決定数を最小化。
着脱は移動数0、決定数1。B/Cでは少ない編集と少ない移動を選び分けられる。
未達方策も到達可能な印数、取りこぼしを起こす合法遷移数を記録。
最適経路が人の選択や楽しさを証明するとは主張しません。

一変更比較
Cの回収のみ、終着地/全通過セル。空中通過も比較版で拾うことを明記。
通常版は固定靴未達。隣の印を先に取り、靴を履く案は6移動/1着脱。
台で帆を足す別案は5移動/2着脱。比較版では固定靴4移動/1着脱。
両版に共通の無カード10移動経路がある。盤・カード・風・出口判定は同一。
独立レビューで比較metricsの変種フラグ欠落を指摘され、through引数を
正しく渡すよう修正。変種の成功証拠そのものを再生し、成功断言を検査。

媒体: 実Pyxel自動入力・無音。元GIFフレームを一度ずつ30fpsでMP4へ。
ネイティブLinux実入力（21:51–21:53 UTC）をCUAで確認。
Aの実際の穴越え、台でバネを外して隣の印を回収。
Bの帆で水上へ、向かい風左入力と水上編集は拒否、Xで復帰。
Cの靴が印を通過しても未回収。停止中の右入力を拒否し、再開。
Sで靴を外して印回収、靴を履き下の印へ、台で帆を足す。
三枚目は拒否され二枚のまま。帆＋靴で水を渡って出口へ着地、成功。
結果undoと再実行、R保持で初期化、F5保存通知を観測。
F12 PNG、意味入力のイベント、元ソースsnapshotを保存。Escape後に窓消滅。
最終独立レビューは依頼中。
未検証: 人の初見理解/面白さ、Windows実機、音出力。音はなし。

最終媒体検査: GIF全749フレームを保持。MP4は30fps/24.966667秒、音声なし。
13試験、既定cp932/日本語空白パス/任意cwd模擬、native49/automatic12イベント再生一致。
媒体の全ファイルhashは自動試験前後で不変。各収録に元ソースsnapshotを保存。
