mirror of
https://github.com/storytold/cadcraft.git
synced 2026-10-28 04:46:50 -06:00
`execute` and the interactive `finish` each called the group, constraint and associativity passes in sequence, with slightly different arguments. They now both call `Session::after_command(before, uid, ok)`, which lists the passes once, so a pass cannot be added on one path and missed on the other. The arguments each path passed are unchanged: `execute` passes the document uid and `undoable && ok`; `finish` passes no uid and `true`. tests/post_command_passes.rs pins that MOVE and ERASE, run through `execute` and typed, prune groups, purge/re-solve constraints and update an associative hatch identically, in one undo step that undo fully reverses. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>