Architecture
How paged fits together — the render engine at the core, the editor and server above it, the content plugins beside it, and the registry that tracks the whole system's state.
In short one Rust render engine reads and renders IDML. Everything else consumes it across a package boundary: the editor (full editing) and the viewer (read-only) use its wasm; the server backs the editor's accounts and storage; five content plugins add new kinds of content; and a capability registry tracks what works across all of it.
The render pipeline
The engine (core) turns an IDML package into pixels through a fixed pipeline:
parse → scene → text → compose → GPUParse reads the ZIP + XML into a model; scene resolves spreads, frames, and story threading; text lays out with an InDesign-calibrated Knuth–Plass composer; compose emits a display list; and the GPU layer rasterizes it. Forward rendering is WebGPU (Vello); a CPU backend (tiny-skia) remains for headless fidelity testing. The renderer reference covers this in depth.
Who consumes the engine
The engine publishes wasm packages (@paged-media/canvas-wasm,
introspect-wasm, idml-viewer). Consumers never take a source dependency:
- Editorthe commercial app: full canvas,
mutation, gestures, panels, and the
paged.*scripting layer, running the engine in a Web Worker on anOffscreenCanvas. - Viewera slim, read-only WebGPU viewer (renderer-core only). It's both the community viewer and the docs live preview.
- Editor-serverthe backend for accounts, storage, billing, and asset proxies; also drives the engine headlessly for document automation.
Extending the system
Content beyond IDML's native constructs comes from plugins — vector drawing, web (HTML/CSS), raster images, spreadsheets, and database publishing — built on the Plugin SDK contract.
Keeping everyone honest
The capability registry holds one row per capability with a per-layer status and a test-evidence overlay. Every repo's tests publish against it; this documentation reads from it. That's why the support badges throughout the IDML reference are live, not hand-kept.
The repositories
See Repositories for a per-repo tour, and How it's tested for the verification system.
The Paged Platform
What paged is as a whole system — the render engine, the editor and server, the plugins, the SDK and scripting layer, and the live capability state — alongside the IDML format reference.
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.