Implement Phase 4: pinch-to-zoom and finger pan

- ScaleGestureDetector for pinch zoom (0.5x-4x) with focal-point anchoring
- Finger drag for pan with multi-pointer tracking
- Zoom/pan state managed locally in PadCanvasView for responsiveness,
  synced to EditorViewModel on gesture end

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-24 14:34:42 -07:00
parent a31e7e64d0
commit 3fc9751fc4
5 changed files with 109 additions and 9 deletions

View File

@@ -56,9 +56,18 @@ See PROJECT_PLAN.md for the full step list.
- Used KTX Canvas extensions (withMatrix, withScale, createBitmap) per lint
- ClickableViewAccessibility suppressed on PadCanvasView (drawing view)
### Phase 4: Zoom and Pan (2026-03-24)
- [x] 4.1: ScaleGestureDetector with focal-point zoom (0.5×4×)
- [x] 4.2: Finger drag for pan with multi-pointer tracking (handles finger
swaps during pinch gestures)
- [x] 4.3: Input routing by tool type already in place from Phase 3
- Zoom/pan state managed locally in PadCanvasView for responsiveness,
synced to ViewModel on gesture end
## In Progress
Phase 4: Zoom and Pan
Phase 5: Eraser
## Decisions & Deviations