mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 23:03:09 +00:00
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>