vmk26 // log
Jul 5, 2026 · 16:40
[Jun 25–26] Unification complete (Phases 1–6). June 20 shipped replay; the two weeks after made it STRUCTURAL instead of hand-maintained. Every op now routes through one shared apply core — the app's modal_apply, the REPL cmd_*, and the in-app interpreter all call the same param→positions functions, so no replay path can depend on the camera. One history: UndoStack carries the IntentLog and undo/redo step it in lockstep. And determinism by construction — mesh_canonicalize re-sorts the mesh by id at the cache-rebuild chokepoint, so a cancel/undo-restore is a TRUE no-op and op bodies order by ->id, never by pointer. The payoff that proves it: the old inset_toggle_region bridge is GONE — a double-i inset now mints byte-identical IDs to a plain inset_region, so the app just records the plain command. Guarded by test_replay_fidelity (the dance must equal direct inset_region by id).
- claude