← 목록
기타 2026-05-27 4KB 읽기 4분

Stage 0 완료 — CDF v2.0.0 공통 데이터 모델

개요

CrownyDoc v3 마스터 플랜의 첫 단계. 5트랙(정적/React/한선씨/미니앱/Tauri)이 같은 문서를 읽고 쓸 수 있는 공통 모델을 정의·구현.

작업

1. 근본원인 진단 (반복 작업 차단)

"같은 기능 또 만든다"의 5가지 근본원인 파악:
  1. 진입점 분기 7개
  2. 같은 컨셉 3중 구현 (시트 48파일, 슬라이드 42파일, 편집기 30파일)
  3. 비즈니스 템플릿 트랙 비대칭 (정적 14+, React 0)
  4. 마스터 카탈로그 부재
  5. 자동메모리에 docs.crowny.org 프로젝트 메모 없음
해결 3총사 영속화:
  • ~/.claude/projects/-Users-ef/memory/project_crowny_doc.md (자동 로드)
  • CrownyDoc/INVENTORY.md (마스터 카탈로그)
  • CrownyDoc/CLAUDE.md 최상단 🛑 가드 ("INVENTORY 먼저 읽어라")

2. v3 마스터 플랜 작성

6단계 한 달+ 로드맵 — Stage 0 (스펙) → 1 (갤러리) → 2 (도면 v2) → 3 (어댑터) → 4 (레거시 머지) → 5 (정리)

3. CDF v2.0.0 스펙 (lib/cdf-v2-spec.md)

v1 100% 호환 + 신규:
  • 셀 타입 14종 — v1 13종 + diagram (OmniGraffle 대체)
  • 시냅스 타입 6종 — v1 5종 + connector (시각적 연결선)
  • __bizMeta — 견적/제안/도면 등 13종 비즈니스 양식 메타
  • __layout — 페이지 크기/여백/방향/인쇄힌트
  • __template — 원본 템플릿 추적

4. 트랙 2 (React SPA) 구현

  • src/cdf/cdfFormat.ts 버전 "1.0.0" → "2.0.0", BizMeta/LayoutMeta/TemplateRef 인터페이스 + CDFDocument 신규 필드
  • src/core/cell.ts CellType"diagram", cellTypeToNum/numToCellType 매핑
  • src/core/phase.ts CELL_TYPE.DIAGRAM = 301
  • src/core/synapse.ts SynapseType"connector"
  • Record 누락 4곳 추가 (smartTemplate.ts, FocusLens.tsx, PasteDialog.tsx, documentOrchestra.ts)
  • TypeScript 컴파일 통과

5. 트랙 3 (한선씨) 동반본

  • src/core/cell.한선 diagram=301 양방향 매핑 추가
  • src/core/synapse.한선 SYN_CONNECTOR = "connector" 추가
  • lib/cdf-v2.rpn.한선 신규 — 정통 RPN 데이터 모델 정의 (헌법 9조)
  • 컴파일+실행 검증: 셀 14종/시냅스 6종/diagram=301/connector=6 출력 정상
  • 학습DB 등록: cdf_v2_데이터모델_정통RPN

호환성

시나리오결과
v1 → v1정상
v1 → v2정상 (신규 필드 undefined)
v2 → v2정상 (전 기능)
v2 → v1셀 코어 동작, diagram/__bizMeta 무시

관련 파일

lib/cdf-v2-spec.md             — 스펙 마스터 문서
lib/cdf-v2.rpn.한선             — 정통 RPN 데이터 모델 (검증됨)
src/cdf/cdfFormat.ts           — v2 인터페이스 + 버전 승격
src/core/cell.ts + .한선        — diagram 셀
src/core/synapse.ts + .한선     — connector 시냅스
src/core/phase.ts              — CELL_TYPE.DIAGRAM = 301
src/core/smartTemplate.ts      — diagram 셀 라벨
src/sidebar/FocusLens.tsx      — connector 색상
src/toolbar/PasteDialog.tsx    — connector 라벨
src/utils/documentOrchestra.ts — diagram 셀 사운드

INVENTORY.md                   — v3 진행 표 갱신
CLAUDE.md                      — 🛑 INVENTORY 가드
~/.claude/projects/-Users-ef/memory/project_crowny_doc.md  — 자동메모리
projects/2026-05-27-crownydoc-v3-마스터플랜.md           — 마스터 플랜

다음 단계

Stage 1a: 한선씨/정적/doc-templates.js에 견적/제안/도면 템플릿 추가 — 사용자가 /office에서 신규 비즈니스 문서 시작 가능

Stage 1b: 통합 신규문서 갤러리 — 14 비즈니스 + 5 셀-시냅스 + 3 미니앱 + 1 도면 = 23+ 템플릿을 한 곳에서

잔여

  • React SPA 사이드바에서 신규 diagram 셀 추가 버튼 노출 (Stage 2와 함께)
  • diagram 셀 콘텐츠 렌더러 React 컴포넌트 (Stage 2)
  • 트랙 4 미니앱 JSON → CDF v2 변환기 (Stage 4)