2026-06-24

요약 (AI 작성)

session core 추출 리팩터링에 집중한 날입니다. S2 단계에서 세션 모델(Term/Pane/Tab)을 OS-중립 src/session/으로 옮기고, TermTermGeneric(Rt)로 분리해 런타임 타입을 은닉했으며(TermRuntime inner struct), workspace 트리 변환과 pane hit-test·방향 탐색을 session 모델 연산으로 내렸습니다. 이어 3차 추출로 split_tree·workspace·surface·window·core_command를 session으로 옮기고 session→app 의존을 0으로 막는 가드를 세웠으며, app_session 분해(E0/E1/b1)로 스크롤백 Find(⌘F)를 find.zig, 순수 레이아웃 기하를 session/layout_math.zig로 떼어냈습니다. 4차 C(src/runtime 개명)는 runtime/runtime 중복과 직관성 문제로 보류했습니다.

리팩터링 사이사이 실사용 기능도 손봤습니다. claude/codex 세션 자동 resume 복원(opt-in)을 넣고, 컬러 프리셋 6종과 light-pink를 추가하며 프리셋 파싱을 단일 출처로 정리했고, 알림 카드 호버 강조·구분선을 다듬었습니다. 세팅 GUI 토글이 런타임 폰트 줌(⌘+/−)을 리셋하던 버그와 비-macOS captureAgentArgv 스텁(Linux 빌드 복구)도 함께 처리했습니다.

커밋

ohah/maru

PR (해당일 생성/머지)

repo#상태제목
ohah/maru#1041mergedfix(macos-input): 키패드 Enter를 메인 Return처럼 .enter로 매핑 — 확인 모달이 키패드 Enter로 닫히도록
ohah/maru#1040mergeddocs(verification): split 멀티 surface GPU 텍셀 검증 전략 명문화
ohah/maru#1039mergeddocs(refactor): (b) layout_math 일단락 — E4·E5 실측 orchestration 반영
ohah/maru#1038mergedrefactor(app-session): 픽셀↔셀 hit-test 기하를 layout_math.pxToCell로 분리(b2)
ohah/maru#1037mergeddocs: cross-pane 통합 빌드 반영 + selection/app-session stale 정정
ohah/maru#1036mergedtest(app-session): placeAndDistribute 통합 경로 단위 테스트 — dest 분배·소진·소유권
ohah/maru#1035mergedfix(selection): bce 배경색 칠한 공백도 단어/URL 경계로 — URL 뒤 텍스트 안 빨려듦
ohah/maru#1034mergedfeat(renderer): 멀티 페인 cross-pane 근본 수정 발효 — app_session 통합 빌드(활성 panel 합류)
ohah/maru#1033mergedrefactor(renderer): 멀티 페인 cross-pane 수정 인프라 — prepareMultiPaneGlyphFrame + shape/place 분리
ohah/maru#1032mergedrefactor(app-session): 순수 레이아웃 기하를 session/layout_math.zig로 분리(b1)
ohah/maru#1031mergedrefactor(app-session): 스크롤백 Find(⌘F) 본문을 app_session/find.zig로 분리(E1)
ohah/maru#1030mergeddocs(refactor): app_session.zig 분해 실행 플랜(E0, doc-first)
ohah/maru#1029mergeddocs(layering): 4차 C(src/runtime 개명) 보류 — runtime/runtime 중복·app 직관성
ohah/maru#1028mergedfix(session): 3차 리뷰 결함 — test-pty 컴파일 회귀 + stale 주석 정정
ohah/maru#1027mergedrefactor(session): 3차 완성 — surface·window·core_command를 session으로 + session→app=0 가드
ohah/maru#1026mergedrefactor(session): 3차 D1 — split_tree·workspace를 session으로 + 분류 기준 정정
ohah/maru#1025mergeddocs(layering): 3차 추출(app 레이어 분해) 실행 플랜 + 선결 결정
ohah/maru#1024mergedrefactor(session): S2 후속 — pane hit-test를 session으로 + docs 동기화/3차 계획
ohah/maru#1023closedrefactor(session): S2 후속 — pane hit-test·방향 탐색을 session 모델 연산으로
ohah/maru#1022mergedrefactor(session): S2 — 세션 모델(Term/Pane/Tab)을 OS-중립 session core로 추출
ohah/maru#1021closeddocs(layering): S2 session core 추출 설계 명문화(보류→재개)