game room voice: light the burger voice btn for seated gamers across ROLE/SIG/SKY_SELECT; keep POST's composer inline (OK beside the input) — TDD
Voice (Phase C, room path) — the my_sea voice mesh now extends to the epic game room. room_view sets voice_active for a SEATED gamer (a TableSeat with their gamer) while table_status is in {ROLE_SELECT, SIG_SELECT, SKY_SELECT} — from ROLE_SELECT onset (all tokens committed, seats pre-created by pick_roles) continuously through SKY_SELECT, which hosts the in-page DRAW SEA felt; dark at IN_GAME. voice_room_id = the room UUID (the WebRTC mesh key), voice_muted_at = the persisted mute so an in-arc nav/refresh rejoins muted (mirrors my_sea). The burger fan's shared #id_voice_btn lights .active + carries data-room-id; room.html now includes voice-glow.js (the glow/pulse machine, coexisting w. the sea-btn glow handoff).
No consumer/JS change needed: RoomVoiceConsumer._can_join already gates an epic room on TableSeat membership, the ws/voice/<str:room_id> route serves both mysea-… + bare-UUID keys, and burger-btn.js/voice-mesh.js read data-room-id generically. TDD: RoomVoiceActivationTest (9 ITs — active across the arc, dark at IN_GAME, dark for a non-seated viewer, room-id = UUID, muted-at passthrough) + RoomVoiceConsumerEpicGateTest (2 channels ITs — seated gamer admitted + receives welcome; non-seated refused). 390 epic-view + 11 voice channels ITs green.
- _room.scss: POST composer kept as a flex row — the OK btn sits inline beside the 'Enter a post line' input (the felt/pill chrome stays salvaged in YARN, but the input<->OK row layout is retained; follow-up to 577ef30).
- bundled (parallel work): _room.scss reelhouse h2 font --priUser -> --secUser (SCROLL/POST/PULSE); rootvars.scss chroma-hue primaries brightened (yellow/lime/cyan/indigo/violet/fuschia/magenta).
[[project-my-sea-invite-voice-blueprint]] [[project-character-creation-spec]]
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -205,7 +205,7 @@ html.sea-open .room-aperture.is-scrollable {
|
||||
|
||||
// SCROLL — provenance feed. --priUser font on a --sixUser strip.
|
||||
.room-view--scroll .applet-scroll > h2 {
|
||||
color: rgba(var(--priUser), 1);
|
||||
color: rgba(var(--secUser), 1);
|
||||
background-color: rgba(var(--sixUser), 1);
|
||||
}
|
||||
|
||||
@@ -295,7 +295,7 @@ html.sea-open .room-aperture.is-scrollable {
|
||||
// --priUser font on a --sepUser strip.
|
||||
.room-view--post {
|
||||
.applet-scroll > h2 {
|
||||
color: rgba(var(--priUser), 1);
|
||||
color: rgba(var(--secUser), 1);
|
||||
background-color: rgba(var(--sepUser), 1);
|
||||
}
|
||||
|
||||
@@ -310,11 +310,25 @@ html.sea-open .room-aperture.is-scrollable {
|
||||
min-height: 0;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
// Composer stays a flex row: the OK btn sits inline beside the "Enter a
|
||||
// post line" input (the felt/pill chrome moved to YARN, but the
|
||||
// input↔OK row layout is retained — user-spec). Same row as New Post.
|
||||
.post-line-form {
|
||||
flex-shrink: 0;
|
||||
|
||||
.composer-row {
|
||||
display: flex;
|
||||
gap: 0.5rem;
|
||||
align-items: center;
|
||||
}
|
||||
.composer-row input.form-control { flex: 1; min-width: 0; width: auto; }
|
||||
}
|
||||
}
|
||||
|
||||
// PULSE view — forthcoming. --priUser font on an --octUser strip.
|
||||
.room-view--pulse .applet-scroll > h2 {
|
||||
color: rgba(var(--priUser), 1);
|
||||
color: rgba(var(--secUser), 1);
|
||||
background-color: rgba(var(--octUser), 1);
|
||||
}
|
||||
|
||||
|
||||
@@ -365,9 +365,9 @@
|
||||
--terUser: var(--priMze);
|
||||
--quaUser: var(--priPmm);
|
||||
--quiUser: var(--terPmm);
|
||||
--sixUser: var(--priFor);
|
||||
--sepUser: var(--terFor);
|
||||
--octUser: var(--priCfw);
|
||||
--sixUser: var(--terCfw);
|
||||
--sepUser: var(--terMze);
|
||||
--octUser: var(--secCfw);
|
||||
--ninUser: var(--priCtn);
|
||||
--decUser: var(--terCtn);
|
||||
}
|
||||
@@ -378,8 +378,8 @@
|
||||
--terUser: var(--priFs);
|
||||
--quaUser: var(--priCfw);
|
||||
--quiUser: var(--terCfw);
|
||||
--sixUser: var(--terId);
|
||||
--sepUser: var(--secId);
|
||||
--sixUser: var(--secId);
|
||||
--sepUser: var(--quaId);
|
||||
--octUser: var(--terFs);
|
||||
--ninUser: var(--sixPu);
|
||||
--decUser: var(--terPu);
|
||||
|
||||
Reference in New Issue
Block a user