feat(satellites): file satellites under six classes with a toggle each

The satellites layer now sorts every object into Stations, Imaging,
Telecom, Starlink, Probes or Debris, each with a chip and a live count on
the layer row. Stations and Imaging show by default; the Starlink chip is
the former DENSE catalog switch. Hidden classes keep their points, so a
toggle needs no reload, and they leave the detection overlay and the voice
position lists.

A class comes, strongest evidence first, from CelesTrak SATCAT (object type
and status, served by a new /api/celestrak-satcat/<group> proxy route and
cached for a day), the bundled UCS Satellite Database pack (operator, owner
country and purpose), name patterns for later launches, and the CelesTrak
group. The core catalog also reads the resource, weather, planet, sar and
science groups. Payloads with no evidence of life launched 20 or more years
ago are filed as debris. The UCS pack, its build script and its data credit
are added.
This commit is contained in:
Denis Groshev committed 2026-11-08 23:34:55 +01:00
1 parent 1b9bb844e6
commit c56f098d07
44 files changed
+2530 -362

No files matched your search

+21 -5
View File
@@ -1660,7 +1660,11 @@
"src/i18n/locales/uk.json",
"src/i18n/locales/zh-CN.json",
"src/i18n/locales/zh-Hant.json",
"src/ui/unitLabels.js"
"src/ui/unitLabels.js",
"src/layers/satellites/classes.js",
"src/data/ucsSatellites.js",
"src/data/bundledJson.js",
"src/data/retryableLoad.js"
],
"external": ["cesium", "satellite.js"]
},
@@ -3348,7 +3352,9 @@
"src/ui/wildlifeSightingPlacement.js",
"src/overlays/worldOverlayChrome.js",
"src/layers/wildlifeSightings/photoText.js",
"src/layers/wildlifeSightings/performance.js"
"src/layers/wildlifeSightings/performance.js",
"src/layers/satellites/classes.js",
"src/data/ucsSatellites.js"
],
"external": [
"hls.js",
@@ -3999,7 +4005,9 @@
"src/layers/wildlifeSightings/sprites.js",
"src/overlays/worldOverlayChrome.js",
"src/layers/wildlifeSightings/photoText.js",
"src/layers/wildlifeSightings/performance.js"
"src/layers/wildlifeSightings/performance.js",
"src/layers/satellites/classes.js",
"src/data/ucsSatellites.js"
],
"external": [
"hls.js",
@@ -4501,7 +4509,13 @@
},
"satellites-source": {
"exports": ["./layers/satellites/source"],
"modules": ["src/layers/satellites/source.js"],
"modules": [
"src/layers/satellites/source.js",
"src/layers/satellites/classes.js",
"src/data/ucsSatellites.js",
"src/data/bundledJson.js",
"src/data/retryableLoad.js"
],
"external": []
},
"traffic-source-factory": {
@@ -5118,7 +5132,9 @@
"src/layers/alpr/records.js",
"src/layers/alpr/tileRecords.js",
"src/sources/infrastructureData.js",
"src/sources/eventPacks.js"
"src/sources/eventPacks.js",
"src/layers/satellites/classes.js",
"src/data/ucsSatellites.js"
],
"external": ["@mapbox/vector-tile", "pbf"]
},