Commit History

Live bundle: encode radar textures as lossless WebP (method=4) instead of PNG — ~25% smaller bundles, lossless (gray values unchanged). Client loads textures as image/webp; logo + downloaded export stills stay PNG.
e049811
Running

swnesbitt commited on

Live: every site uses the low-latency chunk feed (in-progress volumes shown), archive-bucket fallback. Short-lived caches now that all sites cache: drop a site's decoded volumes ~10 min after last view (touch-on-read LRU, _CHUNK_TTL=600s); chunk files pruned at ~80 min (covers the 65-min loop); live cache ttl 45s + rtsec 120s for all sites.
89d1903

swnesbitt commited on

UI + export: rename 'Load hour' button to 'Go', hide the 'Download raw' button; export zoom now matches the on-screen view — contain the visible extent at the same scale (anchor width/height by aspect) across single / quad / Z+V exports.
94f87c2

swnesbitt commited on

Lowest-sweep-only: render just the lowest elevation cut(s) (LOW_SWEEP_TOL=0.15) so a site's 0.3 deg supplemental cut hides its 0.5 deg cut (e.g. KBUF). Applied to the xradar render path (_tree_to_frames) and the dealias path (_dealias_dtree). Server-side sweep selection.
e1f7b3f

swnesbitt commited on

Re-apply Py-ART elimination on stable base: xradar fork = sole ingest, dealias via region_dealias.sweep_folds on xradar arrays (Nyquist from ds['nyquist_velocity'], max|V| fallback), bundled nexrad_sites.py coords (replaces pyart NEXRAD_LOCATIONS), removed _process_pyart fallback, dropped arm-pyart. Server-side only — no live-default/UI changes (built on a4cbd62).
e4c1ca9

swnesbitt commited on

Cosmetic update on stable base: title -> 'NEXRAD Level 2 low level sweep browser', remove Py-ART processing credit (+ add (S. Nesbitt) to region-dealias), one consistent dvh map height + tighter mobile layout. Text/CSS only — no ingest/functional changes.
a4cbd62

swnesbitt commited on

Remove debug instrumentation from app.py (revert thread-pool gate + breadcrumbs from abandoned Mac-app debugging)
8ed9e1a

Steve Nesbitt commited on

macOS bundle: eliminate fork() — thread decode pool (NEXRAD_INPROC_POOL) + open browser via os.posix_spawn (Obj-C process aborts on fork)
04bcd84

Steve Nesbitt commited on

Guard background daemons under start_background() for macOS spawn-safety; add desktop launcher (pywebview)
0c33a0a

s commited on

Site picker: switch radar in place with progress bar (no full reload)
634670a

s commited on

Site picker: use curated WSR-88D list (sites.py), not all NEXRAD_LOCATIONS (drops TDWR)
7a00b12

s commited on

Add in-map radar-site picker overlay + block-I favicon
80aa752

s commited on

Live: server-side poller keeps recently-viewed sites' chunks fresh
222aea5

s commited on

Live: check the chunk feed for new scans every minute (Timer 120->60s)
705076f

Steve Nesbitt commited on

Hide redundant top Field dropdown (use the in-map field selector)
c2aeb12

Steve Nesbitt commited on

Nudge map height offset 160->170 to fit footer (measured ideal ~169)
f798390

Steve Nesbitt commited on

Full-bleed layout: override Gradio's 1280px centered main; 2px edges
22efc29

Steve Nesbitt commited on

Tighten layout: ~2px edges, collapse inter-element gaps, fill map
9a30084

Steve Nesbitt commited on

Use more of the window: compact header + fix map height offsets
a480e28

Steve Nesbitt commited on

Header: credit CliMAS / Univ. of Illinois (climas.illinois.edu)
542453c

Steve Nesbitt commited on

Show the radar site ID in the page (tab) title
fc9049a

Steve Nesbitt commited on

Dealias: keep the current frame instead of resetting
32d9481

Steve Nesbitt commited on

Live autoupdate: never grey the display
d344c71

Steve Nesbitt commited on

Warnings: add flash flood warnings (FF) as green polygons
a176509

Steve Nesbitt commited on

Log active dealias engine at startup (greppable in Space logs)
d1ead26

Steve Nesbitt commited on

Progress bar: label the active dealiaser (Rust region-dealias vs Py-ART)
55d25df

Steve Nesbitt commited on

Footer: credit the Rust region-dealias dealiaser
85c6aa2

Steve Nesbitt commited on

Use region-dealias (Rust) for dealiasing, with pyart fallback
79cd897

Steve Nesbitt commited on

Export: add units to the quad/Z+V mini colorbars
346f261

Steve Nesbitt commited on

Fix shared Z+V link: add ZVF to field dropdown choices
f1d7c31

Steve Nesbitt commited on

Share link: always build an absolute URL
8c44981

Steve Nesbitt commited on

Force-refresh: stop spinner as soon as server reports done
fb4010f

Steve Nesbitt commited on

Live: add forced-refresh button (snappy, in-place)
d1bd562

Steve Nesbitt commited on

Loop: dwell on last frame 4x the frame interval
3d2038e

Steve Nesbitt commited on

Warning polygons: 0.25pt black buffer (casing)
94a4441

Steve Nesbitt commited on

Z+V orientation toggle + visibly grey Live time dropdowns
b712cf8

Steve Nesbitt commited on

Live mode: in-place frame updates (no more iframe reload / grey-out)
ace1aef

Steve Nesbitt commited on

Velocity colormap -> CMasher fusion_r
2a7ca84

Steve Nesbitt commited on

Add 2x1 (Z over V) mode + propagate to exports
d443de6

Steve Nesbitt commited on

Draw warnings on exports + max-quality mp4
92c185f

Steve Nesbitt commited on

Drop expired warnings from the loop
fba5820

Steve Nesbitt commited on

Add 24h age cap to volume cache pruning
4dcb05a

Steve Nesbitt commited on

Protect cities.json/warnings.json from LRU cache pruning
5d9f55b

Steve Nesbitt commited on

Finer-grained export colorbar tick labels
258473b
verified

snesbitt commited on

Quad (2x2) export for stills and movies
e06a689
verified

snesbitt commited on

Live view opens on newest frame
f0d1fe5
verified

snesbitt commited on

Fix pin script timing (run immediately, not on DOMContentLoaded)
3b5fb5e
verified

snesbitt commited on

Fix embedded-view map height ratchet (pin px height when framed)
8bb28bf
verified

snesbitt commited on

Live mode: gr.Timer server-side refresh
064ef5c
verified

snesbitt commited on

Live mode: setInterval auto-refresh (survive cache-hit non-rerenders)
d3cd5a7
verified

snesbitt commited on