mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-04-25 17:25:08 +02:00
Per the CSS Transforms spec, when interpolating rotate3d() functions with equal normalized direction vectors (or when one angle is zero), the rotation angle should be interpolated numerically rather than using quaternion slerp. Previously we always used quaternion slerp, which cannot represent rotations beyond 360 degrees. This meant that animating from rotateY(0deg) to rotateY(3600deg) produced no visual animation, since both quaternions are identical (3600 mod 360 = 0). Now we detect when axes match and interpolate the angle directly, correctly preserving multi-turn rotations. This fixes 168 WPT tests.