MapLibreDiscoveryMap

fun MapLibreDiscoveryMap(userLatitude: Double, userLongitude: Double, nodes: List<DiscoveryMapNode>, modifier: Modifier = Modifier, customBasemaps: @Composable () -> List<Basemap.Raster> = { customRasterBasemaps() })(source)

Discovery scan summary map: the scanner plus everything it heard.

Same treatment as the traceroute map, and for the same reason: satellite imagery is often the useful backdrop for asking why one node was heard and another was not, and until now this map could not show it.