Individual skill
isometric-motion
Build animations and interactive elements (explainers, figures, hero visuals, step-through walkthroughs) in the crafted isometric "Anatomy" style, with many small precise solid parts, four-tone shading, correct painter's order, a framed card with title, hint and live readout, and calm eased motion. Works for physical machines and for abstract concepts (e.g. how an LLM picks its next token), as SVG/HTML or React/Next.js, with optional in-perspective WebGL shaders. Use this whenever someone wants an isometric animation, interactive element, explanatory diagram or figure for docs, a blog post, a landing page or an article, a "Linear-style" or "premium" technical drawing, or an SVG that shows how a system, algorithm or component works, even if they never say "isometric".
skills/graphics/isometric-motion/SKILL.md
Source commit 0867285d3f2612104afa6bb774779943854d4c15
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- Yes
- Repository scan complete
- No
- Skill scan complete
- No
- Observed behavior
- Network or broad shell
- Last checked
- Nov 9, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 1,470
- Repository last updated
- Nov 8, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- ai-agents Repository topic
- autonomous-agents Repository topic
- autoresearch Repository topic
- claude-code Repository topic
- code-review Repository topic
- codex Repository topic
- developer-tools Repository topic
- software-engineering Repository topic
- spec-driven-development Repository topic
- docs Derived category
- engineering Derived category
- engineering-web Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
LICENSEasset · 1,061 bytesSKILL.mdcore · 33,605 bytesSKILL.mdcore · 33,605 bytesSKILL.mdcore · 33,605 bytesSKILL.mdcore · 33,605 bytesSKILL.mdcore · 33,605 bytesSKILL.mdcore · 33,605 bytesexamples/arcade-cabinet/arcade-cabinet-light.htmlasset · 1,007,953 bytesexamples/arcade-cabinet/arcade-cabinet.cssasset · 3,221 bytesexamples/arcade-cabinet/arcade-cabinet.htmlasset · 1,007,952 bytesexamples/arcade-cabinet/build.mjsruns · 51,493 bytesexamples/arcade-cabinet/live.jsruns · 21,286 bytesexamples/arcade-cabinet/parts.mjsruns · 4,296 bytesexamples/arcade-cabinet/screen.mjsruns · 6,701 bytesexamples/desk-computer/build.mjsruns · 23,023 bytesexamples/desk-computer/desk-computer-light.htmlasset · 237,394 bytesexamples/desk-computer/desk-computer.htmlasset · 237,393 bytesexamples/dial-indicator/build.mjsruns · 14,973 bytesexamples/dial-indicator/dial-indicator-light.htmlasset · 136,489 bytesexamples/dial-indicator/dial-indicator.htmlasset · 136,488 bytesexamples/next-token/build.mjsruns · 36,308 bytesexamples/next-token/model.mjsruns · 1,783 bytesexamples/next-token/next-token-light.htmlasset · 231,699 bytesexamples/next-token/next-token.htmlasset · 231,698 bytesexamples/raptor-engine/build.mjsruns · 70,705 bytesexamples/raptor-engine/live.jsruns · 30,752 bytesexamples/raptor-engine/raptor-engine-light.htmlasset · 1,610,583 bytesexamples/raptor-engine/raptor-engine.htmlasset · 1,610,582 bytesexamples/raptor-engine/raptor.cssasset · 6,792 bytesexamples/ripple-tank/build.mjsruns · 32,062 bytesexamples/ripple-tank/live.jsruns · 21,720 bytesexamples/ripple-tank/model.mjsruns · 5,004 bytesexamples/ripple-tank/ripple-tank-light.htmlasset · 505,478 bytesexamples/ripple-tank/ripple-tank.htmlasset · 505,477 bytesexamples/ripple-tank/ripple.cssasset · 1,675 bytesexamples/spot-plate/art.tsxruns · 4,491 bytesexamples/spot-plate/drops.tsruns · 19,131 bytesexamples/spot-plate/fan.tsruns · 2,715 bytesexamples/spot-plate/figure.tsxruns · 1,078 bytesexamples/spot-plate/geometry.tsruns · 10,962 bytesexamples/spot-plate/live.tsxruns · 11,718 bytesexamples/spot-plate/rig.tsruns · 8,160 bytesexamples/spot-plate/spot-plate.cssasset · 1,518 bytesexamples/test-rig/art.tsxruns · 7,372 bytesexamples/test-rig/figure.tsxruns · 850 bytesexamples/test-rig/geometry.tsruns · 13,085 bytesexamples/test-rig/live.tsxruns · 17,463 bytesexamples/test-rig/pose.tsruns · 3,894 bytesexamples/test-rig/rig.tsruns · 5,604 bytesexamples/test-rig/stretch.cssasset · 1,210 bytesexamples/test-rig/view.tsruns · 3,116 bytesexamples/turning-dial/build.mjsruns · 32,098 bytesexamples/turning-dial/dial.cssasset · 509 bytesexamples/turning-dial/live.jsruns · 12,523 bytesexamples/turning-dial/stress.mjsruns · 19,414 bytesexamples/turning-dial/turning-dial-light.htmlasset · 673,894 bytesexamples/turning-dial/turning-dial-verify-light.htmlasset · 701,752 bytesexamples/turning-dial/turning-dial.htmlasset · 673,893 bytesexamples/turning-dial/turning-stress-light.htmlasset · 1,228,774 byteskit/audit.mjsruns · 92,696 byteskit/canvas-painter.mjsruns · 27,535 byteskit/gl-shared.mjsruns · 8,863 byteskit/gl.mjsruns · 8,763 byteskit/iso-kit.mjsruns · 35,175 byteskit/iso-kit.tsruns · 38,631 byteskit/iso.cssasset · 7,698 byteskit/lathe.mjsruns · 48,028 byteskit/react/draw.tsxruns · 6,602 byteskit/react/live.tsxruns · 4,359 byteskit/tube.mjsruns · 14,230 byteskit/turn-audit.mjsruns · 57,157 byteskit/turn-build.mjsruns · 65,265 byteskit/turn-fixed.mjsruns · 147,055 byteskit/turn.mjsruns · 139,815 bytesreferences/3d.mddoc · 44,644 bytesreferences/craft.mddoc · 50,299 bytesreferences/kit.mddoc · 67,873 bytesreferences/motion.mddoc · 22,611 bytesreferences/react.mddoc · 3,614 bytesreferences/verify.mddoc · 43,574 bytesreferences/walkthrough.mddoc · 5,276 bytesreferences/webgl.mddoc · 61,104 bytesscripts/audit-affine-bounds.test.mjsruns · 4,175 bytesscripts/audit-cache.test.mjsruns · 1,603 bytesscripts/audit-clearance-envelope.test.mjsruns · 2,407 bytesscripts/audit-empty-clipping.test.mjsruns · 3,936 bytesscripts/audit-order-convergence.test.mjsruns · 2,875 bytesscripts/audit-path-origin.test.mjsruns · 1,594 bytesscripts/audit-profile.test.mjsruns · 2,171 bytesscripts/audit-projection.test.mjsruns · 1,934 bytesscripts/audit-slide-clearance.test.mjsruns · 2,875 bytesscripts/audit-svg-attributes.test.mjsruns · 3,484 bytesscripts/audit-taper.test.mjsruns · 1,267 bytesscripts/capture-current-geometry.test.mjsruns · 5,109 bytesscripts/capture-selector.test.mjsruns · 7,665 bytesscripts/capture.mjsruns · 13,283 bytesscripts/capture.test.mjsruns · 2,023 bytesscripts/chrome-port.mjsruns · 1,083 bytesscripts/chrome-startup.test.mjsruns · 1,838 bytesscripts/drive-actions.test.mjsruns · 1,822 bytesscripts/drive-async-until.test.mjsruns · 2,743 bytesscripts/drive-turn-controller.test.mjsruns · 2,702 bytesscripts/drive.mjsruns · 22,086 bytesscripts/drive.test.mjsruns · 3,690 bytesscripts/enter-key.test.mjsruns · 2,560 bytesscripts/fidelity-cut.test.mjsruns · 3,702 bytesscripts/fidelity-tube-coverage.test.mjsruns · 3,223 bytesscripts/fingerprint.mjsruns · 1,241 bytesscripts/inline-kit.mjsruns · 648 bytesscripts/line-ends.mjsruns · 15,143 bytesscripts/lines-arcs.test.mjsruns · 2,059 bytesscripts/lines-bezier.test.mjsruns · 1,769 bytesscripts/lines-round.test.mjsruns · 2,458 bytesscripts/lines-rounded-rect.test.mjsruns · 2,527 bytesscripts/lines.mjsruns · 1,700 bytesscripts/lines.test.mjsruns · 1,537 bytesscripts/navigation.test.mjsruns · 2,255 bytesscripts/orbit-sampling.test.mjsruns · 2,810 bytesscripts/react-dots-opacity.test.mjsruns · 2,817 bytesscripts/react-readout-first-write.test.mjsruns · 3,846 bytesscripts/react-readout-target.test.mjsruns · 4,657 bytesscripts/react-solid-seamless.test.mjsruns · 2,752 bytesscripts/react-visibility-target.test.mjsruns · 3,844 bytesscripts/turn-bench.mjsruns · 3,863 bytesscripts/turn-check.mjsruns · 37,440 bytesscripts/turn-fidelity.mjsruns · 20,164 bytesscripts/turn-group-reference.test.mjsruns · 2,174 bytesscripts/turn-split-owner.test.mjsruns · 3,411 bytes
Read excerpt
# Isometric Motion
> Copied from [wheresryan22/anatomy](https://github.com/wheresryan22/anatomy) (MIT, see `LICENSE`) and repurposed for animations and interactive elements in the same style.
This skill makes figures like a small instrument on a bench: a heavy base on feet, rails with tick rulers, a carriage on bushings, knurled knobs, coil springs, a dial gauge whose needle moves, screws as tiny dots. The reader understands the idea because they recognise the machine. Every number the figure shows comes from the same model that moves its parts.
Nine complete examples ship with the skill. Open the closest one before you start. Each framework-free example is built with `node examples/<name>/build.mjs`, which writes a standalone HTML page next to the script; add `--light` for the light theme.
- `examples/dial-indicator/` is the smallest: a dial gauge on a stand, about 300 lines in all.
- `examples/desk-computer/` is framework-free SVG: a desk computer with a keyboard you can type on. The typed line appears on a CRT screen drawn in the plane of the case front, and the picture collapses to a line and a dot when you switch it off. It has about 85 solids and 850 paths.
- `examples/arcade-cabinet/` is an upright arcade cabinet with its side panel off, a Hero of about 240 solids and 15 cables. A quarter flies into the slot, rolls down the coin chute at the speed a rolling disc reaches on a 30° slope, trips the coin-switch wire and drops into the cash box; the switch's pulse runs chunk by chunk along its cable to the board, and the CRT warms up, self-tests and runs an attract mode drawn in the plane of the tilted monitor. The stick tilts and closes a microswitch under the panel. It shows how to place a camera so a cutaway's mechanism stays in view, a concave board drawn as a prism along any axis, moving parts rebuilt in the page from the same module the build uses, and live coins and a wire drawn in reserved slots of the settled order. `node build.mjs --audit` proves the geometry.
- `examples/raptor-engine/` is a rocket engine hanging in a test stand. Its round parts come from `kit/lathe.mjs` and its pipes and harness from `kit/tube.mjs`. It comes apart into 11 assemblies with staggered springs and per-frame depth re-sorting. Every part records its true shape, and `node build.mjs --audit` (`kit/audit.mjs`) proves, at rest, apart and in every replayed frame of the explode, that nothing passes through anything, that every end sits on a real mount, that no bend pinches, folds or lands on another line, that no curved profile's slope wobbles, and that every overlap is drawn in depth order. A WebGL plume, shock, splash and steam render between the back and front SVG. It is the reference for dense pipework, smooth shading and fades.
- `examples/ripple-tank/` is a school ripple tank on tall legs over a paper screen, seen from 44° up. Two WebGL layers (lamp light, shadows and caustics on the paper, and the water's reflections and glass) are registered to the isometric planes and driven by a pure dispersion and optics model (`model.mjs`); a frequency change travels out from the dippers through a history texture.
- `examples/next-token/` is the abstract-concept example: how an LLM picks its next token, drawn as a sampler on a bench. The prompt is written on a terminal screen in the plane of its front, the five candidate words are on keycaps, chip stacks on a ruled board are as tall as each word's probability, a knurled temperature knob reshapes them, and a carriage stops at a seeded random u on a strip where the probabilities lie end to end. The model (`model.mjs`: softmax, inverse-CDF pick, a seedable generator) drives every number.