Canvas는 DOM 도형이 아니라 픽셀 상태 머신이다
Canvas에 그린 도형은 노드로 남지 않는다. 모델 상태를 따로 보관하고 매 프레임 필요한 픽셀을 다시 그려야 한다.
| 관점 | Canvas에서의 의미 | 확인할 것 | SVG와 다른 점 |
|---|---|---|---|
| 크기 | CSS 표시 크기와 실제 버퍼 분리 | devicePixelRatio 보정 | 흐릿함은 버퍼 문제일 수 있음 |
| 상태 | fillStyle, transform이 context에 남음 | save/restore 범위 | 도형별 속성 노드 없음 |
| 업데이트 | clear 후 현재 모델로 재그림 | requestAnimationFrame | 이전 도형을 직접 수정하지 않음 |
| 상호작용 | 좌표를 모델에 매핑 | hit test 직접 계산 | DOM 이벤트 target이 도형이 아님 |
개별 요소를 선택·편집해야 하면 SVG가 맞고, 많은 픽셀을 빠르게 다시 그리면 Canvas가 맞다.