A bus / main's OUTPUT destination set — each cell a leg-keyed sink endpoint ({L?, R?}) with
its OWN trimDb / mute / delayMs. The /patch/output/{kind}/{index} row's
one collection field, and the reason a per-destination trim was never a routing verb: the
trim is sub-state OF a destination cell, not a parallel entity.
Legs iterate CHANNEL_ROLE_ORDER, so the surround roles the role map is open for become
decodable by adding a token there and nothing here. At least one leg must be present (a cell
with none names no destination). A same-port pair ({L:x, R:x}) is kept verbatim — it is the
canonical spelling of a mono FOLD (#284), one destination, not two legs, and it is the ONLY
thing that says a destination folds: the retired monoFoldDb is refused here as an unknown
key like any other (amendment 2026-09-07b).
A SET keyed by the ENDPOINT: two cells naming the same legs are one destination, and the first
wins, because the engine's own store holds one trim per endpoint key.
A bus / main's OUTPUT destination set — each cell a leg-keyed sink endpoint (
{L?, R?}) with its OWNtrimDb/mute/delayMs. The/patch/output/{kind}/{index}row's one collection field, and the reason a per-destination trim was never a routing verb: the trim is sub-state OF a destination cell, not a parallel entity.Legs iterate CHANNEL_ROLE_ORDER, so the surround roles the role map is open for become decodable by adding a token there and nothing here. At least one leg must be present (a cell with none names no destination). A same-port pair (
{L:x, R:x}) is kept verbatim — it is the canonical spelling of a mono FOLD (#284), one destination, not two legs, and it is the ONLY thing that says a destination folds: the retiredmonoFoldDbis refused here as an unknown key like any other (amendment 2026-09-07b).A SET keyed by the ENDPOINT: two cells naming the same legs are one destination, and the first wins, because the engine's own store holds one trim per endpoint key.