[][src]Module moxie::embed

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.

Runtime

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