MapKit JS select fires only on change; NWS alerts often lack geometry
In MapKit JS 6 the map dispatches 'select'/'deselect' only from its selection-did-change path, and an annotation's selected setter returns early when the value is unchanged, so clicking an already-selected cluster fires nothing; changing selection inside a select handler is refused with the console warning 'Selection may not change in select/deselect event handler' (defer it with setTimeout). The default displayPriority is Required (1000), so giving pins 'required' priority does not keep them out of clusters, and the default cluster annotation's glyphText is its member count, which beats any glyphImage. Separately, when counting weather alerts near a point, remember most api.weather.gov alerts are zone-based with geometry null (a live read showed 355 of 430), so a distance filter that drops unplaced items silently undercounts them.