namespace Sandbox.Interpolation; /// /// State information about a . Used for interpolation buffer. /// struct RotationState { public readonly Rotation Rotation; public RotationState( Rotation rotation ) { Rotation = rotation; } public static IInterpolator CreateInterpolator() => Interpolator.Instance; private class Interpolator : IInterpolator { public static readonly Interpolator Instance = new(); public RotationState Interpolate( RotationState a, RotationState b, float delta ) { return new( Rotation.Lerp( a.Rotation, b.Rotation, delta ) ); } } }