PPTX Studio
Packages

Packages

Twelve packages, one direction of dependency, and where each one runs.

Dependencies run one way only, and the repository enforces it: opc and xml depend on nothing but a ZIP library; the drawing rules depend on nothing; the model reads the container and the rules; the renderers, the validator and the writer read the model; the CLI reads all of them and is the only package allowed to import Node.

LayerPackagesDepends on
0 - the containeropc, xmlfflate only
1 - the rulescensus, geometry, paint, textlayer 0 (census); nothing (the other three)
2 - the documentmodellayers 0 and 1
3 - what reads the documentrender-svg, render-dom, validate, writerlayers 0 to 2; render-dom also render-svg
6 - Nodeclieverything above, and node:*

Read the file

  • opc - the ZIP, the parts, the content types and the relationships.
  • xml - byte-preserving XML, with edits that undo themselves.
  • census - what is inside, as plain JSON.

Draw it

  • model - slides, layouts, masters and themes, with provenance.
  • geometry - the 187 presets, custom paths, adjust handles.
  • paint - colour, fills, strokes and effects, measured.
  • text - line boxes, breaking, autofit, bullets, fields, fonts.
  • render-svg - a slide to an SVG string.
  • render-dom - the same slide as live elements.

Write it back

  • validate - the 34 rules a file must not break.
  • writer - export, media sweep, preservation, round trip, bisect.

From the command line

  • cli - render, inspect, validate, roundtrip and bisect, in Node.

Versions

Every package is versioned independently and released together; a caret range below 1.0 stays within its minor. The versions this site was built against are in the footer of every page and in each package's header above.

On this page