internal void SetValue(float value, ulong updateTick)
    {
        if (updateTick > pendingTick)
        {
            lastState = thisState;
            nextState.Reset();
            pendingTick   = updateTick;
            pendingCommit = true;
        }

        nextState.RawValue = value;
        nextState.Set(value, stateThreshold);
    }
 public void ClearInputState()
 {
     lastState.Reset();
     thisState.Reset();
     nextState.Reset();
 }