One live SINK node as the resolver needs it: its node name and its playback ports in
canonical role order — ports[0] is the L leg, ports[1] the R (the order
parsePwDump already emits, FL/FR first, then the rest by port id, which puts a pro
profile's playback_AUX0/AUX1 in exactly those slots). Structurally satisfied by the
engine's IoNode, so the patchbay's existing enumeration feeds this directly.
One live SINK node as the resolver needs it: its node name and its playback ports in canonical role order —
ports[0]is the L leg,ports[1]the R (the orderparsePwDumpalready emits, FL/FR first, then the rest by port id, which puts a pro profile'splayback_AUX0/AUX1in exactly those slots). Structurally satisfied by the engine'sIoNode, so the patchbay's existing enumeration feeds this directly.