pub struct DelayedCutSet {
pub cuts: HashMap<usize, Directive>,
pub boundary_nodes: Vec<usize>,
pub already_isolated: Vec<usize>,
}Expand description
The set of edges a delayed-coupling formation pass must CUT before grouping, plus the tap-mouth boundary nodes each cut exposes as a stage port.
This is the Phase-2a consumer of the Phase-1 BoundaryPolicy rules: it
DERIVES (does not hand-list) the passive edges that bridge a feedback
DETECTOR front-end (whose control electrode is reached from the output side —
a BoundaryPolicy::DelayedSense sink) to the forward audio network. Cutting
those tap-mouth edges de-fuses the detector group from the forward chain so
the forward solve stays causal (the detector is sensed one sample late by a
later phase; 2a only de-fuses).
cuts is keyed by index into graph.edges; the Directive records WHY the
edge was cut (NonMergeCut for a sense tap). boundary_nodes are the cut
edges’ endpoints — the tap-mouth nodes that each become a stage port.
Fields§
§cuts: HashMap<usize, Directive>Edge index (into graph.edges) → the directive that justifies the cut.
boundary_nodes: Vec<usize>Tap-mouth nodes (cut-edge endpoints) to register as SPQR terminals.
already_isolated: Vec<usize>Component indices (into graph.components) of cross-network couplers
whose coupling edge (e.g. EL_drive -> PC1.led) is ALREADY isolated as
EdgeKind::Behavioral in Phase 1 — the graph builder never instantiates
that edge (GraphRole::Edge makes only the LDR side), so it is recorded
here for diagnostics only and NEVER added to cuts (no double-cut, no
double boundary-node).
Trait Implementations§
Source§impl Clone for DelayedCutSet
impl Clone for DelayedCutSet
Source§fn clone(&self) -> DelayedCutSet
fn clone(&self) -> DelayedCutSet
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more