Part of Address → Hex Lookup & Reserve (Res 4) — see docs/prd/address-hex-lookup.md.
Goal: A user types an address, and we render the single H3 Res-4 cell that contains it. Read-only — no reservation.
Scope
- Address autocomplete via Mapbox forward geocoding (Search Box / Geocoding v6 forward), reusing
NEXT_PUBLIC_MAPBOX_TOKEN.
- Pure resolver:
(lat, lng) -> canonical Res-4 H3 index via h3-js latLngToCell(lat, lng, 4).
- Render the cell: fly map to it, draw boundary via
cellToBoundary. Reuse HexBoundaryPreview.tsx patterns.
Acceptance
- Given a lat/lng, returns the correct Res-4 index;
getResolution(index) === 4.
- Entering a valid address highlights exactly one hex on the map.
- No write paths touched.
TDD anchor: failing unit test for the pure resolver first (address → containing Res-4 cell), then implement; geocoding I/O mocked.
Part of Address → Hex Lookup & Reserve (Res 4) — see
docs/prd/address-hex-lookup.md.Goal: A user types an address, and we render the single H3 Res-4 cell that contains it. Read-only — no reservation.
Scope
NEXT_PUBLIC_MAPBOX_TOKEN.(lat, lng) -> canonical Res-4 H3 indexviah3-jslatLngToCell(lat, lng, 4).cellToBoundary. ReuseHexBoundaryPreview.tsxpatterns.Acceptance
getResolution(index) === 4.TDD anchor: failing unit test for the pure resolver first (
address → containing Res-4 cell), then implement; geocoding I/O mocked.