Cold Start
README.md
asc_particles — ASCENSION: rising motes and valley mist
Controls the two particle systems: the warm motes that rise out of the dark valley and climb with the camera, and the haze banks that separate the ridge lines.
Owns
motes— 600 additive particles, warm → magenta, created and destroyed here.mist— 120 alpha sprites, emitted once at build and never re-originated.MOTE_Y/MOTE_RATE— the curves that carry the motes up with the ascent.MAX_STEPand the only:update()call on either system.
Reads from the orchestrator
Nothing but ctx, t and dt. This aspect is fully independent — it neither
consumes the sun signal nor the camera, which is why it runs last.
Boundaries
- Stepping a system twice in one frame doubles its effective rate. This module
owns both handles and both steps; no other aspect may call
:updateon them. - Renderer indirect budget: every particle is one instance and the cap is 4096,
allocated by
maxCountat creation. RaisingmaxCounthere eats headroom every other part in the demo shares — over the cap, later draws silently vanish. dtis capped atMAX_STEPso a hitched frame cannot fling either system forward.- The mist is static by construction (
speed = 0,gravity = 0,lifetime = 1e9, emitted once), sitting at about y = 2.5 while the camera climbs from 7.5 to 106 straight past it.