From fcf00e04f4dde86bc995b60d2d4a49d713245ed7 Mon Sep 17 00:00:00 2001 From: rouggy Date: Wed, 9 Sep 2026 11:20:05 +0200 Subject: [PATCH] fix(sat): draw the footprint for the selected satellite only MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- changelog.json | 6 ++++-- frontend/src/components/SatellitePanel.tsx | 17 ++++++++++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/changelog.json b/changelog.json index cceacb4..8c2e33b 100644 --- a/changelog.json +++ b/changelog.json @@ -8,7 +8,8 @@ "New rotator interface: ERC-M by DF9GR, the azimuth/elevation controller for a Yaesu G-5500. Over its USB COM port or the network, with its emulation set to GS-232. Untested on hardware — reports welcome.", "EasyComm II is now an ordinary rotator interface, so it can turn the antenna from the compass and from a spot click, not only during a satellite pass.", "On the satellite map, an unselected satellite is readable: a bigger dot with a dark halo under a white ring, which shows up on a street map and on a dark ocean alike, and the ones above the horizon carry their name.", - "Hovering a satellite on the map now says what a pass is worth — elevation and azimuth, distance and whether it is closing or going away, rise and set with the countdown, and how high it will get. It no longer closes itself every five seconds while you read it." + "Hovering a satellite on the map now says what a pass is worth — elevation and azimuth, distance and whether it is closing or going away, rise and set with the countdown, and how high it will get. It no longer closes itself every five seconds while you read it.", + "The satellite footprint is drawn for the selected bird only. A footprint is thousands of kilometres across, and a dozen of them overlapped into a wash of circles that hid the coastline, the ground track and the satellites themselves." ], "fr": [ "Toutes les interfaces de rotor sont désormais dans Réglages ▸ Rotator, et la page satellite ne fait qu’en choisir une. EasyComm et PstRotator se configuraient dans les réglages satellite pendant que les autres se configuraient dans la liste des rotors : un même pylône était décrit deux fois. Ce que vous aviez réglé est déplacé dans la liste et sélectionné automatiquement.", @@ -16,7 +17,8 @@ "Nouvelle interface de rotor : ERC-M de DF9GR, le contrôleur azimut/élévation pour un Yaesu G-5500. Via son port COM USB ou le réseau, avec son émulation réglée sur GS-232. Non testé sur matériel — vos retours sont les bienvenus.", "EasyComm II devient une interface de rotor comme les autres : elle peut tourner l’antenne depuis le compas et depuis un clic sur un spot, plus seulement pendant un passage satellite.", "Sur la carte satellite, un satellite non sélectionné est lisible : un point plus gros avec un halo sombre sous un anneau blanc, visible aussi bien sur une carte routière que sur un océan noir, et ceux au-dessus de l’horizon portent leur nom.", - "Le survol d’un satellite sur la carte indique désormais ce que vaut le passage — élévation et azimut, distance et si elle diminue ou augmente, lever et coucher avec le décompte, et la hauteur qu’il atteindra. L’infobulle ne se referme plus toutes les cinq secondes pendant qu’on la lit." + "Le survol d’un satellite sur la carte indique désormais ce que vaut le passage — élévation et azimut, distance et si elle diminue ou augmente, lever et coucher avec le décompte, et la hauteur qu’il atteindra. L’infobulle ne se referme plus toutes les cinq secondes pendant qu’on la lit.", + "L’empreinte au sol n’est tracée que pour le satellite sélectionné. Une empreinte fait des milliers de kilomètres, et une douzaine se superposaient en un lavis de cercles qui masquait le trait de côte, la trace au sol et les satellites eux-mêmes." ] }, { diff --git a/frontend/src/components/SatellitePanel.tsx b/frontend/src/components/SatellitePanel.tsx index 83dede4..d928c4e 100644 --- a/frontend/src/components/SatellitePanel.tsx +++ b/frontend/src/components/SatellitePanel.tsx @@ -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