hex position indicators: chair icons at hex edge midpoints replace gate-slot circles

- Split .gate-overlay into .gate-backdrop (z-100, blur) + .gate-overlay modal (z-120) so .table-position elements (z-110) render above backdrop but below modal
- New _table_positions.html partial: 6 .table-position divs with .fa-chair, role label, and .fa-ban/.fa-circle-check status icons; included unconditionally in room.html
- New epic:room view at /gameboard/room/<uuid>/; gatekeeper redirects there when table_status set; pick_roles redirects there
- role-select.js: adds .active glow to position on selectRole(); swaps .fa-ban→.fa-circle-check in placeCard onComplete; handleTurnChanged clears stale .active from all positions
- FTs: PositionIndicatorsTest (5 tests) + RoleSelectTest 8a/8b (glow + check state)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Disco DeDisco
2026-03-30 18:31:05 -04:00
parent 8b006be138
commit a8592aeaec
11 changed files with 370 additions and 35 deletions

View File

@@ -40,7 +40,7 @@
margin: 0;
padding: 0;
border: none;
border-top: 0.1rem solid rgba(var(--terUser), 0.3);
border-top: 0.1rem solid rgba(var(--quaUser), 1);
background: rgba(var(--priUser), 0.97);
z-index: 316;
overflow: hidden;
@@ -81,7 +81,7 @@
text-transform: uppercase;
text-decoration: underline;
letter-spacing: 0.12em;
color: rgba(var(--secUser), 0.35);
color: rgba(var(--quaUser), 0.75);
writing-mode: vertical-rl;
text-orientation: mixed;
transform: rotate(180deg);
@@ -117,8 +117,8 @@
.kit-bag-placeholder {
font-size: 1.5rem;
opacity: 0.3;
padding: 0 0.125rem;
color: rgba(var(--quaUser), 0.3);
}
}