← 목록
기타 2026-06-22 4KB 읽기 4분

요청: CIF-실렌더-결선

  • 날짜: 2026-06-22 20:46:46
  • 작업 경로: /Users/ef/CrownyOS/crownyc

요청 본문

브라우저가 CIF 이미지를 순수 한선씨로 디코드해 렌더하게 결선(한선씨웹엔진/OS브라우저앱), 실제 .cif 텍스트TOAU 포맷 매칭

관련 산출

(클로드가 작업 결과를 이어 기록)


산출 결과 — CIF 실렌더 결선 (2026-06-22)

현황감사가 "CIF는 1차 포맷 아님, 실렌더 디코더는 cif-decode.js(JS)뿐, CIF리더.한선은 포맷 불일치(바이너리 매직 vs 텍스트 TOAU)"를 지목 → 순수 한선씨 디코더로 결선.

산출

  • CIF디코더.한선 신규 (/Users/ef/CrownyBrowser/src/CIF디코더.한선, 99KB toau): 실제 .cif 포맷(버전:3 텍스트 TOAU)을 cif-decode.js 1:1 포팅. 헤더(너비/높이/좌표폭) 파싱 → 씨앗줄(T/O/A 트릿) → x/y/w/h(LSB-first base-3, 좌표폭 트릿) + 색(9트릿 MSB묶음) → INIT/RECT.../END cmd(브라우저 렌더 cmd 포맷과 동일).
  • 색 변환 (sum+13)/26*255: 유일한 타이 sum=0(127.5)만 JS Math.round(128)에 맞춰 보정(균형3진 자연반올림=127). 나머지 26값은 공식 그대로.

교차검증 (vs cif-decode.js 프로덕션 레퍼런스)

  • desktop-bg.cif: 31줄 바이트 완전일치
  • ground-bg.cif: 28줄 바이트 완전일치
  • 즉 한선씨 디코더가 현 프로덕션 JS 디코더와 동일 픽셀 산출 → 브라우저가 WebKit/JS 없이 CIF 네이티브 렌더 가능.

위계 하니스 통합 (위계부팅.sh)

[엔진] HTML→cmd + [CIF] desktop-bg.cif→cmd 단계 추가. 브라우저가 HTML·CIF 둘 다 순수 한선씨로 렌더하는 end-to-end 시연.

경계 (정직)

  • os-site 웹페이지(world.js)는 실브라우저에서 도는 JS라 cif-decode.js 유지(호스트경계). CrownyBrowser(한선씨 브라우저)는 이제 CIF디코더.한선 보유 — 한선씨 렌더 경로에서 JS 불요.
  • HTML <img src=*.cif> 자동 인라인은 다음 단계(현재는 CIF→cmd 직접 디코드까지).

관련 파일

  • /Users/ef/CrownyBrowser/src/CIF디코더.한선
  • /Users/ef/CrownyOS/위계부팅.sh (CIF 단계 추가)
  • 레퍼런스: /Users/ef/CrownyOS/os-site/cif-decode.js, desktop-bg.cif, ground-bg.cif

잔여작업 — 대용량 CIF 스트리밍 (2026-06-22)

폰트 글리프시트(274KB)가 VM 읽기() 64KB 단일읽기 캡에 절단되던 문제 → VM 무수정으로 해결.

방법 (호스트 청크 오케스트레이션 + 한선씨 청크 디코더)

  • CIF디코더.한선에 청크모드(CIF_CHUNK=1 → INIT/END 억제, RECT만) 추가.
  • 폰트글리프렌더.sh: 헤더(---까지) 추출 → INIT 1회 발행 → 데이터 1000줄(~46KB, 캡 안전)씩 슬라이스, 각 청크=헤더+청크데이터 파일로 디코더 반복 호출(RECT만) → END 1회. 청크 경계는 줄 단위(씨앗 무손상).

검증 (vs cif-decode.js 전체)

  • 006-Crowny-Gothic-Bold (274KB, 5955줄): 완전일치
  • 003-Crowny-Gothic-Regular (259KB, 5771줄): 완전일치
  • 017-Crowny-Myeongjo-Regular (261KB, 5823줄): 완전일치
  • 배경 CIF(소형) 회귀 없음(청크모드 0=종전 동작).

의미

이제 임의 크기 CIF를 순수 한선씨 디코더로 완전 렌더(VM 무수정). 소형=단일읽기, 대용량=호스트 청크 스트리밍. 폰트 글리프시트 CIF 프리뷰 결선 완료.

관련 파일

  • /Users/ef/CrownyBrowser/src/CIF디코더.한선 (청크모드)
  • /Users/ef/CrownyBrowser/폰트글리프렌더.sh (스트리밍 하니스)
  • /Users/ef/CrownyOS/위계부팅.sh (대용량 CIF 단계)