← 목록
AI 2026-07-18 4KB 읽기 4분

크라우니 오피스 포커스 punch #6 — 태그 뷰 아이템 인터랙션

개요

crowny://office 포커스(Focus/GTD) 모듈의 태그 뷰를 데모→실작동으로 승격. 판정표(2026-07-17)에서 태그뷰 그룹핑은 이미 live 파생이나 (a)아이템 서클이 정적(onClick·완료반영 무), (b)태그 클릭 필터 없음, (c)작업 태그 편집 없음이었다. crownyBridge.js §22 installFocusBridge 확장 + 한선씨 정본으로 배선. 앱 번들(index.html) 무수정 — 런타임 몽키패치.

무엇을 했는지

  1. 태그 클릭 필터: 태그뷰 그룹 헤더 클릭 → view=태그명("#..") → renderVals 후처리로 tasks 필터
(프로젝트 필터 punch#5 패턴 재사용). isTagFilterView("#" 접두)를 프로젝트보다 먼저 검사.
  1. 작업 태그 편집: 인스펙터 '태그' 값 셀을 contentEditable 승격(제목/날짜 편집 관용구 재사용) →
commitTagField 정규화("#" 접두 강제·빈값/'—'=태그 제거) writeback + setState → 그룹핑 즉시 반영. 스키마=문자열 → 단일 태그.
  1. 아이템 서클 실데이터: vals.tagGroups override(done 포함·완료/전체 카운트)로 프레임워크 sc-for
네이티브 렌더 + DOM-fixup 으로 서클 완료색(초록✓)·클릭 토글, 행 클릭=선택, 헤더 클릭=필터.
  1. 정합: 태그 편집/추가/삭제 시 deriveTagGroups 매 fixup 재파생 → 목록·그룹핑·카운트 재계산.
  2. 몽키패치 안전: 서명멱등·상한없는 폴링·중복리스너 가드(data-crowny-ftag*)·모듈 게이트 준수.

★수리한 잠재 버그(punch#5 가 우연히 가렸던 것)

visibleRawIndices 가 원본 inView(알 수 없는 view=전부통과)만 써서, 비연속 필터뷰(#제작=raw 0·2)에서 wireTitles/ensureCardDelete 가 카드를 raw 0·1 로 오매핑 → contentEditable 제목 어긋남. 필터뷰(태그명/ 프로젝트명) 인식하도록 filter-aware 로 수정(프로젝트는 작업이 연속이라 가려졌던 버그도 동시 경화).

관련 파일

  • /Users/ef/crownybrowser/bundle/office/bridge/crownyBridge.js §22 (installFocusBridge 확장, ~230줄 추가)
  • /Users/ef/crownybrowser/bundle/office/bridge/포커스태그.한선 (정본, 자체시험 32/32)
  • /Users/ef/crownybrowser/bundle/office/bridge/포커스태그검증.js (CDP :9333 실측, 36/36)
  • dist 미러 동기화 완료(dist/CrownyAI.app/.../office/bridge/)

게이트 결과

  • hanseonc_high 포커스태그.한선 컴파일+crownyc run: 32/32 PASS(태그그룹핑·필터·편집·카운트·빈태그)
  • CrownyAI 3초 생존: PASS
  • punch #6 CDP 실측(before/after): 36/36 PASS (①태그클릭필터 ②태그편집→그룹핑반영 ③서클 실데이터
완료✓·1/2카운트 ④재그룹핑 ⑤빈태그 처리)
  • 무회귀: 문서 회귀하니스 27/27, punch #5 CDP 22/22(visibleRawIndices 수정 무영향), punch#1~#5
프로그램경로 스팟체크 전부 생존.

무수정 확인

앱 번들 index.html(Jul14)·crowny-browser.m·crowny-shell.m·Makefile 기존타깃·시트§19·슬라이드§20· 마인드맵§21 전부 무수정.

크라우니코드

lookup(기존 punch 관용구 재사용) / learn 3건(태그그룹핑·태그정규화·카운트표시).

잔여 이슈

  • 다중 태그(배열 스키마)는 원본이 문자열이라 단일 태그로 정본화 — 배열 확장 시 후속.
  • 앱 시작 직후 동일 view('태그') 재진입은 프레임워크가 재렌더 안 함(오버라이드 정착에 뷰 토글 1회
필요) — fixup 이 150ms 마다 정합하므로 실사용 무영향, 회귀 하니스는 토글로 강제.