WaypointEditRequest
A waypoint the map is asking its host to present an editor for.
The map owns everything except the editor itself: it decides when to ask, assigns a packet id and default icon, and performs the send or delete. All the host has to do is show a dialog and call back.
The editor is a slot so a host can substitute its own, but it no longer has to supply one: EditWaypointDialog builds for every target since its expiry picker moved from android.app.DatePickerDialog to Material 3's, so the provider defaults to it and desktop creates waypoints like anything else.
Properties
Hands the draft back so the user can define its geofence bounding box by tapping the map, which only the map can offer. The editor closes; the map re-opens it with the box applied. EditWaypointDialog has taken this callback all along — the F-Droid host simply never passed it, so the button did nothing.