2026-05-12 · ~8분 분량 · ViewWork v0.1.53

감시 모드 + AI 추천 레이아웃 — v0.1.40 ~ v0.1.53 진행 요약

5월 11~12일 이틀 동안 14번의 연속 릴리즈로 ViewWork 의 안정성 / 성능 / 시각 표현을 대폭 개선했습니다. 이 글은 그 기간에 무엇이 추가됐는지 한눈에 정리한 요약입니다.

감시 모드 (v0.1.53)

가장 최근에 추가된, 그리고 가장 강력한 기능입니다. 설정 → 감시 탭에서 "AI / 사용자가 이런 작업을 하면 알림 받고 싶다" 는 규칙을 등록해 두면, 매칭되는 이벤트가 발생할 때마다 우상단에 toast 알림이 떠오릅니다.

알림은 사용자 요청에 따라 다음 정보를 표시합니다:

[EDIT] · 보안 파일 접근 감시 (.env / secrets)
.env.local
변형자: claude-code (ai) · 세션 abc123de
(변경 요약 — Edit 도구의 note 가 있을 때)

기본 규칙 4개가 자동으로 추가됩니다 (모두 OFF 상태, 사용자가 켜야 동작):

각 규칙은 액션 (read / edit / write / create / delete / bash / task / browse / search), 변형자 (all / ai / sub-ai / human / system), path 포함 (substring 매칭) 로 세밀 조정 가능. 같은 (규칙 + agent + path + action) 조합이 5초 내 중복되면 dedup 으로 차단되어 알림 스팸이 없습니다.

AI 추천 레이아웃 (v0.1.47)

기존 horizontal / vertical / city 외에 "AI 추천" Smart Pack 알고리즘을 추가했습니다. 두 가지 핵심 개선:

  1. importance-first 정렬: 각 폴더의 sub-folder 자식을 leafCount 내림차순으로 정렬 — 큰 서브트리부터 위에. 중요한 게 먼저 보임.
  2. leaf 다열 그리드 패킹: leaf-only 자식이 많은 폴더 (9개 이상) 를 2~5열 그리드로 압축. 100파일 폴더 → 20행 (5× 압축).

node_modules/.bin, public/images, src/icons 같은 평탄한 파일 더미 폴더에서 극적인 압축 효과. 일반 프로젝트에선 10~30% 압축. 큰 프로젝트도 한 화면에서 구조 파악이 가능해집니다.

캐릭터 손/팔 모션 + Trajectory (v0.1.50)

AI 에이전트나 사용자가 파일을 read / edit / write 할 때, 캐릭터에서 손/팔이 뻗어 나가는 SVG 모션이 표시됩니다. stroke-dasharray + stroke-dashoffset 애니메이션으로 source → target 방향으로 path 가 "그려지는" 효과 + drop-shadow 글로우.

액션 별로 trail 색상이 다릅니다:

모든 trail 은 30초 TTL 로 자연 페이드 — 사용자가 자리를 비웠다가 돌아와도 직전 작업 흐름을 한눈에 추적할 수 있습니다.

크래시 자동 리포트 (v0.1.38 ~ v0.1.42)

renderer 프로세스 crash / unresponsive (이벤트 루프 정지) / React error boundary / preload 에러 / unhandled exception 등을 자동 감지하여 사용자 동의 시 Discord webhook 으로 진단 로그를 전송합니다.

전송 내용: 앱 버전, OS, 메모리, 에러 메시지, stack trace, scan-diagnostics.log 최근 1MB. 사용자 코드 / 파일 내용은 절대 전송하지 않습니다. consent='unknown' 상태에서 renderer 가 죽으면 main process 가 직접 OS 네이티브 다이얼로그를 띄워 동의 요청.

v0.1.41 부터 자동 전송이 아닌 "진단 로그 전송" 버튼을 사용자가 직접 클릭 하도록 변경. 의도하지 않은 전송 차단.

2D 60Hz 성능 + 시각 정돈 (v0.1.42 ~ v0.1.48)

5000+ 노드 환경에서 2D 모드가 freeze 되는 문제를 4가지 perf 핫스팟에 대한 개선으로 해결:

시각적으로도: 엣지를 노드 아래 z-index 로 강제 + lane 16단계 중앙 분포 + 선택 노드 강조 엣지는 별도 SVG 오버레이로 노드 위에 표시 + parent-child 엣지 기본 OFF (folder territory 가 같은 정보 표시).

우측 사이드바 옆에 서브 사이드바가 등장하는 양방향 노드 탐색:

한 화면에서 두 단계 깊이의 노드 탐색이 가능해졌습니다.

3D 라벨 / 폴더 영역 (v0.1.52)

3D 모드에서 줌 아웃 시 파일 / 폴더 이름이 안 보이는 문제 + 폴더 영역 시각화 부족 해결:

다음에 올 것

가장 임박한 후속 작업은 외부 서비스 / MCP 실시간 SDK 연동입니다. v0.1.53 에서 LIVE 토글 UI 와 state 저장은 추가됐고, 다음 단계는 Firebase onSnapshot, Supabase realtime channel, Postgres LISTEN/NOTIFY 등의 실제 연결입니다 — 자격증명 보안 검토를 거쳐 OS keychain 통합 후 진행 예정.

그 외에도 시간축 (time scrubber), 팀 협업 모드, 테스트 + 커버리지 라이브, 플러그인 SDK, 지리적 visitor 트래킹 등 — 자세한 항목은 로드맵 페이지 참고.

💡 ViewWork 는 v0.1.37 부터 electron-updater 자동 업데이트를 지원합니다. 기존 사용자는 앱 종료 시 자동으로 최신 버전 (v0.1.53) 으로 업그레이드되므로 별도 다운로드가 필요 없습니다. 새로 설치하시려면 다운로드 페이지 참고.

이전 글: 내가 이 도구를 만든 이유와 사용 방법