Full-screen map with draggable, collapsible floating HUD windows

- MapLibre map is now a fixed, full-viewport background layer (z-0)
- New FloatingWindow: drag by title bar (pointer capture, viewport-clamped,
  position persisted to localStorage), collapsible to title bar, bring-to-front
  z-index; semi-transparent slate window with amber/cyan accents
- Game screen re-laid out as floating windows over the map: slim top header
  (scenario, turn + date, player nation chip, Idle/Simulating status, Focus map
  collapse-all), dossier (top-left), event feed (right), Your move deck
  (bottom-center), legend (bottom-left), tiny zoom control (bottom-right)
- MapLibre default nav controls removed; custom floating zoom-in/out control
- Panels gain an inWindow mode (no card chrome, same testids)
- server: honor HISTORY_API_PORT as PORT fallback (dev proxy/e2e agreement)
- css: keep maplibre canvas base color and Radix portals above HUD windows
This commit is contained in:
2026-10-10 22:47:08 +00:00
parent e327e9aea0
commit 913d094e11
9 changed files with 994 additions and 363 deletions
+10 -2
View File
@@ -95,9 +95,17 @@
"Helvetica Neue", Arial, sans-serif;
-webkit-font-smoothing: antialiased;
}
/* MapLibre canvas: give the map pane a solid dark base behind the tiles. */
/* MapLibre canvas: give the map pane a solid dark base behind the tiles.
`!important` keeps it from being overridden by maplibre-gl's own
stylesheet (which is imported later in the bundle). */
.maplibregl-canvas {
background-color: var(--background);
background-color: var(--background) !important;
}
/* Radix portals (select dropdowns, tooltips) are rendered on <body>; keep
them above the floating HUD windows, whose z-index grows on every raise. */
[data-radix-popper-content-wrapper] {
z-index: 5000 !important;
}
}