크라우니 오피스 시트 모듈 완성 (punch #1~#10 + cdf 직렬화)
개요
크라우니AI 브라우저 내장 오피스의
시트(스프레드시트) 모듈을 데모 껍데기에서 실작동 스프레드시트로 완성. 앱 번들(bundle/office/app/index.html, DCLogic 템플릿엔진 4.2MB) 무수정 원칙 하에
bundle/office/bridge/crownyBridge.js §19 런타임 몽키패치 + 한선씨 정본 미러로 구현. 매 punch마다 문서 회귀 27/27 + 시트 앞 punch 무회귀 게이트 유지.
무엇을 했는지 (시트 판정표 10 punch 전량)
- #1 셀모델(vals/formulas) · #2 수식엔진(=C2+D2, 29함수) · #3 서식(통화·%·정렬·색) · #4 다중시트(예산/인건비 독립) · #5 행/열 삽입·삭제(참조 재매핑) · #6 키보드/클립보드(화살표·Tab·Enter·Delete·F2·Ctrl+CVX)
- #7 필터(헤더 자동필터·다중열 AND·표시만 숨김·시트별 독립, 시트필터.한선 19/19)
- #8 정렬(타입인식·다중기준 Shift+클릭·안정정렬·필터정합·시트별, 시트정렬.한선 19/19)
- #9 차트(막대·누적·선·영역·원 5종 SVG·정렬/필터/값변경 실연동, 시트차트.한선 35/35)
- #10 함수 도우미(실지원 29함수만 카탈로그·허위감사·ƒx버튼·자동완성·구문힌트·fx바 삽입 실계산, 시트함수도우미.한선 20/20)
- cdf 직렬화:
@@SEC:시트@@ 확장섹션으로 값·수식원문·서식·다중시트·정렬키·필터·차트 라운드트립 무손실, CWDv2 6정규섹션 뒤 덧붙여 하위호환(시트직렬화.한선 16/16)
검증
- 각 punch: hanseonc_high 자가검증 + CDP :9333 before/after 실측 + 문서 27/27 + 시트 앞 punch 무회귀
- cdf: make ai 재빌드 OK·serialize→wipe→restore 라운드트립 PASS·구 cdf 하위호환 무크래시
- 배포: CrownyAI 1.1.2→1.2.0-beta (punch별 증분), zip → crowny-ai/public/downloads/
관련 파일
bundle/office/bridge/crownyBridge.js §19 (시트 전 기능, 앱번들 무수정)
bundle/office/bridge/시트{셀,서식,다중,행열,키,필터,정렬,차트,함수도우미,직렬화}.한선 (정본 미러)
native/crowny-ai-content.m (cdf @@SEC:시트@@ embed/extract, 저장/열기/자동저장 연동)
spec/시트기능-판정표.md (10 punch 판정), bundle/office/bridge/회귀실행.sh (문서 27/27 하니스)
잔여 이슈 / 다음
- Phase 4: 슬라이드→마인드맵→포커스→아웃라인→플랜→그래프 순 구현 (개발계획 spec/오피스-개발계획.md)
- 시트↔슬라이드/그래프 데이터 연결(끌어오기)은 Phase 3 연결 축의 다음 대상
- 무수정 유지: crowny-browser.m·crowny-shell.m·Makefile 기존타깃·bundle/office/app