Layout
August 24, 2026 · View on GitHub
Layout is a first-class transformation between normalized presentation semantics and format-specific output.
Implemented behavior
@pptkit/layout currently:
- consumes authoring documents or Canonical IR v2
- returns a detached export-ready layout result
- resolves connector element anchors to points
- derives connector bounds
- resolves image
containandcoverwhen source dimensions are known - recursively processes group children while preserving local coordinates
Why it is separate
Keeping layout outside Core and exporters makes placement behavior independently testable and reusable. Core remains focused on document meaning, while exporters remain focused on format translation and packaging.
Roadmap behavior
Text measurement, overflow diagnostics, constraints, automatic composition, table measurement, and pagination belong in Layout but are not implemented yet. They must remain predictable transformations rather than hidden “magic” inside export.
See the @pptkit/layout API for callable behavior and Layout Engine for contributor constraints.