2026-03-14
요약 (AI 작성)
오늘은 세 프로젝트에서 대규모 작업이 진행되었다. ohah/hwpjs에서는 테이블 border 렌더링을 한컴 원본과 일치하도록 대폭 개선하고, 중첩 테이블 파싱/렌더링 지원, 셀 내 텍스트 겹침 수정, ParaShape 들여쓰기 수정, SSR wasm externals 설정 등을 완료했다. ohah/bungae에서는 Metro 호환 에셋 핸들링, HMR 클라이언트를 metro-runtime 호환으로 전면 리라이트, hermes-parser WASM을 통한 Flow stripping 성능 개선, Babel 플러그인 옵션 추가, && JSX 패턴의 Hermes 호환 처리 등이 이루어졌다. ohah/cheolsu-proxy에서는 OpenAPI 3.0 스펙 자동 생성, Waterfall 타이밍 시각화, 조건부 Throttle 속도 제한, gRPC Proto 디코딩 연동 및 관리 UI를 추가했다.
커밋
ohah/hwpjs
- fix(html): 연속 공백을 로 변환하여 한컴 원본과 일치
- fix(html): 테이블 오른쪽 외곽선 누락 및 leading 공백 처리 수정
- fix(html): 가로 외곽선도 열별로 border 확인하여 line_type=0 구간 건너뜀
- fix(html): 테이블 border 렌더링을 한컴 원본과 일치하도록 수정
- refactor(html): border overshoot를 stroke-width/2로 동적 계산
- refactor: render_vertical_borders에서 불필요한 ctrl_header_height_mm 파라미터 제거
- fix(html): 인접 셀 border line_type=0일 때 반대쪽 셀 border fallback 적용
- fix(html): 외곽 border에서 table default vs cell border 선택 로직 개선
- fix(html): 내부 행 경계에서 lower cell Top border를 우선 사용
- fix(html): 한컴 원본 기준으로 border 선택 로직 재수정
- fix(html): caption_info 없는 CtrlHeader paragraphs의 중복 렌더링 제거
- fix(html): SVG fill 높이를 row_positions 기반으로 계산
- fix(html): like_letters=true 글상자(ShapeRect)를 인라인으로 렌더링
- fix(html): 테이블 내부 행/열 경계에서 셀 border w=0일 때 table default fallback 적용 (#125)
- fix(parser): 중첩 테이블 파싱/렌더링 지원 (#124)
- fix(html): 인접 셀 border line_type=0일 때 반대쪽 셀 border fallback 적용 (#129)
- fix(html): CtrlHeader paragraphs를 캡션 없는 테이블에서도 렌더링 (#128)
- fix(docs): SSR 빌드에서 @ohah/hwpjs를 externals로 설정
- fix(parser): ParaShape 들여쓰기/내어쓰기를 단일 필드로 수정
- fix(html): CtrlHeader(gso) 이미지 높이를 셀 행 높이에 반영 (#127)
- fix(html): LineSegment 없는 셀 내 paragraph에 올바른 top 위치 및 번호 마커 렌더링 (#126)
- chore: napi-rs 최신 버전 업데이트 및 PDF 모듈 제거
- chore: bump version to 0.1.0-rc.8
ohah/bungae
- perf(oxc-bundler): use hermes-parser WASM for faster Flow type stripping (#27)
- feat(oxc-bundler): add transformer.babelPlugins option for custom Babel plugins
- refactor(benchmark): switch from graph-bundler to OXC (Rolldown) for Metro comparison
- feat(oxc-bundler): add pnpm cache path support for asset resolution
- test(oxc-bundler): add monorepo, platform-specific, and Bun cache asset tests
- fix(oxc-bundler): normalize httpServerLocation for monorepo assets
- fix(oxc-bundler): use module.exports for asset registration
- feat(oxc-bundler): Metro-compatible asset handling
- fix(oxc-bundler): finalize HMR client + cleanup debug logs
- fix(oxc-bundler): send hmr:connected on WebSocket open
- fix(oxc-bundler): rewrite hmr-client to match metro-runtime HMRClient API
- fix(oxc-bundler): fix HMR client replace pattern for metro-runtime
- fix(oxc-bundler): move runtime.setup() inside WebSocket open handler
- revert(oxc-bundler): restore renderChunk SWC es5 + (void 0) fix
- fix(oxc-bundler): use es2015 target to preserve let/const scoping
- refactor(oxc-bundler): per-module SWC es5 + JSX transform
- fix(oxc-bundler): fix TypeScript errors in runtime and tests
- fix(oxc-bundler): update HMR runtime tests for new runtime structure
- fix(oxc-bundler): fix lint warnings - remove unused imports/declarations
- fix(oxc-bundler): fix Rolldown (void 0) bug in && JSX context
- fix(oxc-bundler): handle whitespace before ) in comma expression regex
- fix(oxc-bundler): strip comma expressions (0, fn) before SWC es5
- fix(oxc-bundler): strip @PURE before SWC to prevent (void 0) bug
- fix(oxc-bundler): auto-convert && JSX to ternary for Hermes compat
- fix(benchmark): replace __dirname with import.meta.url for ESM compatibility
- fix(benchmark): run OXC benchmark with Node.js (tsx) instead of Bun
- fix(benchmark): set NODE_PATH for Babel peer dependency resolution in CI
- fix(oxc-bundler): use direct imports for Babel plugins instead of require.resolve
- fix(oxc-bundler): resolve Babel plugins with explicit paths for CI compatibility
- docs: update CLAUDE.md for OXC bundler Phase 2 completion
ohah/cheolsu-proxy
- feat(desktop): gRPC Proto 디코딩 연동 — .proto 등록 시 필드명 표시
- feat(proxy_daemon): 조건부 Throttle 응답 스트림 속도 제한 적용
- fix: i18n 카탈로그 행번호 동기화 및 누락 번역 추가
- feat(desktop): Waterfall을 크롬 DevTools 스타일 시간축 기반으로 변경
- fix(desktop): handleExportOpenApi 변수 초기화 순서 오류 수정
- fix(desktop): OpenAPI 내보내기 대상 우선순위 적용
- feat(desktop): gRPC Proto 파일 관리 UI 추가
- feat(desktop): OpenAPI 스펙 내보내기 UI 추가
- fix(desktop): Waterfall 바 차트를 로그 스케일 상대 비율로 개선
- fix: CI 실패 수정 (테스트 컴파일 에러 + README 포맷)
- feat(proxy_daemon): gRPC 디코딩 강화를 위한 ProtoRegistry 추가
- feat(proxy_v2_models): OpenAPI 3.0 스펙 자동 생성 기능 추가
- feat(proxy_v2_models): 성능 Waterfall 타이밍 측정 및 시각화 추가
- feat(proxy_daemon): 조건부 Throttle 인터셉트 액션 추가
ohah/ohah.github.io
- CRD: mark CRON_CRD_WRITE.md itself as checked
- CRD_180: 주기적 재확인 실행 - 스펠링 교정 대상 없음
- crd: update status after recheck (181)
- CRD: 모든 .mdx 파일 맞춤법 교정 완료 상태 확인 (180차 업데이트)
- CRD: 전체 대상 .mdx 파일 맞춤법 교정 완료 상태 재확인(2026-03-14 22:00)
- docs(cron-write): check 126th mdx docs (all complete, lint ok)
- CRD 주기적 실행: 모든 대상 .mdx 파일 검사 완료 상태만 갱신
- docs(CRON): mark all 26 mdx files spelling-checked [cron]
- docs: today-commit _meta.json - 2026-03-13 추가
- docs(today-commit): 2026-03-13 AI 요약 추가 - cheolsu-proxy 개선 및 CRD 주기적 실행 완료