Bonsai_driverSourceval create :
here:lexing_position ->
?optimize:bool ->
instrumentation:
(Instrumentation.Timeable_event.t, _)
Bonsai.Private.Instrumentation.Config.t ->
time_source:Bonsai.Time_source.t ->
(Bonsai.graph @ local -> 'r Bonsai.t) ->
'r tBuilds a new driver for a bonsai component.
The "main loop" of a bonsai handle is 1. flush - dequeue events and process actions 2. result - compute the final value of the computation 3. trigger_lifecycles - run any lifecycle events for this stabilization
val flush :
?log_before_action_application:(action_sexp:Core.Sexp.t Core.Lazy.t -> unit) ->
?log_on_skipped_stabilization:(action_sexp:Core.Sexp.t Core.Lazy.t -> unit) ->
'a t ->
unitApply all pending actions and stabilize the incremental graph, updating result.
Triggers all lifecycle events that need to be run. Lifecycle events are run in this order: 1. component deactivations 2. component activations 3. after display, which includes things like on_change
Schedules an event
returns true if the lifecycle collection has anything that it wants to do before the display is processed.
returns true if the lifecycle collection has anything that it wants to do after the display is processed.