Files
TheTree_mock/docs/plans/original-completion-2026-09-29/execution/SELECTION_RESTORE.md
Takeshi 5dde0c5ec2 Record original-alignment implementation and traceability checkpoint
Capture current source, content data, tests, asset licenses, and original-specification traceability. Original implementation remains incomplete. The accepted matching UI generation passed 154 suites and 12,253 checks, with eight rendered staff-contract screens reviewed. Latest native Windows and full-original acceptance remain outstanding.
2026-09-30 23:52:24 +09:00

3.5 KiB
Raw Permalink Blame History

手動保存した選択対象の復元

2026-09-29。P24「保存後も対象選択を回復」の手動セーブ入口を接続。保存ボタンはmanifestにinterface_selection version1(kind/id)を記録する。成功した通常/復旧読込で、その候補のmanifestから選択を復元し、マップ強調表示と管理パネルへ反映。GameStateが保持する保存時の表/裏レイヤーを画面へ同期する。ゲーム状態の保存スキーマ変更なし。

選択メタデータは任意。欠落、未知版、型不正、未知種別、存在しないIDは無視し、ゲーム状態の読込を妨げない。失敗した読込は現在の選択を変更しない。施設(建設済みインフラ含む)、工事、掘削、既設階段をそれぞれ対応サービスで存在確認してから反映する。

ダッシュボード168項目PASS。保存パッケージにIDが残ること、通常/厳格読込、保存時レイヤー、旧版/不正UI情報、失敗時の選択保持、正式セーブ破損時にバックアップ候補の選択情報を使うことを確認。従業員131項目PASS。

通常保存ボタン/読込メニューを使う実描画通しシナリオに選択復元の検証を追加。書込側83・新規プロセス読込側20=103項目PASS。書込46.27秒・読込34.41秒、双方終了0、ソース差分0。3日目までの営業状態・帳簿が一致。保存後読込画面で受付の強調表示と詳細表示を視認。

証拠: artifacts/selection-restore-2026-09-29/。変更前ソース、dashboard.log、staff.log、opening-restart(selection.json、画像、両ログ、営業状態)、targeted-verification.json。全回帰141/141 PASS、欠落・重複・ソース差分0。全件PASS後の実描画通し103項目もPASS。artifacts/full-regression-after-selection-restore-2026-09-29/参照。

後続の自動保存/直接読込対応はSELECTION_AUTOSAVE.mdを参照。残件: 工事/掘削/既設階段の全個別受入、Windows配布/実機、より広いP24は未完了。今回の実装を全選択・全保存入口の完了とは判定しない。

自動保存・直接読込への接続調査

全回帰中に現行ソースを読み取り確認。Runtime._process_save_checkpointsは毎日06:00に_perform_checkpoint_saveを直接呼び、画面選択はmetadataに含めない。遅延手動チェックポイントも同じ保存関数を使う。したがって手動ボタンのmetadata追加だけでは自動保存へ反映されない。

次の接続点は_perform_checkpoint_saveの任意プレゼンテーション情報収集と、既存save_operation_completed通知。load_from_path/load_with_recovery/load_recovery_candidateの結果には実際に採用したmanifestとoperationが残る。画面側は成功した読込操作だけを扱い、save/migration/inspect/失敗を読込と混同しない。_load_manualの現在のUI再接続を共通化し、通知とボタン後処理で二重に復元しないことが必要。

受入追加: 06:00自動保存→別候補選択→自動保存候補読込、キュー投入から保存時刻までの選択変更、成功/失敗した直接読込、UIのないheadless保存、画面破棄/再生成、古い選択ID、履歴世代ごとの異なる選択。任意表示情報の異常でゲーム保存を壊さず、保存情報取得でゲーム状態を変えない。この調査後、全回帰完了を確認して接続を実装。SELECTION_AUTOSAVE.mdに後続検証を記録。