Re indent code and add member to know if the value description is animated value node.
Move the get/set members for interpolation property to Value Node class. Add custom interface for derived classes that can implement it.
Simplify checking of given value description to allow to show the 'Set Interpolation' contextual menu
Simplify code to perform or undo the ValueDescSetInterpolation action based on if the value description is a value node or not.
Add code to save and load interpolation attribute for animated value nodes.
Add members to Value Desc to get static and interpolation attributes.
Add code to show the default interpolation for animated value nodes. This also simplifies the code thanks to previous commits.
Do not show interpolation contextual menu if value is static.
For constant values or parameters use the value default interpolation for new waypoints. For animated values use value node default interpolation. If there is a waypoint on the frame, use its interpolation.
When Adding a waypoint at a frame on an animated value node, use the value node default interpolation if defined, if not defined use the toolbox default.