← 목록
AI 2026-07-17 6KB 읽기 6분

CrownyAI 브라우저에 크라우니CAD(crowny://cad) 장착

개요

cad.crowny.org:9609(Crowny CAD, 파라메트릭 CAD)를 CrownyAI 브라우저에 crowny://cad 스킴으로 장착. 오늘(2026-07-17) 먼저 완료된 크라우니홀(crowny://hall, 9606) 장착 공정을 crowny-ai-content.m에서 1:1로 미러링했다. 홀과 마찬가지로 CAD는 서버 API에 의존하는 라이브 서버형 도구이므로 오프라인 self-contained 번들 사본은 만들지 않고, https://cad.crowny.org를 loadRequest로 활성탭에 직접 로드한다.

무엇을 했는지

crowny-ai-content.m (AI_SRC, make ai 타깃) — 5지점 (홀 코드 바로 옆에 나란히)

  1. normalizeURLString:crowny://cad*/캐드/cad/크라우니CAD/크라우니캐드
crowny://cad 정규화 (hall 블록 뒤에 추가, line ~1176)
  1. caOpenCadInActiveTab 신규 메서드 — caOpenHallInActiveTab과 완전히 동일한 구조
(activeTab 확보 → loadRequest:[NSURLRequest requestWithURL:...https://cad.crowny.org] → 탭 갱신 → 알림 post). t.urlString = @"crowny://cad", t.title = @"크라우니CAD". (line ~1404)
  1. navigateTo: 디스패치 — hall 분기 바로 뒤에 캐드 별칭
(캐드/cad/크라우니CAD/크라우니캐드/crowny://cad*) → caOpenCadInActiveTab 호출 분기 추가 (line ~1452)
  1. AI홈 타일 — 시작페이지 HTML tiles div에 홀 타일과 '+' 추가 타일 사이에
<a class='tile' onclick="location.href='crowny://cad'">...CAD...</a> 추가 (line 510)
  1. 북마크 시드 v11 — 기존 v7(today)/v8(space)/v9(tree)/v10(hall) 게이트 규약 그대로,
crowny.ai.bookmarksSeeded.v11 UserDefaults 게이트로 crowny://cad 북마크 1회 삽입 (index MIN(7, count)). 시드 버전 실측: grep으로 v1~v10까지가 이미 사용 중임을 확인(hall이 v10 최댓값)하고, 이번 CAD 장착에 v11을 신규 채번했다(다른 세션이 그 사이 nexus용 시드를 추가하지 않았음을 grep으로 확인 후 진행).

옴니바(주소창) 서비스명 매칭은 위 normalizeURLString/navigateTo 자체가 담당(기존 서비스와 동일 패턴 — 별도 자동완성 리스트 없음).

src/앱목록.psv — 변경 없음(기존 행 확인만)

CAD|url:https://cad.crowny.org|-|-|-|파라메트릭 설계 (Crowny CAD) 행이 이미 26번째 줄에 등록돼 있었다(오늘 출시 시점에 사전 등록). 이번 작업은 이 행을 건드리지 않았고, 중복/충돌 없음을 grep으로 확인했다.

src/캐드연결.한선 (신규, 한선씨 동반 SSOT)

홀연결.한선의 자매 파일. "서비스명 문자열 → crowny://cad로 갈지" 4상 판정:
  • 티(캐드별칭인가) — crowny://cad*/캐드/cad/크라우니CAD/크라우니캐드 → 즉시 확정
  • 타(타서비스별칭인가) — 홀/스페이스/트리/오피스/빌딩/ERP/투데이/넥서스 등 기존 확정
서비스 별칭 → 거부
  • 옴 — "캐드"/"cad" 부분포함이나 정확매칭 아님(예: "파라메트릭 캐드 문의", "cadence") →
모호, 재확인 필요
  • 음 — 그 외 무관 → 이관/통과
자체시험 15/15 PASS(요구 최소 12건 이상 충족). CROWNY_STD=/Users/ef/CrownyOS/crownyc/libs ./hanseonc_high src/캐드연결.한선 > /tmp/캐드연결.toau && ./crownyc run /tmp/캐드연결.toau캐드연결 판정 검증: 15/15 [결과] 티 — 전체 통과.

관련 파일

  • /Users/ef/CrownyBrowser/native/crowny-ai-content.m — 5지점 배선(normalizeURLString,
caOpenCadInActiveTab, navigateTo, AI홈 타일, 북마크시드 v11)
  • /Users/ef/CrownyBrowser/src/앱목록.psv — 기존 CAD 런처 카드 행(26번째 줄, 무수정)
  • /Users/ef/CrownyBrowser/src/캐드연결.한선 — 4상 라우팅 판정 SSOT(신규, 자체시험 15/15)
  • /Users/ef/CrownyDoc/projects/2026-07-17-crownyai-hall-앱장착.md — 이번 작업이 미러링한
정본 공정

검증

  • cd /Users/ef/CrownyBrowser/native && make ai — 작업 전 기준(경고 0)과 동일하게
컴파일 에러 0·경고 0, CrownyAI 바이너리 생성 확인(540K)
  • strings -a CrownyAI | grep "crowny://cad\|cad.crowny.org"crowny://cad,
https://cad.crowny.org 두 문자열 모두 바이너리에 내장 확인(라우팅 코드 실제 링크 확인)
  • grep으로 5지점 각각 파일:줄 근거 확인(위 "무엇을 했는지" 절 line 표기)
  • 캐드연결.한선 자체시험 원문: 캐드연결 판정 검증: 15/15 / [결과] 티 — 전체 통과
  • 앱목록.psv 기존 CAD 카드행과 충돌/중복 없음(grep 재확인, 1행만 존재)
  • GUI 실행 검증 생략: cliclick 등 GUI 자동화 금지 원칙 + 신규 Cocoa 앱 프로세스 기동
자체가 사용자 포커스를 뺏을 위험이 있어(기존 실사고 이력), 코드 경로 검증 (빌드+strings+grep+한선씨 자체시험)으로 대체함(홀 작업의 명시적 허용 대안과 동일).

크라우니코드 lookup/learn

  • lookup: crownycode-learn.sh search "cad 라우팅 4상 별칭" / "홀연결 4상 라우팅" → 둘 다 MISS
  • learn: crownycode-learn.sh add 캐드연결_별칭_4상라우팅 "<캐드연결.한선 전문>" → 학습 완료

잔여 이슈

  • CAD 전용 브릿지(.js) 및 팬아웃 연동(ERP/Today 이벤트버스 구독) — 후속 트랙(홀과 동일 범위 제외)
  • 실사용자 세션에서 crowny://cad 클릭 시 실제 WKWebView 렌더 확인(이번엔 코드 경로로만 검증)
  • 넥서스(crowny://nexus)는 아직 북마크 시드가 없음(v10=hall 다음으로 v11을 이번에 CAD가
선점) — 넥서스 시드가 필요해지면 v12부터 채번할 것