
Thunderstorm
Background3DSeamless loop12 seconds
A candle burning in the dark: a living flame, glowing wax, a melted crater, one gust and it recovers. Loops perfectly.
In Nature & weather, Spooky & Halloween
Next: ThunderstormSurprise me
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
How far the one gust in the loop bends the flame.
Changes the rim, the drips and the flicker's pattern.
The preview runs the same code your AI receives. These settings travel with the hand-off.
A candle burning in a dark room, close in: a wax pillar (or a tall taper, or a cluster of three) with a melted crater and drips down its side, a wick with its ember, a brass dish, and a flame that licks and sways, blue at the foot, a bright yellow body, an orange edge and a dark cone round the wick. The wax glows from within near the top and the flame lights the dish, the table and the air round it, flickering with it. Once in the loop a gust bends the flame over and it recovers. Choose the candles, the wax colour, the flame (warm, gold, classic or rose), how restless the flame is, how strong the gust, the glow and the exposure.
src/candle-flame.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/candle-flame.jscreateCandles({ layout?, wax?, flame?, flicker?, gust?, seed? }) => { group, height, dish, update(time, loopSeconds, camera), dispose() }createBloomPass(renderer, { width, height, glow?, exposure?, grain? }) => { render(scene, camera, output?), dispose() }LAYOUTS: { pillar, taper, cluster }FLAMES: { warm, gold, candle, rose }three@0.185.1 (source) — Renderer, geometry, point lights and the flame shader.chrome-material@1.1.0 (demo) — Studio environment light and the room backdrop.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: 1 unit = 10 cm. A pillar is 3 wide and 5 tall; the flame is 3.1 tall; the dish stands on y = 0.
Lighting: The flame lights everything through a point light in its colour (with shadows from the tallest); the wax carries its own warm emission near the top. Needs scene.environment only for the brass.
Timing: update(time, loopSeconds, camera) is a pure function of time; frames render in any order.
npm install
npm run render -- candle-flame/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:e785a6beabf9f591…
Background3DSeamless loop12 seconds

3D object3DSeamless loop12 seconds

Background3DSeamless loopPortrait12 seconds

Background2DSeamless loop12 seconds

Background3DSeamless loop20 seconds

3D object3DSeamless loop12 seconds

Effect3DSeamless loop8 seconds

Effect2DSeamless loop10 seconds