2026-02-25
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
react-wasm-table은 프로젝트 스펙 문서와 에이전트 안내를 추가하고 패키지 이름을 @ohah/react-wasm-table로 바꾼 #1을 병합한 뒤, 기존 패키지를 adapter·renderer·WASM 로더를 갖춘 grid 패키지로 교체했습니다. Rust 쪽에 열 단위 저장소(ColumnarStore)와 레이아웃 버퍼, 정렬·필터 인덱스를 두고 JS 행 데이터를 WASM 저장소로 밀어 넣는 data ingestor를 붙였으며(#2), 초기 렌더·스크롤·정렬·셀 클릭을 시험하는 Playwright E2E와 CI를 추가했습니다(#3). CI에는 Rust와 TS 테스트 커버리지를 PR 댓글로 남기는 단계도 들어갔습니다.
데모는 사이드바와 라우터를 갖추고 FlexDirection·FlexGrow·FlexWrap·Gap·JustifyContent·AlignItems·Margin·Padding·Overflow·Position 레이아웃 페이지를 추가했습니다(#4). 이어 1fr·minmax·repeat을 쓰는 CSS grid 열 템플릿 지원(#5), 레이아웃 디버그 로그와 개발용 engineRef(#6), Taffy 레이아웃과 같은 CSS를 나란히 비교하는 데모(#7)를 병합했습니다. 격자선 계산을 별도 모듈로 빼 테두리를 통일하고(#8), 레이아웃 버퍼 항목을 12칸에서 16칸으로 늘려 Taffy가 계산한 셀 테두리를 담게 했으며(#9), 캔버스 렌더러는 버퍼만 읽도록 바꿨습니다. flex-wrap에서 격자선 행 범위를 rowHeight로 계산하는 #10은 이날 열렸습니다.
hwpjs는 테스트 컴파일 오류 수정(#24)과 전날 열린 HTML 뷰어 단위 테스트 PR들(#25부터 #30까지)을 병합하고, 텍스트·페이지·문단 모듈 테스트(#31, #32, #34)를 추가로 병합했습니다. 이후 표 렌더링 상수, 공통 모듈, MIME 유형, FileHeader 버전 문자열, 도형·셀·위치·SVG·요약 정보·미리 보기 등 모듈별 테스트 PR이 #35부터 #66까지 이어서 열렸고, 그중 #33과 #40에서 #45까지는 병합 없이 닫혔습니다. ohah.github.io에는 2월 25일 요약이 올라갔습니다.
공개 커밋 79개, 해당일 생성 또는 병합된 PR 53개를 정리했습니다. PR 생성 45개·병합 19개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/hwpjs
- test(core): add viewer/html paragraph module unit tests (PR #33)
- docs(core): add viewer/html page tests PR record
- docs(core): add viewer/html text tests PR record
- test(core): expand render module unit tests and improve coverage
- test(core): add integration tests for viewer conversion functions
- test(core): add viewer/html page module tests
- test(core): add viewer/html text module unit tests
- docs(core): add viewer/html render tests PR record
- test(core): add viewer/html render module unit tests
- docs(core): add viewer/html pagination tests PR record
- test(core): add viewer/html pagination unit tests
- docs(core): add viewer/html HtmlOptions test PR record
- test(core): add viewer/html HtmlOptions unit tests
- docs(core): add viewer/html styles tests PR record
- test(core): add viewer/html styles module unit tests
- docs(core): add viewer/html image tests PR record
- test(core): add viewer/html image module unit tests
- test(core): add HTML viewer unit tests
- fix(core): fix test compilation errors (imports and missing types)
ohah/ohah.github.io
ohah/react-wasm-table
- feat: add lineHeight to viewport for auto-height column min-size
- feat: add border to layout buffer for Taffy-driven cell borders
- chore: apply code and doc formatting
- refactor: use buffer-only canvas renderer and document CSS differences
- refactor: extract grid-lines module and replace CssComparison with CssGrid
- fix: unify grid borders and improve CSS comparison demo styling
- style(demo): format long JSX props in layout demo pages
- feat(demo): add CssComparison and layout demos side-by-side with CSS
- feat: add layout debug logging and Grid engineRef for dev inspection
- fix: clippy use_self in TrackSizeValue, apply oxfmt to plan doc
- chore: add e2e test screenshots (header, initial, scroll, sort)
- feat: add CSS grid layout support for column templates
- chore: apply rustfmt and formatter to pass CI checks
- chore: add CI coverage collection and PR comment for Rust and TS tests
- fix: satisfy rustfmt and clippy for CI
- fix(ci): add const to rect helpers for clippy
- fix(ci): apply oxfmt to demo and grid files for format:check
- fix(ci): satisfy clippy (const fn, match_same_arms) in layout.rs
- chore: update bun.lock
- test(e2e): update visual snapshots
- chore(demo): add built WASM binary for demo
- feat(demo): update main entry for router and layout demos
- feat(demo): wire App with Sidebar and layout demo routes
- feat(demo): add Position demo page
- feat(demo): add Padding demo page
- feat(demo): add Overflow demo page
- feat(demo): add Margin demo page
- feat(demo): add JustifyContent demo page
- feat(demo): add Gap demo page
- feat(demo): add FlexWrap demo page
- feat(demo): add FlexGrow demo page
- feat(demo): add FlexDirection demo page
- feat(demo): add AlignItems demo page
- feat(demo): add Home page
- feat(demo): add Sidebar component for layout docs
- feat(demo): add shared data for layout demos
- chore(demo): update package.json
- docs: update rspress config
- refactor(grid): update package index exports
- refactor(grid): update Grid component
- refactor(grid): update Column component
- refactor(grid): update draw-primitives renderer
- refactor(grid): update layout-reader adapter
- refactor(grid): update types
- refactor(wasm): apply rustfmt to lib.rs
- refactor(core): apply rustfmt to layout_buffer.rs
- refactor(core): apply rustfmt to layout.rs
- ci(e2e): auto-commit snapshot updates on PR, updateSnapshots missing in CI
- fix(e2e): use cross-platform snapshot path so CI (Linux) shares baseline with darwin
- feat: add Playwright E2E tests and CI workflow
- refactor: polish docs, data-ingestor, demo and Grid types
- feat: add data ingestor and docs for columnar WASM grid
- chore(demo): set Vite dev server port to 12313
- feat: add columnar store, layout buffer, and JS adapter for WASM-driven grid
- chore(docs): remove locales from rspress config to use default single locale
- feat(grid): add adapter unit tests and align layout/renderer with virtual scroll and debug overlay
- refactor: replace react-wasm-table package with grid package
- chore: rename package to @ohah/react-wasm-table
- docs: add project specs and agent guidance
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.