크라우니 오피스 아웃라인 — 열 표시/숨김 실작동 + 폴드배지 실계수
개요
아웃라인 모듈의 데모(껍데기) 2항목을 실작동으로 승격. 앱 번들 무수정, crownyBridge.js §23(installOutlineBridge) 확장 + 한선씨 정본.
- punch #7 열 표시/숨김: state.colVis 가 열관리 패널 버튼 라벨(표시↔숨김)에만 소비되고 표 grid/헤더/셀 렌더엔 미소비였음(라벨만 바뀌고 표 열 고정) → colVis 실소비.
- punch #8 폴드배지: 접힌 노드 +N 배지가 s12 에 foldCount:6 하드코딩 → 접힌 노드의 실제 숨은 자손 수(하위트리 재귀 카운트)로 파생.
무엇을 했는지
- 한선씨 정본
bundle/office/bridge/아웃라인열폴드.한선 (신규): 열너비/그리드컬럼(표시 열만 grid-template-columns)/열숨김/보이는열수 + 자손수(재귀)/폴드배지. hanseonc_high 컴파일+crownyc run 자체시험 21/21 PASS.
- crownyBridge.js §23 확장(pre-§23 lines 1~10748 바이트동일=무수정 확인):
- punch #8:
descendantCount() 추가 → buildVals
foldBadge = hidden?'+'+hidden:''(하드코딩 r.foldCount 폐기).
- punch #7:
OUTLINE_COLS/
outlineGridCols/
colVisCss/
ensureColVisStyle 추가.
인라인 style mutate 금지(브라우저 정규화 rgb·repeat 확장으로 §23 substring 셀렉터 파손) → 대신
<style id=crowny-outline-colvis> 주입: 행/헤더에 data-crowny-orow/ohead 마커(style 어트리뷰트 무변) + CSS !important 로 grid-template-columns 재정의·숨긴 열 nth-child 셀 display:none. colVis 토글 시 scheduleOutlineFixup 즉시 갱신(플리커 최소).
- CDP 프로그램 경로 노출: __crownyOutlineColVis/SetColVis/GridCols/VisibleColumns/RenderedGridCols/RenderedColCount/RenderedColShown, HiddenCount/RenderedFoldBadges.
- CDP 검증
bundle/office/bridge/아웃라인열폴드검증.js(신규).
게이트 결과
- 한선 아웃라인열폴드.한선: 21/21 PASS
- 문서 회귀(회귀실행.sh, headless :9333): 27/27 PASS
- 아웃라인 열폴드 CDP 실측(:9333): 39/39 PASS — 열숨김(담당) grid 5→4트랙+셀 display:none before/after diff, 열복원 5트랙 원복, 다중숨김(상태+노트) 3트랙, 모델파생 grid==DOM computed 트랙수(실소비 증명), 폴드배지 s12=+2(하드코딩 +6 아님)·중첩 s1=+6·추가후 +3·삭제후 +2 재계산, DOM 실렌더 배지 텍스트 확인.
- 아웃라인 기존 punch 무회귀: 아웃라인번호검증.js 35/35 PASS + 열폴드검증 내 무회귀(번호·체크박스·들여쓰기·추가/삭제) 전량 PASS.
- crownyBridge.js: 11441→11526줄(+85), node --check 통과, 절단 없음. 백업=/tmp/crownyBridge.js.bak-열폴드전.
관련 파일
- /Users/ef/crownybrowser/bundle/office/bridge/아웃라인열폴드.한선 (정본, 21/21)
- /Users/ef/crownybrowser/bundle/office/bridge/crownyBridge.js (§23 확장)
- /Users/ef/crownybrowser/bundle/office/bridge/아웃라인열폴드검증.js (CDP 39/39)
잔여 이슈
- SEED 의 foldCount:6(s12) 은 이제 렌더에 미사용(dead data) — 원본 문서화 목적 보존, 무해.
- dist/CrownyAI.app 내 office 브릿지 사본은 빌드 산출물(이번 미동기화 — 빌드 시 bundle→dist 복사 경로 따름).
- crowny-browser.m·crowny-shell.m·Makefile 기존타깃·§19~§22·앱 번들 index.html 전부 무수정.