A patch routine returns only the modifications to apply on the state
A routine is launched by the runner, takes a state and a clock and returns a new reference to the state if updated
A runner takes a state and a clock, applies the routines on the state and updates the clock, creating new references in case of modifications
A runner returns a tuple composed of the updated state and the updated clock
Represents any state object
Partial utility type for nested object fields
Creates a basic clock
A clock initialized with default values using Date API
Helper to transform a patch routine into an usable routine
A routine returning only modifications to apply on the state
The patched state
Creates a runner with variable time delta clamped between two min-max values
The min value for the delta
The max value for the delta
A variable time step runner updating the clock each tick and applying routines' behaviors on the state
Deeply patches the state
State to patch
Modification object, partially represents the state and can have nested fields
The patched state
A basic clock