feat(hud): layer counts, shortcuts, terminator, zoom-gated cams, SWPC #41

Merged
sirius merged 4 commits from osint-dashboard/t_45362857-osint-hud-counts-shortcuts-terminator-zo into master 2026-08-31 23:13:53 -04:00
Owner

Leaflet HUD follow-up from docs/osiris-ideas.md §2 / §6.

  • Layer rail counts: poll GET /api/stats every 30s when it exists; 404 disables the poll and loaders keep using overlay array lengths. Stats failure never blocks the map.
  • Keyboard: ? cheat sheet, L layers, R reset view, Esc close panels. F/S unbound (Osiris conflicts).
  • Day/night terminator: cheap sun-position overlay, LAYERS toggle default off.
  • Camera thumbs: JPEG/HLS only at zoom >= 12; dots below. No rtsp:// hrefs. Masscan still /api/cameras/{id}/snapshot. Preview-unavailable is a message.
  • SWPC chip: browser-direct NOAA Kp (plus optional flares/alerts). Uses /products/alerts.json (not the 404 /json/alerts.json). Hide chip on failure. Poll 90s.

Cheat sheet is centered with side gutters so it does not cover LAYERS / zoom / dock. Phone 390 layout: LAYERS and zoom do not overlap.

Tests: tests/test_hud_osiris.py plus existing frontend contract tests.

Out of scope: MapLibre, CelesTrak, new camera sources, RECON, markets.

Leaflet HUD follow-up from `docs/osiris-ideas.md` §2 / §6. - **Layer rail counts:** poll `GET /api/stats` every 30s when it exists; 404 disables the poll and loaders keep using overlay array lengths. Stats failure never blocks the map. - **Keyboard:** `?` cheat sheet, `L` layers, `R` reset view, `Esc` close panels. F/S unbound (Osiris conflicts). - **Day/night terminator:** cheap sun-position overlay, LAYERS toggle default off. - **Camera thumbs:** JPEG/HLS only at zoom >= 12; dots below. No `rtsp://` hrefs. Masscan still `/api/cameras/{id}/snapshot`. Preview-unavailable is a message. - **SWPC chip:** browser-direct NOAA Kp (plus optional flares/alerts). Uses `/products/alerts.json` (not the 404 `/json/alerts.json`). Hide chip on failure. Poll 90s. Cheat sheet is centered with side gutters so it does not cover LAYERS / zoom / dock. Phone 390 layout: LAYERS and zoom do not overlap. Tests: `tests/test_hud_osiris.py` plus existing frontend contract tests. Out of scope: MapLibre, CelesTrak, new camera sources, RECON, markets.
sirius added 1 commit 2026-08-31 21:40:34 -04:00
Poll GET /api/stats ~30s for rail integers (404 falls back to overlay
array lengths). Keyboard: ? cheat sheet, L layers, R reset, Esc closes
panels; F/S left unbound. Cheap sun-position day/night overlay default
off. Camera/HLS thumbs only at zoom >= 12. NOAA SWPC Kp chip in the
status strip (browser-direct; hide on failure).
sirius added 1 commit 2026-08-31 22:11:08 -04:00
Keep aircraft MIL filter from #35 and HUD setLayerCount helper
(disjoint: mil styling vs layer-count API).
sirius added 1 commit 2026-08-31 22:21:06 -04:00
Keep terminator .lp-dot.night (this PR) and .lp-dot.conflicts from #39.
sirius added 1 commit 2026-08-31 23:13:10 -04:00
Keep cheat-sheet/SWPC CSS (this PR) and place-dossier CSS from #37.
sirius merged commit 91c7ad437c into master 2026-08-31 23:13:53 -04:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: sirius/osint-dashboard#41
No description provided.