2026-07-08

날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.

요약 (AI 작성)

maru는 창 이동성 작업의 M3 마무리와 웹 패널 Phase 4 착수가 함께 진행됐고, PR 8개가 main에 병합됐습니다. M3e는 재시작 뒤에도 활성 창 focus를 유지하도록 maru.workspace.v1에 선택 필드 active-window를 더하는 방식으로 들어갔고(#1252), 직렬화 v2로 올리던 PR #1251은 과설계로 판단돼 병합 없이 닫혔습니다. M3f는 같은 패턴으로 창 위치·크기·모니터를 복원합니다(#1253). 리뷰에서 나온 결함 7건, 즉 복원 중 창 생성 실패 시 엉뚱한 창에 focus가 가는 문제, 전체 화면 창이 거대한 일반 창으로 복원되는 문제, 모니터 재배치 시 창이 화면 밖에 뜨는 문제 등은 #1254에서 고쳤습니다.

웹 패널 쪽은 WKWebView나 렌더러를 건드리지 않고 패널 rect와 surface 생애주기를 순수 Zig로 계산하는 4a(#1255)에서 시작했습니다. 이어 모달 렌더러의 그리기 단계를 동작 변화 없이 함수로 나눈 4b-1(#1256), 모달 오버레이를 별도 물리 CAMetalLayer로 떼고 contentView를 컨테이너로 바꾼 4b-2(#1257), 오버레이 present·drop 로직을 다시 설계한 리뷰 수정(#1258)이 병합됐습니다. 마지막으로 빈 WKWebView를 활성 pane 본문에 터미널과 오버레이 사이 z-order로 붙이는 4c(#1259)가 들어갔으며, 콘텐츠·브리지·입력 전환은 이후 단계로 남겼습니다.

공개 커밋 8개, 해당일 생성 또는 병합된 PR 9개를 정리했습니다. PR 생성 9개·병합 8개는 같은 PR이 양쪽에 포함될 수 있습니다.

커밋

ohah/maru

PR (해당일 생성/머지)

상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.

저장소PR해당일 활동상태대상 브랜치제목
ohah/maru#1259생성 · 병합mergedmainfeat(macos): Phase 4c — 빈 WKWebView pane 부착 (3겹 z-order·4a 소비·hosting 골격)
ohah/maru#1258생성 · 병합mergedmainfix(macos): Phase 4b-2 7차 /code-review max 결함 7건 — 오버레이 present/drop 루트커즈
ohah/maru#1257생성 · 병합mergedmainfeat(macos): Phase 4b-2 — 모달 오버레이 별도 물리 레이어 + 컨테이너 재편
ohah/maru#1256생성 · 병합mergedmainrefactor(macos): Phase 4b-1 — 모달 렌더러 draw-pass 함수 분할 (byte-identical 무회귀)
ohah/maru#1255생성 · 병합mergedmainfeat(session): Phase 4a — 웹 패널 rect/surface 생애주기 순수 계산 (L2·헤드리스)
ohah/maru#1254생성 · 병합mergedmainfix(macos): M3e/M3f 6차 /code-review max 결함 7건 — 창 복원 correctness
ohah/maru#1253생성 · 병합mergedmainfeat(macos): M3f — 창 geometry 복원 (위치·크기·모니터, v1 호환 additive 필드)
ohah/maru#1252생성 · 병합mergedmainfeat(session): M3e — 활성 창 focus 재시작 유지 (v1 호환 active-window 필드, v2 기각)
ohah/maru#1251생성closedmainfeat(session): M3e — workspace 직렬화 v2 (활성 창 보존 + window_id/kind, M3 종료 gate)