SVG 에디터에서 문서 상태와 편집 상태의 경계를 나눈 기준
SVG 에디터에서 저장할 문서 데이터와 선택, hover, drag 같은 편집 상태를 저장 가능성 기준으로 나누고, 선택 여부를 렌더링할 때 계산하도록 바꿔 저장, 히스토리, 복사/붙여넣기 버그를 줄인 과정입니다.
2026년 7월 01일
6분 읽기
SVG 에디터에서 저장할 문서 데이터와 선택, hover, drag 같은 편집 상태를 저장 가능성 기준으로 나누고, 선택 여부를 렌더링할 때 계산하도록 바꿔 저장, 히스토리, 복사/붙여넣기 버그를 줄인 과정입니다.
교구마다 다른 생성, 선택, 이동, 렌더링 로직을 DigitalMathElement 기준으로 정리해 신규 교구 추가 비용을 줄인 과정입니다.
수학교구 SVG 캔버스에서 PointerEvent와 KeyboardEvent를 하나의 인터랙션 상태로 묶고, 교구를 store와 registry로 추적하며, drag·rotate·place 규칙을 교구 객체로 분기한 구조를 정리합니다.
SVG 기반 2D 교구와 Three.js 기반 3D 교구를 같은 서비스 흐름 안에서 다루기 위해 상태와 UI 경계를 맞춘 과정을 정리합니다.
SVG 편집기 undo/redo에서 객체 배열 대신 직렬화 가능한 문서 스냅샷만 저장하도록 바꾼 과정입니다.