Godstrument/viz
type-two 0a4c28b4c2 the commune (play together via hub relay) + the stage (project to screens)
- hub.py: commune relay — {commune:{room,...}} messages are broadcast verbatim
  to other clients in the same room (allowed even on the read-only public hub;
  peer state never touches hub state). Room tag per ws, cleaned on disconnect.
- viz commune: join a room by word (panel via sky menu), claim voices and the
  godtime from right-click menus or the panel picker; owned sections (mute/
  level/trim, groove steps+on, arranger lane, bpm) diff-sync every 600ms;
  claims/take-overs announced in the ticker; late joiners get re-claims.
  Verified two-way through the live hub: peer state applied (level 1.70x),
  page claims relayed to peers. Bluetooth deliberately not used — a web page
  cannot be a BT peer; the hub is the meeting place, LAN or planet-wide.
- viz stage: window.open + canvas.captureStream(30) mirror window for
  projectors/AirPlay displays; double-click fullscreen; camera modes: whole
  view / follow one node / frame a station+satellites (smoothed glide),
  switchable live from the right-click menus.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 22:39:51 +10:00
..
index.html the commune (play together via hub relay) + the stage (project to screens) 2026-07-05 22:39:51 +10:00