From 75c77e9ab9c9b9fc8ebffafc4a50ee4f9dd2e76b Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Sun, 30 Aug 2026 21:42:44 +0700 Subject: [PATCH] docs(plans): journal entry for guess map search --- plans/journals/2026-08-30-guess-map-search.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 plans/journals/2026-08-30-guess-map-search.md diff --git a/plans/journals/2026-08-30-guess-map-search.md b/plans/journals/2026-08-30-guess-map-search.md new file mode 100644 index 0000000..7f6118a --- /dev/null +++ b/plans/journals/2026-08-30-guess-map-search.md @@ -0,0 +1,11 @@ +--- +title: Guess map search +date: 2026-08-30 +summary: "Player-feedback feature: search districts/streets on the guess map. Offline region matching (diacritic folding, quan/q7 aliases) over the client-safe REGIONS tree + Photon geocoder bounded to the played region bbox; selection pans only, never places the guess. Photon over Nominatim (public Nominatim forbids autocomplete). Review fixes: moved Leaflet zoom control via new zoomPosition prop (search box occluded it), 5s AbortSignal.timeout on Photon (hung connection never surfaced the unavailable row), stale-places reset per debounce, reused ui/Input, 44px touch targets, onReady(null) on map teardown. Gotcha: emitting \u-escapes through JSON tool args turns them into literal combining chars; wrote the regex via String.fromCharCode. 274/274 tests, lint+build clean. Plan: plans/260830-2055-map-search." +--- + +# Guess map search + +Player-feedback feature: search districts/streets on the guess map. Offline region matching (diacritic folding, quan/q7 aliases) over the client-safe REGIONS tree + Photon geocoder bounded to the played region bbox; selection pans only, never places the guess. Photon over Nominatim (public Nominatim forbids autocomplete). Review fixes: moved Leaflet zoom control via new zoomPosition prop (search box occluded it), 5s AbortSignal.timeout on Photon (hung connection never surfaced the unavailable row), stale-places reset per debounce, reused ui/Input, 44px touch targets, onReady(null) on map teardown. Gotcha: emitting \u-escapes through JSON tool args turns them into literal combining chars; wrote the regex via String.fromCharCode. 274/274 tests, lint+build clean. Plan: plans/260830-2055-map-search. + +> Historical work record — not durable authority. Prefer docs/specs/ADRs for current decisions.