Thanks for the PR, the issues listed above are indeed resolved.
I see the crossFadeAnimationGroups() are always setting the animation weight at 0 or 1, never in between. Looks like durationMs passed in options is being ignored. I have checked enableAnimationBlending() is already called. Is there anything I am missing to make the blending work?
FIX 1: Start all animations - Instead of stopping animations, all animations are started with weight 0. Both animations must be playing for crossfade to work.
FIX 2: Set initial weight - Set the initial animation (walk) to weight 1 outside the loop for clarity and to ensure it works correctly.
FIX 3: Increased duration - Changed durationMs from 1 to 1000ms (1 second) so you can actually see the transition happening.
FIX 4: Proper animation management - All animations are now properly managed with correct play/stop states for crossfading.