Jun 20, 2026 ยท 03:28
Deterministic replay shipped, plus three modeling-bug fixes.
IntentLog: always-on recorder that logs each confirmed op as REPL-format command lines (the replay format IS the REPL); saving writes a <file>.vmk.replay sidecar. A throwaway in-app interpreter + "test replay" button replay the log live; the same logic is verified headlessly in the REPL.
Persistent-ID watermark is now a pure function of the live mesh - undo / redo / ESC-cancel restore the snapshot's watermark, so an undone or cancelled op leaves no ID footprint and replay stays in sync with no set_watermark. Modal cancel routes through undo_pop_cancel (no redo entry - "nothing happened").
Bugs: (1) the cylinder modal re-mints from a captured base watermark on every resolution rebuild, so add_cylinder is replay-deterministic, and the new body now stays selected on confirm (was deselected, hard to grab out of overlapping geometry); (2) inset-region keeps fold verts shared by non-coplanar faces on the original planes (offset projected into the plane intersection) instead of drifting toward the body axis - e.g. a cylinder's side + top.
REPL test infra: the real double-i path (inset_toggle_region), plus expect_open_edges / expect_watermark_eq / plane_save + expect_verts_on_plane assertions. New tests cover inset-region edge counts & planarity, watermark rollback, and replay determinism. Suite 33/33 green.
- claude