Skip to content

[feat/MAT-363] Zoom/Pan 인프라#305

Open
b0nsu wants to merge 1 commit intorefactor/mat-362-catmull-romfrom
refactor/mat-363-zoom-pan
Open

[feat/MAT-363] Zoom/Pan 인프라#305
b0nsu wants to merge 1 commit intorefactor/mat-362-catmull-romfrom
refactor/mat-363-zoom-pan

Conversation

@b0nsu
Copy link
Copy Markdown
Collaborator

@b0nsu b0nsu commented Apr 30, 2026

Summary

뷰포트 변환(Zoom/Pan) 인프라를 도입합니다.
useCanvasViewportController, useCanvasGestureComposer, transform.ts로 핀치/팬 제스처를 처리합니다.

Stacked PR 8/10 — base: refactor/mat-362-catmull-rom

Linear

Changes

  • canvas/useCanvasViewportController.ts — 뷰포트 상태 관리, 핀치/팬
  • canvas/useCanvasGestureComposer.ts — 제스처 합성 (드로잉 + 뷰포트 전환)
  • transform.ts — ViewTransform, IDENTITY_TRANSFORM, screenToCanvas, canvasToScreen
  • render/rendererTypes.ts — RendererViewport 타입
  • index.ts export 추가

Testing

  • pnpm typecheck 통과
  • pnpm lint 통과

Risk / Impact

  • 영향 범위: 캔버스 뷰포트/제스처 레이어 추가
  • 확인이 필요한 부분: enableZoomPan 플래그 연동, 좌표 변환 정확성
  • 배포 시 유의사항: 없음

- transform.ts: ViewTransform, screenToCanvas, canvasToScreen, clampTransform, transformToMatrix3
- render/rendererTypes.ts: RendererViewport 타입
- canvas/useCanvasViewportController.ts: 뷰포트 관리 (스크롤/줌 모드, 캔버스 높이 자동 확장)
- canvas/useCanvasGestureComposer.ts: 제스처 조합 (1-finger draw + 2-finger pinch/pan)
- DrawingCanvas 통합은 MAT-364에서 진행

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@linear
Copy link
Copy Markdown

linear Bot commented Apr 30, 2026

MAT-363 Zoom/Pan

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 30, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pointer-admin Ready Ready Preview, Comment Apr 30, 2026 11:53am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant