mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-11-14 21:29:34 +00:00
The shape of a fade is something an editor pulls into place, so it has to be able to land anywhere between the extremes. Three named curves could not do that: picking one meant a menu or a blind cycle, and the answer was always one of three. `data-fade-curve` is now a number in [-1, 1]. Zero is a straight ramp, negative sags the line so the fade starts slow and finishes fast, positive bulges it the other way. Underneath is a single exponent, k = 2^(-2·curve), which makes -0.5 exactly p² and +0.5 exactly √p, keeps every bend monotonic so a fade never dips, and makes the two directions inverse functions of each other. That last property is what makes dragging the line back through the middle land on straight instead of drifting past it. `fadeCurveThroughMidpoint` inverts the relation: given the level a pointer is sitting at halfway through the fade, it returns the bend whose curve passes through that point. Studio's drag is then direct manipulation rather than a pointer nudging an abstract parameter. The named curves are dropped rather than kept as aliases. Nothing has shipped with them, and one attribute with two spellings is one too many.