2026-03-02
날짜는 UTC 기준으로 나눴습니다(9월 22일부터는 한국 시간 기준). 커밋은 커미터 시각(committer date), PR은 생성·병합 시각으로 분류했습니다. 목록은 2026-10-06 KST에 GitHub에서 다시 조회해 보강했습니다. 공개 저장소의 기본 브랜치 활동만 포함합니다.
요약 (AI 작성)
react-wasm-table은 PR 여덟 개를 main에 병합했습니다. 테마·컬럼·셀 단계로 테두리를 덮어쓰는 테두리 스타일 기능을 넣으면서 기본 테두리를 없음으로 바꿨고(#48), WASM과 JS의 행 번호를 헤더 0부터 시작하는 하나의 체계로 합쳤습니다. 컬럼 끌어 옮기기를 헤더 오른쪽 손잡이 영역으로 제한하고 선택 영역에 헤더 셀을 포함하는 수정(#49), 데모 WASM 바이너리 갱신(#50), 그룹 헤더 위치를 TS에서 계산하는 다단 컬럼 헤더 렌더링과 히트 테스트(#51)가 이어졌습니다.
오후에는 셀 편집을 진행했습니다. TableMeta의 updateData로 값을 반영하고 editTrigger, 편집 가능한 셀의 텍스트 커서, Tab 이동을 붙였으며(#52), EditorManager를 상태 관리만 맡도록 바꾸고 포털로 그리는 Text·Number·Select 기본 에디터, editCell 렌더 prop, 입력하면 바로 편집하는 기능, 스크롤 시 취소를 추가했습니다(#53, #54). 마지막으로 totalCount·onFetchMore·fetchAhead를 쓰는 무한 스크롤과 WASM 컬럼 저장소에 새 행만 덧붙이는 증분 추가, TanStack 스트리밍 데모를 병합했고, Table이 기본 페이지 크기 10을 늘 넘겨 모든 데모가 10행으로 잘리던 문제도 고쳤습니다(#55). twoslash 예제 오류를 없애는 문서 PR #56은 이날 열렸습니다.
hwpjs는 전날 열린 표 셀·글상자 다단 렌더링 #89를 병합했습니다. 이 과정에서 다단의 줄 높이·위치와 둘째 단 텍스트를 바로잡고, 도형 캡션에 자동 번호를 그리며 본문 기본 줄 간격을 캡션에도 적용했습니다. markdown 뷰어 테스트 #84·#87·#90과 shape_component 자식 변환 테스트 #92, para_text 테스트와 경계 사례 수정 #93도 들어왔고, to_pdf FFI가 Result가 아닌 Vec 바이트를 돌려주도록 고쳤습니다. 쪽 단위·글상자·표 셀·인라인 콘텐츠를 아우르는 다단 렌더링 PR #94가 열렸고, #91은 닫혔습니다.
cheolsu-proxy는 헤드리스 CLI 모드 PR #59를 닫고, GUI와 CLI가 함께 쓰는 프록시 데몬을 분리하는 #60을 열었습니다. ohah.github.io에는 크론이 CRON_CRD_WRITE.md에 "검사할 mdx 없음"을 반복 기록한 커밋이 15개 쌓였습니다.
공개 커밋 87개, 해당일 생성 또는 병합된 PR 19개를 정리했습니다. PR 생성 15개·병합 14개는 같은 PR이 양쪽에 포함될 수 있습니다.
커밋
ohah/hwpjs
- docs: update MEMORY.md with PR #93 record (#93)
- test(core): add viewer/markdown document bodytext table module basic structure tests (#90)
- fix(hwpjs): correct to_pdf FFI — to_pdf returns Vec<u8>, not Result
- test(core): add shape_component children convert unit tests (#92)
- test(core): add viewer/markdown utils module edge case tests (#87)
- test(core): add viewer/markdown/document docinfo and fileheader unit tests (#84)
- docs: Heartbeat 일시중지 안내 추가
- fix(core): add auto-number (haN) rendering for shape captions
- fix(core): apply body_default_hls to shape captions via render context
- test(core): add viewer/markdown/document/bodytext paragraph test suite
- test(core): update HTML snapshots after multicolumn line-height/top and text fixes
- fix(core): apply body_default_hls top offset to all rows, not just first
- fix(core): fix line-height/top and column 2 text in multicolumn rendering
- feat(core): support multicolumn rendering inside table cells and floating shapes
- test(core): add para_text unit tests and fix edge cases
- test(core): add shape_component children convert unit tests
- docs: update MEMORY.md with PR #78 record
- test(core): add viewer/markdown utils edge case tests (PR #78 Draft)
ohah/ohah.github.io
- Update CRON_CRD_WRITE.md: 16th update at 2026-03-03 8:30 AM (all files completed, no changes)
- docs: update crd-cron write checklist [auto-cron]
- cron: update crd-write status (no files to check)
- crd-write: 모든 mdx 파일 검사 완료 상태 확인 (2026-03-03 6:30 AM)
- cron: 갱신: 2026-03-03 5:30 AM 크론 주기적 재확인 완료 - 모든 mdx 검사 완료된 상태
- docs: cron-crd-write progress update 2026-03-03 3:00 AM
- 크론: 모든 mdx 파일 검사 완료 상태 확인 및 완료 표시
- docs: update 2026-03-02 summary
- docs: update CRON_CRD_WRITE.md - cron confirmation completed
- docs: CRON_CRD_WRITE.md - 8차 업데이트: 추가 검사할 파일 없음
- CI: cron crd write - all mdx spelling checks completed on 2026-03-02 19:00 (Asia/Seoul)
- docs(cron): update CRON_CRD_WRITE.md - confirm all mdx files reviewed
- docs: cron verification - all mdx files checked
- chore: CRON_CRD_WRITE.md - last verification check complete
- cron: CRON_CRD_WRITE.md 4th recheck update - all mdx files already complete
ohah/react-wasm-table
- fix: Table should not auto-sync pagination (default pageSize:10 broke streaming)
- feat: add TanStack streaming demo + TableProps streaming support
- fix: clippy warnings in columnar_store append methods
- feat: streaming data Phase 2 — WASM incremental append
- docs: 하위호환 폴백 로직 제거 (streaming Phase 2 계획)
- docs: streaming Phase 2 계획 문서 + roadmap 업데이트
- feat: streaming data Phase 1 — infinite scroll (totalCount/onFetchMore/fetchAhead)
- docs: editorOptions 제네릭화 + pendingOpen 패턴 문서 반영
- docs: mark select editor as implemented in cell-editing-plan
- style: apply oxfmt formatting
- refactor: editorOptions 제네릭화 + pendingOpen 패턴 + 테스트 정리
- feat(demo): cell editing 데모 업데이트 + 문서 갱신
- test: 에디터 컴포넌트 + scrollToRow + type-to-edit 테스트 추가
- feat: useEditing portal 렌더링 + scrollToRow + type-to-edit + scroll cancel
- feat: built-in React 에디터 컴포넌트 (TextEditor, NumberEditor, SelectEditor)
- feat: CellEditRenderProps 타입 + editCell/editorOptions 컬럼 속성 추가
- refactor: EditorManager를 순수 상태 관리자로 리팩터
- docs: update cell-editing-plan with implementation status
- style: apply oxfmt formatting to all changed files
- docs: update roadmap — Cell Editing (6-3) complete
- style: fix lint errors — organizeImports, useButtonType, noArrayIndexKey
- feat(demo): add cell editing demo pages (Grid API + TanStack API)
- feat: wire meta, editTrigger, isCellEditable through Grid component
- feat: text cursor on editable cells, commit editor on any mousedown
- feat: use-editing hook — meta.updateData, editTrigger, Tab navigation
- feat: EditorManager — onCommit/onNavigate callbacks, pointerEvents fix
- feat: add TableMeta type, meta/editTrigger props to GridProps/TableProps
- style: format roadmap.md
- docs: update roadmap — Multi-level Column Header (6-4) complete
- style: apply formatter to multi-level header files
- feat: multi-level column header rendering and hit-testing
- chore(demo): expose dev server to network (host: true)
- chore(demo): update WASM binary in demo public
- style: apply formatter to Rust and TypeScript files
- test: add tests for drag handle zone, extraPadRight, and DnD behavior
- fix: use extraPadRight instead of clip for header drag handle spacing
- fix: clip header text to avoid overlap with drag handle grip dots
- feat: header drag handle icon for column DnD
- fix: header click selection with DnD enabled; remove alternating row bg
- fix: alternating row background and header click selection after unified indexing
- refactor: unified 0-based row indexing across WASM and JS
- chore: strip Copilot and Claude attribution from commit messages
- fix: include header cells in selection bounding rect; docs cleanup
- feat(types): change default border to none (no grid lines unless explicitly set)
- style: apply linter formatting to border-utils and canvas-renderer
- feat(demo): add Border Style demo page
- test: update Theme fixtures with borderWidth/borderStyle fields
- feat(grid): export border style types and utilities
- feat(renderer): add per-cell border rendering in canvas-renderer
- feat(grid): build per-cell borderConfigMap in render loop
- feat(grid): build parsedBorderStyles map and wire through Table→Grid→Column
- feat(grid): add CellBorderStyleProps and style prop to Td/Th/Tr
- feat(grid): add border parsing utilities (parseBorderShorthand, resolveCellBorder)
- feat(types): add border style types and extend Theme/BoxModelProps/ColumnDefBase
PR (해당일 생성/머지)
상태는 조회 시점 기준입니다. merged는 아래 대상 브랜치에 병합됐다는 뜻이며, 기능 브랜치 병합과 main 반영을 구분합니다. 같은 PR이 생성일과 병합일 양쪽 기록에 나타날 수 있습니다.