Skip to content

Add editor exportHwp API#411

Closed
ggoban wants to merge 1 commit into
edwardkim:develfrom
ggoban:feature/editor-export-hwp
Closed

Add editor exportHwp API#411
ggoban wants to merge 1 commit into
edwardkim:develfrom
ggoban:feature/editor-export-hwp

Conversation

@ggoban

@ggoban ggoban commented Apr 28, 2026

Copy link
Copy Markdown
Contributor

변경 요약

@rhwp/core에는 HWP 바이너리를 내보낼 수 있는 exportHwp() 기능이 있지만, iframe 기반 @rhwp/editor wrapper 에서는 편집 중인 문서 bytes를 직접 가져올 수 있는 공개 API가 없었습니다.

이 PR은 rhwp-studiorhwp-request message handler에 exportHwp 요청을 추가하고, @rhwp/editoreditor.exportHwp(): Promise<Uint8Array> wrapper API를 추가합니다.

주요 변경 사항

  • rhwp-studio에서 wasm.exportHwp() 결과를 message response로 반환
  • @rhwp/editorRhwpEditor.exportHwp() 추가
  • TypeScript declaration에 exportHwp() 추가
  • npm/editor/README.md에 HWP bytes 다운로드 예제 추가

관련 이슈

테스트

  • cargo test 통과
  • cargo clippy -- -D warnings 통과
  • 관련 샘플 파일로 SVG 내보내기 확인
  • 웹(WASM) 렌더링 확인 (해당하는 경우)

참고: rhwp-studionpm run build는 현재 로컬 checkout에서 생성된 WASM alias 파일 @wasm/rhwp.js가 없어 실행이 중단되었습니다. 변경 범위는 JS/TS wrapper 및 message handler이며, Rust core는 수정하지 않았습니다.

edwardkim added a commit that referenced this pull request Apr 28, 2026
- PR #411 (editor.exportHwp API, @ggoban) 옵션 A cherry-pick 머지 완료
- iframe wrapper @rhwp/editor 에 exportHwp() 노출 — WASM core 변경 없음
- 4 files / +30 / -0, Rust 영향 없음
- 검토 / 처리 보고서 추가
- 오늘할일 갱신

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
edwardkim added a commit that referenced this pull request Apr 28, 2026
@edwardkim

Copy link
Copy Markdown
Owner

완료. `devel` 에 cherry-pick (작성자 attribution 보존) 으로 머지됨 (commit `3f24051`).

머지 commit

작성자 attribution 보존:

  • `eebfc25` (cherry-pick, @ggoban) — Add editor exportHwp API

검증

  • `cargo test --lib`: 1037 passed (동일 — Rust core 영향 없음)
  • `cargo test --test svg_snapshot`: 6/6
  • `cargo clippy --lib -- -D warnings`: warning 0건
  • `npx tsc --noEmit` (rhwp-studio): 통과
  • 본 PR 은 API 노출만 (Rust 변경 없음) 이라 시각 판정 불필요

정황

본 PR 이 추가한 `editor.exportHwp()` 는 이슈 #377 (Export API 가이드) 의 자연스러운 후속입니다. 위키 Export API 사용 가이드 에 `@rhwp/core` 의 `exportHwp()` 흐름은 정리됐지만, iframe wrapper (`@rhwp/editor`) 에서는 message channel 경유 명시 API 가 없었던 정황을 정확히 짚으셨습니다.

WASM 빌드 정황

PR 본문에 명시하신 "`rhwp-studio` 의 `npm run build` 가 WASM alias 부재로 중단" 정황은 본 저장소의 표준 빌드 절차 (`docker compose --env-file .env.docker run --rm wasm`) 로 `pkg/` 생성 후 가능합니다. 메인테이너가 환경 빌드를 통해 검증 완료했습니다 (`mydocs/manual/dev_environment_guide.md` 참고).

좋은 기여 감사합니다. 첫 PR 환영합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants