웹코드 (WebCode) — 한선씨 듀얼렌더 UI 프레임워크
개요
웹코드는 한선씨(Hanseonsi) 한국어 프로그래밍 언어로 작성된 종합 UI 컴포넌트 프레임워크다. 모든 컴포넌트가 이중 렌더링(dual-render)을 지원한다:
웹모드인가() == 0→ 네이티브 프레임버퍼 (RGB사각형/RGB글쓰기/원그리기/선긋기)웹모드인가() == 1→ 웹 DOM/HTML 문자열 생성
.한선 소스는 hanseonc_high 컴파일러로 TOAU 4상균형3진
기계어(T/O/A/U)로 변환되어 CrownyTVM에서 실행된다.현황 (2026-05-25)
- 188개 모듈 컴파일 완료 —
/Users/ef/CrownyOS/crownyc/libs/웹코드*.한선 - 총 약 140,835줄 한선씨 코드
- 모든 모듈이 TOAU 바이너리로 컴파일 검증됨
- 신규 추가 (2026-05-25): 성능, 보안패널, 알고리즘 시각화, AI 챗 UI
- 직전 추가: 대기열, 배너, 캔버스(드로잉 보드), 워크스페이스, 설문조사,
- 도메인 카테고리: 월렛, 주문, 예약, 티켓, CRM, 교실, 퀴즈, 뉴스, 부동산,
디자인 토큰 (크라우니 표준 — 초콜릿/크림/골드)
토큰_주색 = 4008735 (#3D2B1F 초콜릿)
토큰_배경 = 16775408 (#FFF8F0 크림)
토큰_골드 = 9136404 (#8B6914 골드)
토큰_텍스트 = 2890768 (#2C1810)
토큰_텍스트흐림 = 9139029 (#8B7355)
토큰_테두리 = 13943984 (#D4C4B0)
토큰_성공 = 2948422 (#2D7D46)
토큰_경고 = 12092939 (#B8860B)
토큰_오류값 = 9109504 (#8B0000)
모듈 카테고리 (161개)
- 기본 위젯: 버튼, 카드, 목록, 입력, 레이블, 칩, 뱃지, 아바타, 스위치,
- 레이아웃: 그리드, 레이아웃v2, 분할, 사이드바, 헤더, 푸터, 네비v2,
- 데이터 표시: 테이블v3, 차트, 분석, 대시보드, 트리, 타임라인v2, 통계,
- 피드백/오버레이: 모달, 토스트, 알림v3, 툴팁v2, 스피너, 스켈레톤,
- 미디어: 비디오, 오디오, 갤러리, 사진, 아이콘, SVG, 웨이브, QR
- 도메인 특화: 쇼핑, 결제, 월렛, 주문, 예약, 티켓, CRM, 교실, 퀴즈,
라이브러리 파일 구조
각 웹코드XXX.한선 파일 표준 구조:
가져오기 "웹코드.한선"— 코어 프레임워크 임포트- 로컬 토큰 선언 (둥글기=8, 여백=16, 글꼴=14)
_XXX색문자열(색)— RGB → "rgb(...)" 헬퍼- 9개 색상 토큰 (10진수 — 0x 헥사 금지)
- 14개
웹코드_접두 컴포넌트 함수 (이중 렌더)
생성 파이프라인
소넷 에이전트 3개 병렬 + 클로드 직접 작성 1개 = 라운드당 4개 모듈.
각 라운드: 에이전트 완료 → hanseonc_high 컴파일 검증 → 오류 수정 →
다음 라운드. 40+ 라운드 진행.
발견된 한선씨 컴파일 함정 (수정 완료)
반복/선택/오류예약어 — 변수/매개변수명 사용 불가 →선택값등 사용0x헥사 리터럴 — 변수 대입 시 미지원 → 10진수만 사용- 삼항 연산자
? :— 미지원 → 임시변수 +만약/아니면 혹시(else-if) —만약직후에만,아니면블록 안 단독 사용 불가배열생성()— 미정의 함수 →[]리터럴 사용- 식별자가 숫자로 시작 불가 (
1박가격→일박가격) - 공백 분리 다중 토큰 변수명 불가 (
이 수→이값) ×곱셈기호 HTML 문자열 파싱 충돌 →×엔티티- 네이티브 그리기는 7인자 (R,G,B 분리),
원그리기는 6인자
관련 파일 경로
- 소스:
/Users/ef/CrownyOS/crownyc/libs/웹코드*.한선 - 컴파일러:
/Users/ef/CrownyOS/crownyc/hanseonc_high - VM:
/Users/ef/CrownyOS/crownyc/crownyc - 코어:
/Users/ef/CrownyOS/crownyc/libs/웹코드.한선
잔여 이슈
- 161개 모듈을 통합하는 데모 앱(showcase) 미작성
- 웹 렌더 모드의 브라우저 실측 테스트 미진행
- 모듈 간 의존성 그래프 문서화 필요