zebra-report/web
Russell Ballestrini 7ddedc9a09
zebra-spaces: speakers can toggle camera (1280x720 @ 1.5Mbps), separate publish
Camera is a third SFU publisher alongside mic and screen — same multi-
track pipeline, kind=camera suffix on streamID, own #cameras grid in
the timeline column (multi-column auto-fill so multiple face cams fit
without dwarfing a screen share above them).

- new UI: share-camera / stop-camera buttons + device selector in the
  same share section. Camera-select restart triggers a clean unpub +
  re-pub because deviceId change needs renegotiation anyway.
- new state: sfuCameraPC/Stream/PeerID + cameraStreams/cameraVideos maps
- subscribe ontrack: generic colon-split routes pubkey:screen/camera
  to the right tile renderer; back-compat for the existing :screen path
- renderScreenTile + removeScreenTile refactored to a kind-parametric
  renderVideoTile via a TILE_KINDS map; the old names stay as thin
  shims so callers don't change
- role demotion + leave + peer-left + boot all clean up cameras too
- contentHint='motion' for face-cam (vs 'detail' on screen)
- camera bitrate capped at 1.5Mbps so screen-share headroom isn't
  cannibalised when both are publishing simultaneously

Paired with SFU change zebra-spaces-sfu#017c94b which allowlists
kind=camera alongside screen.
2026-06-01 20:43:49 -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 zebra-spaces: start remote screen tiles muted + add unmute button — fixes mobile autoplay 2026-06-01 20:02:03 -04:00
host-your-own.html zebra-spaces: start remote screen tiles muted + add unmute button — fixes mobile autoplay 2026-06-01 20:02:03 -04:00
how-it-works.html zebra-spaces: start remote screen tiles muted + add unmute button — fixes mobile autoplay 2026-06-01 20:02:03 -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 zebra-spaces: start remote screen tiles muted + add unmute button — fixes mobile autoplay 2026-06-01 20:02:03 -04:00
zebra-spaces.html zebra-spaces: speakers can toggle camera (1280x720 @ 1.5Mbps), separate publish 2026-06-01 20:43:49 -04:00