A state maintainer for a smooth transition between numerically-specified states. Example numeric states include floats or Transform objects. An initial state is set with the constructor or set(startState). A corresponding end state and transition are set with set(endState, transition). Subsequent calls to set(endState, transition) begin at the last state. Calls to get(timestamp) provide the interpolated state along the way. Note that there is no event loop here - calls to get() are the only way to find state projected to the current (or provided) time and are the only way to trigger callbacks. Usually this kind of object would be part of the render() path of a visible component.
Add transition to end state to the queue of pending transitions. Special Use: calling without a transition resets the object to that state with no pending actions
Cancel all transitions and reset to a stable state
Add delay action to the pending action queue queue.
Get interpolated state of current action at provided time. If the last action has completed, invoke its callback.
Is there at least one action pending completion?
Halt transition at current state and erase all pending actions.