[][src]Module moxie::runtime

Integration points for the moxie runtime. Generally not called directly by applications.

To integrate moxie with an existing system, a Runtime must be created with a user-provided root closure to execute each Revision. If the embedding system will change its scheduling based on mutations of moxie state variables (e.g. scheduling a new frame render), then it should also call Runtime::set_state_change_waker to be notified when state values have been updated.

Once these have been created, the embedding system should call Runtime::run_once whenever appropriate for the context. This may be on a regular cadence (i.e. once per frame interval) or only when state mutations have occurred (as is the default in moxie-dom).

Structs

Revision

Revisions measure moxie's notion of time passing. Each Runtime increments its Revision on every iteration. crate::Commits to state variables are annotated with the Revision during which they were made.

RunLoop

A Runtime that is bound with a particular root function.

Runtime

The primary integration point between moxie and an embedding environment. Owns the cache and state for a moxie application. Each instance is independent.