3D of Things18 October 2026
3D of Things · a skill for Claude Code
Name a machine in one line, and Claude builds it in 3D, takes it apart and shows how it works.
6 beats a second
01Machines, not shells
The skill rests on one rule, written at the top of its instructions, above everything else:
Real insides, really moving.
SKILL.md, “The one idea”
A model that only shows its outside is a catalogue picture. A page explains a machine when its insides are true and they work: the real number of teeth on each wheel, the real distance from lens to film, the real order a shutter’s parts move in, all driven by the same numbers the charts show.
The site went wrong in two ways before the rule existed. The first was a shell. Its first pocket watch was a fine model of a case, a dial and three hands with nothing inside, so “Take it apart” pulled the hands off and stopped. The fix was to cut the case open along its own edges and build the movement in code: a barrel and mainspring, a train of 80/10, 75/10 and 84/7 teeth, and a Swiss lever escapement beating six times a second.1
The second was a list. Twenty lettered parts on an exploded model say what is there, not how it works. The fix was order: the parts grouped as the energy flows, from the mainspring to the hands, and a tour that follows the same chain one step at a time.
02Writing a prompt
The prompt is the machine, not the drawing. Name it as exactly as you can and say what should move; finding the numbers is Claude’s job.
- Name the machine
/3d-of-things add a mechanical metronome- Say what should move
/3d-of-things a sewing machine: the needle, the shuttle hook and the feed dog working together- Start from a free model
/3d-of-things take apart Poly Haven’s vintage video camera, like the Leica- Check what’s there
/3d-of-things the SLR’s winding step has a label floating somewhere: check everything still works
It sizes the job before anything else, in one of four tiers. Sourced: a free model whose parts are already separate. Opened: a free shell, cut open and given its insides in code. Built: no usable model, so the whole thing is generated. Machine: several systems with physics of their own, like a car that flies. A Machine isn’t started without asking; Claude first proposes a smaller version that keeps the core of the idea.2
03What Claude does
Between your line and the finished page, Claude works through eight stages. Each ends with a check, and most of the quality is decided in the first two, before any geometry exists.
- Brief. Exactly which object, whether it differs from what’s on the site, the energy chain in a line, and a short plan.
- Truth sheet. Sources, real numbers, the energy chain, one misconception to correct, the parts in groups, the tour. A research subagent does the digging.
- Scaffold.
npm run newwrites the object’s folder, builds a first model and page, and checks it, in seconds.3 - Model. The shell cut open, or the whole object generated with the kit. The build fails on any clash, and on any explode path that would pass one part through another.
- Content. The words and the tour, placed by points the build names, never by pasted coordinates.
- Mechanism. Only for a kind the site doesn’t have yet. Everything that exists is reused first.
- Check.
npm run checkandnpm run qa, until both pass and every contact sheet has been read. - Ship. Posters, the README, the production build.
Placing things used to cost time too: a callout’s position typed as three decimals, then nudged after every look. Now the generator names its points and the content file uses the names, so a changed layout moves everything with it.
// The build names the points the page will need…
anchors: {
handle: toModel([cx, cy + L.handle, 14]),
small_face: toModel([sx, sy, -17]),
},
// …and the content file places things by name.
{ title: 'Crank', node: 'crank', ride: true,
position: at('handle'), camera: pose(at('handle'), [-24, 18], 1.5) }
04The rules of a teardown
Every object follows the same rules. They are what make a page read as a real machine at work rather than a model with labels.
True insides
Built from real numbers, teeth, focal lengths, timings, each with its source. What’s simplified is said on the page.
Numbers from the model
Every chart and readout reads the same maths that moves the parts.
Follow the energy
Groups, callouts, the order parts come off and the tour all run from source to output.
Parts, not meshes
Every mesh belongs to a named part with a line on what it does: 8 to 20 parts in 4 to 8 groups.
Solid and whole
The model is never faded or clipped at the page’s edge, and it’s framed whole at rest.
Control time
Slow motion, hold to run, sliders. Nothing important happens only in a fast loop.
Free licences
CC0 or CC BY, checkable at the source, credited exactly.
Variety
Each new object differs from the last in mechanism and shape.
One misconception per object is stated and corrected. Wind a watch tighter and it doesn’t tick faster: the balance sets the rate, not the spring.
05Thirteen machines, up close
The collection reads best one machine at a time. Each opens on its own page, ready to turn, take apart and run.
Fig. 01Hand DrillAn 80-tooth wheel on a 24-tooth pinion: the bit turns three and a third times for each turn of the handle.
Fig. 02Pocket WatchA 26-part movement generated inside a Poly Haven case, running in step with your clock.
Fig. 03BinocularsPrisms fold the light and turn the picture the right way up.
Fig. 04MicroscopeTwo lenses in a tube, each magnifying what the one before made.
Fig. 05Film ProjectorA claw pulls the film down only while the shutter is shut.
Fig. 06Drill PressMove the belt between the stepped pulleys and watch the spindle speed change.
Fig. 07Rangefinder CameraA Leica M3 opened along its seams: cloth curtains, film path, rangefinder optics, a nine-blade iris.
Fig. 08Medium-Format SLRBuilt entirely in code after the Hasselblad 500C/M, in the order of its service manual’s timing chart.
Fig. 09Tesla RoadsterThe fans that suck it onto the road and the air thrusters that make it fly.
Fig. 10Family CarA two-litre four, a four-speed gearbox and a differential you can take round a bend.
Fig. 11Washing MachineBuilt in code: a belt from a fast motor turns the drum, and a tub on springs carries 25 kg of concrete.
Fig. 12Bicycle PumpA cup seal that folds one way and a ball valve that keeps the tyre’s air in.
Fig. 13Garden SprinklerNo motor: two jets of water push the arm round, the way a rocket flies.
06Inside, generated
Most free models are shells. Three of the thirteen objects had their insides generated inside a downloaded case, and four were generated whole. Each was laid out from published numbers, and each page says what was simplified.
The pocket watch was a closed case. Its build step cuts the case along the mesh’s own edge loops, adds the inside surfaces a shell never had, and builds about twenty parts from real tooth counts. In the viewer, every wheel follows one beat count taken from your clock, so the train stays in mesh at any time of day and in slow motion.
The Leica M3 was a shell too: its build cuts it along the seams of the top cover and base plate, thickens each piece inward, and builds the cloth shutter, the film path, the rangefinder optics and a nine-blade iris. The medium-format SLR had no free model at all, so all of it is code, laid out from the service manual of the Hasselblad 500C/M.4
The cars are lofted from a few curves per car and cut into the panels that come off. Under the 2026 Roadster are the fans, two carbon tanks of air at 690 bar and ten nozzles, laid out from Tesla’s launch and its patent; under the family car, a two-litre four firing 1, 3, 4, 2, a four-speed gearbox and a differential.
07The checks
Claude builds quickly and sees slowly, so the checks do the looking. All three are driven by the object’s own content file, so a new object is checked without new code.
npm run checkUnder a second, no browser. Every name the content uses exists in the model, every mesh belongs to a part, every point sits on the model, every chart and experiment exists.npm run qaThe real page in headless Chromium: every callout, every tour step and every experiment. It holds the hold buttons, moves the sliders, fires the shutters, and fails if a readout never changes. Then the phone layout and reduced motion.npm run models:buildFails if any part crosses another at rest, or if taking it apart would pass one part through another.
Headless Chromium used to draw with software WebGL, at about 460 ms a frame. On the Mac’s GPU it takes 18 to 23 ms, with the same picture. A whole object’s check now runs in about a minute, and a quick pass over all thirteen in under two.5
08How long it takes
Detail costs time, and real numbers beat a guess. These are Claude’s active times, measured from the session logs with npm run timing, idle gaps left out.
| Object | Tier | Active time | Of that, checking |
|---|---|---|---|
| Before the procedure: checked by hand | |||
| Pocket watch movement | Opened | 1 h 47 | 27% |
| Leica M3 | Opened | 2 h 07 | 37% |
| Medium-format SLR | Built | 1 h 59 | 33% |
| 2026 Roadster, rebuilt from the 2017 car | Machine | 57 min + 39 min | 24–32% |
| With the procedure, 18 October 2026 | |||
| Washing machine | Built | 24 min | 38% |
| Bicycle pump | Opened | 15 min | 38% |
| Garden sprinkler | Sourced | 15 min | 46% |
Before the procedure, a third of every build went on checking by hand, with a new browser script for each object waiting on software rendering, and another sixth on re-reading code to remember how things fit together. The checks, the scaffold, the kit and the skill’s references removed most of both. The three objects built with them took 15 to 24 minutes each, all three in one 70-minute session, with each one’s research running in a subagent alongside. Checking is still the biggest stage, but now it’s reading contact sheets and fixing what they show.6
09Install
Add the skill to Claude Code with one command:
npx skills add bro-xuan/3d-of-things
Then open Claude Code in any folder and name a machine:
/3d-of-things add a mechanical metronome
The first time, Claude sets up a workspace: a copy of the repository, because the repository is the skill’s kit (the viewer, the model pipeline, the generator kit and the checks), with the thirteen machines as its references.7 To put your machines on your own site, bake them in. The export builds the site for that path, checks it, copies it in as static files and prints the two rewrites your host needs.
npm run export -- --out ../my-site/public/machines
10Limits
Claude is good at building these and less good at seeing them. A part can be right in every number and still look wrong, and the fixes that mattered most came from someone watching the model play and saying what felt off: a watch that faded into the page’s edge, seven cars that looked the same.
- Free models only. CC0 or CC BY, checkable at the source. Most free models are shells, so most objects need their insides generated, which is the slow part.
- Generated insides are simplified, and each page says what was left out. They follow real dimensions and timing, not every screw.
- It’s careful, not instant. A simple machine takes 15 to 25 minutes of Claude’s time. One as dense as the watch took nearly two hours before the procedure existed, and a vehicle with physics of its own takes longer.
- It needs WebGL. Without it, each page shows its poster.
So treat the first version as a draft. Open it, turn it, take it apart, say what’s wrong, and ask again.
11Questions
- Does it work outside this repository?
- Yes. Installed with the command above, it sets up a workspace the first time and builds there, with this site’s viewer, pipeline and checks;
npm run exportthen puts the machines on any static host, Next.js and Vercel included. - Can I change an object later?
- Yes. An object’s words and placement live in its
content.mjsand its geometry in the generator beside it. Change a number in the generator and everything placed by name moves with it; then run the checks again. - Will it slow the page down?
- Models are 0.8 to 2.9 MB, compressed with meshopt and WebP. The gallery is plain HTML, and three.js loads only when an object page opens, after its poster is on screen.
- Is it accessible?
- The viewer answers the keyboard (arrow keys turn the model, W switches the look, Esc closes the tour), every step is reachable from the step bar, and reduced motion turns the flights and sweeps off.
- What’s the licence?
- MIT, for the code, the skill and the models built in code. Every downloaded model is CC0, and its credit is on its page.
- How do I get the best result?
- Name the exact machine and what should move, give any numbers you know, and look hard at the first version.