Loading...
Loading...
Builds figures that move or respond to the reader, in three tiers: SMIL animations and slider widgets inside lessons, interactive mechanism figures that show the named parts of a real system with a computed verdict, and ordered dither bands in the course palette. Triggers: "animated figure", "add a slider widget", "interactive figure", "show how this system works", "make this diagram move", "dither masthead", "mechanism figure", "figure fence".
npx skill4agent add rohitg00/ai-engineering-from-scratch motion-figure| Tier | What it makes | Where it goes |
|---|---|---|
| 1. Lesson figure | Declarative SMIL animation, or a slider widget that redraws an SVG. Both mount from a ```figure fence. | Course lessons |
| 2. Mechanism figure | An HTML panel that shows the named parts of a system. The reader drives one control and reads a computed verdict. | Standalone pages, READMEs, essays, the course site outside lessons |
| 3. Dither field | A WebGL band of ordered dither dots in the paper, accent, and ink colours, with four seeded motions. | Page mastheads and section breaks |
blueprint-figureisometric-explainercourse-stylereferences/tokens.mdreferences/mechanism-figures.mdtemplates/mechanism.htmlreferences/dither-fields.mdtemplates/dither.jsrequest-pathcontext-budgetfigures-<topic>.jswindow.LFfunction (host, cfg).lfhost.lf-head.lf-label.lf-body.lf-capviewBox="0 0 520 H"<title><desc>references/smil-rules.mdstate._renderLF.sliderLF.selectstate._render()LF.register({ 'your-name': fn })```figure
context-budget {"windowK": 32}
```<div class="lesson-figure" data-figure="name {json}">cfgrole="img"references/toolkit.md<animate><animateTransform><animateMotion>setIntervalrequestAnimationFramecalcMode="spline"keySplines="0.23 1 0.32 1"repeatCount="indefinite"fill="freeze"keyTimesvalueskeySplineskeyTimescalcMode="spline"animateMotionkeyPointscalcMode="linear"valuesvar()fillstrokestroke-dashoffsetdata-static-timetranslateadditive="sum"varletconststate._renderLF.sliderLF.selectstate._renderstate._renderstroke-dasharraychunk size (tokens)var(--blueprint,#3553ff)--blueprint--warnvar(--font-mono).lf-labelitem 1transformopacitycubic-bezier(0.23, 1, 0.32, 1)--bg--blueprint--inkdata-themearia-hidden="true"=>letconstsetIntervalrequestAnimationFramereferences/smil-rules.mdNaNreferences/mechanism-figures.mdreferences/dither-fields.mdreferences/smil-rules.mdreferences/toolkit.mdLFreferences/tokens.mdreferences/mechanism-figures.mdreferences/dither-fields.mdtemplates/mechanism.htmltemplates/dither.js<div class="dither" data-seed="...">site/lesson-figures.jssite/figures-*.js