ElmishLoop<'Model, 'Msg> Type
The shared message-processing loop used by every Mibo host
(RaylibGame, HeadlessRunner, future backends).
Owns all mutable loop state: the dispatch queue, current model, active subscriptions, deferred-effect buffers, and the fixed-step accumulator. Hosts call ElmishLoop.Init once after registering backend services, then ElmishLoop.TickFrame each frame.
Instance members
| Instance member |
Description
|
|
The GameContext passed to ElmishLoop.Init, if initialized.
|
Full Usage:
this.Dispatch
Parameters:
'Msg
|
Dispatch a message into the loop's queue.
|
Full Usage:
this.DisposeSubs
|
Dispose all active subscriptions. Hosts should call this on shutdown. |
|
Initialize the loop: store the context, call the program's Call exactly once, after the host has registered backend services.
|
Full Usage:
this.Model
Returns: 'Model
|
The current model state.
|
Full Usage:
this.ShouldQuit
Returns: bool
|
Whether the loop has received a
|
|
Advance the simulation by one frame: drain deferred effects, run fixed-step, dispatch the tick message, process all queued messages, and update subscriptions if any messages were processed this frame.
Subscription re-evaluation is keyed on "messages were processed" rather than
"the model is structurally different", because Mibo permits in-place mutable
models (e.g. a class whose fields are mutated by each system) whose
|
Mibo