mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-14 18:01:20 +08:00
6a5267abbe
Review follow-up on the gain work.
The percent slider tops out at 100%, and a boosted clip renders `value={195}`
on it. Committing from that control writes `next / 100` with `next <= 100`, so
one touch silently caps the clip and drops up to 12 dB — which only became
audible damage once this stack made above-unity gain actually render. Both
panels now hold the control above unity, the way the flat panel already holds
it while an automation lane owns the level. A hold, not a fix: the dB fader
that can represent these levels replaces the control outright.
Pin the render-side ceiling too. The existing case feeds 3.98, just under
MAX_AUDIO_GAIN, which proves the clamp is not min(1, ...) but leaves the upper
bound free — remove the clamp entirely and the suite stayed green. Verified by
mutation: the new case reds without it.
Correct audioLeveller's rationale, which justified riding a gain node with
"volume is 0..1 and normaliseEnvelope clamps every keyframe into it". Both
now span the same range, so the real reason is ownership: the volume lane is
the author's envelope, and a leveller writing into it would redraw their work.