pub trait SignalMap:
Send
+ Sync
+ 'static {
type Key;
type Value;
// Required method
fn register_boxed_signal_map(
self: Box<Self>,
world: &mut World,
) -> SignalHandle;
// Provided method
fn register_signal_map(self, world: &mut World) -> SignalHandle
where Self: Sized { ... }
}Expand description
A composable node in jonmo’s reactive dependency graph, specialized for diff-based
BTreeMap reactivity.
Unlike Signal which forwards complete values, a SignalMap propagates MapDiff
values describing incremental mutations to an underlying keyed collection. This diff-based
approach enables constant-time reactive updates regardless of map size; only the changes
are transmitted and processed, not the entire map.
Downstream consumers receive a stream of MapDiff variants (Insert,
Update, Remove, etc.) that they can apply to
maintain a synchronized view of the source data.
For the general signal graph runtime model, registration pattern, flow control semantics, and
composition strategies, see the Signal trait documentation, which also applies to
SignalMap.