Skip to content

docs(pptx): describe the shipped fixed-layout backend#437

Merged
DemchaAV merged 3 commits into
developfrom
docs/pptx-shipped-state
Jul 25, 2026
Merged

docs(pptx): describe the shipped fixed-layout backend#437
DemchaAV merged 3 commits into
developfrom
docs/pptx-shipped-state

Conversation

@DemchaAV

Copy link
Copy Markdown
Owner

Why

render-pptx/README.md — the page GitHub renders for the module — still says .pptx emission "is not built out yet" and tells readers to depend on the artifact "not for production slide export". That is against 37 shipped production classes, a registered SPI, and the headline feature of 2.1. docs/capabilities.md lists the PPTX methods as Stable while the code marks them @Beta, contradicting docs/api-stability.md. CONTRIBUTING.md sends contributors to 2.0-dev, a branch that no longer exists on origin, and docs/README.md / docs/getting-started.md have zero PPTX mentions.

What changed

  • render-pptx/README.md rewritten around the fixed-layout backend: what it produces, a first deck, and the limitations worth knowing before shipping — raster fallback for clipped regions, viewer-side glyph rendering, opt-in determinism, unimplemented renderToImages, PDF-only chrome options — plus the fact that a PPTX consumer also resolves the PDF stack, because the backend reuses its font measurement and raster pass. PptxSemanticBackend is demoted to a footnote.
  • The capability picture is quantified rather than promised: of the 38 tracked capabilities, 24 map to a native equivalent, 10 render natively with an approximated styling detail, 4 are unsupported.
  • docs/capabilities.md PPTX row → Experimental (@Beta, first shipped in 2.1.0); the "New in" table, frozen at 1.9.0, gains a 2.1.0 section.
  • docs/api-stability.md §4 gains both document.backend.fixed.pptx packages — the page's own maintenance rule requires it in the same commit.
  • docs/README.md gains an Output backends section; docs/getting-started.md gains a PowerPoint output section whose snippet carries a doc-example marker, so DocumentationSnippetCompileTest now compiles it against the live API. That file previously had no marked snippets at all.
  • README.md geometry promise softened to the capability matrix's own wording: frames and positions match, glyphs are rasterised by the viewer.
  • ROADMAP.md retargeted to the 2.1 line, "manifest skeleton" entry dropped; CONTRIBUTING.md 2.0-dev replaced with the post-GA branch roles in all eight places; canonical-legacy-parity.md no longer lists PPTX as a v1.6 stretch goal.

Install snippets are untouched: cut-release.ps1 rewrites the per-module ones in the release commit, and VersionConsistencyGuardTest requires them to name the latest published release until then.

Verification

  • ./mvnw -B -ntp clean verify — BUILD SUCCESS, 1508 tests, 0 failures.
  • Core guards 402/402 and DocumentationSnippetCompileTest re-run against the final text after the last edit.
  • Every added internal link resolved on disk.

DemchaAV added 3 commits July 24, 2026 23:47
…evelopment

The per-capability cells already list the PPTX fixed-layout backend as
implemented (✅/⚠️), but the backend descriptor still read "(in
development)" — which the legend defines as "not usable yet". That
contradicts the README and docs/api-stability.md, where the backend ships
as @beta (Experimental). Restate the descriptor as implemented and shipping
@beta so the capability matrix agrees with the policy and the changelog.
The roadmap still described 2.0 as in flight on the retired `2.0-dev`
branch preparing GA, named v1.9.x the current stable, and listed real PPTX
export under "Later" as a manifest skeleton — contradicting the code,
README and changelog. Retarget it: "Now" is the 2.1 line (the fixed-layout
PPTX @beta backend plus the keep-with-next pagination work), 2.0.0 is the
current stable line, and PPTX moves from "manifest skeleton" to a
beyond-beta graduation item. Drop the two post-2.0 items that have since
shipped — the ArchUnit module-boundary guards and the cross-module
coverage aggregator.
The module landing page for graph-compose-render-pptx still told readers that
`.pptx` emission "is not built out yet" and to depend on the artifact "not for
production slide export" — against 37 shipped production classes, a registered
SPI, and the headline feature of the release. docs/capabilities.md listed the
PPTX methods as Stable while the code marks them `@Beta`, and CONTRIBUTING sent
contributors to `2.0-dev`, a branch that no longer exists.

Rewrite render-pptx/README.md around the fixed-layout backend: what it produces,
a first deck, the limitations worth knowing before shipping (raster fallback for
clipped regions, viewer-side glyph rendering, opt-in determinism, unimplemented
`renderToImages`, PDF-only chrome options), and the fact that a PPTX consumer
also resolves the PDF stack because the backend reuses its font measurement and
raster pass. Quantify the capability picture rather than promising blanket
native output: of the 38 tracked capabilities, 24 map to a native equivalent,
10 render natively with an approximated styling detail, and 4 are unsupported.

Correct the stability tier in docs/capabilities.md to Experimental (`@Beta`) so
it agrees with the annotations and with docs/api-stability.md, and add the two
`document.backend.fixed.pptx` packages to the §4 tier lookup, which the page's
own maintenance rule requires. Refresh the frozen "New in" table to 2.1.0.

Give PPTX a path in the docs: an Output backends section in the index and a
PowerPoint section in getting-started, whose snippet carries a `doc-example`
marker so it is compiled against the live API. Soften the root README's geometry
promise to the capability matrix's own wording — frames and positions match,
glyphs are rasterised by the viewer. Retarget ROADMAP to the 2.1 line, drop the
"manifest skeleton" entry, and replace every `2.0-dev` reference in CONTRIBUTING
with the post-GA branch roles.

Install snippets are left alone: cut-release.ps1 rewrites the per-module ones in
the release commit and VersionConsistencyGuardTest requires them to name the
latest published release until then.

Verified: full reactor `clean verify` green (1508 tests, 0 failures); core
guards 402/402 and the documentation snippet guard green against the final text.
@DemchaAV
DemchaAV merged commit 3e28724 into develop Jul 25, 2026
10 checks passed
@DemchaAV
DemchaAV deleted the docs/pptx-shipped-state branch July 25, 2026 08:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant