namespace IFSEngine.Animation;
/// <summary>
/// How a bezier keyframe's handle is derived, matching Blender's handle types.
/// </summary>
public enum HandleType
{
/// <summary>Positioned by the user; the two handles are independent.</summary>
Free = 0,
/// <summary>Positioned by the user, but kept collinear with the opposite handle.</summary>
Aligned,
/// <summary>Points at the neighbouring keyframe, making that side of the segment straight.</summary>
Vector,
/// <summary>Derived from the neighbours, smoothing through the key.</summary>
Automatic,
/// <summary>
/// <see cref="Automatic"/>, but flattened where the key is a local extremum and clamped so
/// a segment cannot overshoot its endpoints. Blender's default, and the reason a hold
/// between two equal keyframes stays flat there.
/// </summary>
AutoClamped,
}