core — the render engine
The Rust render engine that parses and renders IDML — the parse→scene→text→compose→GPU pipeline, the wasm boundary, and the dual rasterization backends.
In short core is the heart of paged — a Rust workspace that reads an IDML
package and renders it pixel-faithfully. It's public (dual-licensed) and is the
only repo every other consumer depends on, across a wasm/package boundary.
What it does
- Parses full Adobe IDML — the design map, spreads, frames, stories with threading, cascade-resolved styles, gradients, and placed images.
- Lays out text with an InDesign-calibrated Knuth–Plass composer (hyphenation, tab stops, multi-font runs).
- Renders through WebGPU (Vello) for forward output, with a tiny-skia CPU backend kept for headless fidelity testing.
- Offers a mutation layer (insert/delete/edit, all undoable), a headless
ViewerSession, PDF export, and byte-faithful round-trip serialization.
How it's organized
A multi-crate workspace following the pipeline: paged-parse → paged-scene →
paged-text → paged-compose → paged-gpu, with paged-renderer orchestrating
and paged-fidelity running the ΔE2000/SSIM diff harness. The scripting surface
lives in paged-script (Boa) + paged-run (headless CLI), and the public
scripting catalog in paged-introspect.
How you consume it
Published to npm as @paged-media/canvas-wasm, introspect-wasm, and
idml-viewer (versioned 0.<protocol>.<patch>). No consumer takes a source
dependency. The renderer reference documents its behavior;
the scripting layer documents its paged.* surface.
Recent activity
- 2026-10-18README: moved to paged-media/paged (engine/core) [skip ci]ca7462e
- 2026-10-18Merge pull request #141 from paged-media/l12/tagged-tables19c16fd
- 2026-10-18Tagged PDF: tables, and each paragraph of a model paragraph (ADR 182 amended)5f664b4
- 2026-10-18paged-repo: zip 9 (merge with main); ADR 180 acceptedb612da5
- 2026-10-18Merge remote-tracking branch 'origin/main' into feat/paged-repo2573ed2
- 2026-10-18Merge pull request #140 from paged-media/fix/v74-gates4d60adc
- 2026-10-18Protocol 74 gates: version test, script surface 149 of 150, sweep cases for the tracked-change opsa509c5f
- 2026-10-18Merge pull request #139 from paged-media/repin/pp-05c571947c35f6
Repositories
A tour of the repositories that make up paged — the engine, the editor and its server, the viewer, the registry, the docs, and the brand kit.
editor — the editing frontend
The commercial desktop-publishing frontend — a React shell driving the engine wasm in a Web Worker on an OffscreenCanvas, with panels, gestures, scripting, and plugin integration.