카메라 마크/스카이식 시선 오빗 + crowny://os 장착 마감 — os.crowny.org
개요
사용자 지시 2건 병렬 처리: ①"드래그하면 시선이 움직여야 하는데 높낮이가 움직여짐" → 마인크래프트/스카이(빛의아이들) 조작 모델로 카메라 재구현 ②crowny://os로 크라우니AI 브라우저에서 마을 접속. 두 sonnet 에이전트 병렬 위임 → 메인 전 게이트 재검증 +
크라우니AI검증.sh 헤드리스 라이브 확증(크롬 무사용).
① 카메라 시선 오빗 (village.js 1492줄)
- 원인 3종 수리: 기본거리 30→12(근접 팔로우 — 멀면 pitch가 크레인 승강처럼 보임), pitch도 target+lerp 대칭 스무딩(기존엔 yaw만), 감도 0.30/0.30 대칭(기존 0.5/0.15). 클램프 -15°~65°(마크식). CAMCTL 상수 집중, 'c'키/핀치줌 유지, camDist 초기 경로 전수 감사(SCENE.camera.dist=70은 죽은 값 확인).
- 정본 시선각도.한선 재작성 20/20 · 하니스 17/17 · 무회귀(FK 5/5·비행 23/23·수집연출 31/31) · node OK — 메인 재실행 확증.
- 라이브 확증: 카메라시연.html(자동 드래그 드라이버, 본편 무접촉) 3종 촬영 — 기준/가로(+320px→마을이 시선 중심 회전)/세로(+320px→캐릭터 중심 근접 부감, 크레인감 없음). 잔여=손맛 최종판정(사장님), 파라미터는 CAMCTL·시선각도.한선에 집중.
- ⚠검증도구 함정: 헤드리스 WKWebView에서 rAF 없는 단독 페이지는 setTimeout 미발화(격리실험 t0 고정). village처럼 rAF 상시 페이지는 정상 발화.
② crowny://os 장착 (hall/vps 공정 5지점 + 보완 2건)
- crowny-ai-content.m 5지점(타일 "마을"·북마크 시드 v18·별칭 os/OS/마을/크라우니마을/크라우니OS·caOpenOsInActiveTab→https://os.crowny.org·디스패치) + make ai 에러0 + install-ai-app.sh 설치 + 심볼가드(caOpenOsInActiveTab=1, os.crowny.org=1). office 오매칭 없음(hasPrefix 3글자째 f≠s).
- 메인 보완: 앱목록.psv 런처 카드 1행 추가(마을|url:https://os.crowny.org|...) + os연결.한선 테스트 케이스 오류 교정("open source"는 연속 "os" 미포함→"photos") → 17/17 PASS(에이전트 환경의 crownyc 행은 메인 환경 미재현 — 별도 조사 항목).
- headless E2E: 크라우니AI검증.sh dump "crowny://os" → https://os.crowny.org 해석·로드 확증(타이틀 "두근두근 크라우니 마을", ok:true). 상주 CrownyAI 앱은 재시작하지 않았음 — 반영은 다음 앱 재시작부터.
관련 파일
- os-site: village.js(백업 .bak-카메라오빗전) · 게임슬라이스/시선각도.한선 · 시선각도테스트.js · 카메라시연.html(재사용 검증 자산)
- CrownyBrowser: native/crowny-ai-content.m(백업 .bak-os배선-*) · src/os연결.한선 · src/앱목록.psv · CLAUDE.md(os 섹션)
- 에이전트 문서: 2026-07-25-crownyai-os-마을-앱장착.md
잔여
- 카메라·비행·수집 손맛 통합 판정(사장님 육안 — 앱 재시작 후 crowny://os에서 한 번에 확인 가능).
- 서브에이전트 환경 crownyc busy-spin 원인 조사(메인 미재현).
- 크라우니월드 P2(프레즌스9 중계)·P1 잔여(지형 렌더·DEM 인제스트).