2026-08-22
요약 (AI 작성)
터미널 코어를 wasm 으로 내고 @maru/* 라이브러리를 만든 날입니다(packages). 앱 안에만 있던 clean-room VT 코어를 브라우저에서 쓸 수 있는 꾸러미로 뗀 첫 판입니다. session-host 는 복구된 세션을 launch 때 투영하고 채택하며, 실제 AppKit 복구와 IME·클립보드 연속성을 검증하고, CR6e 복구 예산과 soak 를 게이트로 걸었습니다.
Windows 는 셰이핑 다리를 제품 경로에 붙여 크롬 글자가 실제로 나오고, 편집기 본문·배경·스크롤바·스크롤·클릭 히트테스트가 차례로 화면에 섰습니다(W8.3⒜·⒞1·⒞2). 쿼드는 파이프라인이 아니라 셰이더였고, 셰이퍼의 임의 상한이 긴 줄을 통째로 지우고 있었으며, 표면 스모크는 그리기 호스트를 공유하며 지문으로 등가를 증명합니다. 탐색기 행은 chrome/ui typed component 로 그리고 히트테스트·호버를 발행된 tree 로 옮겼습니다(FT1·FT2).
편집기는 gutter 접기 화살표를 누르면 접히게 하고 그 클릭을 적대적으로 두들겨 판정 공백 넷을 메웠으며, 성능 게이트가 시간이 아니라 횟수를 세게 해 부하에 흔들리지 않게 했습니다. 모바일은 새 연결이면 컨트롤 축을 처음부터 잡습니다.
커밋
ohah/maru
- fix(windows): 적대적 검증 — 편집기 판정이 속 비어 있었다
- feat(windows): 편집기 본문이 Windows 화면에 뜬다 — W8.3⒜
- fix(editor): 비교 뷰 복사가 CRLF를 LF로 뭉갰다 — 줄 끝을 뗄 때 함께 굳힌다 (§4.1g)
- perf(editor): 성능 게이트가 시간이 아니라 횟수를 센다 — 부하에 안 흔들리게 (§perf)
- fix(windows): 크롬 폰트를 잘못 "미결" 로 적은 것을 바로잡는다 — 계약은 이미 있었다
- feat(windows): 셰이핑 다리를 제품 경로에 붙인다 — 크롬 글자가 실제로 나온다
- feat(session-host): adopt recovered sessions
- feat(session-host): project recovered sessions at launch
- fix(windows): 적대적 검증 3 라운드 — 보고가 "실패" 와 "판정 불가" 를 뭉갰다
- fix(windows): 적대적 검증 2 라운드 — 두 번째 출처 둘
- feat(windows): 편집기가 굴러간다 — 스크롤 (W8.3⒞1)
- feat(session-host): verify recovered IME and clipboard continuity
- fix(windows): 적대적 검증 — 갈린 grid, 진단 손실, 지문 대조군
- refactor(windows): 표면 스모크가 그리기 호스트를 공유한다 — 지문으로 등가를 증명한다
- fix(windows): 적대적 검증 — solid 판정이 잉크 없는 글리프와 겹쳤다
- feat(windows): 편집기 배경과 스크롤바 — 쿼드는 파이프라인이 아니라 셰이더였다
- fix(file-tree): 적대적 검증이 찾은 넷을 고친다 — 밝기·행 축소·죽은 경로·사라진 상태
- docs(file-tree): FT1 결과를 계획에 되먹인다 — 예산 충돌은 없었고 축이 둘 더 있었다
- feat(file-tree): 탐색기 행을 typed component 로 그린다 (FT1)
- fix(windows): 적대적 검증 2 라운드 — 배경이 안 덮던 자리 둘, 그리고 그 구멍을 영구히 드러낸다
- docs(file-tree): 새 typography role 을 이름·값·규율까지 적는다
- docs(file-tree): 탐색기 행 렌더를 컴포넌트로 옮기는 단계 계획을 연다
- fix(file-tree): 행 아이콘을 사이드바·뷰 바와 같은 2칸으로 그린다
- feat(editor): gutter 접기 화살표를 누르면 접힌다 — 그리고 숫자에 붙어 있던 자리를 뗀다
- test(agent-hooks): 훅 모드로 «들어가는» 진짜 순서를 재현한다
- fix(sidebar): 라벨 규칙 변경이 깬 회귀 가드 둘을 새 계약으로 갱신한다
- feat(agent-hooks): 기본값을 켠다 — 선결 조건 셋이 다 닫혔다
- docs(agent-hooks): codex 대화형도 확인했다 — 소스가 하나뿐인 배지가 실제로 선다
- docs(agent-hooks): 대화형 실측을 적고, 근거를 공개 자료로 올린다
- fix(agent-hooks): 훅 모드에 «들어갈» 수가 없었다 — 게이트를 켜도 화면 관측이었다
- fix(agent-hooks): 적대적 검증이 잡은 상태 기계 결함 셋 — 알림은 lead 처럼 생겼지만 lead 가 아니다
- docs(agent-hooks): 끝난 일을 「아직」 이라 적어 둔 자리를 전수로 맞춘다
- feat(agent-hooks): Notification 으로 «입력 대기» 를 판정한다 — 그 배지에 소스가 없었다
- docs(agent-hooks): AH6 비용을 다시 재고, 「샌드박스라 상한」 단서를 지운다
- fix(windows): 셰이퍼에서 임의의 상한을 걷는다 — 긴 줄이 통째로 사라지던 자리
- feat(session-host): verify actual AppKit recovery
- fix(mobile): 새 연결이면 컨트롤 축을 처음부터 — 두 host 가 안 부르고 있었다
- test(editor): 접기 화살표 클릭을 적대적으로 두들긴다 — 판정 공백 넷을 메우고 죽은 가드를 걷어낸다
- feat(session-host): gate CR6e recovery budgets and soak