2026-06-07

요약 (AI 작성)

maru의 CoreText→Metal 글리프 파이프라인을 완성한 날입니다(40커밋). CoreText 셰이퍼·rasterizer·font adapter 경계를 추출하고, DrawList를 CoreText로 셰이핑해 Metal 스모크로 렌더하며, shaped glyph record 어댑터와 render frame이 glyph quad를 소유하는 구조, font identity registry를 세워 제품 atlas 샘플링까지 검증했습니다.

suji는 세션·단일 인스턴스 계열을 채웠습니다 — BrowserWindow.destroy(강제 파괴), session.setPermissionRequestHandler(CEF)·setProxy, second-instance 이벤트(두 번째 인스턴스 argv를 primary로 전달, Windows named pipe).

커밋

ohah/maru

ohah/suji

ohah/zntc

PR (해당일 생성/머지)

repo#상태제목
ohah/maru#128mergedfix(input): complete C0 table and harden key encoding from review
ohah/suji#114mergedfeat(menu): Menu.sendActionToFirstResponder
ohah/suji#113mergedchore: 스트레이 검증 바이너리 제거 + 루트 test_* gitignore
ohah/maru#127mergedfeat(platform): add manual keydown smoke mode
ohah/suji#112mergedfeat(menu): Menu.getApplicationMenu + getMenuItemById
ohah/maru#126mergedfeat(platform): bridge AppKit keyDown into PTY smoke
ohah/maru#125mergedfeat(app): route key events through resolver
ohah/maru#124mergedfeat(config): add keybinding input resolver
ohah/maru#123mergedfeat(platform): script input through live PTY Metal smoke
ohah/maru#122mergedfeat(platform): add live PTY Metal smoke
ohah/maru#121mergedfix(platform): harden CoreText/Metal smoke from review findings
ohah/suji#111mergedfeat(menu): MenuItem role field (Menu batch Phase B-2)
ohah/maru#120mergedfeat(app): add live PTY app host smoke
ohah/suji#110mergedfeat(menu): MenuItem accelerator field (Menu batch Phase B)
ohah/maru#119mergedfeat(platform): capture Metal smoke screenshot artifact
ohah/suji#109mergedfeat(menu): MenuItem id + visible fields (Menu batch Phase A)
ohah/maru#118mergedfeat(platform): render DrawList through Metal smoke
ohah/maru#117mergedfeat(platform): shape DrawList with CoreText
ohah/maru#116mergedfeat(platform): render CoreText glyphs in Metal smoke
ohah/maru#115mergedrefactor(platform): extract CoreText probe boundary
ohah/suji#108mergedfeat(windows): setMovable/Focusable/Enabled/FullScreenable/Kiosk (mode toggles)
ohah/maru#114mergedfeat(platform): extract CoreText rasterizer boundary
ohah/maru#113mergedfix(platform): keep CoreText probe font names stable
ohah/suji#107mergedfeat(windows): setResizable/Minimizable/Maximizable/Closable (capability flags)
ohah/maru#112mergedfeat(platform): add CoreText shaper boundary
ohah/maru#111mergeddocs(platform): correct overclaim on required CoreText drawable field
ohah/suji#106mergedfeat(windows): setSize/setPosition + min/max size (Geometry batch)
ohah/maru#110mergedfeat(platform): extract CoreText font adapter boundary
ohah/maru#109mergedfeat(platform): route CoreText smoke through font identity
ohah/suji#105mergedchore: 실수로 커밋된 빈 아티팩트 test_intcast 제거
ohah/maru#108mergedfeat(renderer): add font identity registry
ohah/suji#104mergedfeat(session): setPermissionRequestHandler (CEF cef_permission_handler_t)
ohah/maru#107mergedfeat(platform): rasterize CoreText smoke glyph runs
ohah/suji#103mergeddocs: setSSLConfig / cookies.changed — CEF 본질적 제약으로 보류 명시
ohah/maru#106mergedfeat(platform): route CoreText smoke through renderer state
ohah/suji#102mergeddocs(window): BrowserWindow.destroy() 문서화 + audit done 마킹 (#101)
ohah/maru#105mergedfeat(renderer): accept shaped glyph runs in renderer state
ohah/suji#101mergedfeat(window): BrowserWindow.destroy() — 강제 파괴 (window:close 스킵)
ohah/maru#104mergedfeat(renderer): preserve surface metadata for shaped records
ohah/maru#103mergedfeat(renderer): add shaped glyph record adapter
ohah/suji#100mergeddocs(session): setProxy API 문서화 + audit done 마킹 (#99)
ohah/zntc#4196mergedfix(release): bun.lock 동기화 — v0.1.2 publish 복구
ohah/maru#102mergedfix(renderer): gate Metal smoke on atlas samples
ohah/suji#99mergedfeat(session): setProxy — Electron session.setProxy (Chromium proxy preference)
ohah/zntc#4195mergedchore(release): v0.1.2
ohah/maru#101mergedfix(renderer): sample atlas ink texels in Metal smoke
ohah/maru#100mergedfeat(renderer): sample product atlas in Metal smoke
ohah/suji#98mergeddocs(audit): electron-parity-audit 재동기화 — 구현 완료 27항목 done 마킹
ohah/maru#99mergedfeat(renderer): verify Metal atlas raster upload
ohah/suji#97mergeddocs(app): single-instance / second-instance API 문서화 (#94~96)
ohah/maru#98mergedAlign glyph raster skips with atlas bounds
ohah/suji#96mergedfeat(app): second-instance Windows named pipe (PR-B2)
ohah/suji#95mergedfeat(app): second-instance 이벤트 — 두 번째 인스턴스 argv 를 primary 로 전달
ohah/maru#97mergedfeat(renderer): add glyph raster upload frame