요청: 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.../ENDcmd(브라우저 렌더 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 단계)