[#328] PlantUML via async plugin pipeline - #343
Open
gregoreesmaa wants to merge 4 commits into
Open
gregoreesmaa wants to merge 4 commits into
gregoreesmaa wants to merge 4 commits into
Conversation
gregoreesmaa
commented
Sep 12, 2026
gregoreesmaa
force-pushed
the
issue/329-graphviz
branch
from
September 12, 2026 10:36
b5edd4c to
100264a
Compare
gregoreesmaa
force-pushed
the
issue/328-plantuml
branch
from
September 12, 2026 10:39
6c4a4a6 to
8768fd2
Compare
gregoreesmaa
commented
Sep 12, 2026
gregoreesmaa
commented
Sep 12, 2026
gregoreesmaa
added a commit
that referenced
this pull request
Sep 12, 2026
14-message four-participant sequence tall fixture with message-mirror seed (476x2080, two scrolled frames) and eight-participant wide fixture with seed (2000x600, clamped fold), folded into case 4k; generator script stays byte-identical across the plugin branches.
gregoreesmaa
added a commit
that referenced
this pull request
Sep 12, 2026
14-message four-participant sequence tall fixture with message-mirror seed (476x2080, two scrolled frames) and eight-participant wide fixture with seed (2000x600, clamped fold), folded into case 4k; generator script stays byte-identical across the plugin branches.
gregoreesmaa
force-pushed
the
issue/328-plantuml
branch
from
September 12, 2026 13:45
41e7390 to
56cce7b
Compare
gregoreesmaa
added a commit
that referenced
this pull request
Sep 12, 2026
14-message four-participant sequence tall fixture with message-mirror seed (476x2080, two scrolled frames) and eight-participant wide fixture with seed (2000x600, clamped fold), folded into case 4k; generator script stays byte-identical across the plugin branches.
gregoreesmaa
force-pushed
the
issue/328-plantuml
branch
from
September 12, 2026 15:00
56cce7b to
e4b9f4e
Compare
14-message four-participant sequence tall fixture with message-mirror seed (476x2080, two scrolled frames) and eight-participant wide fixture with seed (2000x600, clamped fold), folded into case 4k; generator script stays byte-identical across the plugin branches.
Owner: the Pillow-mimicked seeds faked PlantUML support. All three seeds are now genuine PlantUML 1.2026.8 output for the exact fixture fence sources (plantuml -tpng, the shipped helper's flags), verified reproducible: scripts/gen-plugin-seeds.py shells out to the real plantuml binary (fails loudly without it) and regenerates pixel-identical assets for all three. The fixtures compiled cleanly as written; only the pixels change. PlantUML lays sequence diagrams out compactly (tall is 393x511, not a 2080px sheet), so the whole render fits the initial fold: the 700/1400 scrolled frames are removed (700 showed only the bottom footer sliver plus empty viewport). Complexity coverage stays in the diagrams themselves: 14 messages across four participants, eight participants wide. Suite 436/436 green. No src/ changes: ship binary untouched by this PR.
…er; base file stale)
gregoreesmaa
force-pushed
the
issue/328-plantuml
branch
from
September 12, 2026 15:22
e4b9f4e to
d842ee9
Compare
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.
Based on main (unstacked 2026-09-12; was stacked on #342); closes #328.
PlantUML renderer row on the async plugin pipeline (spec docs/plugins-async-spec.md §3 tool table:
plantuml -tpng -o OUTDIR SRC):src/core/plugin_cache.zig:Renderer.plantuml(appended; earlier ordinals unchanged),plantuml→plantuml+puml→plantumlmappings, cache-path arm, unit test (both tokens +/read/plugins/plantuml/<hex>.pngshape).scripts/read-plugin-render.sh:plantumlprobe + render stanza (renders into OUTDIR, promotes the input-stem PNG to OUT.tmp, then the existing atomic rename).test_cases/plugin_plantuml.md(```plantuml fence) + suite case 4k (skeleton: code-card state, no seeding).docs/spec.mdBlocks line gains PlantUML.Gates:
zig build test -Doptimize=ReleaseFast --summary all430/430 pass; screenshot suite adds only screenshots/plugin_plantuml.png;size_gate.shPASS (binary=196232 — zero growth);check_test_cases.shPASS.Renderer binary requirement: no
plantumlCLI in this env — coverage is skeleton + probe-false determinism, proven live:probe plantuml→ exit 1,render plantuml SRC OUT→ exit 1 (→ naive code fallback per spec §5). The OUTDIR/stem promotion path is unproven live and needs a machine with PlantUML installed.Unstack + review response (2026-09-12, commit 8768fd2)
main(was stacked on [#329] Graphviz via async plugin pipeline #342); this PR now contains only the PlantUML renderer work.plugin_plantuml.pngnow shows the rendered sequence diagram — suite case 4k pre-seeds synthetictest_cases/assets/plantuml-seed.png(regenerable viascripts/gen-plugin-seeds.py) at the fence's content-addressed cache path and captures with--settle-imagesthrough the shipped stat-exists path (mermaid-4e precedent). Seed pixels are synthetic.plugin_plantuml.pngnew),size_gate.sh196232B,check_test_cases.sh+ship_separation.shPASS.