feat: add pulse rings behind KiwiSDR radio tower icons

Adds subtle amber glow circles behind both cluster and individual
tower markers for a pulsing radar-station effect.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

Former-commit-id: bf6cee0f3b468006356fd95dcf83a27d5e62e5f6
This commit is contained in:
anoracleofra-code
2026-03-13 16:44:00 -06:00
parent ef61f528f9
commit 9ac2312de5
+27 -1
View File
@@ -1764,9 +1764,22 @@ const MaplibreViewer = ({ data, activeLayers, onEntityClick, flyToLocation, sele
</Source>
)}
{/* KiwiSDR Receivers — radio tower icons everywhere */}
{/* KiwiSDR Receivers — radio tower icons with pulse rings */}
{kiwisdrGeoJSON && (
<Source id="kiwisdr" type="geojson" data={kiwisdrGeoJSON as any} cluster={true} clusterRadius={50} clusterMaxZoom={14}>
{/* Pulse ring behind clusters */}
<Layer
id="kiwisdr-cluster-pulse"
type="circle"
filter={['has', 'point_count']}
paint={{
'circle-radius': ['step', ['get', 'point_count'], 20, 10, 26, 50, 32, 200, 40],
'circle-color': 'rgba(245, 158, 11, 0.08)',
'circle-stroke-width': 1.5,
'circle-stroke-color': 'rgba(245, 158, 11, 0.35)',
'circle-blur': 0.4,
}}
/>
{/* Clusters — tower icon with count */}
<Layer
id="kiwisdr-clusters"
@@ -1788,6 +1801,19 @@ const MaplibreViewer = ({ data, activeLayers, onEntityClick, flyToLocation, sele
'text-halo-width': 1.5,
}}
/>
{/* Pulse ring behind individual towers */}
<Layer
id="kiwisdr-pulse"
type="circle"
filter={['!', ['has', 'point_count']]}
paint={{
'circle-radius': ['interpolate', ['linear'], ['zoom'], 2, 6, 8, 10, 14, 14],
'circle-color': 'rgba(245, 158, 11, 0.06)',
'circle-stroke-width': 1,
'circle-stroke-color': 'rgba(245, 158, 11, 0.3)',
'circle-blur': 0.5,
}}
/>
{/* Individual tower icons */}
<Layer
id="kiwisdr-layer"