Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ADR 0001: Rust for the reference core

Document status: accepted. Canonical source.

Decision

The initial reference implementation uses Rust for the canonical in-memory model, operations protocol, validation, codecs, layout/renderer integration, headless tooling, and WASM boundary.

Rationale

The project needs memory safety for hostile document parsing, deterministic systems-oriented behavior, strong enum/type modeling, high-performance geometry/text/GPU ecosystems, native and WebAssembly targets, fuzz/property testing, and stable FFI boundaries. Rust gives the strongest combined fit among the evaluated mainstream implementation languages.

The editor UI and source-specific adapters may use TypeScript or target-native languages where that produces a cleaner integration. Those layers must communicate through stable protocol/API boundaries and must not redefine the canonical model.