PlateContext

interface PlateContext

The plate work every band shares, done once per sample.

elevationAt builds one of these and hands it to the three bands that read plates, because all three want the same answer and none of them can cache it: the bands are pure functions of a direction and the direction changes every sample. What it saves is stated in the module header.

across is folded in for the same reason and computed only where it is read: it is the belts' convergence, weighted at BELT_MARGIN, and beltBand is the only band that reads it.

The arc computes its own, and sharing this one was wrong. ARC_MARGIN is inside BELT_MARGIN, which reads as the arc asking for strictly less — but convergence returns total/weight, a normalized mean, and re-weighting a mean moves it in either direction rather than shrinking it. Measured on Earth over the 11,833 of 40,000 directions the arc actually reads: the two disagree in 3,510 of them, worst case a belt reading of 0.0005 — pure transform, no arc at all — against an arc reading of 1.0000, fully convergent with cones at full height, at a boundary of 0.0583 with three plates in range. Through edge · continental · across · cones³ · 1.6 that is 436 m of a 802 m volcanism budget. A second convergence pass costs a loop over two to four plates on the thin band where boundary < ARC_MARGIN, which is what the arc's own gate was already paying for.

across is defined only where edge > 0, and it is zero rather than continuous outside that. It steps at boundary === BELT_MARGIN, where the pair weights go to zero but their normalized ratio does not. Nothing sees it: beltBand multiplies by an edge that is exactly zero there and returns before that anyway, and the arc gates at 0.06. A third consumer, or an ARC_MARGIN raised past BELT_MARGIN, would see it — which is the kind of precondition this whole branch exists because nobody wrote down.

universe/src/bands.ts:275

Members

acrossreadonly

across: number

Relative motion across the nearby boundary: positive convergent, negative divergent, near zero transform. Zero away from every boundary, where no band reads it.

samplereadonly

sample: PlateSample | null