GODSIGH/js
jing dadc068271 wave2 phase 1: earthquakes layer (real USGS, time-anchored)
New js/layers/quakes.js — fetches the USGS all_day GeoJSON directly (ACAO:*,
no proxy), refreshes every 5 min regardless of scrub state. Quakes are
time-anchored via availability: in-window quakes appear as the slider crosses
their origin time, older-than-window quakes stay visible the whole window
(intervals clamped to [start, stop]). Magnitude ramps amber→red, size scales
with magnitude, quakes <1h old pulse (age-aware callback), labels only for
M>=4.5. Deduped by feature id across refreshes, capped at 400 (smallest mag
dropped first). HUD row "Earthquakes (USGS)" with count/max-mag status.

Also: serve.py now sends Cache-Control: no-store on all responses (was
proxy-only) so iterative js/css edits always take effect on reload — the
module graph was caching stale copies during dev.

Verified in browser: 223 quakes, 11 labeled, time-anchoring confirmed
(187 visible at -6h → 223 at now), zero console errors.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 16:01:59 +10:00
..
layers wave2 phase 1: earthquakes layer (real USGS, time-anchored) 2026-07-13 16:01:59 +10:00
config.js wave2 phase 1: earthquakes layer (real USGS, time-anchored) 2026-07-13 16:01:59 +10:00
lib.js phase 1: globe core — viewer, dual basemaps, clock, HUD, layer contract 2026-07-13 12:06:05 +10:00
main.js wave2 phase 1: earthquakes layer (real USGS, time-anchored) 2026-07-13 16:01:59 +10:00
ui.js phase 1: globe core — viewer, dual basemaps, clock, HUD, layer contract 2026-07-13 12:06:05 +10:00