← 목록

크라우니브라우저 병행 개발 Phase 2

개요

WebKit 래퍼(A)와 커스텀 렌더러(B) 병행 진행. 에이전트 2개 투입 → A 완료, B 좌표 버그 수정.

무엇을 했는가

Path A — WebKit 래퍼 (완료)

Path B — 커스텀 렌더러 (기반 + 버그 수정)

  • libs/HTML파서.한선 (23KB) — 토큰화 + DOM 트리
  • libs/CSS해석.한선 (19KB) — :root 변수, var() 해결, 선택자 매칭
  • libs/박스레이아웃.한선 (19KB) — 박스모델 + 블록 레이아웃
  • tests/renderer-test.한선 — E2E 파이프라인
  • 좌표 버그 수정: _BOX_props적용에서 맵꺼내가 센티널(-2147483647) 반환 시 CSS 값으로 파싱되던 문제
  • _BOX_유효값() 헬퍼 추가 — 접두사 -214748 감지
  • 6개 속성(padding/margin/fs/bg/fg/radius/display/width) 모두 가드
  • 검증: div @(0,0) 480×88, h2 @(24,24), p @(24,44) 정확한 박스 스택
  • 데모 페이지

  • crowny-org/preview/browser-native.html — meta 태그만 가진 2.5KB 페이지
  • 외부 CSS <link> 없음 → CrownyBrowser가 번들에서 주입
  • 86% 용량 절감 시연 (20.3KB → 2.8KB)
  • 검증

    관련 파일

    잔여 이슈