GraphCompose v2.2.2 #604
DemchaAV
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
GraphCompose v2.2.2 is out on Maven Central. A drop-in replacement for
2.2.1: no API removed, nothing to migrate, and — deliberately — no change to the snapshot your baselines already hold.The layout snapshot could always say that a block moved. It could not say why the block is the size it is, because the font, the size and the line breaking that decide it are measured during layout and then discarded. A wrong font and a wrong padding produce the same symptom on the page.
This release adds that data as an opt-in section:
Your existing snapshot tests do not move.
LayoutSnapshotkeeps exactly the record shape it had in 2.0 — same four components, same JSON, sametoString(), sameequals(). The diagnostics live on a separateLayoutDiagnosticSnapshotthat wraps it, sodiagnostics.layout().equals(plain)and no committed baseline changes, whether you serialize it throughLayoutSnapshotJson, your ownObjectMapper, or by hand.Two things it is built to catch:
FontName.DEFAULTresolves to Helvetica, and a standard-14 face such asHELVETICA_BOLDresolves to its family — the face comes from the decoration. So a style naming the bold face with no decoration renders regular, silently.fontSubstitutedreports that, and only that: naming the bold face and asking for bold draws what it named and is not flagged.autoSizeparagraph is measured at the size it shrank to, and that is the size reported — not the declared one it no longer uses.Documented limits, rather than implied ones:
baselineExactisfalseunder a non-defaultTextVerticalAlign(the correction comes from the backend font's cap height, which nothing renderer-neutral can read); bounds are laid-out line boxes, not glyph ink; text drawn outside the paragraph pipeline — a table cell written as a plain string — produces no entry, so an empty list means "no paragraph text", not "no text".No layout, pagination or render behaviour changed.
Install:
Right-to-left, PowerPoint, templates and everything else are unchanged from 2.2.1 — pin the same version across every
graph-compose*module you use.Release notes: https://github.com/DemchaAV/GraphCompose/releases/tag/v2.2.2
Maven Central: https://central.sonatype.com/artifact/io.github.demchaav/graph-compose/2.2.2
Showcase: https://demchaav.github.io/GraphCompose/
As always — author intent, not coordinates.
All reactions