
Aurora Borealis
Background3DSeamless loop12 seconds
A campfire at night in a ring of stones: a flickering flame, glowing logs, rising embers and smoke, trees and stars at the edge of the light. Loops perfectly.
Your current settings go with it. Combine several clips and hand them over together from your sequence.
Presets
The preview runs the same code your AI receives. These settings travel with the hand-off.
Logs leaning together, stacked, or burnt down to a bed of coals, in a ring of stones, with cracks glowing on the bark; a roaring turbulent flame that lights the logs, stones and ground and flickers, throwing soft shadows; embers rising and cooling, smoke drifting up lit from below, trunks and a treeline at the edge of the light and a sky full of stars. Choose the fire (leaning logs, stacked logs or embers), the height of the flame, its colour (a wood fire, green-and-violet driftwood or deep red), the wind, the embers, the smoke, the trees, the moonlight and how far the camera sways.
src/campfire.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/campfire.jscreateCampfire({ layout?, size?, flame?, wind?, embers?, smoke?, trees?, moon?, sway?, seed?, aspect? }) => { scene, camera, material, pit, setSize(width, height), update(time, loopSeconds), dispose() }createBloomPass(renderer, { width, height, glow?, exposure?, grain? }) => { render(scene, camera, output?), dispose() }planFire({ layout?, seed? }) => { logs, stones, trees, flame }FLAMES: { natural, driftwood, ember }LAYOUTS: ['teepee', 'stacked', 'embers']three@0.185.1 (source) — Renderer, the full-screen shader, the embers and the bloom targets.apw-runtime@1.0.0 (demo) — Demo harness.Coordinates: World units of about a metre: the fire at the origin, the ring of stones 1.5 away, the camera 5.4 back and 1.1 up looking slightly down at the fire; trees stand 6 to 14 away.
Lighting: The fire is the light: a point light at the heart of the flame that flickers, with inverse-square falloff, soft shadows from the logs and stones, and a dim bluish moonlight; the flame, the glowing cracks and the coals are emissive.
Timing: update(time, loopSeconds) sets the loop phase; every part is a closed-form function of it, so frames render in any order.
npm install
npm run render -- campfire/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:9a200dfd11c14d86…
Background3DSeamless loop12 seconds

Background3DSeamless loop12 seconds

Background2DSeamless loop12 seconds

Background3DSeamless loop12 seconds

Background3DSeamless loop12 seconds

Background3DSeamless loop12 seconds

Background3DSeamless loop14 seconds

Background3DSeamless loop10 seconds