pub struct CrossingRepairRecord {
pub faces: (u64, u64),
pub point: Vec3,
pub straddle: f64,
pub dropped: Vec<(u64, usize)>,
pub retired: Vec<(u64, usize)>,
pub retrimmed: Vec<u64>,
pub breakout: Option<(u64, u64)>,
}Expand description
One self-crossing this module REPAIRED rather than refused.
A repair changes the answer a lane returns, so it is never silent: the
feature that ran it carries this in its own result
(FeatureResult::notes), and the case gate records it per case. The
ledger is the carrier between the two — accept_sound is called from
lanes with no diagnostics record to write into, and threading one through
every lane exit would be a wider change than the repair itself. Same shape
as the boolean’s CONFORMANCE_REPAIRS counter and the pcurve fit ledger.
Fields§
§faces: (u64, u64)The two faces that crossed.
point: Vec3The crossing point the scan confirmed.
straddle: f64How far past its band the crossing straddled.
dropped: Vec<(u64, usize)>Source faces whose pieces were dropped, with how many pieces of each.
retired: Vec<(u64, usize)>Source faces the repair RETIRED a leftover from, with how many: a piece the drop left joined to nothing, or a whole loop of a face that nothing else answers for. Either way it is what the OLD configuration left on the body, and the ledger is the only place that says a repair took one off — “a piece was dropped” and “a leftover was retired” are different events.
retrimmed: Vec<u64>The faces the drop RE-TRIMMED: neighbours of the dropped material, which are neither of the crossing pair.
breakout: Option<(u64, u64)>Set when the repair was reached from the HOLE-CONTAINMENT FLOOR rather
than from the scan: the face whose hole loop had left it, and that
loop. point and straddle are then unmeasured and read zero, because
no crossing was confirmed — the floor convicts a containment, not a
crossing.