- Undo walks to parent node in history tree, redo follows
last-active-child for correct branch tracking after forks
- HistoryTree tracks branch recency via last_active_child field,
updated on push() and checkout() path transitions
- SVG files can be dragged from Finder onto the canvas window
- Edit menu with Undo/Redo items, command palette entries
- 3 new tests: undo, redo, redo-after-fork branch behavior
- 29 tests passing, clippy clean