Leaderboard jankiness removed
I had been using Godot's AnimationPlayer to animate the opening and closing of the leaderboard, and in an attempt to extend that easily to other and future menu sections I attempted to put all of the animation into an abstract scene with code that would examine the contents of the scene and adjust the animation data to match.
This took much code to accomplish, as the raw animation data in Godot isn't meant to be easily accessible, but I did get it working. Somewhat. For reasons I still do not understand, the second half of the animation worked perfectly in the editor but when run in the standalone game it jumped from one keyframe's sizing to the next without interpolating in between at all. With some margins and other things cleaned up, this could have looked intentional but it wasn't what I wanted.
Well, it turns out there's a reason Godot makes the animation data hard to get at and a pain to modify, and that reason is Tweens. Until Godot gets Blender-style drivers in attributes, Tweens are the only practical method to define animation parameters with code. The only downside is that all of the animation must then be done in code, which means a compile and run step to iterate on it. But it's faster, smoother, and most importantly, less janky than the AnimationPlayer method.
