Commits
the text modes now display the channel's chat in a column at bottom-right:
place.stream.chat.message records over Jetstream, filtered by streamer DID
(?channel=, default pdx.atproto.camp). chatter handles resolve via DID doc
(plc or did:web), name colors come from each chatter's
place.stream.chat.profile with a luminance floor for legibility, and
firehose deletions remove messages. Noto Color Emoji is embedded
(unicode-range subsets) so emoji render identically on the Linux stream
host. chat needs network; everything else still works offline.
it is the only page, and the root URL now works for local preview and
any future hosting.
scene.html replaces starting-soon/thank-you/background.html as a single
persistent Browser Source. It listens to window.obsstudio events:
obsSceneChanged picks the mode by scene-name keywords (soonMatch /
thanksMatch params), obsStreamingStarted plays a board-wide ripple plus
the text entrance. Entrances no longer run on page load, so the
animation is reserved for moments viewers see; text-zone dimming and
scrim now ease in and out with mode changes. Keyboard test controls
(1/2/0/r/l) stand in for OBS events in a regular browser.
background.html is the same Truchet board at a middle cadence with no
copy block, scrim, or dimmed corner, for layering slides and screen
shares on top.
starting-soon.html and thank-you.html are self-contained browser sources
(1920x1080, embedded Bricolage Grotesque + Sometype Mono, text via URL
params). PRODUCT.md and DESIGN.md carry the design context; README covers
OBS setup.
the text modes now display the channel's chat in a column at bottom-right:
place.stream.chat.message records over Jetstream, filtered by streamer DID
(?channel=, default pdx.atproto.camp). chatter handles resolve via DID doc
(plc or did:web), name colors come from each chatter's
place.stream.chat.profile with a luminance floor for legibility, and
firehose deletions remove messages. Noto Color Emoji is embedded
(unicode-range subsets) so emoji render identically on the Linux stream
host. chat needs network; everything else still works offline.
scene.html replaces starting-soon/thank-you/background.html as a single
persistent Browser Source. It listens to window.obsstudio events:
obsSceneChanged picks the mode by scene-name keywords (soonMatch /
thanksMatch params), obsStreamingStarted plays a board-wide ripple plus
the text entrance. Entrances no longer run on page load, so the
animation is reserved for moments viewers see; text-zone dimming and
scrim now ease in and out with mode changes. Keyboard test controls
(1/2/0/r/l) stand in for OBS events in a regular browser.