ICE Canvas — 홈페이지 캔버스를 데스크톱 앱으로 2026.06.13

홈페이지 캔버스를 데스크톱 앱으로 만들었다 — ICE Canvas

icenovel.com에 있던 캔버스 기능을 인터넷 없이 쓰는 설치형 윈도우 앱으로 옮기고, MIT 오픈소스로 공개했다. Tauri 2로 가볍게, 자료는 .icv로 내 PC에.

홈페이지에서 쓰던 캔버스가 마음에 들었다. 그래서 인터넷 없이 내 PC에서 바로 쓰도록, 설치형 윈도우 앱으로 뜯어냈다. 이름은 ICE Canvas. 오늘 MIT로 오픈소스 공개했다.

ICE Canvas 화면

왜 만들었나

생각은 줄글로 흐르지 않는다. 공간에 흩어진다. 자료를 폴더 깊숙이 묻어두는 것보다, 한 화면에 카드로 펼쳐놓고 선으로 잇는 편이 훨씬 잘 보인다. 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로 풀었다. 마음껏 쓰고 고치고 배포해도 된다.

받아 쓰기

도움이 됐다면 ☕ 커피 한 잔으로 응원해 주세요. 다음 버전은 더 가볍고 더 단단하게.

ICE Canvas — 홈페이지 캔버스를 데스크톱 앱으로 프로젝트로