Repository navigation
Animated catalog thumbnails for all 108 pages - #1
Merged
Merged
Conversation
Each tree page names a curated example in `preview`; src/render/preview.ts runs it and strips every step to bare shapes (no text) inside one fixed frame. The build writes dist/previews.json and the dev server makes it on request, so nothing generated is committed. The catalog shows the final frame left of each title and loops through the steps on hover or keyboard focus, never under reduced motion. Page stylesheets now load on the catalog too, so red-black nodes keep their colours. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015Hhm4gYmBnZQozfDqkFdPy
✅ Deploy Preview for stepwise-pisan-labs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
All 108 pages now name a preview example. The still picture is the fullest frame, so examples that end empty still show something. Every preview drops the input and output boxes; graph pages hide their side tables and label boxes, geometry pages their matrix brackets, so the main picture fills the box. Arrowheads are off in thumbnails: markers scale with the unscaled stroke and swamped the drawings. The catalog now loads only the still pictures (previews.json, 40 KB gzipped); a page's frames (previews/<id>.json, at most 5 KB gzipped) are fetched the first time its thumbnail plays, so phones and readers who ask for reduced motion never fetch them. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015Hhm4gYmBnZQozfDqkFdPy
pisanuw
marked this pull request as ready for review
November 7, 2026 13:42
pisanuw
pushed a commit
that referenced
this pull request
Nov 7, 2026
Yusuf merged PR #1 into main at 14:42, so next could no longer fast-forward main at the daily deploy. Both sides of CHANGES.md only appended, so all entries are kept, in time order. The thumbnail test requires every page to name a preview, so the ten automata and grammar pages built on next now do. Each plays one curated example and hides its text-only tables and boxes. Thumbnails turned off arrowheads on lines only, but curved arrows are paths, so their markers swamped the automata drawings; paths drop them too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JyJzMXcc2unSAwN88hsew5
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.
What
Small animated drawings to the left of each title on the landing page, for all 108 pages. Yusuf's choices: SVG rather than GIF, a small picture left of each title, plays on hover, text stripped. Trees went first as a pilot, then the rest.
VizDef.preview:{ example, level?, hide? }picks the curated example to play, the finest step level to include, and shape-id prefixes to leave out.src/render/preview.ts:DEFAULT_HIDE);scripts/prerender.mjswritesdist/previews.jsonwith the still pictures only (355 KB raw, 40 KB gzipped).dist/previews/<id>.json, one page's frames (at most 292 KB raw, 5 KB gzipped). These are fetched the first time a thumbnail plays, so phones and reduced-motion readers never fetch them.PreviewThumb.svelte:aria-hidden), since the title beside it says what it is;CLAUDE.md: the thumbnail is now step 13 of the definition of done.Tests
src/render/preview.test.ts:tests/e2e/catalog.spec.ts:npm run lint,npm run checkandnpm test(2380 tests) pass.npm run e2e: 1645 passed, 5 skipped (tests that only run on desktop), 0 failed.🤖 Generated with Claude Code
https://claude.ai/code/session_015Hhm4gYmBnZQozfDqkFdPy