#I — README hero, gallery index, CHANGELOG, release hygiene#28
Merged
Conversation
…case images
- README.md: add Demos/Gallery section with the DOIInfograph 6-up grid hero
(PNG embed + high-res grid_hero.pdf link); add FigletBackend to the Backends
line (`using FIGlet`, install via Pkg.add("FIGlet"), measures in character cells).
- examples/README.md (new): gallery index — one entry per merged demo (doi_infograph,
cover, map_feature, justification, layouts, silhouettes) with pitch, screenshot, and
run instructions; Asteroid TUI (#E) listed as 🚧 WIP linking draft PR #26 (no image).
- CHANGELOG.md: document the demos work under [Unreleased]; note v0.2.0 tag is
deferred until #E lands. No version bump.
- Showcase images: regenerated and committed showcase.png for cover, justification,
and map_feature (offline renders); doi_infograph reuses its committed grid_hero.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
jowch
added a commit
that referenced
this pull request
Jun 18, 2026
…decisions (#35) * refactor(atlas): migrate to public warm_solve + golden the placement decisions MakieTextRepel shipped the public warm-start primitive we filed #24 for (PR #27, exported `warm_solve`), so the Atlas no longer needs to reach into unexported internals. Migration (placement-preserving): - Atlas.jl: `using MakieTextRepel: warm_solve` (was ProjectionSolver/RepelParams/solve_cluster). - place.jl: drop the _PARAMS/_SOLVER objects; call `warm_solve(anchors, sizes, bounds; …, _SOLVE_KW...)` with the same params. warm_solve is a thin face over the same seam, so output is identical — verified by a BYTE-IDENTICAL hero re-render (same sha256) and the unchanged geometric golden. - Project.toml: pin rev → 90f87ed3 (past #27/#28). Comments across src updated solve_cluster→warm_solve. Placement golden (now possible — #27 guarantees+documents solver determinism): - golden.jl: `placement_rows`/`atlas_placement_digest` hash the solver's DISCRETE decisions (which side each label leans = offset quadrant, + dropped) from the real COLD solve. Hashing the side, not the pixel offset, keeps it machine-stable (a quadrant only flips on a genuine re-placement) — same machine-independence as the geometric golden. Magnitude/continuity stays covered by test_loop's warm-start delta bound. - New baseline test/golden/atlas-placement.sha256 (+ .rows.txt). Full suite 295/295. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * address review nits (round 1) - golden.jl: harden placement_rows against the mutable _PIN_SLO[] global it depends on — explicitly pin it to the production value (true) so a future test mutating the Ref can't perturb the golden. No-op on the digest (it was already true; baseline unchanged). - golden.jl + test_golden.jl: fix the "machine-stable / machine-independent like the geometric golden" overclaim. placement_rows DOES route anchors through Makie's projection (via assemble_frame), unlike the fully-affine geometric table — so the accurate claim is "robust to sub-pixel projection drift" (a quadrant only flips on a real re-placement), not Makie- independent. Reworded the header, docstrings, and the testset name. - README.md: solve_cluster → warm_solve at the three remaining mentions (now matches place.jl). Atlas suite 295/295; placement digest unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.
#I — README hero, gallery, release hygiene
Cross-cutting docs/gallery work for the demos milestone. File-disjoint from #J — touches only
README.md,CHANGELOG.md,examples/README.md, and demo asset images. No.github/ortest/changes; no version bump (v0.2.0 deferred until #E lands).Changes
README.md— new Demos / Gallery section with the DOIInfograph 6-up grid hero (PNG embed linking the high-resgrid_hero.pdffor per-panel detail) and a link to the gallery index. Backends line now includesFigletBackend(using FIGlet; install viaPkg.add("FIGlet"); measures in character cells).examples/README.md(new) — gallery index: one entry per merged demo (doi_infograph, cover, map_feature, justification, layouts, silhouettes) with a one-line pitch, screenshot, and run instructions. Asteroid TUI (#E) listed as 🚧 WIP linking draft PR [WIP] #E — Asteroid TUI demo (interactive polish in progress) #26 — not claimed done, no embedded image (asset not onmain).assets/showcase.pngfor cover, justification, and map_feature (offline renders, visually verified). doi_infograph reuses its committedgrid_hero.png.layoutsandsilhouettesare library-only (no render) and use a text description. Unreferenced render PDFs were not committed to keep the repo lean.CHANGELOG.md— demos work documented under[Unreleased](engine + per-demo examples), with a note that the v0.2.0 tag is deferred until #E (draft PR [WIP] #E — Asteroid TUI demo (interactive polish in progress) #26) lands.Verification
examples/<demo>/README.mdexists and accurately describes its run flow.map_feature/assets/showcase.pngwas force-added past that demo's*.pngignore rule (which exists to keepvermont.pngrender outputs out).Plain
julia --project=examples/<demo> -e 'using Pkg; Pkg.instantiate()'(as the per-demo READMEs, spec, and runbook state) fails: the in-repoTextMeasure/TextMeasureLayoutsare unregistered and have no[sources]entry, so the resolver errors with "expected package … to be registered." The demos only instantiate after aPkg.developstep. The gallery's run instructions use the workingPkg.develop([...]); Pkg.instantiate()form. Recommend adding a[sources]table to each demoProject.toml(a clean fix that makes the plain-instantiateinstructions correct) — likely belongs to #J / a Project.toml change outside my file-scope.🤖 Generated with Claude Code