Files
hyperframes/packages
Vance IngallsandClaude Opus 5 07203f59d1 fix(engine): keep a group's headroom through its FX chain, not just up to it
Residual of finding 8, found by following the float sub-mix downstream
instead of stopping at the file it writes.

The float intermediate fixed the clip for a group with no FX chain. A
group WITH one runs that sum through applyAudioFxChain, whose writeWav
clamps to ±1 and emits 16-bit — so the headroom was handed straight back
one step later, still upstream of the fader. Same bug, same shape, one
node further along: measured 1.6 dB hot on two 0.7-peak tones summing to
1.4 under a transparent 0 dB chain and a 0.5 group fader.

writeWav now takes a `float` flag and readWav reports the format it read,
so the FX pass writes back whatever it was handed. Only the group
sub-mix is float; every element track is still 16-bit, which is what the
envelope baker wanted when that was made 16-bit in the first place. Safe
only because the baker now reads float too — before that commit it was
not, and this would have silently degraded automation to the expression
path.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-20 16:39:38 -07:00
..
2026-08-20 19:03:09 -04:00
2026-08-20 19:03:09 -04:00
2026-08-20 19:03:09 -04:00
2026-08-20 19:03:09 -04:00
2026-08-20 19:03:09 -04:00
2026-08-20 19:03:09 -04:00