zebra-report/web
Russell Ballestrini a64dcc29c7
zebra-spaces: thumbnails stay put — gray + 'viewing' overlay instead of disappearing
Per fox: never hide a thumbnail when its tile is up big. Instead gray
out the thumbnail and overlay 'viewing' so the mapping between thumb
and spotlight is always visible.

Implementation:
- thumbnails are now permanent — created once when the tile arrives
  and never moved out of the cameras column
- spotlight builds a SEPARATE big tile DOM pointing at the same
  MediaStream via srcObject; multiple <video> elements share one
  stream cleanly in every browser we care about
- thumb gets a .viewing class when its tile is the current spotlight;
  CSS dims the video to 35% opacity and shows a 'VIEWING' overlay
  centered on the tile
- clicking the viewing thumb is a no-op (already up); cursor changes
  to default + hover outline suppressed so the user can tell
- renderVideoTile mirrors stream into spotlight's video element when
  the same tile is currently spotlit (handles stream-swap on
  reconnect / renegotiation)
- removeVideoTile tears the big tile too when its thumb leaves; if
  the spotlight goes away pickNextSpotlight promotes a screen first
  then a camera
2026-06-02 10:29:59 -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: thumbnails stay put — gray + 'viewing' overlay instead of disappearing 2026-06-02 10:29:59 -04:00