Thank you for the detailed report and example files! This is indeed a known issue with the Preview view's handling of looping animations when a different animation is selected in the tree.
What's happening:
When you play a looping animation in the Preview view but have a different animation selected in the tree, the Preview doesn't correctly apply the bezier curves between the last frame and the loop point. Instead, it falls back to linear interpolation, which causes the visible "jump" or incorrect transition you're seeing.
Workarounds:
Keep the same animation selected - As you've discovered, keeping the playing animation selected in the tree will make it preview correctly with proper bezier curves.
Use the Loop option - In the Preview view settings, ensure the loop option is enabled for animations that should loop.
Set stepped curves for loop transitions - For animations that need to loop perfectly, consider setting a stepped curve between your last keyframe and the loop point. This can help ensure consistent behavior.
Good news:
As you noted, the exported data is correct - this only affects the editor preview. Your animations will play properly at runtime in your game.
This is a preview-specific rendering issue that the development team is aware of. The Preview view uses the Spine Runtime (AnimationState) just like your game would, but there are some differences in how it's configured through the editor that can cause these discrepancies.
If you'd like to add more details about your specific use case or see if there are improvements that could help your workflow, you can contribute to the discussion on the GitHub issues page. The team is always interested in feedback that helps prioritize improvements.