Godot Engine — Animation Regression Fix
Authored an upstream-merged fix for a Godot 4.7 animation regression by reproducing it across releases, using git bisect to isolate the offending change, and tracing it through the C++ animation pipeline.
A non-commutative matrix-composition error applied scale in the wrong coordinate space when position, rotation, and scale tracks were combined.
- Identified
Basis::scaled()as applying parent/global-space scaling where animatedNode3Dscale tracks required local-space semantics. - Corrected the composition with
scaled_local(), preserving non-uniform scale with the expectedR × Stransform order during TRS animation. - Validated the regression across Godot releases and traced the behavior change back to the introducing engine optimization before submitting the upstream fix.




