← 목록
기타 2026-06-12 8KB 읽기 9분

패러랠즈 1:1 UX 패리티 태스크보드 — 크라우니VM for Mac

작성일 2026-06-12 · 목표 패러랠즈와 1:1로 사용자 경험이 완성되는 크라우니VM(맥 호스트) — 윈도우/리눅스 마운팅 + 동시실행(게스트 앱=맥 별도 창) + 크라우니OS 완성 구동. 근거 요청 2026-06-09 crownyvm-for-mac-패러랠즈대용, 2026-06-11 패러랠즈-윈도우11-1대1-패리티-병행구현. 범례 ✅ 완료 · ◔ 부분 · ☐ 미착수

0. 진행상황 요약 (2026-06-12 코드 전수조사 기준)

영역상태근거
맥 네이티브 창 (Cocoa)crownyc/crowny_window.m 216줄 — NSView+CGImage, 60fps, 마우스/키 슬롯 49992~49995 주입, CoreText 텍스트
윈도우 네이티브 창 (Win32)crownyc_window_win32.c 155줄 GDI + win32_compat.h + build-win.sh. 동일 crownyos.exe+각 .toau로 맥·윈도우 양쪽 구동 검증(6/10)
리눅스 창 (X11)crownyc_window_x11.c 84줄 — 데스크톱 실사용 수준 미달
이벤트 모델 (P1)libs/이벤트디스패치.한선 358줄 — 캡처→타겟→버블 3단계, 포커스 스택, Tab 순환, 드래그 캡처, 큐 폴링. 자가검증 8케이스 티 통과 (2026-06-12, compile rc=0)
VM 코어crownyc.c 14869줄, ISA729 1149 opcode, GUI opcode 17종(FB_RGB_RECT/TRI/SHADOW/IMG_ 등)
컴포지터compositor.c 5188줄 — 창 Z순서/독/파인더/터미널/Cmd+W·M·Tab·`
OS 기본앱8종(설정/파일/터미널/시계/계산기/그림판/음악/티옴타뷰) 8/8 컴파일, 3종 네이티브 렌더 검증(6/10), crowny-downloads/platforms/desktop-apps/ 배포
동시실행(코히런스 대응)치명 갭 — "동시실행" 개념 코드 미반영. coherence_guest.c/glue.c 파일 존재하나 crownyc.c 통합 미완
QEMU 게스트 부팅QEMU virt ramfb 부팅 경로 확인(v1.0), 커널 그래픽 출력

1. 태스크 보드

A. VM 기판 (게스트 구동)

  • A1 crownyc VM 코어 + ISA729 (✅ 1149 opcode)
  • A2 맥 호스트 창 — Cocoa 60fps (✅ crowny_window.m)
  • A3 QEMU virt 크라우니OS 게스트 부팅 + ramfb (✅ v1.0)
  • A4 게스트OS 마운팅 — 윈도우/리눅스 디스크 이미지 인식·부팅 메뉴 [오푸스]
  • A5 VM 라이프사이클 UX — 시작/일시정지/재개/종료, VM 목록 창 [소넷]
  • A6 스냅샷/복원 (상태 직렬화 — WAL 패턴 재사용) [소넷]

B. 창·렌더 패리티

  • B1 프레임버퍼→호스트 창 표시 (✅)
  • B2 실시간 창 리사이즈 — fb_width/fb_height 동적 재할당 + 게스트 해상도 통지 [소넷]
  • B3 Retina/HiDPI 배율 (CGImage scale, 2x 백버퍼) [소넷]
  • B4 풀스크린 전환 + 멀티모니터 (fb 단일 글로벌 해소) [오푸스]
  • B5 GPU 가속 검토 — 현 CGImage 소프트 렌더의 2K/4K 60fps 한계 측정 후 결정 [오푸스, 측정=하이쿠]

C. 동시실행 모드 (패러랠즈 Coherence 대응)

감사 결과(2026-06-12 오푸스): 게스트(coherence_guest/glue/proto/compositor_coh)+호스트(crowny-vm/coherence) 양측 거의 완성, E2E 헤드리스 테스트 그린. 갭은 crownyc.c 데스크톱 경로 한정.
  • C1 coherence 현황 감사 + 통합 계획 (✅ 5스텝 도출. 게스트 결선 확인: guest_gui_x86.c:37 coh_compositor_attach 호출 — 게스트측 통합 완료)
  • C2 게스트 앱 창=맥 NSWindow 매핑 (✅ 기구현 — coherence_host.m NSWindow 생성·60fps, 프로토콜 창메타·더티타일 완성)
  • C3 창 메타 동기화 프로토콜 (✅ coherence_proto.h 메시지 30종 100%)
  • C4 호스트↔게스트 입력 역라우팅 (✅ coherence_guest.c 입력 수신 디스패치 + compositor_coh.c 입력 sink)
  • C5a win_type 매핑 + RLE 압축 (✅ 2026-06-13: CWin.type 미러, 게스트 RLE 인코더+비압축 폴백, 단색타일 4096B→6B. 회귀 PASS, 동반 libs/RLE인코더.한선 3/3 티 + RPN 정본)
  • C5b 독에 게스트 앱 노출 (✅ 2026-06-13 libs/독.한선 390줄, 31/31 티): 고정/실행중/게스트 정렬, 클릭 히트, 독게스트동기(coherence 창목록 추가·제거·중복스킵 2패스). C 미수정(한선씨 SSOT). RPN 정본·학습
  • C6 E2E 회귀 1커맨드 등록 (✅ 2026-06-12 tests/coherence회귀.sh PASS exit0, run_all.sh 자동 포함. 주의: 구 coh_test.sh는 comp_create_window 링크 실패 — 회귀 스크립트가 스텁 링크로 해결, 표준 진입점은 coherence회귀.sh)
  • C7 crownyc.c --coherence 플래그 (✅ 2026-06-13: #ifdef CROWNY_COHERENCE 가드 3지점 + coherence_hosted_stub.c 신규 — freestanding glue는 호스티드 링크 금지, no-op 스텁 대체. on/off 문법검사·회귀 PASS 직접 검증)
  • C8 라이브 다중창 워크스루 (✅ 2026-06-11 Coherence 13 마일스톤 검증: 게스트 앱=별도 NSWindow, 마우스+키+리사이즈, 증분 247→17.8타일). 오늘 추가분(RLE/win_type/플래그) 헤드리스 회귀 PASS
  • C8a GUI 커널 재빌드 경로 복구 (✅ 2026-06-13): k_start.o=boot/start_virt.S, k_os.o=crownyc_os.c -DCROWNYOS_GUI_MODE(텍스트셸 대신 컴포지터 진입, 일반 kernel8.img와 결정적 차이). build-gui-kernel.sh에 재빌드 명령 추가, clean 재빌드 680,100B 검증. 잔여: crowny-vm --gui 실부팅은 hv entitlement 재서명 필요(범위 외)
  • [◔] C9 Coherence v2 벡터 씬 프로토콜 — 설계+S1 완료
  • [x] 설계(✅ docs/Coherence_v2_벡터씬_설계.md): 0x50군 SOP 18 op, q8 해상도독립, COH_CAP_VECTOR 협상+래스터 폴백, Metal(SDF/가우시안/글리프 아틀라스), 3-way 듀얼렌더, 5단계
  • [x] S1 프로토콜 동결(✅ 2026-06-13): coherence_proto.h 양 미러(crownyc/+crowny-vm/)에 COH_SCENE_(0x50~0x54)+COH_CAP_VECTOR(0x04)+enum coh_sop(0x00~0x40)+COH_SCENE_OPS_MAX 가산 동결. v1(0x01~0x40) 무손상, 헤더 문법OK, 회귀 PASS. 가산식이라 타 세션 머지 무충돌
  • [x] S2 벡터씬직렬화.한선(✅ 2026-06-14 415줄, 45/45 티): 게스트 SOP 인코더(사각형/둥근사각형/그림자/선/원/글리프런/레이어/클립) + 디코더 라운드트립, q8 고정소수, LE 바이트(비트연산 대신 floor분해 _씬am/_씬ad — 균형3진 음수 안전), 청크 분할(60KB). RPN·학습
  • [ ] S3 호스트 C 해석(coh_host_on_scene_*) → S4 Metal 백엔드 → S5 3-way 합류 [GUI/VM 세션 조율 — 이관]
  • D. 호스트 통합 UX

    • D1 공유 클립보드 (호스트 NSPasteboard ↔ 게스트 슬롯) [소넷]
    • D2 공유 폴더 (호스트 디렉토리 → 게스트 읽기/쓰기 마운트) [소넷]
    • D3 호스트↔게스트 드래그앤드롭 — 이벤트디스패치.한선에 DnD 이벤트 유형 추가 [소넷]
    • D4 IME 한글 입력 — crowny_window.m NSTextInputClient 구현 (윈도우11 보드 E2와 공유) [오푸스]
    • D5 USB/디바이스 패스스루 (후순위 — 범위 확정 필요) [☐ 보류]

    E. 배포·생태계

    • E1 crowny-downloads/platforms 배포 채널 (✅ desktop-apps, windows-x86)
    • E2 "크라우니VM for Mac.app" 번들 — 아이콘/서명/첫실행 UX [하이쿠 글밥+소넷]
    • E3 81개 엔터프라이즈 모듈/서비스 앱 .toau 카탈로그 → VM 안 앱스토어 뷰 [하이쿠]
    • E4 한선씨/3진기계어 번역·최적화 패스 — 핫패스 RPN 정통화 [소넷, 판정=오푸스]

    2. 모델 분담 (사용자 확정 규칙 2026-06-12)

    • 페블: 자율에이전트경험 제공용 도구 구축만 (이 보드에서는 해당 없음 — 보드 설계·조사 종합까지)
    • 오푸스 4.8: C1/C2 동시실행 설계, B4/B5 렌더 아키텍처, D4 IME, E4 판정
    • 소넷: 한선씨/C 구현 전반 (A5~6, B2~3, C3~5, D1~3)
    • 하이쿠: 측정/카운트/검증 러너/글밥 (B5 측정, C6, E2~3)

    3. 잔여 이슈

    • coherence_guest.c/glue.c의 실제 완성도 미감사 — C1이 선행 게이트.
    • GPU 가속(Metal) 도입 여부는 B5 측정 후 결정. CrownyOS 본체는 Rust 금지·C/한선씨만 원칙 유지.
    • X11 창(리눅스 호스트)은 이 보드 범위 밖 — 윈도우11 보드의 멀티플랫폼 항목과 통합 관리.

    관련 파일

    • /Users/ef/CrownyOS/crownyc/crowny_window.m · crownyc_window_win32.c · compositor.c · crownyc.c
    • /Users/ef/CrownyOS/crownyc/libs/이벤트디스패치.한선 (+_검증.한선)
    • 자매 보드: 2026-06-12-윈도우11-1대1-크라우니OS-UX-태스크보드.md