2026-02-26

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

요약 (AI 작성)

react-wasm-table은 flex-wrap에서 격자선 행 범위를 rowHeight로 계산하는 #10과 헤더를 고정하지 않고 본문과 함께 스크롤되게 한 #11을 병합했습니다. 이어 createColumnHelper·useGridTable·다단 헤더 그룹 같은 TanStack Table 호환 API를 도입해 Grid 컴포넌트와 데모를 그 API로 옮겼고(#12), Taffy 기반 레이아웃 엔진과 열 단위 저장소 테스트, 세로 ScrollBar 컴포넌트를 더한 #13을 병합했습니다. 100만 행 스트레스 테스트와 FPS 표시, 컨테이너 크기에 맞춘 반응형 그리드 데모도 추가했습니다(#14).

정리 작업으로 공통 타입을 types.rs로 모으고 중복된 저장소 모듈을 지웠으며(#15), 쓰지 않던 필터링 모듈과 RowStyle 컴포넌트를 없앴습니다(#16). 기능으로는 SelectionManager로 범위 선택과 드래그, 가장자리 자동 스크롤, 터치, 키보드 이동, TSV 복사를 넣고 캔버스에 선택 영역을 그렸으며(#17), 그리드 단위 enableSelection과 열 단위 선택 가능 여부 설정을 추가했습니다(#18). 헤드리스 구조로 가는 기능 로드맵 문서(#19)를 쓴 뒤, WASM 초기화와 이벤트 처리 등을 훅으로 빼 Grid.tsx를 약 965줄에서 317줄로 줄이는 1단계 리팩터링을 병합했습니다(#20).

hwpjs는 전날 열린 모듈별 테스트 PR(#35부터 #66까지 중 닫힌 것을 뺀 나머지)을 병합했고, Markdown 뷰어의 ctrl_header 하위 모듈과 utils·renderer 모듈 기본 구조 테스트(#67부터 #77까지)를 새로 열어 같은 날 병합했습니다. 공통 모듈 테스트에서는 u16 리터럴 overflow도 고쳤고, 테스트 PR마다 MEMORY.md에 기록을 남겼습니다.

react-native-mcp는 E2E compareScreenshot 스텝에 saveDiff·saveCurrent 옵션을 넣고 visual_compare 도구 설명을 비주얼 리그레션 용도로 명확히 했으며(#105), 서버 버전을 0.1.0-rc.9로 올렸습니다(#106). ohah.github.io에는 2월 26일 요약과 크론 완료 표시가 올라갔습니다.

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

커밋

ohah/hwpjs

ohah/ohah.github.io

ohah/react-native-mcp

ohah/react-wasm-table

PR (해당일 생성/머지)

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

저장소PR해당일 활동상태대상 브랜치제목
ohah/hwpjs#77생성 · 병합mergedmaintest(core): add viewer/markdown renderer module basic structure tests
ohah/hwpjs#76생성 · 병합mergedmaintest(core): add viewer/markdown utils module basic structure tests
ohah/hwpjs#75생성 · 병합mergedmaintest(core): add viewer/markdown ctrl_header table module basic structure tests
ohah/hwpjs#74생성 · 병합mergedmaintest(core): add viewer/markdown ctrl_header shape_object module basic structure tests
ohah/hwpjs#73생성 · 병합mergedmaintest(core): add viewer/markdown ctrl_header header module basic structure tests
ohah/hwpjs#72생성 · 병합mergedmaintest(core): add viewer/markdown ctrl_header page_number module basic structure tests
ohah/hwpjs#71생성 · 병합mergedmaintest(core): add viewer/markdown ctrl_header footnote module basic structure tests
ohah/hwpjs#70생성 · 병합mergedmaintest(core): add viewer/markdown ctrl_header footer module basic structure tests
ohah/hwpjs#69생성 · 병합mergedmaintest(core): add viewer/markdown ctrl_header endnote module basic structure tests
ohah/hwpjs#68생성 · 병합mergedmaintest(core): add viewer/markdown ctrl_header page_number module basic structure tests
ohah/hwpjs#67생성 · 병합mergedmaintest(core): add viewer/markdown ctrl_header column_def module basic structure tests
ohah/hwpjs#66병합mergedmaintest(core): add viewer/html html render module basic structure tests
ohah/hwpjs#65병합mergedmaintest(core): add viewer/markdown collect module basic structure tests
ohah/hwpjs#64병합mergedmaintest(core): add document xml_template module basic structure tests
ohah/hwpjs#63병합mergedmaintest(core): add viewer/html line_segment module basic structure tests
ohah/hwpjs#62병합mergedmaintest(core): add viewer/html document module basic structure tests
ohah/hwpjs#61병합mergedmaintest(core): add viewer/core paragraph module basic structure tests
ohah/hwpjs#60병합mergedmaintest(core): add summary_information module basic structure tests
ohah/hwpjs#59병합mergedmaintest(core): add preview_text module basic structure tests
ohah/hwpjs#58병합mergedmaintest(core): add preview_image module basic structure tests
ohah/hwpjs#57병합mergedmaintest(core): add size module basic structure tests
ohah/hwpjs#56병합mergedmaintest(core): add svg module basic structure tests
ohah/hwpjs#55병합mergedmaintest(core): add position module basic structure tests
ohah/hwpjs#54병합mergedmaintest(core): add geometry module basic structure tests
ohah/hwpjs#53병합mergedmaintest(core): add cells module basic structure tests
ohah/hwpjs#52병합mergedmaintest(core): add shape_object module unit tests
ohah/hwpjs#51병합mergedmaintest(core): add ctrl_header unit tests (column_def, section_def, shared)
ohah/hwpjs#50병합mergedmaintest(core): add table render module compilation verification tests
ohah/hwpjs#49병합mergedmaintest(core): add FileHeader version string conversion test
ohah/hwpjs#48병합mergedmaintest(core): add edge case tests for MIME type resolution
ohah/hwpjs#47병합mergedmaintest(core): add common module unit tests
ohah/hwpjs#46병합mergedmaintest(html): add constants unit tests for table rendering module
ohah/hwpjs#39병합mergedmaintest(core): add constants module unit test (HWPTAG_BEGIN)
ohah/hwpjs#38병합mergedmaintest(core): add viewer/markdown markdown_unit_test module with 15 unit tests
ohah/hwpjs#37병합mergedmaintest(core): add viewer/core paragraph_test module with 12 unit tests
ohah/hwpjs#36병합mergedmaintest(core): add render_page edge case tests for viewer/html
ohah/hwpjs#35병합mergedmaintest(core): add common module unit tests and fix u16 literal overflow
ohah/react-native-mcp#106생성 · 병합mergedmainchore(server): 버전 0.1.0-rc.9로 상향
ohah/react-native-mcp#105생성 · 병합mergedmaincompareScreenshot 옵션 및 visual_compare 도구 설명 보강
ohah/react-wasm-table#20생성 · 병합mergedmainrefactor(grid): extract Grid logic into hooks (Phase 0-1)
ohah/react-wasm-table#19생성 · 병합mergedmaindocs: add feature roadmap for headless refactor and phases
ohah/react-wasm-table#18생성 · 병합mergedmainfeat(grid): enableSelection and per-column selectable
ohah/react-wasm-table#17생성 · 병합mergedmainfeat(grid): cell selection, drag, copy, and touch support
ohah/react-wasm-table#16생성 · 병합mergedmainrefactor: remove filtering module and RowStyle component
ohah/react-wasm-table#15생성 · 병합mergedmainrefactor(core): consolidate types and remove redundant store modules
ohah/react-wasm-table#14생성 · 병합mergedmainfeat(demo): Stress test (1M rows), FPS counter, responsive grid
ohah/react-wasm-table#13생성 · 병합mergedmainTanStack API compatibility, layout engine, and ScrollBar
ohah/react-wasm-table#12생성 · 병합mergedmainfeat: TanStack Table-compatible API for grid
ohah/react-wasm-table#11생성 · 병합mergedmainrefactor: make header scroll with content instead of sticky
ohah/react-wasm-table#10병합mergedmainfix: grid line row bounds under flex-wrap using rowHeight