arcs
The discharge rack: twelve ribbons and six point lights, standing from the first frame of the film and never created or destroyed again.
arcs
The discharge rack: twelve ribbons and six point lights, standing from the first frame of the film and never created or destroyed again.
strike(from, to, opts) leases one. The ribbon is stood at from, scaled so
its one-unit height covers the gap, turned every frame to face wherever the film
is being watched from, and given a life that runs from 1 to 0 over hold
seconds. Lane 0 of its per-instance data carries that life, its seed and its
brightness to the arc shader, so all twelve share one material and no two
channels wander together. An arc at life 0 draws nothing.
opts: width (metres across the ribbon, default a sixth of the gap), hold
(seconds it conducts), gain (ribbon brightness), light (peak intensity of
the point light it carries, 0 for none) and color (that light's colour).
Everything is preallocated on purpose. Creating and destroying a blended draw mid-film is the one thing that has taken this engine down during this build, so the rack holds its slots and recycles them.
Scoped to this part · feeds back into the world's score.