Files
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

2.8 KiB

Separate UI notification from digest computation

UI subscribers do not need the digest; main uses snapshot settlement data. Added state_updated for these subscribers. Runtime still captures latest_snapshot at the same publication point; latest_digest now computes and caches its exact SHA on demand. When any legacy snapshot_published subscriber exists, its snapshot+digest notification remains eager and exact. Every publication invalidates the previous cached digest. No save format, history or simulation phase was removed.

World preview and main/staff/business/supply panels prefer state_updated and retain a snapshot_published fallback for older test doubles. The notification carries the already-generated snapshot and omits only the digest. Callback defaults support the missing digest argument.

Contract11 checks PASS: lazy invalidation/read caching, exact hash, legacy observer notifications, disconnect behavior and full-state equality between observed/unobserved replay. Registered under make test-perf.

Same small production scene: x1 average33.536ms, x3 P95123.101ms, down from approximately62ms/230ms before. Still fails4ms/12ms budgets. Scene rendering, GPU, full-load and Windows excluded. latest_snapshot creation and infrastructure validation remain significant costs.

UI regression session39911 ended with failure in the automatic midnight-ledger assertion. After fixing the snapshot payload, contract11 checks PASS; opening regression is running in session54965, log lazy-digest-opening-fixed.log. Do not claim final UI acceptance until the rerun finishes. Evidence: lazy-digest-contract.log and production-lazy-profile.json. This is partial P28 progress.

UI regression caught the missing snapshot payload through the automatic midnight-ledger assertion. state_updated now carries latest_snapshot; no new snapshot or digest computation is introduced. Initial failed UI log is preserved.

Final payload-fix rerun: contract11 and first-operating-day48 checks PASS, including automatic midnight-ledger presentation and deterministic next-morning replay. Core test-s0 also passed before the payload fix. The previous full UI invocation itself failed; broader post-payload UI rerun remains outstanding.

Full post-fix UI regression

make test-ui completed with exit0 on the corrected snapshot-payload implementation. All17 direct Godot commands and both separate upkeep save/read processes passed; no ERROR output. Start/end hashes for131 source/test/build files are unchanged. Final opening48 checks includes the previously failing midnight-ledger presentation and next-morning replay.

Evidence: lazy-payload-full-ui.log, lazy-payload-full-ui-validation.json and archived upkeep logs under artifacts/facility-dimensions-2026-09-29. This supersedes the earlier pending UI status. Performance budgets and Windows acceptance remain unresolved.