// Recording tests inject this explicitly. Production never substitutes a gain for // protection when AudioWorklet is missing; DSP tests execute the real processor. export const fakeProtectionFactory = { async load() {}, create(context) { const node = context.createGain(); node.port = { onmessage: null, postMessage() {}, close() {} }; return node; } };