Gustavo Beneduzi
deb34ebe35
feat(wind): add keyless NOAA GFS wind layer with animated particles
...
Add a Wind layer animating the global 10 m wind field from NOAA GFS.
The /api/wind proxy selects the latest available 0.25° cycle, reads its .idx
inventory, byte-range fetches only the UGRD/VGRD 10 m GRIB2 messages (~1 MB
each instead of the whole ~500 MB file), decodes them with ecCodes (WASM),
resamples to a compact grid (1° default), and serves a manifest plus a Float32
U/V payload cached per cycle for an hour (single-flight, last-good on failure).
The client renders nullschool-style particles in a canvas overlay: bilinear
field sampling with longitude wrap, per-frame advection, Cesium camera
projection, and globe-occlusion culling via EllipsoidalOccluder.
Validated end-to-end against the real 2026-09-14 06z cycle on Node 25
(180x91 grid at 2°, 131,040-byte payload, plausible mean |u|/|v|). The WASM
decoder requires Node >=24, which the repo already requires.
Registered as `wind` (token k) with attribution and docs. Verified: npm test
(3412 pass, 0 fail), npm run check:boundaries.
2026-09-14 12:59:18 -03:00
Sameh Khamis
a67bc60a29
refactor(app): share application components and request services
2026-09-13 22:41:11 -07:00
Sameh Khamis
1a1cbadf5b
refactor: separate voice controls and configurable Realtime connections
2026-09-13 21:54:51 -07:00
Sameh Khamis
211eb70eed
Merge remote-tracking branch 'origin/main' into refactor/alpr-camera-source
...
# Conflicts:
# package.json
# scripts/format-scope.json
# scripts/package-boundaries.json
2026-09-13 19:21:57 -07:00
Sameh Khamis
e59282dc9c
refactor(maps): separate source factories and scene coordination
2026-09-13 18:59:29 -07:00
Sameh Khamis
3ce5d2e454
refactor(geography): separate cable sources and bundled lookup modules
2026-09-13 18:36:33 -07:00
Sameh Khamis
0feaab0a72
refactor(alpr): accept normalized camera snapshots and source attribution
2026-09-13 17:33:48 -07:00
Sameh Khamis
41b3cc1705
refactor(radio): separate directory and playback components
2026-09-13 17:28:35 -07:00
Tom-Neverwinter and Bilawal Sidhu
4374c0fa60
feat: add mapped ALPR cameras with bounded source loading
...
Adapt the ALPR camera contribution to reusable layer components, retaining source attribution, bounded queries, selection and voice controls.
Co-authored-by: Bilawal Sidhu <[email protected] >
2026-09-13 17:21:42 -07:00
Sameh Khamis
519bc6c362
refactor(cctv): separate camera source and scene components
2026-09-13 15:02:32 -07:00
Sameh Khamis
903fe6ba37
refactor: separate traffic and bikeshare components
2026-09-13 14:10:38 -07:00
Sameh Khamis
3b77277883
refactor: separate installation and proximity context components
2026-09-13 13:36:32 -07:00
Sameh Khamis
ce0568983a
refactor(space): separate satellite and mission layer components
2026-09-13 13:12:34 -07:00
Sameh Khamis
6a9f13eab8
refactor(fires): separate source, rendering and interaction components
2026-09-13 12:48:26 -07:00
Sameh Khamis
d1d938babe
refactor: separate earthquake source and display ownership
2026-09-13 12:14:44 -07:00
Sameh Khamis
2f4839e8f2
Extract vessel components and preserve source lifecycle
2026-09-13 10:54:32 -07:00
Sameh Khamis
cb790ddea1
Extract military-flight components and shared aircraft mechanics
2026-09-13 10:23:13 -07:00
Sameh Khamis
7c7e83c9e3
Extract instance-owned civil-flight components
2026-09-13 09:50:14 -07:00
Sameh Khamis
e968053d2c
Separate live observation sources from aircraft and vessel layers
2026-09-13 08:58:56 -07:00
Sameh Khamis
45d97376d0
refactor: drive share, location and scene controls through product state
2026-09-13 05:42:49 -07:00
Sameh Khamis
f5ef9091f0
refactor: compose UI shell with explicit application operations and component owners
2026-09-13 04:26:09 -07:00
Sameh Khamis
cd72feb4fe
refactor: separate Scene controls from playback and project operations
2026-09-13 03:29:46 -07:00
Sameh Khamis
8075c70e6e
refactor: separate Cockpit controller and presentation components
2026-09-13 02:33:38 -07:00
Sameh Khamis
fc369cc65a
refactor: isolate Context controls and layer restoration
2026-09-13 01:40:59 -07:00
Sameh Khamis
f45f399c31
refactor: isolate camera panel controls and presentation
2026-09-13 00:38:01 -07:00
Sameh Khamis
7b9aca8597
refactor: isolate Radio controls and tuner presentation
2026-09-12 23:23:20 -07:00
Sameh Khamis
ea77b49482
refactor: isolate Location controls and cancellable search
2026-09-12 22:55:16 -07:00
Sameh Khamis
a41f3ec3cd
refactor: expose pure layer loading feedback helpers
2026-09-12 22:41:07 -07:00
Sameh Khamis
07cf1695ff
refactor: separate Layers panel presentation from lifecycle actions
2026-09-12 22:36:04 -07:00
Sameh Khamis
72d531b18f
refactor: isolate Map Source controls and selection lifecycle
2026-09-12 22:25:04 -07:00
Sameh Khamis
c30f7cc3be
refactor(ui): separate visual effects and animation ownership
2026-09-12 21:55:18 -07:00
Sameh Khamis
ffc65dd844
refactor(ui): own Display control subscriptions and cleanup
2026-09-12 21:25:04 -07:00
Sameh Khamis
7a5f615d55
refactor(ui): extract application shortcuts and parameter controls
2026-09-12 20:38:16 -07:00
Sameh Khamis
bf77ae61b8
refactor(ui): extract adaptive panel rail layout
2026-09-12 19:53:17 -07:00
Sameh Khamis
e1ffb9c572
refactor(ui): share surface keyboard lifecycle
2026-09-12 18:45:30 -07:00
Sameh Khamis
f35468040e
refactor(ui): extract panel disclosure lifecycle controls
2026-09-12 17:38:34 -07:00
Sameh Khamis
57d7f9fc23
feat(search): compose Google and Photon through an explicit provider service
2026-09-12 15:38:43 -07:00
Sameh Khamis
cd92855f88
refactor: isolate standalone key setup and service composition
2026-09-12 12:59:39 -07:00
Sameh Khamis
638902296a
refactor: separate local voice handlers and instructions
2026-09-12 12:59:39 -07:00
Sameh Khamis
318d37ad8d
refactor: separate regional briefing and weather sources
2026-09-12 12:59:39 -07:00
Sameh Khamis
213edd80ce
refactor: separate Overpass and installation services
2026-09-12 12:59:39 -07:00
Sameh Khamis
79b4929b88
refactor: extract CCTV media and radio directory providers
2026-09-12 12:09:02 -07:00
Sameh Khamis
f4054469d5
refactor: split terrain traffic fire and bike-share providers
2026-09-11 21:57:50 -07:00
Sameh Khamis
9a4b98700e
refactor: split satellite and launch provider modules
2026-09-11 21:22:15 -07:00
Sameh Khamis
2793d7a8df
refactor: extract place-search and routing provider modules
2026-09-11 19:56:48 -07:00
Sameh Khamis
0e221441b4
refactor: separate aircraft and vessel server providers
2026-09-11 19:06:09 -07:00
Sameh Khamis
8de1018c21
refactor: separate standalone Vite wiring and provider middleware
2026-09-11 18:08:01 -07:00
Sameh Khamis
4d37760314
refactor: extract application construction and lifecycle
2026-09-11 17:02:54 -07:00
Sameh Khamis
76ddc6a9ef
chore: enforce scoped formatting and browser package boundaries
2026-09-11 16:06:35 -07:00
Sameh Khamis
ef69f01cd8
Merge formatter contribution with current main
2026-09-11 16:02:38 -07:00