뷰컴포넌트.한선 v1.1 — 본선 컴포넌트 라이브러리 완성
개요
한선씨 네이티브 프론트엔드 본선 첫 컴포넌트 라이브러리. HTML/CSS/JS 없이 셀 직접 조작으로 GUI 트리 구성.
무엇을 했는지
/loop 자율 반복 3-4회차 진행:
| 반복 | 작업 | 결과 |
|---|---|---|
| 1 | 부선 격리 + 본선 디렉토리 + 학습 인덱스 | 215줄 단일 소스 |
| 2 | hanseonc_std + RPN 정통 경로 확정 | 8셀 GUI 트리 검증 |
| 3 | RPN 함수 정의 시도 → 무한호출, 슬롯 매트릭스 발견 | 작동 슬롯 13개 확정 |
| 4 | hanseonc_high + 단일셀(13슬롯) 모델 | 8 컴포넌트 완성 |
핵심 발견 3건 (학습DB 영구 등록)
1. 셀 슬롯 alias 매트릭스
독립 슬롯 (13개): 0,1,2,3,4,5,6,7,8,9, 24,25,26
alias: 0↔16, 1↔17
미작동: 10,11,12,13,14,15, 18,19,20,21,22,23
2. hanseonc_std RPN 함수 정의 제한
단순.함수명 + 반환 + .끝N 패턴이 무한 호출.
뷰.한선 v3의 .아니면NN 라벨 패턴이 표준일 가능성. (T20 별도 추적)3. hanseonc_high 셀 직접 조작 = 본선 실용 트랙
변수 c = 셀생성(27); c = 셀설정(c, 슬롯, 값); 셀읽기(c, 슬롯) 정상 작동.결과물
/Users/ef/CrownyOS/crownyc/web/한선네이티브/
├── 학습_인덱스.md (215줄 단일 소스)
├── 샘플_첫화면.한선 (RPN 8셀 검증)
├── 샘플_최소_RPN.한선 (RPN 정통 데모)
├── 뷰컴포넌트.한선 (★ v1.1 본선 컴포넌트 8종)
├── 검증_뷰컴포넌트.한선 (★ 자가검증 통과)
├── 뷰컴포넌트_RPN시도.한선.bak (학습 자료)
└── 검증_뷰컴포넌트_RPN시도.한선.bak (학습 자료)
뷰컴포넌트 v1.1 API (8 컴포넌트 + 11 헬퍼)
컴포넌트 생성
| 함수 | 시그니처 | premium 토큰 |
|---|---|---|
창_premium | (너비, 높이) | 배경=흑단, 전경=상아 |
카드_premium | (부모, 너비, 높이) | 흑단+슬레이트테두리+둥글기12 |
버튼강조_premium | (부모, 텍스트) | 황동 채움+흑단 글자+둥글기6 |
버튼보조_premium | (부모, 텍스트) | 흑단+상아 글자+1px 테두리 |
제목_premium | (부모, 텍스트, 크기) | 샴페인 글자 |
부제목_premium | (부모, 텍스트) | 상아 글자 14pt |
구분_premium | (부모) | 슬레이트 1px 가로 줄 |
입력_premium | (부모, 너비) | 흑단+상아+슬레이트 테두리 |
트리
| 함수 | 시그니처 |
|---|---|
자식부착 | (부모, 자식) — 부모.26 ← 자식, 자식.25 ← 부모 |
슬롯 헬퍼 (디버깅용)
컴포넌트_종류, 컴포넌트_텍스트, 컴포넌트_너비, 컴포넌트_높이, 컴포넌트_배경, 컴포넌트_전경, 컴포넌트_글크기, 컴포넌트_둥글기, 컴포넌트_테두리, 컴포넌트_부모, 컴포넌트_첫자식자가검증 통과
앱 종류=1(뷰_창) 너비=1280 높이=800 배경=흑단
카드 종류=2(뷰_상자) 너비=1200 둥글기=12 테두리=1 부모=10003
H1 종류=3(뷰_글씨) 전경=샴페인 글크기=32 부모=10021
H2 전경=상아 글크기=14
구분 종류=8(뷰_구분) 높이=1 배경=슬레이트
입력 종류=5(뷰_입력) 너비=480 테두리=1
btn시작 종류=4(뷰_버튼) 배경=황동 전경=흑단
btn문서 배경=흑단 전경=상아 테두리=1
트리 앱.첫자식=10021 카드.부모=10003
관련 파일
- 본선 라이브러리:
/Users/ef/CrownyOS/crownyc/web/한선네이티브/뷰컴포넌트.한선 - 자가검증:
/Users/ef/CrownyOS/crownyc/web/한선네이티브/검증_뷰컴포넌트.한선 - 학습 인덱스:
/Users/ef/CrownyOS/crownyc/web/한선네이티브/학습_인덱스.md - 뷰.한선 v3 원본:
/Users/ef/CrownyOS/crownyc/pkg/libs/뷰.한선 - premium 표준:
/Users/ef/crowny-spirit/installer/bin/libs/프리미엄.한선
잔여 이슈
- T20: 뷰.한선 v3의 wrap 함수가 hanseonc_std에서 무한루프 (별도 디버깅)
- T17: 컴포넌트 디자인 결정을 셀코어 룰로 등록 (다음 반복)
- T18: arch.crowny.org 구조 패턴(랜딩/대시보드) 매핑 (다음 반복)
- 형제 체인 (자식 여러 개): v2 작업
- 픽셀 렌더링: CrownyBrowser/CrownyOS 디바이스 환경
다음 반복 (T17 셀코어 룰화)
셀코어 룰 API (/Users/ef/Downloads/CrownyTVM/std/셀코어.han)로 디자인 결정 자동 적용:
변수 룰 = 룰생성("카드_프리미엄_자동", 100)
룰 = 룰조건추가(룰, 0, "==", 뷰_상자)
룰 = 룰조건추가(룰, "역할", "==", "카드")
룰 = 룰변경추가(룰, 4, 흑단)
룰 = 룰변경추가(룰, 5, 슬레이트)
룰 = 룰변경추가(룰, 7, 12)
베이스 컨텍스트 (다음 모듈 동봉)
헌법: /Users/ef/Downloads/CrownyTVM/CROWNY-CONSTITUTION.md
컴파일러: /Users/ef/CrownyOS/crownyc/hanseonc_high
뷰컴포넌트: /Users/ef/CrownyOS/crownyc/web/한선네이티브/뷰컴포넌트.한선
셀코어: /Users/ef/Downloads/CrownyTVM/std/셀코어.han
규칙저장소: /Users/ef/Downloads/CrownyTVM/std/규칙저장소.dat (7261줄 기등록)
학습DB: ~/.claude/scripts/crownycode-learn.sh search