How to animate UI panels when not using stretch mode and the window can be resized?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By bigzaphod

Godot has a bunch of stretch options for resizing/scaling the display as the window changes size or aspect ratio, but that seems to assume the game was designed with a fixed size in mind.

I would like to design a responsive game where a larger window/screen means you see more of the 2D world. I don’t want the elements to actually get larger just because they have a larger monitor and I want to be able to anchor UI elements to the top and bottom of the screen.

It seems that in order to do this I have to disable the stretch modes and use anchors and such on UI controls, but then I run into a question of how to do things like present panels that slide up from the bottom or fly in with a nice animation. Is it possible to use the animator for this sort of thing? It seems like all of the control offsets are specified in pixels and that doesn’t make sense when the size of the screen/viewport varies depending on the size of a person’s window/monitor.

Does this mean that all such UI animations/presentations are likely to need to be done manually with code using tweens and scripts that calculate target positions based on the current window size? If so, how can I share this sort of presentation logic among multiple panels that come up with different types of actions? Do they have to share a common ancestor or something? If the window is resized after the tween has happened, how can I make sure it stays in the correct relative position on screen?