Skip to main content

Module composition

Module composition 

Source
Expand description

Composition dispatcher — THE typed execution path for routed effects.

Wave-b V2 rebuilds composition dispatch as a typed, mandatory runtime seam. The deleted composition_dispatch.rs and recompute_mob_peer_overlay*.rs (wave-a tombstones ce2dbe35e / f5e366f38) were stringly-typed helpers that callers opted into. This module is their structural opposite:

The default catalog-backed dispatcher (CatalogCompositionDispatcher) consumes a RouteTable built from any meerkat_machine_schema::CompositionSchema and delivers each resolved RoutedInputDescriptor to a per-consumer-instance ConsumerSurface supplied at wire-up. The per-composition codegen module emitted by meerkat-machine-codegen (B-4 + B-4b) plugs in as the ProducerEffect implementation — route_to_input is equivalent to consulting the RouteTable built from the same schema.

Re-exports§

pub use route_table::RouteTable;
pub use route_table::RouteTableError;
pub use route_table::RoutedInputDescriptor;
pub use route_table::RoutedSignalDescriptor;

Modules§

route_table
Typed route index consumed by super::CatalogCompositionDispatcher.

Structs§

CatalogCompositionDispatcher
Default catalog-backed dispatcher.
CatalogCompositionSignalDispatcher
Default catalog-backed signal dispatcher.
DispatchOutcome
Outcome when a routed effect is successfully dispatched.
ProducerInstance
Typed identity of the producing machine instance inside a composition.
RouteKey
Typed route key: (composition, route).
SignalDispatchOutcome
Outcome when a routed signal is successfully dispatched.

Enums§

CompositionBinding
Typed binding attached to a runtime that holds a dispatcher.
DispatchRefusal
Reasons the dispatcher refuses a routed effect.
EffectPayload
Typed effect payload. Generic over the producer composition’s seam-effect sum (see the codegen-emitted {Composition}Effect enum).
FieldValue
Typed view over a producer-field value projected through a route binding.
OwnedFieldValue
Owned counterpart of FieldValue used when delivering a routed input across the consumer-surface boundary. Moving owned values means the consumer can construct its typed input without re-borrowing the producer.
SignalDispatchRefusal
Reasons the signal dispatcher refuses a routed signal.
SignalPayload
Typed signal-route payload. Generic over the producer composition’s seam-signal sum.

Traits§

CompositionDispatcher
Composition dispatcher trait.
CompositionSignalDispatcher
Composition signal dispatcher trait.
ConsumerSurface
Delivery surface for one consumer instance inside a composition.
ContextProvider
Typed, owner-supplied context provider for an OwnerProvided binding.
ProducerEffect
Marker trait for the seam-effect sum emitted by meerkat-machine-codegen::render_composition_driver. Producer effect enums implement this to expose the typed variant id alongside their domain body — the dispatcher consults it without inspecting the enum.
ProducerSignal
Marker trait for the seam-signal source sum consumed by CompositionSignalDispatcher.
SignalConsumerSurface
Delivery surface for one signal-consuming instance inside a composition.