SVG 에디터 인터랙션이 꼬일 때 디버깅한 순서
SVG 에디터에서 drag, resize, keyboard 입력이 서로 간섭할 때 포인터 좌표, active tool, capture, 히스토리 기록 순서로 문제를 좁힌 경험입니다.
2026년 7월 01일
5분 읽기
SVG 에디터에서 drag, resize, keyboard 입력이 서로 간섭할 때 포인터 좌표, active tool, capture, 히스토리 기록 순서로 문제를 좁힌 경험입니다.
수학교구 SVG 캔버스에서 PointerEvent와 KeyboardEvent를 하나의 인터랙션 상태로 묶고, 교구를 store와 registry로 추적하며, drag·rotate·place 규칙을 교구 객체로 분기한 구조를 정리합니다.
브라우저 좌표와 SVG 내부 좌표가 달라 드래그 위치가 어긋나는 문제를 getScreenCTM 기반으로 해결합니다.