zebra-report/web
Russell Ballestrini 81b237eaa7
zebra-spaces: listeners auto-spotlight the latest screen — audience experience
Per fox: 'listeners should be able to see all shared screens as audience'.

Listeners are passive — they're not running the meeting, they're
watching. So they shouldn't have to know they CAN click the screen
thumbnail to see the screen big; the system should auto-promote the
most recent screen-share into their spotlight.

Promotion rules in renderVideoTile when a new tile arrives:
  - no spotlight up      → first tile auto-promotes (anyone)
  - listener + new screen + spotlight is camera/game
                         → switch to the screen (load-bearing content)
  - listener + new screen + spotlight is older screen
                         → switch to the newer screen
  - listener + new camera
                         → do NOT override an active screen spotlight
  - speakers + new anything
                         → keep their manual choice

All other screens stay in the screens-thumbs column as before, so a
listener can still click any prior screen to view it. The thumbnails
of arriving cameras / screens still render normally — listeners just
get the new screen pre-spotlit instead of buried.

Speakers / hosts keep their existing behavior: first tile auto-
spotlights, subsequent tiles become thumbnails, manual click swaps.
2026-06-02 11:32:09 -04:00
..
blog phase 1: unfirehose reconstruction from session JSONL ingest 2026-05-27 13:51:14 -04:00
fonts phase 2: gap analysis — cat>> append + binary asset recovery 2026-05-27 13:54:19 -04:00
chat.html css: .row uses minmax(0, max-content) so long labels shrink + wrap 2026-06-02 09:27:55 -04:00
host-your-own.html zebra: dark mode default on all pages + unified theme key 2026-06-01 22:18:02 -04:00
how-it-works.html zebra: dark mode default on all pages + unified theme key 2026-06-01 22:18:02 -04:00
index.html web: bump mobile body padding from 1rem to 1.25rem so the right edge has visible breathing room 2026-05-31 14:13:25 -04:00
kernel.html web: bump mobile body padding from 1rem to 1.25rem so the right edge has visible breathing room 2026-05-31 14:13:25 -04:00
stamp.js web: stamp each zebra-report page with build date + md5/sha256 2026-05-28 17:50:12 -04:00
zebra-audio.html css: .row uses minmax(0, max-content) so long labels shrink + wrap 2026-06-02 09:27:55 -04:00
zebra-spaces.html zebra-spaces: listeners auto-spotlight the latest screen — audience experience 2026-06-02 11:32:09 -04:00