neon-sprawl/docs/manual-qa/NEO-72.md

1.6 KiB
Raw Permalink Blame History

NEO-72 — Manual QA checklist

Field Value
Key NEO-72
Title E3.M3: Client inventory snapshot HUD (E3S5-01)
Linear https://linear.app/neon-sprawl/issue/NEO-72/e3m3-client-inventory-snapshot-hud-e3s5-01
Plan docs/plans/NEO-72-implementation-plan.md
Branch NEO-72-client-inventory-snapshot-hud

Preconditions

  • Server running with default dev player (dev-local-1) and item catalog loaded (NEO-51NEO-55 on main).

Checklist

  1. Start server: cd server/NeonSprawl.Server && dotnet run.

  2. Run Godot main scene (F5). InventoryLabel (below cooldown HUD) shows Inventory: (refresh: I), Bag: (empty), and Equipment: / slot 0: — empty on a fresh dev player.

  3. Seed inventory via Bruno or curl:

    curl -sS -X POST "http://localhost:5253/game/players/dev-local-1/inventory" \
      -H "Content-Type: application/json" \
      -d '{"schemaVersion":1,"mutationKind":"add","itemId":"scrap_metal_bulk","quantity":5}'
    
  4. Press I (or inventory_refresh). HUD lists occupied bag slot with Scrap Metal (Bulk) x5 (display name from NEO-53 defs).

  5. Stop the server; press I. HUD shows error — … and Output shows InventoryClient: push_warning.

  6. Restart server; press I again — HUD returns to synced inventory lines.

Notes

  • I is handled in main.gd _unhandled_key_input (same reliability pattern as E / R interact keys).
  • POST inventory mutations from UI are out of scope; use Bruno/curl to seed stock for this story.