Skip to content

feat(examples): the Maven Central banner carries the rest of the story - #509

Merged
DemchaAV merged 1 commit into
developfrom
feat/maven-deck
Aug 4, 2026
Merged

feat(examples): the Maven Central banner carries the rest of the story#509
DemchaAV merged 1 commit into
developfrom
feat/maven-deck

Conversation

@DemchaAV

@DemchaAV DemchaAV commented Aug 4, 2026

Copy link
Copy Markdown
Owner

Why

maven-banner was one slide — wordmark, coordinate, capability tags, and a code →
layout → document diagram. It is the card that goes out with a release, and it stopped
exactly where a reader's questions start: how the engine actually works, whether it is
fast, what happens as documents grow. Those answers existed, in a different deck, that
this artefact never pointed at.

What

Three pages follow the banner, in its own amber-on-navy language:

  • How it works — the four pipeline steps, and three cards for what the engine
    guarantees: determinism, snapshot regression, one model for both formats.
  • Measured, not claimed — the comparison table across four document sizes, the three
    headline ratios, and the run metadata.
  • Scaling — render time and peak heap against report size for all three engines.

Every figure on the last two pages is read from the committed benchmark file at render
time rather than typed into the layout, so refreshing the numbers is a file copy and the
prose cannot drift away from them.

Page 1 is untouched and stays a canvas: it is a poster, and every element is placed by
hand. The new pages are not — they carry a table and two charts that want a flow to
measure them, so they are ordinary sections on the same night field the page background
already paints, styled from the tokens the banner already declares.

The .pptx gains the same three slides. The PNG preview stays the banner alone, which is
what it is for — toImage(0, dpi) renders page one by construction.

Tests

./mvnw -B -ntp clean verifyBUILD SUCCESS.

MavenBannerNativeShapeTest was asserting a single slide. Rather than bump the number it
now walks all four and holds the whole deck to one rasterised element — the SVG
checkmark in the badge. That is a real check, not a formality: the last page claims the
charts are native vector output, and a chart-rendering shortcut that embedded an image
would satisfy every other test in the repository while making that sentence false. The
deck round-trips through POI with exactly one picture across four slides.

Rendered and inspected all four pages. Two layout problems were visible and fixed rather
than shipped: the charts row overflowed onto a page of its own (the bar charts duplicated
the table and were dropped, the ratio cards moved up to join it), and the cards in a row
came out ragged because a section measures to its longest line — pinned with a zero-height
spacer, the floor the carousel already uses for the same reason.

Note on the numbers

The figures are the committed July snapshot. The fresh five-run median from this
afternoon lived in target/benchmarks/, which my own clean verify runs deleted before
it was copied into resources/. Refreshing it is one file copy after a re-run — the deck
reads whatever is committed, and nothing here depends on which snapshot that is.

@DemchaAV
DemchaAV force-pushed the feat/maven-deck branch 2 times, most recently from 9e7f9d6 to 76bdb55 Compare August 4, 2026 19:05
It was one slide: wordmark, coordinate, capability tags and a code to layout to
document diagram. Everything a reader might do next — how the engine actually
works, whether it is fast, how it behaves as documents grow — lived in a
separate deck they had to be told about.

Three pages now follow it in the same amber-on-navy language. The authoring
pipeline and what each step guarantees; the measured comparison against iText 9
and JasperReports; how all three behave from 40 to 1000 rows. Every figure on
the last two pages is read from the committed benchmark file at render time
rather than typed into the layout, so refreshing the numbers is a file copy and
the prose cannot drift away from them.

Page 1 is unchanged and stays a canvas — it is a poster, and every element is
placed by hand. The new pages are not: they carry a table and two charts that
want a flow to measure them, so they are ordinary sections on the same night
field the page background already paints.

The .pptx gains the same three slides. The PNG preview stays the banner alone,
which is what it is for.

MavenBannerNativeShapeTest walks all four slides and holds the whole deck to a
single rasterised element, the SVG checkmark. The table and both charts have to
arrive as native shapes rather than an embedded image — the claim the last page
makes, and the one a chart-rendering shortcut would quietly break.
@DemchaAV
DemchaAV merged commit 5fe9a62 into develop Aug 4, 2026
10 checks passed
@DemchaAV
DemchaAV deleted the feat/maven-deck branch August 4, 2026 20:29
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