notepat: drag-to-edit gun params + pitched perc noise
Two requested features land:
1. Per-shot drag-to-edit on gun inspector cards. Tap a card → it
highlights; drag vertically → updates the value (log-scaled for
freq/duration, linear for amps/Q); lift → release. Edits live in
WAR_PARAM_OVERRIDES (per-session) and hot-tune the next shot via a
new C helper:
audio_gun_voice_set_param(audio, voice_id, key, value)
…called from the JS bindings whenever sound.synth opts include a
`params` object. The helper handles all six inspector keys per
model: classic = {click_amp, crack_fc, crack_q, boom_freq_start,
boom_amp_decay_ms, tail_decay_ms}; physical = {pressure, env_rate,
bore_length_s, body_freq0, body_q0, radiation}. Filter coefficients
(BPF/LPF for crack/tail, body-mode poles for physical) are
recomputed live so freq/Q drags actually re-tune the resonators.
2. Perc white-noise voices now pitch with octave/pitchFactor — every
addHit({type:"noise", tone: N, ...}) became `tone: N * pf`. So when
you bend the trackpad pitch shift or change octave, the noise filter
cutoff scales the same way pitched voices do, and the whole drum
stays coherent under pitch shift.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>