크라우니AI 디자인 입히기 — 인수인계 (2026-07-12, 세션 중단)
한 줄 요약
확정 디자인(크림 아이보리×다크 초콜릿×골드, PPTX 11슬라이드)을 CrownyAI 실물에 입히는 작업.
크롬(탭바·툴바·버튼·주소창)·런처·새탭 AI홈까지 배치 완료·검증됨. 새 셸(집사 도킹·다운로드바·토스트)은
컴파일 통과·미배치·미검증 상태로 소스에 스테이징됨. 다음 세션이 이어서 완성할 것.
⚠️ 이 세션의 교훈 (다음 세션 필독)
- "디자인 파일을 주면 실제 프로그램에 입혀라" — HTML/CSS 목업 재제작은 사장님 요구가 아니다. 정답 순서: PPTX 목업 이미지(슬라이드 3·4·9·10·11)를 먼저 열람 → 실행파일 UI(ObjC/한선씨)에 직접 적용 → 실행·캡처 검증.
- 색만 바꾸는 것도 아니다 — 기능들이 확정 디자인의 자리에 배치되어야 한다(집사=우측 340 도킹, 다운로드=하단 44 바, 새탭=AI홈, 알림=우하단 토스트 360).
- 사장님이 "안 바뀌었다"고 하면: ①어느 실행파일을 열었나(Dock에 CrownyAI.app+CrownyBrowser.app 둘 다 있음 — 항상 두 번들 동시 배치) ②기본 테마가 어두워서 못 느끼는가(확정 대표 인상=크림 아이보리 라이트) ③보고 있는 화면이 벡터 앱 영역인가를 순서로 점검.
현재 배치 상태 (검증됨 — 앱 열면 보이는 것)
- 두 번들(CrownyAI.app·CrownyBrowser.app) 모두 22:20 빌드 = 라이트(크림) 기본 + 재구축 크롬:
탭바40(위만 둥근 r10 탭, 폭72~240, 닫기24), 툴바48(SF벡터 ←→↻, 옴니36 r18 테두리1.5, 👑집사 알약, 골드 아바타 '한'), 런처=크림 카드+액센트점, 시작페이지=확정 AI홈(왕관·입력창·타일 8종+배지 — 기능세션 확장판).
- 시작페이지는 정적(bundle/start/index.html)이라 배치 무관 즉시 반영.
스테이징 상태 (컴파일 OK · 미배치 · 미검증) — 다음 세션 1순위
native/CrownyBrowser (22:31, 460592B, shellToggleButlerDock 심볼 확인됨) = 아래 포함:
- crowny-shell.m 신규 (확정 셸 카테고리): 집사 우측 340px 도킹(왕관헤더+로그+입력 36r18, 본체 butlerSubmit:/butlerLog: 파이프라인 재사용 — _aiLog/_aiField를 KVC로 도킹 뷰에 재배선), 다운로드바 44px(아이콘칩·파일명·진행트랙·모두보기(showDownloads:)·✕), 토스트 360(✓/⚠, 4초).
- 본체 훅 5곳: 카테고리 선언 / showButlerAI:→도킹 리다이렉트 / decideDestination→shellDownloadStarted / didFinish·didFail→완료·토스트 / newTabAction(⌘T·+)=kStartURL(AI홈) ← 런처 아님!
- Makefile SRC에 crowny-shell.m 추가됨.
- 미검증 리스크: KVC 재배선(aiLog/aiField)·도킹 레이아웃(리사이즈)·다운로드 진행률(현재 시작15%→완료100%만, 실진행 KVO 미구현)·🌐버튼은 아직 웹시작페이지(런처 진입 경로 확인 필요 — goHome:은 런처로 감).
- 검증 방법:
cd native && make → pgrep -f CrownyAI.app | xargs kill; mv 교체(두 번들!); open → ①👑집사 클릭=우측 도킹+명령 실행 ②아무 파일 다운로드=하단 바+완료 토스트 ③⌘T=AI홈. 캡처 육안 필수.
자산 지도 (SSOT 체인 — 전부 한선씨 생성기)
| 생성기(한선씨) | 산출물 | 소비처 |
|---|
| tools/디자인토큰헤더.한선 | native/CrownyDesignTokens.h (#define 수치+팔레트) | crowny-shell.m |
| tools/디자인규격생성.한선 | tools/디자인규격.psv (27행 기대값) | 디자인대조.sh 게이트 |
| tools/디자인SSOT.한선 | tools/크라우니디자인.css | 웹측 소비용 |
| tools/_측정.한선 · _스모크.한선 | _측정.html · _스모크.html | 게이트 내부 |
| bundle/start/index.한선 | bundle/start/index.html (AI홈) | 브라우저 시작페이지 |
- 게이트:
tools/디자인대조.sh <html> (Chrome 실측 vs psv,
<!-- 대조스펙: .x,.y --> 마커로 페이지류 서브셋). 목업 27/0·시작페이지 4/0 PASS 유지 중.
- 도구:
~/.claude/scripts/html2hanseon.sh <html> — 정적 파일 한선씨 동반 자동 생성+byte 검증.
- 시각 정본:
~/Downloads/크라우니AI브라우저.pptx 슬라이드 3·4·9·10·11 (추출본: 세션 스크래치 pptx2/ppt/media/image-{3,4,9,10,11}-1.png) + GUI-구축-디자인기준.html(4화면, 실측 잠금).
롤백 체인 (mv 교체 규칙 — cp 금지)
/tmp/CrownyAI.18-03.bak(크롬재구축 전) → /tmp/CrownyAI.chrome1.bak(런처팔레트 전) → /tmp/CB-app.old.bak(라이트 전) → native/CrownyBrowser.pre-palette.bak(팔레트 전 원본)
남은 작업 큐 (우선순위)
- 셸 빌드 배치+3종 검증(위) → 실패 시 crowny-shell.m 수리
- 다운로드 실진행률(WKDownload.progress KVO→shellDownloadProgress:)
- 설정 페이지(crowny://settings)를 확정 레이아웃(사이드168+본문680+행12+토글40×24)으로 — 목업 화면3
- 컨텍스트 메뉴·다이얼로그 확정 스타일(항목32·r12·구분선 / 최대400·주버튼 우측)
- 벡터 앱 화면들(터미널·계산기·시계 — 앱상주서버.한선) 팔레트 = 기능개선 세션 트랙과 합류(그 세션은 시계 이식 중 중단됨, 앱서비스_시계.한선 미완 주의)
- 3변종(variants/) 재패키징 시 새 크롬 반영(
make variants)
관련 문서
- 본 트랙 전체 이력: docs.crowny.org/docs/2026-07-12-크라우니AI브라우저-디자인기준-정리완료 (1~6차)
- 원 요청: docs.crowny.org/docs/2026-07-12-요청-크라우니AI-브라우저-재설계-UI-디자인정리