크라우니월드 P0 — 트릿 코덱 정본 구현 (.한선 + RPN)
개요
명세서 v1/v2(2026-07-23 SSOT)의 7개 확정 항목(대한민국 전토·평지 높이벡터·날기 e-배수 레이어·상대벡터 기록·이동평균 마을이동·마을 e성장·프레즌스9)은
전부 명세+수치검증 상태였고 구현 미착수였음을 실사로 확인 → 사용자 지시로 P0 구현 착수. 뇌 게이트 위임(sonnet) 후 메인 세션이 전 게이트 재검증.
무엇을 했는지
- 정본
os-site/게임슬라이스/크라우니월드코덱.한선 (363줄) — 6부:
1.
e-고도레이어: 레이어고도mm(L0=100, ×27183/10000 체인 — L1=272·L3=2009·L10=2,203m), 레이어스냅(선형), 레이어Δ 3트릿 코덱(±13).
2.
상대점 8트릿 코덱 (§7'): 방향2(정지+8방)+거리e지수2(2m×eⁿ)+레이어Δ2+Δt지수2(1s×eⁿ) — 인코딩/디코딩 라운드트립. VM 나눗셈 자연반올림(|r|≤|b|/2)이 균형3진 자릿수 {-1,0,1}과 정확히 일치 — 보정 루프 없는 네이티브 인코딩.
3.
마을 레코드 50트릿 (§10): 중심 x15+z15(±7,174,453m) + 8방위 반경티어 8×2 + 메타4. 반경m(티어)=27m×e^티어 체인(반경m(3)=538 — 문안 542는 자연반올림 실계산 538로 확정).
4.
이동평균 centroid + 마을이동 4상: 동선중심, 겹침=옴→최근접빈지점(8방위 스냅 밀어내기), 티=이동.
5.
8방위 성장: 임계 기반 티어+1 제안, 상한 8 클램프.
6.
프레즌스9 + 랜덤의상: 거리제곱 상위 8 선정(append-only 선택정렬), 좌표해시 729 시드(패킷 0).
- 셀프테스트 63/63 PASS (메인 재실행 확증: 컴파일 exit 0·경고 0,
크라우니월드코덱 63/63 PASS). 트릿 라운드트립 경계(±4/±13/±7174453)·수기 검산("TT"=4, "OA"=-1)·버킷 경계·50트릿 길이 포함.
- RPN 정본
크라우니월드코덱.rpn.한선 (1038줄, high2rpn.sh v2 — 구 clike_to_rpn.py는 폐기 확인). rpn숙련 린터의 분리 미정의라벨 FAIL은 크로스파일 임포트 미추적 알려진 한계(컴파일 자체 PASS).
- 학습 래칫:
크라우니월드_트릿코덱_상대점_마을레코드 add 완료.
관련 파일
/Users/ef/CrownyOS/os-site/게임슬라이스/크라우니월드코덱.한선 · .rpn.한선 (신규)
- 명세: CrownyDoc
2026-07-23-크라우니월드-명세서-v1.md / -v2.md · 수치정본 크라우니월드진법.한선(12/12)
잔여 이슈 (로드맵)
- P1 렌더 반영: village.js 비행 레이어 스냅(연속고도→e-레이어 순항)·마을평지/전이대 — 손맛 항목이라 사장님 육안 판정 필요.
- P2 프레즌스9 중계(청크 룸 샤딩+랜덤의상 이원 전송), P3 저장분담, P4 기록 파이프.
- admin 미확정 3건: 마을 일일 이동 시각·비중첩 최소 간격 / 8방위 성장 계수 / 순간이동 존치·9명 선정 규칙.