019 くるり荷車：検証記録（2026-10-02 UTC）

判定の範囲
実装・機能検証済み。人による初見の理解、面白さ、再挑戦意欲は未確認。
Windows実機、macOS実機、音の実聴は未実施。ゲームと動画は無音で設計。
自動入力、エージェントのnative GUI操作、人の試遊を混同しない。

技術試験
28 unittest成功。積荷の一意所有、交換/置く/取り戻す、遠隔の箱の拒否、
配送後の質量・偏り、速度/旋回符号、鏡映、停止旋回禁止、速度上限、
ニュートラル零越え禁止、顔/角への円掃引、高速薄壁、荷物保持、後退復帰、
無入力未達、速度と旋回半径、７解の再現、JSONリプレイ完全一致。
入力は開始/再開/積替終了/次の面/題名への遷移を全キー解放まで遮断。
同時入力だけでなく、１フレーム遅れて到着する入力も模擬。
停止はモデル全状態を固定。Rは全配送、Uは直前出発時の荷物/配送を復元。
積替中の押しっぱなしで交換を反復しない。

native GUI（cloud Linux、自分のコンピューター）
2026-10-02 18:40〜18:45 UTC。Application Finderからlaunch.shで起動。
実際のキー保持を使用（150〜2500ms、press_keyの整数duration）。
・日本語題名、道選択、開始。SPACE500ms保持しても配送/移動へ漏れない。
・積替：A/B交換、重さ6のまま偏り0→-0.17。B面では重いAを中央へ移し、
  重さ7のまま偏り-0.29→0となることを実画面で確認。
・上で走行、SPACEで減速、押し直して実際のA配達。重さ6→5、偏り0→+0.20。
・P停止中にUP+SPACEを入れても距離22/速度20の表示と位置が変化しない。
・再開後Uで出発位置・荷姿へ、Rで全リセット。
・Q+SPACEを保持して題名へ戻っても即再開しない。次の道路へ通常開始可能。
・ESC終了後、019ウィンドウの消失を一覧で確認。

nativeで見つけた修正
当初の出発回数は「加速開始」で加算。UP+SPACEの到着/解放がずれた際、
倉庫内の微小な動きで２回を数えた。区画から実際に11px離れた際だけ加算へ。
同じnative操作を再実行し、静止時0回、区画を出て1回、U後0回を確認。
最後にB面のA表示が上の積替区画と重なる見た目を横へ移動。
このラベル位置と自動映像の最後の成功文言をnative終了後に変更。
操作/物理は変えず、実Pyxel headless画像で再確認。

道路の成立
描画した2px単位の道と、衝突する固いタイルは同じデータ。
その固いタイルに対して半径7の円の掃引を1/120秒ごとに検査。
壁は見えている境界。短線/丸い停車区画は非衝突の表示。
Bの角半径26。Cの角半径24、路地幅24、外周幅36、倉庫転回広場あり。
3道路の全積載/部分積載にCの全積載後退外周を加え、７本の成功解を保存。
全て３箱配送、衝突0。描画刻み時の車体余白はroute_validation.json。
路地で最小約3.93px、外周の転回部で約1.25pxの余白を残す。
円の中心線だけで可解性を判断せず、実際の速度・荷姿・舵・後退を再生した。
１箱ずつの安全策を失敗扱いするタイマーや制限を加えていない。

方策監査
policy_results.jsonに無入力、常時前進、一定の左右全舵、UP+SPACEを各30秒保存。
自動の配達試行も与えたが、いずれも３道路の全配送にはならない。
壁押しで荷物消滅なし。同一接触を繰り返し衝突として水増ししない。
Bの重い箱を中央へ置くと直進時の自動偏りをゼロにできる。安全策として残す。
同じ追従器では、左寄せ124舵フレーム・中央167舵フレームで両方成功した。
偏りが曲がる向きを助ける区間もある。これは最適性や人の操作負担の証明ではない。
満載と分割では加速/制動の扱いやすさと移動距離が変わる。
この初版で複雑な荷姿の最適化まで成立したとは主張しない。

１変更比較
experiment.py：Bで同一初期状態・同一道路・同一入力列、実効質量Mを常に7固定。
配送で所有/偏りは更新するが、加速/制動の質量は変えない。
変更点はωの0.7b項だけ（係数0対0.7）。両軌跡/終状態と実描画PNGを保存。
偏りありで作った入力を固定再生するため、その側に有利な方策であることを明記。
差は操舵への影響の検証であり、面白さの比較や最良運転の比較ではない。

文字・起動
Noto Sans CJKから必要字形だけ抽出、OFL同梱。UI各状態を描画して欠けを機械確認。
cp932既定を模擬し、日本語/空白入りパスへ複製、任意cwdから題名描画成功。
play.bat/setup.batはASCII、引用符付きcd/実行、失敗時pauseを機械確認。
この模擬はWindows SDL/実機検証の代わりにはならない。

映像
media/cart_automatic_silent.mp4：実Pyxel描画、自動操作、無音。
839元GIFフレームを各１回だけ30fpsで配置し、最終839フレーム・27.966667秒。
768×784、音声ストリームなし。media/media_validation.jsonにffprobeとSHA。
GIFのcentisecond遅延をそのまま速度とせず、各フレームをn/30秒へ割当。
日本語画面、積替、荷重変化、配達完了を実PNGで確認。

次の人の試遊
「配達後はどちらへ寄りやすい？」「次に中央へ積む？ 分けて運ぶ？」を聞く。
単に面倒な補正になっていないか、世界観とルールを結び付けて理解できるか、
短い予測弧が判断の助けになるかを観察する。架空の参加者や評価は作らない。
