allow the propagation to handle dynamic access to reactives
allow the propagation to handle dynamic access to reactives
Creates the internal state of Deriveds
Creates the internal state of Deriveds
Locks (and potentially otherwise prepares) all affected reactive values to prevent interfering changes.
Locks (and potentially otherwise prepares) all affected reactive values to prevent interfering changes.
List of affected reactive values
Unlocks (and potentially otherwise reverts the propagation preparations for) each reactive value to allow future turns to run on them.
Unlocks (and potentially otherwise reverts the propagation preparations for) each reactive value to allow future turns to run on them.
Commits all uncommitted changes to the reactive element.
Commits all uncommitted changes to the reactive element.
Overrides the evaluator, this is essentially an inlined callback
Overrides the evaluator, this is essentially an inlined callback
Starts the propagation by applying the initial changes
Starts the propagation by applying the initial changes
to be implemented by the propagation algorithm, called when a new reactive has been instantiated and needs to be connected to the graph and potentially reevaluated.
to be implemented by the propagation algorithm, called when a new reactive has been instantiated and needs to be connected to the graph and potentially reevaluated.
the newly instantiated reactive
a set of incoming dependencies
true if the reactive must be reevaluated at creation even if none of its dependencies change in the creating turn.
Creates the internal state of ReSources
Creates the internal state of ReSources
Call all registered after-commit obverser functions.
Call all registered after-commit obverser functions.
Performs the actual propagation, setting the new (not yet committed) values for each reactive element.
Performs the actual propagation, setting the new (not yet committed) values for each reactive element.
hook for schedulers to globally collect all created resources, usually does nothing
hook for schedulers to globally collect all created resources, usually does nothing
Reverts all uncommitted changes to the reactive element.
Reverts all uncommitted changes to the reactive element.
Schedules a temporarily written change to be committed by the turn.
Schedules a temporarily written change to be committed by the turn.
Further implementation of level-based propagation based on the common propagation implementation.