
A Desert in an Hourglass
NewBackground3DSeamless loopPortrait8 seconds
A jewelled mechanical watch grows into a gold-and-copper flower: fourteen metal petals unfold from precision hinges around turning gears and a ruby. Loops.
Combine several clips and hand them over together from your sequence.
It plays exactly as rendered and has nothing to adjust. The preview runs the same code your AI receives.
A compact, jewel-set watch movement sits in a brass case: cut-out gears turn, a coiled balance spring winds and ruby filaments stand. Fourteen concave metal petals unfold from precision hinges until the watch has become a gold-and-copper flower, then they fold back into the case, so the 12 seconds loop. The metal is ray-marched with polished and satin finishes, contact shadows and reflections of a studio light panel. The film has no settings.
src/time-garden.js is the ingredient your AI reuses. demo.js is only the example scene around it, and uses the demo harness only for the demo.
src/time-garden.jscreateTimeGarden() => { scene, camera, setSize(width, height), update(time), dispose() }three@0.185.1 (source) — Renderer and a full-screen shader material.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: Composed for a 4:5 portrait frame and measured by the frame height: in a wider frame the picture stays centred at full height and its background fills the sides; in a narrower one, such as 9:16, the sides are cropped.
Lighting: A large softbox above left, a cool blue edge light and a warm low kicker, reflected in polished gold and copper, with contact shadows.
Timing: The watch mechanism turns, the fourteen petals extend on their hinges into a flower, then fold back into the watch.
npm install
npm run render -- time-garden/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:8008a70b9b8815b1…
NewBackground3DSeamless loopPortrait8 seconds

NewBackground3DSeamless loopPortrait8 seconds

NewBackground3DSeamless loopPortrait8 seconds

NewBackground3DSeamless loopPortrait8 seconds

NewBackground3DSeamless loopPortrait8 seconds

NewBackground3DSeamless loopPortrait12 seconds

NewBackground3DSeamless loopPortrait12 seconds

3D object3DSeamless loop12 seconds