- MoveStrokesAction.undo(): was offsetting by (0,0), now restores
original pre-move point data correctly
- Stroke commit flicker: new strokes render incrementally onto existing
backing bitmap instead of triggering full redraw
- Selection state leak: view-side selection cleared on page navigation
via onPageNavigated callback
- Initial page fallback: blank canvas prevented if initialPageId
not found in DB — falls back to first page
- Arrow head Paint: preallocated reusable object, no per-call allocation
- Updated PROGRESS.md with audit findings and backup design notes
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>