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