Skip to content

fix(showcase): bring 19 previews to the 1200x675 spec and enforce hero/preview sizes - #217

Merged
TMHSDigital merged 2 commits into
mainfrom
fix/214-preview-size
Sep 23, 2026
Merged

TMHSDigital merged 2 commits into
mainfrom
fix/214-preview-size

Conversation

@TMHSDigital

Copy link
Copy Markdown
Owner

Summary

Closes #214. CLAUDE.md fixes preview webps at 1200×675 and heroes at 1280×720. All 51 example previews conformed, but 19 of 28 showcase previews shipped at the hero size, and nothing checked either size.

Type

  • feat
  • fix — content integrity plus a new check
  • docs / chore / ci / refactor

Changes

  • Downscaled 19 previews to 1200×675 (Lanczos, webp q90): stone-well, campfire, market-stall, street-lantern, terrain-scatter, fence-kit, watchtower, cart, park-bench, anvil, water-trough, hitching-post, hand-pump, signpost, chopping-block, wall-torch, wooden-ladder, crate-stack, stone-archway. Same 16:9 aspect ratio, so no re-render.
  • New tests/check_gallery_images.py, wired into Validate. It asserts hero 1280×720 and preview 1200×675 for every entry in both gallery.json files. It uses only the standard library, parsing the WebP RIFF header (VP8 / VP8L / VP8X chunks), so it needs no Pillow on the runner.

Evidence

  • live-run-proven (local, no Blender):
    • Falsified: before the downscale, the checker exits 1 with 19 errors, e.g. stone-archway: preview showcase/stone-archway/preview.webp is 1280x720, expected 1200x675. After it: gallery image sizes ok: 158 image(s) across both gallery.json files., exit 0.
    • Parser cross-check: webp_size() agrees with Pillow's Image.size on all 158 hero and preview files (0 disagreements).
    • Gallery unchanged: python scripts/build_gallery.py leaves docs/gallery/ untouched. The site does not serve previews.
  • inspection-only: if Committed hero stills do not match what the scripts render #200 regenerates heroes, previews should be regenerated from the same render. This PR does not address drift.

Checklist

  • Explicit paths only.
  • Counts and manifest unchanged.
  • The new check was falsified once (above).
  • DCO Signed-off-by: present.
  • No credentials, emails, or local paths.

🤖 Generated with Claude Code

…o/preview sizes

CLAUDE.md fixes preview webps at 1200x675 and heroes at 1280x720. All 51
example previews conformed, but 19 of 28 showcase previews shipped at the
hero size, and nothing checked either.

- Downscale the 19 (same 16:9 aspect, Lanczos, webp q90); no re-render.
- tests/check_gallery_images.py asserts both sizes for every gallery.json
  entry. Stdlib only: it parses the WebP RIFF header (VP8, VP8L, VP8X), so
  it runs on the bare Validate runner. Its parser agrees with Pillow on all
  158 images.

Closes #214

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>
@github-actions github-actions Bot added showcase Budget-conformance props under showcase/ ci labels Sep 23, 2026
Signed-off-by: TMHSDigital <154358121+TMHSDigital@users.noreply.github.com>

# Conflicts:
#	.github/workflows/validate.yml
@TMHSDigital
TMHSDigital merged commit 208e5e3 into main Sep 23, 2026
11 checks passed
@TMHSDigital
TMHSDigital deleted the fix/214-preview-size branch September 23, 2026 01:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci showcase Budget-conformance props under showcase/

Projects

None yet

Development

Successfully merging this pull request may close these issues.

19 of 28 showcase previews are 1280x720; spec is 1200x675 and nothing enforces it

1 participant