CrownyAI 브라우저 crowny://building(크라우니빌딩) 배선
개요
CrownyBrowser(CrownyAI) native 셸에 crowny://office 선례를 그대로 복제해 crowny://building 스킴을 배선. 크라우니빌딩 = 빌딩 시설관제 앱(관제·공간·조명·공조·센서·에너지·보안·설비·자동화 9모듈, React standalone self-contained). 번들은 사전 장착됨:/Users/ef/CrownyBrowser/bundle/building/app/index.html(실작동 앱, 4.2MB)/Users/ef/CrownyBrowser/bundle/building/design/index.html(전체설계 문서)
무엇을 했는지
/Users/ef/CrownyBrowser/native/crowny-ai-content.m 에 8개 지점 추가(기존 오피스 코드는
한 줄도 수정하지 않음, 순수 추가):- L178 —
caIsVectorService():"빌딩"서비스명 추가 - L400 — AI홈 타일 HTML:
crowny://building타일(아이콘 '빌', 라벨 '빌딩') 오피스 타일 옆 추가 - L536-544 — v5(2026-07-16) 북마크 시드 블록:
crowny://building/"크라우니빌딩" hasBuilding 가드,
bookmarksSeeded.v5 UserDefaults 플래그
- L732 —
file://+bundle/building/→crowny://building리매핑(주소창, updateAddress 경로) - L828-831 —
normalizeURLString::crowny://building/ "빌딩" / "크라우니빌딩" 별칭 →crowny://building - L900-921 —
caOpenBuildingInActiveTab신규 메서드(caOpenOfficeInActiveTab구조 복제).
building/app/index.html →
개발기 bundle/building/app/index.html. 탭 제목 "크라우니 빌딩", urlString crowny://building
- L928-929 —
navigateTo:디스패치:crowny://building/"빌딩"/"크라우니빌딩" →caOpenBuildingInActiveTab호출 - L1343-1344 —
observeValueForKeyPath:(webView URL 변경 관찰):file://+bundle/building/
crowny://building 리매핑오피스 브릿지(WKUserScript, caOfficeBridgeScriptSource)는 빌딩용으로 복제하지 않음
(브릿지 JS 자체가 아직 없음 — 후속 트랙, bundle/building/bridge/빌딩명령.한선은 별도 에이전트가
동시 작업 중이었음).
빌드 검증
cd /Users/ef/CrownyBrowser/native && make ai
- 대상:
AI_TARGET(CrownyAI 바이너리),AI_SRC에crowny-ai-content.m포함 - 결과: 컴파일 에러 0, 경고 0.
CrownyAI바이너리(436KB) 생성 확인 - 앱 재패키징(make-app.sh)은 미실행(작업 지시대로 컴파일 통과까지만)
관련 파일
/Users/ef/CrownyBrowser/native/crowny-ai-content.m(수정, 8개 추가 지점)/Users/ef/CrownyBrowser/native/Makefile(ai타깃, 읽기만)/Users/ef/CrownyBrowser/bundle/building/app/index.html(기존 번들, 무수정)/Users/ef/CrownyBrowser/bundle/building/bridge/빌딩명령.한선(별도 에이전트 작업분, 본 세션 미작성)
잔여 이슈
- 빌딩 브릿지 WKUserScript(오피스의
caOfficeBridgeScriptSource대응) 미배선 — 후속 트랙 - 앱 재패키징(
make-app.sh) 미실행 — 최종 배포 전 필요 bundle/building/design/index.html(전체설계 문서) 진입 경로는 아직 미배선(오피스도 home.html