{}OPF
DocsReferenceView source

Compatibility matrix

Published registry evidence for the coordinated Node 24 toolchain. This matrix is the honest supported subset for the developer quickstart. It is not universal Office parity and does not describe archived prototypes as shipped.

Verify live versions with npm view <package> version before treating a dated handoff as current. The pin set below matches release-plan.json at the time this file was updated.

Runtime

RequirementStatus
Node.js24.x on every package below (engines.node)
Package managersnpm for published installs; this repo uses pnpm 10.33.2 for core development
Account / model / hosted APINot required
Operating systemsmacOS, Linux, Windows for Node APIs; browser entrypoints are separate

Coordinated published packages

PackageVersionDepends on
@openpresentation/opf0.11.0
@openpresentation/cli0.9.0Bundles core 0.11.0; registry metadata has no runtime dependencies
@openpresentation/opf-render0.8.1@openpresentation/opf@^0.10.1 (0.11.x compatible for schema/validation; ColorRef paint needs a renderer release)
@openpresentation/opf-editor0.7.1@openpresentation/opf@^0.10.1; peer @openpresentation/opf-render@^0.8.1
@openpresentation/opf-pptx0.8.1@openpresentation/opf@^0.10.1; peer @openpresentation/opf-render@^0.8.1

Install that whole set together. Mixing an older renderer or editor with core 0.11.0 is unsupported for preview/export fidelity until those packages ship ColorRef resolution.

Shared header/footer geometry (furniture-flow-v2) shipped in this set (core composition plus renderer 0.8.x / editor 0.7.x / PPTX 0.8.x consumers). It is not a pending unpublished increment.

Supported in this set

CapabilityHowNotes
JSON authoring*.opf.json plus CLI opf createLocal files only
Bundled examples catalog@openpresentation/opf/examples126 decks; the quickstart JSON is a docs fixture, not a 127th catalog entry
ValidatevalidatePresentation / opf validateSchema and semantic checks
LintlintSource / opf lintRead-only; no network catalog fetch
Offline fontsprepareNodeFonts (/fonts-node)Bundled Roboto pack; hashed files
CompositioncomposeSlideIncludes shared headers/footers
PaginationpaginatePresentation / opf paginateReturns mappings; preserves source
Edit + undo@openpresentation/opf-editor createEditorSessionJSON Patch undo/redo
JSON Patch CLIopf editNo persistent CLI undo history
SVG previewrenderSvg / renderSvgDeckLocal; same options as layout
PNGsvgToPngNode raster of SVG
PDFsvgToPdfRaster-backed, not selectable text
Editable PPTX exporttoPptxOPF → PPTX serialization
Agent skillsopf skills installOffline after the CLI is installed
Browser canvas@openpresentation/opf-editor/canvasHost must supply font bytes

Explicitly not shipped

TopicTrackerDo not describe as done
Linux vs Chromium native-width residual at the 0.1px gateopf-render#24Rounding that fixes Linux but breaks macOS is rejected
Native PowerPoint open/edit/save/reopen, provenance, tabs, notes-master, font embeddingopf#87Self-import and toPptx are not Office acceptance
Public site route-by-route adoptionopf#88Dependency bumps are not production verification
HarfBuzz / prepared-glyph shapingArchive branches codex/archive-shaping-20260915Prototypes are preserved, not in npm
Selectable vector PDFpdf planFollows font reliability
General SVG diagrams / Mermaiddiagrams planEmbedded SVG ≠ native editable primitives
Full visual editor / IME / bidi / repair loopdeveloper adoptionSchema support ≠ WYSIWYG coverage

CLI 0.8.1 does not render or export PPTX. Browser svgToPng / svgToPdf are not available; those are Node APIs.

Predecessor notes

Older setRelationship
core 0.10.0, renderer/PPTX/CLI 0.8.0, editor 0.7.0Previous coordinated Node 24 baseline. Lint and furniture landed across 0.10.0/0.8.0 then layout-placeholder fixes in 0.10.1/0.8.1/0.7.1.
Node 20 / 22Not valid for these packages

Do not install sibling ../opf-render dist folders when following the quickstart. Packed and registry consumers must resolve @openpresentation/* from npm.