Tempo-locked visual changes are not achievable in this rig because the bridge exposes only FFT energy with no beat-phase or onset
The audio-visual bridge exposes four FFT amplitude bins updated at display rate (~60 Hz) with no tempo, beat index, bar position, or onset signal. Anything requiring a visual event to land exactly on a beat or phrase boundary — a scene cut on the 1, a flash on each kick, a cell scroll per beat — is not achievable. The best available substitute is an amplitude-envelope proxy: squaring a band value (a.fft[0]²) produces a curve that pops on loud hits and reads as roughly on-beat during dense passages, but it is energy, not a detected onset. True beat-lock requires an L0 analyser upgrade plus an L3 perception bridge.
Examples
‘Flash the frame on each kick’ is blocked: a.fft is a smoothed energy reading, not a per-kick event trigger. The closest approximation — thresh(() => a.fft[0]*a.fft[0]*g) — pops on loud bass hits but misses quiet kicks and double-fires when bass sustains.
Assessment
A student wants to make the kaleid symmetry count jump by 1 on every kick. Explain why this is not achievable in the current rig, what the nearest approximation is, and what limitation that approximation carries.