Two problems that compound
1. Nothing regenerates the committed example assets
cut-release.ps1 refreshes web/showcase/** (Step 4, ShowcaseSync) and assets/readme/repository_showcase_render.png (Render-ReadmeBanner). It touches nothing under assets/readme/examples/**.
Those files are linked from examples/README.md and the root README, so a reader clicking through gets whatever was committed the day the example was added. assets/readme/examples/engine-deck.pdf is the visible case: it is still the v1.8.0 render, carrying the codename illustrative, two minors behind. It has not been regenerated since dcc62500.
2. The deck bakes a pre-release qualifier into a public asset
EngineDeckExample interpolates the raw VERSION in three places — the page title, the section header, and the footer on every slide:
.leftText("GraphCompose · v" + VERSION + " “" + CODENAME + "”")
The version pill is handled: versionBlock() strips the qualifier with VERSION.replaceFirst("-.*$", ""), with a comment explaining that 2.0.0-SNAPSHOT is too wide for the 96 pt pill. The other three sites got no such treatment, so a render taken on develop today produces:
GraphCompose · v2.1.0-SNAPSHOT “twinned”
So the two problems pull against each other: the asset is stale, and regenerating it at any moment other than during a cut publishes a -SNAPSHOT string to readers.
Suggested direction
- Strip the qualifier once, where
VERSION is resolved, rather than at one of four use sites — the pill's replaceFirst then becomes redundant and can go. A deck should never display a build qualifier.
- Either add an
assets/readme/examples/** refresh step to cut-release.ps1 (alongside Render-ReadmeBanner, which already solves the same problem for the hero), or drop the version and codename from the deck entirely so the asset stops being version-bound.
- If a refresh step lands, verify it under
-DryRun, -PostReleaseOnly and -SkipShowcase — the v1.6.5 lesson was a release step that only worked in the default mode.
Related
Two problems that compound
1. Nothing regenerates the committed example assets
cut-release.ps1refreshesweb/showcase/**(Step 4,ShowcaseSync) andassets/readme/repository_showcase_render.png(Render-ReadmeBanner). It touches nothing underassets/readme/examples/**.Those files are linked from
examples/README.mdand the root README, so a reader clicking through gets whatever was committed the day the example was added.assets/readme/examples/engine-deck.pdfis the visible case: it is still the v1.8.0 render, carrying the codenameillustrative, two minors behind. It has not been regenerated sincedcc62500.2. The deck bakes a pre-release qualifier into a public asset
EngineDeckExampleinterpolates the rawVERSIONin three places — the page title, the section header, and the footer on every slide:The version pill is handled:
versionBlock()strips the qualifier withVERSION.replaceFirst("-.*$", ""), with a comment explaining that2.0.0-SNAPSHOTis too wide for the 96 pt pill. The other three sites got no such treatment, so a render taken ondeveloptoday produces:So the two problems pull against each other: the asset is stale, and regenerating it at any moment other than during a cut publishes a
-SNAPSHOTstring to readers.Suggested direction
VERSIONis resolved, rather than at one of four use sites — the pill'sreplaceFirstthen becomes redundant and can go. A deck should never display a build qualifier.assets/readme/examples/**refresh step tocut-release.ps1(alongsideRender-ReadmeBanner, which already solves the same problem for the hero), or drop the version and codename from the deck entirely so the asset stops being version-bound.-DryRun,-PostReleaseOnlyand-SkipShowcase— the v1.6.5 lesson was a release step that only worked in the default mode.Related
fontName(HELVETICA_BOLD)renders regular.navigabletotwinnedin the PR that filed this; the stale asset is what this issue tracks.