Context
Undo/redo is a day-one foundation of the engine store, not a retrofit (vision doc decision
17). The bootstrap left execute/undo/redo signatures with one no-op test.
Deliverables
- Command interface (
apply/invert or do/undo pair — decide, document) + log with
cursor; redo stack invalidated on new commands.
- Command grouping/transactions (a polygon vertex drag = one undo step).
- Commit-on-release: transient drag state lives outside the log; only pointer-up commits a
command (kills v1's re-render-per-pointer-move).
- Store is framework-free and subscribable (adapter-agnostic change notifications).
Acceptance criteria
Context
Undo/redo is a day-one foundation of the engine store, not a retrofit (vision doc decision
17). The bootstrap left
execute/undo/redosignatures with one no-op test.Deliverables
apply/invertor do/undo pair — decide, document) + log withcursor; redo stack invalidated on new commands.
command (kills v1's re-render-per-pointer-move).
Acceptance criteria