Two changes: 1. SPEAKER_PLAYOUT_DELAY_SEC: 0.5 → 4.0. Cohost on Fedora Chrome was glitching during host's X11 wiggles because 0.5s mesh cushion was shorter than typical wiggle stalls. Fox 2026-06-04: "we needed 4 secs before for the wiggle. it was at least 4 secs for 20 sec wiggles; we didn't test less." Speaker conversation latency goes from ~500ms to ~4s round-trip — accepted trade for wiggle-immunity. Future twin-stream double-dragon controller (mesh + HTTP /stream parallel, adaptive switching based on observed loss/jitter + hardware/network/feed performance) will reclaim conversational latency while keeping the glitch floor. 2. HTTP /stream lip-sync override. When the per-speaker stream toggle is ON for a publisher, audio comes from an <audio> element with its own deep buffer (~2.5s), not the worklet. Previously the lip-sync algorithm kept driving from the (silent) worklet's measurement → video target stayed at the worklet's ~4s while audio actually was ~2.5s → 1.5s mouth- leads-voice. Now startStream sets httpLipSyncOverride[pubHex] = HTTP_STREAM_DELAY_SEC and forces an immediate retarget via applyLipSyncForPub. stopStream clears the override and the next worklet 'buffered' message restores worklet-driven targeting. Constants kept conservative — HTTP delay is hardcoded at 2.5s; could be made dynamic by reading audio.buffered.end(0) - audio.currentTime plus an Ogg-granule offset, but the spread is small relative to the 80ms perception threshold. Fox 2026-06-04 framing: "think of it like a CD that is literally being skipped in a physical disc man and solve it with two lasers one moving fast mesh as fast as possible and one for the broadcast also as fast as possible dynamic based on not hardware fingerprint but hardware performance and network performance and feed performance double headed hydra! double dragon!" — Phase 2 lands the auto-engage controller per that spec. |
||
|---|---|---|
| .. | ||
| blog | ||
| fonts | ||
| chat.html | ||
| host-your-own.html | ||
| how-it-works.html | ||
| index.html | ||
| kernel.html | ||
| stamp.js | ||
| zebra-audio.html | ||
| zebra-spaces.html | ||