Maps · View: pins in view take presses, the popup hands focus back

A pin whose place lies outside the view takes no press or Tab, as its
popup would not show. The popup takes focus when it shows and, the
frame it stops showing by its button, Escape, the owner or a pan, hands
focus back to what held it, so focus stays in the map. Its body scrolls
past the room on its side and it paints over the zoom buttons. Tiles
load through gpui's logging loader, so a tile that fails says so. A
drag's owner check has a test, and the per-move viewport logs at debug.
The maps tests split into the map's and the popup's.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ZacharyZhang-NYandClaude Opus 5.5 committed 2026-09-27 21:57:27 -04:00
1 parent d6a56f3964
commit bbba5ee04b
7 files changed
+338 -145

No files matched your search

+2 -2
View File
@@ -291,8 +291,8 @@
## T41a Maps · View — `src/maps`
- [x] MapView — host tiles → `maps::MapView`: the host's tile for each zoom, column and row, the nearest cut scaled past its zooms; a drag, the wheel or the arrows pan, Command-wheel, + and - or its buttons zoom
- [x] MapMarker → `maps::MapMarker`, a pin keyed by its place's name, pressable when the map hears it
- [x] MapPopup → `maps::MapPopup`, over or under its point toward the larger half, held inside the map
- [x] MapMarker → `maps::MapMarker`, a pin keyed by its place's name, pressable while in view when the map hears it
- [x] MapPopup → `maps::MapPopup`, over or under its point toward the larger half, held inside the map, its body scrolling past the room; it takes focus when it shows and hands it back when it goes
- [x] LocationPicker → `maps::LocationPicker`, the place under a center crosshair
- [x] CoordinateDisplay → `maps::CoordinateDisplay`, degrees or degrees, minutes and seconds, copyable