Skip to content

#I — README hero, gallery index, CHANGELOG, release hygiene#28

Merged
jowch merged 1 commit into
mainfrom
demos-I-readme-gallery
May 29, 2026
Merged

#I — README hero, gallery index, CHANGELOG, release hygiene#28
jowch merged 1 commit into
mainfrom
demos-I-readme-gallery

Conversation

@jowch

@jowch jowch commented May 29, 2026

Copy link
Copy Markdown
Owner

#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/ or test/ 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-res grid_hero.pdf for per-panel detail) and a link to the gallery index. Backends line now includes FigletBackend (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 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 on main).
  • Showcase images — regenerated and committed assets/showcase.png for cover, justification, and map_feature (offline renders, visually verified). doi_infograph reuses its committed grid_hero.png. layouts and silhouettes are 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

  • All local markdown links/image paths resolve (checked from each file's directory).
  • Each examples/<demo>/README.md exists and accurately describes its run flow.
  • Showcase PNGs render correctly (opened and inspected each).
  • map_feature/assets/showcase.png was force-added past that demo's *.png ignore rule (which exists to keep vermont.png render outputs out).

⚠️ Finding for review (not fixed here — out of file-scope)

Plain julia --project=examples/<demo> -e 'using Pkg; Pkg.instantiate()' (as the per-demo READMEs, spec, and runbook state) fails: the in-repo TextMeasure / TextMeasureLayouts are unregistered and have no [sources] entry, so the resolver errors with "expected package … to be registered." The demos only instantiate after a Pkg.develop step. The gallery's run instructions use the working Pkg.develop([...]); Pkg.instantiate() form. Recommend adding a [sources] table to each demo Project.toml (a clean fix that makes the plain-instantiate instructions correct) — likely belongs to #J / a Project.toml change outside my file-scope.

🤖 Generated with Claude Code

…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 jowch merged commit 13d9517 into main May 29, 2026
2 checks passed
@jowch jowch deleted the demos-I-readme-gallery branch June 18, 2026 18:54
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>
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