WebOutputBackend
The web output side: a clock and a sink, and no renderer.
No renderer is not a gap, it is the same shape DesktopOutputBackend has. Compose draws the frames through KiteVideo on both, so the backend supplies only what the platform alone can answer. On the web that is the page's clock and its audio device.
The sink is audible now. WebAudioSinkFactory gives an AudioWorklet in a browser and falls back to SilentPacedAudioSinkFactory where Web Audio does not exist, so nodejs and any embedder without it still get a player whose clock runs.