CameraRig
One camera for every drawing that flies, so they all answer the music the same way.
Speed follows VizRenderState.drive, from a slow drift in a quiet passage up to topSpeed. It stands still while the player is paused or the audio is silent.
A kick shoves it forward through a spring. When the queued audio shows a kick coming, the camera first sinks back a little, and the shove goes in early enough that the surge peaks on the kick.
A snare nudges it sideways, a supported drop flings the lens wide for about two seconds, and it banks on noise that wanders faster when the middle of the spectrum is busy.
With cuts on, a supported section boundary can jump it to a new lane instead of sliding there.
Call advance once a frame, then read where the camera is.