mirror of
https://github.com/hanzo-apps/world.git
synced 2026-10-30 14:53:09 +00:00
Layout/style batch: 1. Bigger default widgets — the 160px column FLOOR stays (fine map column-resize), but auto-placed panels now default to `grid-column: span 2` (~324px) instead of a 160px sliver. Map keeps full-width; height tiers untouched (still shrink to span-0). 2. Immersive mode (?layout=immersive, persisted) — body.immersive promotes the map to a fixed full-viewport background; panels float above as a translucent (#0a0a0acc + backdrop-blur) column docked right, still drag/resize/close-able. One background slot = map | video: the video option mounts the muted live-news YouTube embed as a fixed BG. Collapse-to-edge affordance slides the column off so the globe breathes. Escape / the header toggle returns to the grid; state survives reload. New service src/services/immersive.ts owns the state; App only wires header chrome to it. 3. Layers selector UX — the collapsed layer list is now a draggable panel (header grip, position persisted) with pointer drag-and-drop reordering of its entries (order persisted, purely cosmetic). Contained in DeckGLMap. 4. Calmer globe — AUTO_ROTATE_DEG_PER_SEC halved 4 -> 2 in BOTH renderers (GlobeNative, the active 3D globe, and the mapbox DeckGLMap globe — kept identical by design). 5. Nicer basemaps — a small dark/satellite/terrain switcher under the 2D/3D toggle (2D mapbox renderer). One setStyle path re-adds fog/atmosphere/projection + drapes terrain over the Mapbox DEM (exaggeration 1.4) on style.load; deck overlay survives. satellite/terrain require VITE_MAPBOX_TOKEN — gated (disabled) without one so the map never breaks. Data dots gain a thin dark halo over bright rasters (deck-canvas only). Gates: typecheck + build green; e2e globe-overlay + panel-drag green; globe.spec auto-rotate band updated to the new 2°/s. Deliverable screenshots under e2e/screens/. Co-authored-by: Hanzo Dev <[email protected]>
96 KiB
1280x800px
96 KiB
1280x800px