docs(readme): lead with the engine's own banner, and stop calling a shipped backend planned - #508
Closed
DemchaAV wants to merge 1 commit into
Closed
docs(readme): lead with the engine's own banner, and stop calling a shipped backend planned#508DemchaAV wants to merge 1 commit into
DemchaAV wants to merge 1 commit into
Conversation
…hipped backend planned The engine deck's first page listed PPTX as "Planned" beside a version badge reading v2.1.0 — the release that shipped it, and the release whose own copy of that deck is published as a .pptx. The page described the library as generating "structured business PDF documents" and its pipeline as ending in "PDFBox writes the bytes", both written when PDF was the only output. PPTX is now the live @beta backend it is, and the prose covers both formats. README's hero is that same opening page, on a page cropped to wrap it and rendered straight to a raster through the image backend — the composition was already there behind renderBannerImage, writing to nowhere the repository kept. GenerateAllExamples now renders it as a document too, so engine-banner.pdf is a published preview the drift gate refreshes and compares like any other, rather than a file only one entry point could produce. A new section gathers the five documents that explain the engine by being its output, each with what it shows and the example that renders it. The benchmark pages are redrawn from a fresh five-run median. The shape is unchanged: the lead over iText widens with size (2.4x at 40 rows to 4.3x at 1000), JasperReports reaches parity on render time at 1000 rows, and GraphCompose stays 2.7x lighter than it on peak heap. None of the deck's prose needed changing for the new numbers, which is the point of drawing them from the result file. Also corrects renderBannerImage's Javadoc: it claimed to be the source of repository_showcase_render.png, which the module-first EngineDeckV2Example has rendered since, and which cut-release re-renders on a tag.
DemchaAV
force-pushed
the
feat/readme-hero-banner
branch
from
August 4, 2026 18:19
3d84b3c to
b5e6765
Compare
Owner
Author
|
Reverted — the ask was different: keep maven-banner as it is and give it the remaining pages, in the shape engine-deck has. Reopening as a fresh change. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The engine deck contradicted itself on its own first page. The Output Backends
column listed PPTX as Planned, next to a version badge reading v2.1.0 — the
release that shipped it, and the release whose copy of that very deck is published as
engine-deck.pptx. The page also called the library one for "structured business PDFdocuments" and ended its pipeline at "PDFBox writes the bytes", both written when PDF was
the only output.
That first page is also, by design, a banner — it is literally the deck's
Bannersection — and the composition to render it standalone already existed behind
EngineDeckExample.renderBannerImage, cropped tight, no page chrome, straight to araster through the image backend. It wrote to nothing the repository kept. Meanwhile
README opened with a 300px logo.
What
EngineDeckData.backends(): PPTX becomes the live@Betabackend, ordered ahead ofthe semantic-only DOCX export. Tagline and pipeline step 4 cover both formats.
GenerateAllExamplesnow rendersengine-banner.pdfas well. Without it a committedengine-banner.pdfwould be a preview nothing refreshes — which the drift gaterefuses, correctly. Now the release re-renders it like every other preview.
pair, the feature catalogue, the master showcase and the Maven Central banner.
baselines re-rendered.
renderBannerImage's Javadoc claimed to be the source ofrepository_showcase_render.png. It is not, and has not been since the module-firstEngineDeckV2Exampletook that over —cut-release.ps1re-renders the module-first herothrough
ReadmeBannerV2Renderer. The two heroes are different compositions withdifferent jobs, and the Javadoc now says which is which.
On the numbers
None of the deck's prose needed changing for the new data, which is what drawing it from
the result file is for. Each claim verified against the fresh median:
At 1000 rows Jasper renders marginally faster in this run and the deck's chart shows it.
Same picture the previous snapshot painted (64.08 vs 64.77 ms, GraphCompose ahead by 1%)
— parity either way, inside a run-to-run spread that ranged 0.72x–1.03x across the five.
Every library also got ~1.65x faster than the July snapshot while peak heap moved under
1%. GraphCompose cannot speed up iText or JasperReports, so that is the machine, not the
code — worth knowing before reading
perf-smoke's "IMPROVED" verdict against a baselinecaptured on the older state.
Tests
./mvnw -B -ntp clean verify→BUILD SUCCESS.CommittedAssetDriftTestnamed the two previews that moved —engine-deck.pdfandengine-deck-v2.pdf— and confirmedmaven-banner.pdfdid not.change is the tagline growing from one line to two (13.4pt → 28.1pt) and the sections
below shifting by that height. No node added, removed or retyped.
-Dgraphcompose.examples.displayVersion=2.1.0. Withoutit a render off
developprints 2.1.1, a coordinate nobody can resolve; that pin iswhat
examples/pom.xmlholds the drift gate to.