Skip to content

fix(web): the soundboard opens above the seated YouTube player - #2380

Merged
janlauber merged 2 commits into
mainfrom
fix/soundboard-over-player
Sep 18, 2026
Merged

janlauber merged 2 commits into
mainfrom
fix/soundboard-over-player

Conversation

@janlauber

Copy link
Copy Markdown
Member

Closes #2379

The seated jukebox player is z-[56] so it clears the stage it sits in. The soundboard's uncovered layer was z-[55], matched to the popped-out stage in #877 and never weighed against the seated player, and its default spot is the top-left of the main column — exactly where the lounge seats the video. So opening the board while watching something put it behind the player, grip included: nothing to press, nothing to drag.

stacking.test.ts already states the rule (#483): RMF forbids our chrome over the player, never a surface the rider pulled open, and "anything the rider opens clears the player". The board is opened and closed by the rider, like the people sheet, so it belongs above the seated player and below the drawers a rider opens on top of it.

  • Soundboard.svelte: uncovered layer z-[57]; the covered drop to z-30 under modals is unchanged.
  • stacking.test.ts: pins the board above the seated player and below the chat sheet, so the next renumbering notices.

🤖 Generated with Claude Code

janlauber and others added 2 commits September 18, 2026 13:35
Refs #2379

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The seated player is z-[56] so it clears the stage it sits in; the board
was z-[55], matched to the popped-out stage and never weighed against the
player. Its default spot is the top-left of the column the lounge seats
the video in, so on the lounge every open landed under the player, grip
included. The stacking rule (#483) puts a surface the rider pulled open
above the player and below the drawers opened on top of it; the test now
pins the board there.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@janlauber

Copy link
Copy Markdown
Member Author

Verified in the running app (worktree dev server + Vite, mixer zeroed on all four channels, a YouTube entry queued over the room's socket, lounge at 1297×1234):

board grip under the pointer board layer seated player layer
before (z-[55] forced inline) the jukebox dock 55 56
after (this branch) the soundboard 57 56

The board opens at 288,128 (364×365) and the player is seated at 273,82 (672×378), so the two overlap on every open of the lounge — with the old layer only the fader's sliver showed under the video's bottom edge, which is the report. elementFromPoint on the grip's centre is what flips between the rows above. No console errors; stacking.test.ts was red at 55 before the change and is green at 57.

@janlauber
janlauber marked this pull request as ready for review September 18, 2026 11:45
@janlauber
janlauber merged commit a3c8658 into main Sep 18, 2026
8 checks passed
@janlauber
janlauber deleted the fix/soundboard-over-player branch September 18, 2026 11:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(web): the soundboard opens behind the seated YouTube player

1 participant