Owner report 2026-09-30 (beta ec70a7b): on every cut, the multiview's second row redraws and moves side to side.
Measured in that session:
- Every Take dropped the multiview source list from 9 to 8 for one sync (~200 ms). 13 takes in 15 s, all the same.
- The dropped tile was always CoreVideo Producer (the app's own Zoom user, camera off, show slot 9).
- The wall reflowed from 5+4 to 4+4 and back.
- The verbose shell log at the 20:34:53 Take shows
mv-resolve: slot9 pid=16790528 resolved=False inside the coalesced structural participant rebuild. About 70 ms later it was resolved=True.
- So the participant list the shell resolved slots against was missing the producer for one apply.
- The core's
multiviewer.sourceCount is just the size of the list the shell sent; the core is a faithful renderer here.
- Screen recording frames (2.5 s): the 4-wide reflow and back.
Not reproduced in a fresh session. The app was restarted and rejoined. 12 control-API Takes plus operator UI Takes, with Engine off and on, and with 9 and 10 sources: no dips. The trigger appears to be state that accumulates over a long session (that one had run since 18:12, with roster changes).
Unknown: where the short participant list comes from.
Mitigation and diagnostics: in the linked PR.
Owner report 2026-09-30 (beta ec70a7b): on every cut, the multiview's second row redraws and moves side to side.
Measured in that session:
mv-resolve: slot9 pid=16790528 resolved=Falseinside the coalesced structural participant rebuild. About 70 ms later it wasresolved=True.multiviewer.sourceCountis just the size of the list the shell sent; the core is a faithful renderer here.Not reproduced in a fresh session. The app was restarted and rejoined. 12 control-API Takes plus operator UI Takes, with Engine off and on, and with 9 and 10 sources: no dips. The trigger appears to be state that accumulates over a long session (that one had run since 18:12, with roster changes).
Unknown: where the short participant list comes from.
Mitigation and diagnostics: in the linked PR.