
Music Box
3D object3DSeamless loop12 seconds
A Watt centrifugal governor in polished brass: the balls fly out as it speeds up and fall back as it slows. Loops perfectly.
In Machines & clockwork, Craft & heritage
Next: Music BoxSurprise me
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
0.05 is a steady engine, 0.22 a hunting one.
The preview runs the same code your AI receives. These settings travel with the hand-off.
A steam-age speed governor on a cast-iron pedestal, in a dark workshop: a vertical spindle turns, two heavy brass balls on arms fly outwards as the speed swells and fall back as it ebbs, and through a pair of links they lift and lower a sleeve on the spindle, which a slotted lever carries to a counterweight. A spoked flywheel turns beside it. The mechanism is the real one: the arms obey the governor equation and the sleeve's height follows from the lengths of the links. Choose the metal (brass, copper, bronze or steel), the colour of the iron, how many turns it makes per loop, and how strongly the speed swells and ebbs.
src/brass-governor.js is the ingredient your AI reuses. demo.js is only the example scene around it, and uses chrome-material only for the demo.
src/brass-governor.jscreateBrassGovernor({ finish?, iron?, turns?, swing? }) => { group, height, turns, update(time, loopSeconds, { swing? }), dispose() }armAngle(speed) => radianssleeveHeight(theta) => yFINISHES: { brass, copper, bronze, steel }three@0.185.1 (source) — Renderer, geometry and physical metals.chrome-material@1.1.0 (demo) — Studio environment light, backdrop, floor and contact shadow.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: 1 unit = 10 cm. The machine is 5.5 tall and 7.4 wide at the plinth; the spindle is on the origin and turns about y.
Lighting: Physical metals: needs scene.environment; a shadow-casting key light draws the arms' shadows on the pedestal.
Timing: update(time, loopSeconds) is a pure function of time; frames render in any order.
npm install
npm run render -- brass-governor/1.0.0 --out my-video.mp4Needs Node 18+, ffmpeg and Chrome/Chromium. Add --params my-settings.json (from Copy settings) for your own settings.sha256:43891724f5f52ea3…
3D object3DSeamless loop12 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop16 seconds

3D object3DSeamless loop20 seconds

3D object3DSeamless loop16 seconds