← 목록
기타 2026-07-11 3KB 읽기 3분

크라우니 입력도구 v1 스펙 (공용 컴포넌트 — 2026-07-11 사장님 지시)

목표: 터미널에서 완성한 입력 경험을 모든 PPM 앱의 기본 입력도구로 승격. 향후 문서작성기·프리젠테이션작성기·스프레드시트작성기가 이 컴포넌트를 그대로 사용.

사용자 실측 결함 (터미널 탭)

  1. Cmd 조합키(Cmd+V/C/A 등) 작동 안 함 — 추정: CrownyAppView가 performKeyEquivalent/Edit메뉴 액션을 PPM 입력 버퍼에 미배선(붙여넣기가 갈 곳이 없음)
  2. 입력창 클릭 시 I빔 커서·캐럿(깜빡이) 활성 신호 없음 — 포커스는 잡히나 시각 피드백 부재

계층 설계 (역방향 SSOT — 한선씨가 정본)

담당실체
네이티브 수집클릭좌표·키·Cmd콤보·클립보드(NSPasteboard)·I빔(addCursorRect)crowny-browser.m 공용 헬퍼
입력코어(정본)버퍼·캐럿 인덱스·선택영역·삽입/삭제·전체선택·한영 상태libs/입력코어.한선 (신규 — 키입력처리.한선 확장 승격)
조합두벌식 자모→음절한글조합기.한선 (기존, OS입력소스 추종은 별도 진행중)
렌더 계약캐럿(깜빡), 선택 하이라이트, 포커스 링, 힌트화면.한선 입력칸 확장 (캐럿위치·선택범위 인자)

기능 목록 (v1)

  • 캐럿: 클릭 위치→글자 인덱스 환산(글자폭추정 역함수), 500ms 깜빡(이벤트루프 틱 재사용), 좌/우/Home/End 이동
  • 선택: Shift+이동, 드래그, Cmd+A 전체 / 선택 하이라이트 렌더
  • 클립보드: Cmd+V 삽입, Cmd+C 복사, Cmd+X 잘라내기 (네이티브 pasteboard ↔ 입력코어 버퍼)
  • I빔: 입력영역 hover 시 NSCursor IBeam
  • 상태 계약: /tmp/입력상태.psv 확장 — 이름|값|캐럿|선앞|선뒤 (하위호환: 캐럿 이후 필드 옵션)
  • 학습: "기존 터미널 학습" = crowny-terminal-native app.m(스크린버퍼·커서), crowny-terminal web(입력줄), Terminal.app 관례(클릭포커스·I빔·Cmd콤보)를 조사해 매트릭스로 정리 후 구현

적용 순서

  1. 터미널 탭에 v1 적용(검증장) → 2. 메모 등 기존 입력칸 앱 전환 → 3. 문서/프리젠/스프레드 작성기의 기본 위젯으로

순서 제약

crowny-browser.m 은 현재 한영 OS추종 에이전트가 수정 중 — 완료 후 입력도구 에이전트 착수(파일 충돌 방지).

구현 현황 (2026-07-11 — v1 완료)

한영 OS추종 세션 완료 확인(/Users/ef/CrownyDoc/projects/2026-07-11-crownyai-한영-OS입력소스추종.md, 빌드 exit0·3곳 SHA 동일 배치 기록) 후 착수. 전체 구현·검증·잔여이슈는 /Users/ef/CrownyDoc/projects/2026-07-11-크라우니-입력도구-v1.md 참조. 요약: 입력코어.한선 신규(키입력처리.한선 하위호환 유지) + crowny-browser.m copy:/cut:/paste:/selectAll:+CLICKCARET+resetCursorRects+캐럿타이머 + 화면.한선/ 터미널앱.한선 캐럿·선택 렌더 확장. 빌드 exit0, 3곳 배치 SHA 동일 (8f4e2426dace203451d8f33281e951815be7e521). 헤드리스 E2E 전항목 통과.