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

F2 — 크롬 텍스트 AA 블릿 + 한선씨 주소창 입력 위젯

개요

브라우저 크롬을 진짜 한선씨로: (1) WebKit 래퍼 크롬 TEXT를 Cocoa NSFont 대신 788 AA fb 블릿으로, (2) 한선씨 주소창 입력 위젯(키 누적/캐럿/포커스).

무엇을 했는지

  1. VM (crownyc.c FB_SAVE 355): CROWNY_FB_PPM 환경변수로 PPM 출력 경로
재지정 추가. 미설정 시 기존 /tmp/crownyos_gui.ppm 유지(회귀 0).
  1. 브라우저크롬.한선: cmd 모드에서 화면저장() 호출 추가 → fb_rgb(788 AA
그레이커버리지 포함)를 PPM으로 dump.
  1. crowny-browser.m (CrownyChromeView):
- loadPPMAsCGImage() — VM이 dump한 P6 PPM → CGImage. - refreshChromeCROWNY_FB_PPM 전달 + 편집버퍼 주소 반영 + AA 이미지 로드. - drawRect: — AA 준비되면 fb 상단 92px를 CGImage 블릿하고 return(NSFont 경로 건너뜀). 미준비 시에만 cmd 벡터/NSFont 폴백. - accumulateKey: / keyDown: / beginAddressEditing / commitAddressEditing — 네이티브 키 → 한선씨 키누적 로직(ASCII) → 버퍼 누적 → 재렌더. Cocoa NSTextField 오버레이 제거. - 델리게이트 chromeNavigateTo: — Enter → navigate.
  1. 주소창입력위젯.한선 (신규, 위젯.한선 입력() 기반): 키누적/제출키인가/
키들누적 + 주소창렌더(788 AA) + 자가검증 6/6.

검증 (정직)

  • VM 빌드 EXIT=0. 브라우저 빌드 EXIT=0, warning/error 0.
  • 통합여정(원크라우니_통합여정.한선) 6/6 티 — 회귀 0.
  • 주소창입력위젯.한선 자가검증 6/6 티.
  • aa_probe: 크롬 fb PPM에 788 AA 부분알파 그레이 픽셀 50,817개 검출
(AA_PRESENT) — Cocoa NSFont 아닌 한선씨 AA가 fb 도달 확인.
  • 네이티브 keyDown 누적 로직 단위검증(별도 .m) 6/6 티.
  • 미실측(정직): 실제 디스플레이 시각 픽셀 + 실타이핑은 헤드리스 미실측.
블릿 경로/AA fb/키누적 로직은 코드+PPM+단위검증으로 입증.
  • 미구현(정직): IME(한글 조합) — ASCII 우선. 코드값>127 UTF-8 조합버퍼 후속.

관련 파일

  • /Users/ef/CrownyBrowser/native/crowny-browser.m (CrownyChromeView)
  • /Users/ef/CrownyBrowser/native/주소창입력위젯.한선 (신규)
  • /Users/ef/CrownyBrowser/native/브라우저크롬.한선 (화면저장 추가)
  • /Users/ef/CrownyOS/crownyc/crownyc.c (FB_SAVE CROWNY_FB_PPM)
  • /Users/ef/CrownyOS/crownyc/crownyc (재빌드 설치)

잔여 이슈

  • IME 한글 조합 입력 미구현(ASCII 우선).
  • 실디스플레이 시각/실타이핑 미실측(헤드리스 한계).
  • 디스크 100% 환경 — VM stdout/PPM이 간헐적 sandbox kill(코드 무관).