025 折りたたみ駅 / 技術・設計・体験の区別
2026-10-02 UTC

技術: 26個のunittest合格。test_results.txt参照。
純粋モデル: 全4×4座標のV/H投影、可換性、元駅ID保持、折ったG未達、全開G成功。
運休: 元座標の単位辺が境界を跨ぐかを判定。投影した線の交差/重なりでは接続しない。
Q-RはV、A-BはH、C-Dは折れ目を跨がない。運休中の入力は状態・履歴・参考数を変更しない。
明示乗換、4駅重複のID保持、二重トグル、undo完全一致、終端undo、分岐履歴を検査。
ゲーム入力: 3面の作者経路をUIのキー処理へ通し成功。
held/同時/明示的に1フレームずらした入力で、開始・次面・pause再開・reset・menu・折り後の誤操作を検査。
全操作は押下一回。操作後は全キーreleaseを待ち、消えた行先選択を維持しない。
描画: 全到達状態、全理由、説明、pause、比較、最終demo719フレーム、6桁の参考数を描画し、字形存在と480×492内の全テキスト境界を検査。
cp932を既定にしたI/O、日本語と空白を含むパス、任意cwdを模擬し起動表示を確認。
Windows BATはASCII、cd /d引用、Python実行引用、失敗pauseを機械確認。
ネイティブWindows/ macOSの起動は未検証。CP932回帰は実機動作保証ではない。

有限状態全探索
候補の座標は設計から変更せず、元の線路の単位辺・端点をローダー検証した。
A: 上限4、到達4、最短3操作。V,T:G,V。
B: 上限16、到達16、最短7操作。V,H,T:Q,V,R:R,T:G,H。
C: 上限24、到達24、最短9操作。V,T:A,R:B,H,T:C,V,R:D,T:G,H。
作者のC経路 V,T:A,R:B,T:C,R:D,H,T:G,H,V も9操作で成功。
最短解を唯一としない。参考カウンターを除く駅ID×折りbitの全状態を深さ打切りなしで探索。
線路だけ、折って一度も開かない方策は全3面で成功なし。
全部折るとBのQ-RとCのA-Bが止まる。開き直す正当な遠回りは禁止しない。
独立監査担当は別の座標/元辺またぎ判定で520状態行動組合せを照合し、同じ到達数/最短を報告。
これは別の機械検証であり、人の面白さ確認ではない。

native Linux GUI / CUAで実入力 / 19:16–19:19 UTC
実PyxelウィンドウをApplication Finderからlaunch.shで起動。
A: space+x保持で開始後V開のまま。x650ms保持でも折り1回。Right→SpaceでGへ乗換、折ったGは未達、xで成功。Zで成功前へ戻し再成功。
B: N+xで次面へ進み折り0。Pで停止しC無効、P+Cで再開してHは開のまま。R+Xで初期化後は折り0。
V→Q乗換→R列車を選択すると運休でQに残る。Vを開き列車R→H→G乗換→Hを開き成功。
C: V→A乗換→Hで両折り、列車Bは運休でAに残る。ZでHだけundo。
Vを残してA-B列車、BからCへ乗換、C-D列車、H→G乗換、HとVを開いて成功。
M+Spaceで面選択へ戻り、開始せず説明を維持。ESCで閉じ、ウィンドウ不在を確認。
media/native_*.pngとgui_events.jsonが証拠。各イベントの最終モデル再生はmedia/replay_validation.json。
同時押しはnativeで確認。任意の1フレームずれはmockで制御して検査したものと区別。
native起動時と納品app.pyは同一バイト。media/native_app_source.txtを保存。

実映像
実Pyxelを--demo --headlessで起動し、自動入力で3面＋運休拒否＋undoを描画。
media/folding_station_automatic_silent.gifの719フレームを、1回ずつ順番どおりRGBへ展開。
MP4は30fps、719フレーム、23.966667秒、映像ストリームのみ。音声なし。
GIFのセンチ秒丸めの遅延値による尺や-r resampleは使用しない。
ffprobeのフレーム数/フレームレート/尺とソース各フレームSHAはmedia/timing_validation.json。
英数字の字体改善後、最終同梱字体で映像/比較PNGを再描画してから納品。
headless描画はnative入力の代用品としては数えず、上記の別実操作で検査。

設計の確認
一つのルール変更比較ではBの運休だけを外す。両方可解、最短は両方7。
線を開く時機が変わる。手数や面白さの改善率は主張しない。EXPERIMENT.txt参照。
駅の所属と紙の投影を分ける少数ルールに3面を絞り、無意味な移動距離や隠し条件を追加していない。
実際の初見理解、選択理由、繰り返したくなるかは人の試遊待ち。
音は意図的に未実装。クラウド音声出力は未確認で、実聴品質を主張しない。
NOTEとX3案は草稿、未投稿。最初の3本へのユーザー好評を本作の評価として引用しない。

最終独立監査の限定修正（2026-10-02 20:00 UTC）
UI文字範囲試験の模擬デモがmedia/replay_partial.jsonを書き換える経路を、テスト内save_eventsのstubで遮断。ゲームの保存処理は変更していません。
部分記録は最終実デモの650フレームまでの記録から組み直し、元の承認SHA256と完全一致することを確認して復元しました。主動画・画像・app/modelは不変です。
修正後の26テストと、全10本256テストの前後で納品証跡hashが変わらないことを最終確認します。
