neon-sprawl/docs/reviews
VinPropane 63fecb1099 NEO-24: range-aware Tab cycle skips out-of-range anchors before POST
Previously Tab from no-lock always picked `ORDERED_IDS[0]` (alpha), so
standing next to beta and pressing Tab was denied with `out_of_range`
even though the client HUD clearly showed beta in range.

Added `PrototypeTargetConstants.next_in_range_id_after(current, world)`
which walks the cycle and returns the first anchor whose client-side
horizontal distance is within the anchor radius.
`TargetSelectionClient.request_tab_next()` prefers that pick when the
player reference is wired (same path `set_freshness_kick` uses) and
falls back to the plain cycle order when nothing is in range so the
server still owns the denial reason.

Server contract (NEO-23) untouched. Tests cover the beta pick, the
nothing-in-range fallback, and the no-player-ref regression. Plan
Decision 6 + review follow-up #3 + README + manual QA updated.
2026-04-21 23:26:56 -04:00
..
2026-03-29-NEO-6.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-03-30-NEO-7.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-03-30-NEO-8.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-03-31-game-design-skills-coherence.md docs: drop classless terminology; rename Epic 2 to skills and progression 2026-04-03 21:33:53 -04:00
2026-04-03-branch-chore-game-design-docs-vs-main.md docs: E2.M1 contract column lists allowedXpSourceKinds (nit #2) 2026-04-03 21:34:49 -04:00
2026-04-03-final-branch-docs-review.md chore: mark vision-plan suggestion done in final docs review 2026-04-03 22:58:14 -04:00
2026-04-03-game-design-branch-docs-review.md chore: stable Epic 3 slice anchors; deep-links from gather/craft docs 2026-04-03 22:14:47 -04:00
2026-04-04-NEO-9.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-05-NEO-11.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-05-NEO-14.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-07-NEO-15.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-08-NEO-13.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-08-NEO-16.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-08-NEO-17.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-09-NEO-20.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-10-NEO-14-followup.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-10-NEO-18.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
2026-04-17-NEO-22.md NEO-22: Cache scrape contact in WASD tick; close review items 2026-04-17 20:21:13 -04:00
2026-04-17-NEO-23.md NEO-23: code review follow-up (E1.M3 docs, GET 404 test, radius bounds) 2026-04-17 21:14:43 -04:00
2026-04-18-e1m3-documentation.md chore: address E1.M3 docs review (Slice 3 anchor, Linear pointers) 2026-04-17 20:48:53 -04:00
2026-04-21-NEO-24.md NEO-24: range-aware Tab cycle skips out-of-range anchors before POST 2026-04-21 23:26:56 -04:00