1.6 KiB
1.6 KiB
Manual QA — NEO-25 (InteractableDescriptor list + fetch-driven client)
Story: NEO-25 · Plan: docs/plans/NEO-25-implementation-plan.md
Preconditions
- Game server running (
dotnet runfromserver/NeonSprawl.Server; note host/port). - Godot client
base_urlmatches server (defaulthttp://127.0.0.1:5253on catalog + interaction clients).
Checks
- Descriptor GET:
curl -s http://localhost:5253/game/world/interactablesreturns JSON withschemaVersion: 1,interactableslength ≥ 2, ascendinginteractableId, each row haskind,anchor{x,y,z},interactionRadius. - F5 with server up: After load, two prototype props appear (center + +X / −Z open floor) and two pairs of small blue glow markers (offset from each anchor). Default spawn (-5, 0.9, -5): markers near origin glow when in 3 m radius; second node stays dim until you walk near (12, 0.5, −6) (kept clear of the gray Obstacle at ~(6, 1, 5)).
- E (
interact): at origin in range → Outputallowed=truefor terminal; walk out past 3 m horizontal →allowed=false,out_of_range. - R (
interact_secondary): stand within 3 m of (12, 0.5, −6) on X/Z →allowed=truefor resource node; far from that anchor →out_of_range. - Server down / wrong port: catalog request errors in Output; scene still runs (no props / no glow groups — acceptable prototype degradation).
Notes
- Registry source of truth is C#; client anchors come only from
GET /game/world/interactables.