I have this model rigged and skinned and I want to make an animation for the flag: to expand when the player wants to move (right image) and to go to a resting position when the player stops moving (left image), blending in intermediate states (going to a resting position when not fully expanded and viceversa).

In my head I have two approaches:
1) Create a reference in script to the bone "flag" and interpolate between the resting and expanded global positions through code depending on the player's action.
2) I can create an animation in Blender where on frame 0 the bone is in the resting position and at frame 3 the bone is in the expanded position. Can I setup an animation tree in Godot to blend this single animation to play forwards and backwards depending on the players actions?? Do I need two animations: one that goes from resting to expanded and another from expanded to resting and blend between this two animations??