Project Roadmap
Relevant source files
The following files were used as context for generating this wiki page:
OpenHWP is an open-source HWP/HWPX desktop application designed to provide a cross-platform viewing and editing experience for Korean documents without requiring Hancom Office. The project is currently in an early development phase, focused on establishing a thin desktop shell using the Deno toolchain while delegating document processing to the rhwp engine.
The roadmap outlines a transition from a scaffolded repository to a full-featured productivity suite. This journey includes implementing high-performance document rendering, interactive editing capabilities, native OS integration, and automated distribution pipelines.
Sources: README.en.md:5-12, README.md:5-12
Core Roadmap Phases
The development of OpenHWP is structured into four primary milestones, moving from basic document accessibility to full distribution readiness.
| Phase | Milestone | Primary Objectives | Key Technologies |
|---|---|---|---|
| 1 | Viewer | Open .hwp/.hwpx files; SVG rendering | File System Access API, @rhwp/core |
| 2 | Editor | Interactive editing; Disk persistence; Native menus | @rhwp/editor, FileSystemFileHandle |
| 3 | Export & Print | PDF generation; System print integration | rhwp PDF engine, Webview print path |
| 4 | Packaging | Multi-platform installers; CI/CD automation | deno desktop, GitHub Actions |
Sources: README.en.md:65-70, README.md:65-70
Phase 1: Viewer Implementation
The initial goal is to establish a functional document viewer. This phase leverages the File System Access API to retrieve file bytes and passes them to the @rhwp/core WebAssembly module for page-by-page SVG rendering.
The flow involves using window.showOpenFilePicker to obtain a handle, converting file content to a Uint8Array, and utilizing the HwpDocument class to generate visual output.
Sources: README.en.md:27-32, README.en.md:46-53, README.md:46-53
Phase 2: Editor Integration
This phase transitions the app from a passive viewer to an active editor by embedding the @rhwp/editor module via an iframe. It introduces state management for file handles to allow "Save" and "Save As" operations without repeated user prompts.
Sources: README.en.md:34-39, README.en.md:55-60, README.md:55-60
Architecture and Development Workflow
The roadmap is supported by a specific architectural choice to use Deno 2.9+ and the Chromium Embedded Framework (CEF). This ensures that rendering is identical across macOS, Windows, and Linux.
Technical Stack Components
- Runtime: Deno 2.9.0+ (utilizing
deno desktop). - Rendering Backend: Chromium (CEF) for modern Web API support (e.g., File System Access API).
- Engine:
rhwp(Rust + WebAssembly). - Build System: Single toolchain via
deno.json.
Sources: README.en.md:14-25, CONTRIBUTING.md:12-15, orca.yaml:12-16
Contribution and Evolution Logic
The roadmap evolves through a structured contribution process. Significant changes or features follow a lifecycle from Discussion to Issue to Approval PR.
Sources: CONTRIBUTING.md:21-25, CONTRIBUTING.md:33-40
Distribution Roadmap
The final stage of the project roadmap focuses on the delivery of production-ready binaries.
- Build Target: Standalone binaries created via
deno desktop main.ts --backend cef. - Packaging Targets:
- macOS: Signed and notarized
.dmg. - Windows:
.msiinstallers. - Linux:
.deb,.AppImage, and.rpmpackages.
- macOS: Signed and notarized
- Automation: CI-driven builds to ensure consistency and security.
Sources: README.en.md:60-63, README.en.md:70, README.md:70
The Project Roadmap ensures a modular progression from a basic utility to a comprehensive desktop application, maintaining a strict separation between the document engine (rhwp) and the platform shell (Deno).