Re-apply a stored routing graph to the live mixer. Each channel's stored source set replaces its current patch; each output's stored sink replaces its route. Channels / outputs absent from the snapshot are left untouched.
Capture the current routing graph (input patch + output sinks) as a snapshot.
Reads + writes just the live routing graph for the standalone patch store.
The patch store persists only the I/O crosspoint (channel input patch + output sinks), independent of the full mix session, so it depends on this narrow seam rather than the whole ConsoleStateProvider. A provider with no structural surface (a hardware console) captures an empty patch and applies one as a no-op — the routing graph is a software-mixer concept. import('./engine-console-state.js').EngineConsoleStateProvider implements it over the live mixer; tests use a fake.