Sameh Khamis
2d68841783
refactor: separate layer lifecycle from presentation
2026-09-14 15:04:28 -07:00
Sameh Khamis
ac977bd8bc
refactor: own application request operations and surface caches
2026-09-14 14:49:04 -07:00
Sameh Khamis
8160ac5fe4
refactor: construct application layers from supplied sources
2026-09-14 14:20:01 -07:00
Sameh Khamis
fb8f9e1c49
refactor: expose portable FIRMS CSV helpers
2026-09-14 12:58:57 -07:00
Sameh Khamis
a67bc60a29
refactor(app): share application components and request services
2026-09-13 22:41:11 -07:00
Sameh Khamis
bcba7c5c01
fix: use globe terrain when framing an ALPR camera
2026-09-13 20:42:48 -07:00
Sameh Khamis
fe1aa3b6f6
fix: clarify nearby ALPR counts and help locate cameras
2026-09-13 20:35:38 -07:00
Sameh Khamis
7068ee7dc7
Merge current main into ALPR camera candidate
2026-09-13 20:08:54 -07:00
Sameh Khamis
9547658dc7
fix: keep ALPR camera markers stable during rotation
2026-09-13 20:04:38 -07:00
Bilawal Sidhu
41c416e329
docs(cctv): describe the ground-height data plainly ( #443 )
...
Follow-up to #433 .
2026-09-13 21:54:29 -05:00
12790b36c6
feat(cctv): seven camera packs, semantic labels, terrain-clear monitor planes ( #433 )
...
Seven contributed CCTV camera packs (Ontario 511, Fintraffic Finland, DriveBC, TxDOT Texas, Estonia Tallinn + Tarktee, Warendorf, Live Traffic NSW) on a fair per-pack catalog cap; semantic camera labels; monitor planes lifted clear of the terrain from a precomputed, bundled ground-height dataset. Default catalog 800 → 3,446 cameras. Full context in PR #433 .
Co-authored-by: sendmebits <[email protected] >
Co-authored-by: avocadoAgent <[email protected] >
Co-authored-by: Alex Harvey <[email protected] >
Co-authored-by: Jason Meredith <[email protected] >
Co-authored-by: Daniel Smith <[email protected] >
Co-authored-by: Vladimir Sobolev <[email protected] >
Co-authored-by: Matthias Schneider <[email protected] >
Co-authored-by: Cyber Knight <[email protected] >
Co-authored-by: NovaSoft Australia <[email protected] >
2026-09-13 21:48:33 -05: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
Ashfaq
5c2382dd37
Merge branch 'main' into fix/antimeridian-traffic-bounds
2026-09-14 07:07:43 +05:30
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
3b1e75171a
refactor(radio): expose shared country normalization
2026-09-13 17:28:35 -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
3aaa2afd48
Merge remote-tracking branch 'origin/main' into fix/geojson-release-intake
2026-09-13 16:26:08 -07:00
Bilawal Sidhu
499e1168a7
fix(layers): release bundled GeoJSON entities on toggle-off instead of hiding them
...
Toggling datacenters, dams, or submarine cables off only set `show = false`
on their data sources. Cesium's DataSourceDisplay still walks every
visualizer of a hidden source each frame, and the ~11.5k hidden entities
(hundreds of MB) stayed resident, so the whole scene rendered ~2x slower
for the rest of the session after a single on/off round trip (owner field
test 2026-09-13).
disable() now removes the data sources from the viewer and drops the built
records; the parsed dataset (NDJSON features / TeleGeography JSON) is cached
so enable() rebuilds without a refetch or re-parse. A disable that lands
while a load is in flight releases the finished build instead of parking it
hidden. destroy() clears the cache.
Measured with a headful Chrome harness (flights+military+satellites on,
camera rotating, 250-frame windows), before -> after:
- entities resident after OFF: 11,537 -> 0
- DataSourceDisplay.update per frame after OFF: 1.09 ms -> 0.02 ms
- scene.render per frame after OFF: 13.9 ms (control 6.6 ms) -> 5.2 ms
(fresh baseline 5.0 ms in the same run)
- JS heap 30 s after OFF: 1.6 GB and climbing -> 342 MB after GC
Tests: the GeoJSON lifecycle and cables suites assert disable leaves zero
sources/contexts and re-enable rebuilds with fetch called once.
2026-09-13 17:08:23 -05:00
Sameh Khamis
519bc6c362
refactor(cctv): separate camera source and scene components
2026-09-13 15:02:32 -07:00
Sameh Khamis
0732f8f95c
fix(traffic): recover road loading after city navigation
2026-09-13 14:47:26 -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
a0b2d9f6aa
Format extracted vessel components
2026-09-13 10:54:35 -07:00
Sameh Khamis
2f4839e8f2
Extract vessel components and preserve source lifecycle
2026-09-13 10:54:32 -07:00
Sameh Khamis
1edebcb6f8
Format military-flight and classification components
2026-09-13 10:23:17 -07:00
Sameh Khamis
cb790ddea1
Extract military-flight components and shared aircraft mechanics
2026-09-13 10:23:13 -07:00
Sameh Khamis
f177b213f2
Keep structural and terrain regression pins on component owners
2026-09-13 09:54:55 -07:00
Sameh Khamis
e18aeb8565
Format civil-flight components
2026-09-13 09:50:16 -07:00
Sameh Khamis
7c7e83c9e3
Extract instance-owned civil-flight components
2026-09-13 09:50:14 -07:00
Sameh Khamis
73135a7ae4
Preserve source identity and history references through layer state
2026-09-13 09:06:13 -07:00
Sameh Khamis
e968053d2c
Separate live observation sources from aircraft and vessel layers
2026-09-13 08:58:56 -07:00
Sameh Khamis
841da87ca4
test: follow formatted shell owners and make playback keyboard focus explicit
2026-09-13 04:49:02 -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
947fc79182
test: exercise Cockpit identity publication through its actual owner
2026-09-13 02:46:57 -07:00
Sameh Khamis
c6ac74c242
test: follow the camera panel presentation owner
2026-09-13 00:45:35 -07:00
Sameh Khamis
7b9aca8597
refactor: isolate Radio controls and tuner presentation
2026-09-12 23:23:20 -07:00
Sameh Khamis
dec9dd288c
style: format layer loading feedback helpers
2026-09-12 22:41:08 -07:00
Sameh Khamis
4d764a82db
test: exercise native clear action through layer transaction
2026-09-12 22:38:04 -07:00
Sameh Khamis
07cf1695ff
refactor: separate Layers panel presentation from lifecycle actions
2026-09-12 22:36:04 -07:00
Sameh Khamis
c30f7cc3be
refactor(ui): separate visual effects and animation ownership
2026-09-12 21:55:18 -07:00
Ashfaq
c22ad6af32
fix: handle antimeridian crossing in clampBoundsAroundCenter
...
east - west assumed a linear longitude axis, so a viewport crossing
the antimeridian (west=179.98, east=-179.98) produced a negative span
and unnormalized output coordinates outside [-180, 180). Wrap the span
through 360 and normalize the clamped west/east back into range.
Fixes #352 .
2026-09-13 10:15:55 +05:30
Sameh Khamis
dae5f45426
fix(status): preserve cached aircraft age and independent refresh errors
2026-09-12 17:12:34 -07:00
Sameh Khamis
8eb6d09105
Merge commit '1a9cfb180914fc9c2b06088a836b45dbf27254d5' into review/bilawal-status-371
2026-09-12 17:00:35 -07:00
Sameh Khamis
24d2582516
fix(cctv): release snapshot readers and verify provider error paths
2026-09-12 16:37:04 -07:00
Bilawal Sidhu
3d956177ab
fix(providers): validate before limiting and tighten capped image reads
...
Apply shared Places validation, owned image chunks, and response-header deadline tests to the provider modules.
2026-09-12 16:35:11 -07:00