fix(sat): draw the footprint for the selected satellite only

A footprint is thousands of kilometres across. A dozen of them overlap into a
wash of translucent circles that hides the coastline, the ground track and the
satellites themselves — and the question a footprint answers, "can I hear it",
is only ever asked about the bird being worked.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
2026-09-09 11:20:05 +02:00
co-authored by Claude Opus 5
parent 543550c716
commit fcf00e04f4
2 changed files with 16 additions and 7 deletions
+12 -5
View File
@@ -499,11 +499,18 @@ export function SatellitePanel({ myGrid }: { myGrid: string }) {
const colour = chosen ? '#22c55e' : up ? '#f59e0b' : '#94a3b8';
// The footprint is the honest answer to "can I hear it": everything inside
// the circle has the satellite above its horizon.
L.circle([p.lat, p.lon], {
radius: p.footprint_km * 1000,
color: colour, weight: chosen ? 1.2 : 0.8, opacity: chosen ? 0.7 : 0.45,
fillColor: colour, fillOpacity: chosen ? 0.1 : 0.05,
}).addTo(layer);
//
// Drawn for the SELECTED bird only. A footprint is thousands of kilometres
// across, so a dozen of them overlap into a wash of circles that hides the
// coastline, the ground track and the satellites themselves — and the
// question it answers is only ever asked about the one being worked.
if (chosen) {
L.circle([p.lat, p.lon], {
radius: p.footprint_km * 1000,
color: colour, weight: 1.2, opacity: 0.7,
fillColor: colour, fillOpacity: 0.1,
}).addTo(layer);
}
// Two rings and not one. The map is a street map on one station and a
// dark satellite image on the next, and a single-stroke dot disappears