
Torus Wave Loop
Effect2DSeamless loop8 seconds
A glowing lava lamp: wax swells off the hot pool, rises through the liquid, cools and sinks back. Loops perfectly.
In Light, glass & shine, Liquids, Patterns & illusions, Craft & heritage
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
How brightly the bulb lights the wax and the liquid.
Changes the size and path of every blob.
The preview runs the same code your AI receives. These settings travel with the hand-off.
A classic lava lamp glowing in a dark room: a tapered glass bottle on a turned metal base with a pointed cap, a hot bulb underneath and blobs of wax that swell from the pool at the bottom, rise through the glowing liquid, cool at the top and sink back, merging and splitting on the way. The wax is translucent and brightest near the bulb, with a halo in the liquid round it; the glass reflects and refracts the room. Choose the colours (classic red and amber, violet and blue, lime and teal, rose and gold), the metal of the base (chrome, brass, black or copper), how many blobs ride in the lamp, how hot the bulb burns, and a macro view that puts the camera right up against the glass so the wax fills the frame.
src/lava-lamp.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/lava-lamp.jscreateLavaLamp({ wax?, liquid?, metal?, blobs?, heat?, seed? }) => { group, height, uniforms, update(time, loopSeconds, camera?, pixelHeight?), dispose() }createGlowBackdrop(glow, wall?) => { mesh, dispose() }METALS: { chrome, brass, black, copper }PALETTES: { classic, violet, lime, rose }three@0.185.1 (source) — Renderer, physical glass and metal, and the wax's ray-marching shader.chrome-material@1.1.0 (demo) — Studio environment light and the contact shadow.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: 1 unit = 10 cm. The lamp is 3.98 tall; the bottle runs from 0.92 to 3.3 and is 1.4 wide at the bottom, 0.72 at the neck.
Lighting: Physical glass and metal: needs scene.environment. The wax is lit by the bulb inside its own shader; add point lights in the wax colour to wash the base and the table.
Timing: update(time, loopSeconds) is a pure function of time; frames render in any order.
npm install
npm run render -- lava-lamp/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:dd38a3c2d26cfea5…
Effect2DSeamless loop8 seconds

3D object3DSeamless loop16 seconds

Background3DSeamless loop12 seconds

Background3DSeamless loop12 seconds

Background3DSeamless loop12 seconds

3D object3DSeamless loop8 seconds

3D object3DSeamless loop12 seconds

3D object3DSeamless loop16 seconds