홈페이지 캔버스를 데스크톱 앱으로 만들었다 — ICE Canvas
icenovel.com에 있던 캔버스 기능을 인터넷 없이 쓰는 설치형 윈도우 앱으로 옮기고, MIT 오픈소스로 공개했다. Tauri 2로 가볍게, 자료는 .icv로 내 PC에.
홈페이지에서 쓰던 캔버스가 마음에 들었다. 그래서 인터넷 없이 내 PC에서 바로 쓰도록, 설치형 윈도우 앱으로 뜯어냈다. 이름은 ICE Canvas. 오늘 MIT로 오픈소스 공개했다.

왜 만들었나
생각은 줄글로 흐르지 않는다. 공간에 흩어진다. 자료를 폴더 깊숙이 묻어두는 것보다, 한 화면에 카드로 펼쳐놓고 선으로 잇는 편이 훨씬 잘 보인다. icenovel.com에 붙여둔 캔버스 기능이 딱 그랬는데, 막상 쓰다 보니 브라우저를 켜고 사이트에 들어가는 그 한 단계가 거슬렸다.
그래서 같은 캔버스를 데스크톱 앱으로 옮겼다. 켜면 바로 빈 캔버스가 뜨고, 자료는 .icv 파일로 내 컴퓨터에 저장된다. 계정도, 서버도, 추적도 없다. 온전히 내 것.
무엇이 되나
- 카드형 노드 — 텍스트(마크다운)·링크·파일·이미지·PDF·영상·그룹을 무한 캔버스에 자유롭게 배치
- 연결선 — 카드끼리 화살표로 이어 관계를 그린다
- 벡터 도구 — 펜·사각형·원·색칠·정렬, 그룹 묶기/풀기
- 내 파일로 저장 —
.icv저장/열기 (옵시디언 호환을 위해.canvas도 열림) - 다크 모드, 줌·화면 맞춤, 단축키
어떻게 만들었나
Electron이 아니라 Tauri 2로 만들었다. 시스템에 이미 깔린 WebView를 쓰니 설치본이 약 3MB, 실행 파일도 8MB대로 가볍다. UI는 군더더기 없이 바닐라 JS로 짠 캔버스 엔진이다.
.icv/.canvas 파일은 신뢰할 수 없는 입력으로 다뤘다. 강화된 CSP(script-src 'self')를 걸고, 외부 링크는 안전한 http(s)만 시스템 브라우저로 열도록 처리했다. 남이 만든 캔버스 파일을 열어도 안전하게.
의존성은 전부 허용적인 라이선스(Tauri·serde·rfd·windows-rs 등)라, ICEPDF와 달리 AGPL의 제약이 없다. 그래서 망설임 없이 MIT로 풀었다. 마음껏 쓰고 고치고 배포해도 된다.
받아 쓰기
- ⬇️ 다운로드(Windows .msi): GitHub 최신 릴리스
- 💻 소스코드: github.com/icenovel-rgb/icecanvas
- 🗂 자료실에도 올려뒀다: icenovel.com/canvas/canvas-787b64
도움이 됐다면 ☕ 커피 한 잔으로 응원해 주세요. 다음 버전은 더 가볍고 더 단단하게.