Repository navigation
feat(media): add the OO-LD tutorial series - #165
Merged
Merged
Conversation
- five episodes in media/tutorials, light and dark cuts from one composition via a theme input prop - guide/tutorials page with a per-episode video and a slideshow over the beat stills, linked from the guide index - silent by default; narration stays behind a voiced input prop - check-theme.mjs fails on module-scope palette captures, which silently render the dark cut half light - cuts and stills publish to a reusable tutorials-latest release and are staged at build time, never committed
simontaurus
force-pushed
the
feat/tutorial-series
branch
from
September 15, 2026 06:53
85ff4bb to
df29fbf
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.
Five short tutorial episodes, embedded in the guide as video and as a slideshow.
What is here
media/tutorials/- five episodes sharing one design system, authored with rendiv. They reuse the explainer's toolchain rather than installing a second copy of it.guide/tutorials.md- one section per episode, each with a video and a View as slideshow toggle over that episode's beat stills. Linked from the guide index, in the intro and under Beyond the concepts.themeinput prop, matching the site palette.Silent
The episodes ship silent: the on-screen prose carries the script. A narration track was prototyped and is kept behind a
voicedinput prop, off by default, because every reviewer found a voice competes with the text rather than adding to it.src/narration.jsonkeeps the scripts.Unlike the landing-page hero these do not autoplay. They carry controls and a poster taken from the episode's first beat.
Nothing binary in the tree
Cuts and stills publish to a reusable
tutorials-latestrelease and are staged intodocs/assets/tutorials/at build time byscripts/stage_tutorials.sh, which is gitignored. A missing episode is not an error: the page renders the ones it has and removes the slideshow button for the rest.A guard worth keeping
scripts/check-theme.mjsfails the build on a module-scope palette capture or a hard-coded hex.applyThemeswaps the sharedcolorsobject once per render, so a top-levelconst c = colors.inkfreezes the light value and the dark cut renders half light - with no error, and nothing to notice unless someone looks at the right frame. Six such captures existed before the check went in.Episode 5 and oold-python 1.0.0
Episode 5 is written against v1.0.0: validation first, then the graph-object binding, then the DSL. Both link declaration forms appear, with the conventional one presented as supported rather than deprecated, and code generation and the DSL are labelled experimental on screen.
Its reviewer built a venv from the v1.0.0 tag and executed every snippet shown, including reproducing the validation finding from the CLI and confirming the JSON-LD block is byte-for-byte what
to_jsonld()returns.Not decided here
The episodes were drafted before the clarity line in #161 was ratified. Nothing in the series depends on that line, but the series and the explainer should agree on vocabulary before either is promoted beyond
dev.