We have implemented a system to support key frame animations for parts.

The first part to use this is an extendable/retractable Solar Panel part.

A key frame animation tree is created and exported as a separate glb format file and the animation is then defined and loaded into a  KeyframeAnimationModule on the related part via the XML files.

The KeyframeAnimationModule then controls the running of the animation via Deploy/Retract button pressed by the player, but can also be driven programatically via other code for other usages.

Further to this we have also implemented solar tracking that will animate/turn a part towards the Sun. This is done via the implementation of a SolarTracker part module. This module will look for a Keyframeanimation module and if present will respect the animation state (Deployed/retracted) and only when Deployed it will rotate the part's subparts to point towards the sun when in sunlight.

We bring that all together and you get a fully functioning deployablke solar panel that tracks the sun and produces electric charge.

All of these part modules can be implemented together or separately on other parts to make use of their functionality as needed for other parts.