P5LIVE audio-reactivity has three incompatible sources (p5.sound, HY5, embedded Strudel) and none is the rig's 4-bin a.fft contract
P5LIVE is not wired to the repo’s Strudel→Hydra bridge that provides a.fft[0..3]. Instead, three separate audio-reactivity paths exist, each with different APIs: (1) p5.sound (setupAudio / updateAudio) exposes amp, a full FFT array 0–255, and waveform; (2) HY5/Hydra sandbox mode gives a.fft[] with up to 8 real bins from the mic; (3) embedded Strudel fires .p5live(() => {}) callbacks on each event hap. Mixing up which fft/a you are reading is the top reactivity bug. None of these matches the web/ 4-bin contract used by Hydra and GLSL shaders.
Examples
Using a.fft[0] inside p5.sound context reads undefined. Reading amp via p5.sound gives mic amplitude, not Strudel audio amplitude.
Assessment
List the three reactivity sources available in P5LIVE, state what each fft variable name resolves to in each context, and explain why none replaces the rig’s 4-bin a.fft.