neon-sprawl/docs/plans
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
..
E1M3-prototype-backlog.md chore: address E1.M3 docs review (Slice 3 anchor, Linear pointers) 2026-04-17 20:48:53 -04:00
NEO-5-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-6-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-7-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-8-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-9-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-10-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-11-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-12-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-13-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-14-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-15-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-16-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-17-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-18-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-19-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-20-implementation-plan.md chore: point docs and rules at Linear NEO issue ids 2026-04-13 13:15:32 -04:00
NEO-22-implementation-plan.md NEO-22: Unit-test WASD locomotion pure helpers 2026-04-17 20:16:25 -04:00
NEO-23-implementation-plan.md NEO-23: add targeting HTTP API (TargetState v1, select intent) 2026-04-17 21:06:59 -04:00
NEO-24-implementation-plan.md NEO-24: range-aware Tab cycle skips out-of-range anchors before POST 2026-04-21 23:26:56 -04:00
NEON-29-implementation-plan.md NEON-29: Fix nav column steer ping-pong — path lookahead + air bee-line 2026-04-12 18:03:47 -04:00
internal-content-authoring.md chore: Epic 2 E2.M1 stub, content CI validation, doc follow-ups 2026-04-03 21:27:52 -04:00