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

30 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# NEO-73 — Manual QA checklist
| Field | Value |
|-------|-------|
| Key | NEO-73 |
| Title | E3.M1: Client gather feedback on interact (E3S5-02) |
| Linear | https://linear.app/neon-sprawl/issue/NEO-73/e3m1-client-gather-feedback-on-interact-e3s5-02 |
| Plan | `docs/plans/NEO-73-implementation-plan.md` |
| Branch | `NEO-73-e3m1-client-gather-feedback-on-interact` |
## Preconditions
- Server running with default dev player (`dev-local-1`); gather via interact landed (NEO-63); inventory HUD landed (NEO-72).
## Checklist
1. Start server: `cd server/NeonSprawl.Server && dotnet run`.
2. Run Godot main scene (**F5**). Confirm **`SkillProgressionLabel`** shows **`salvage: level …, xp …`** after boot (often **`level 1, xp 0`** on fresh player).
3. **WASD** to **`prototype_resource_node_alpha`** anchor **(12, 6)** until the resource glow pair brightens. Press **R** (do **not** press **I** first).
4. **`GatherFeedbackLabel`** shows **`Gather: +1 Scrap Metal (Bulk)`** (or agreed display name). **`InventoryLabel`** updates scrap quantity without manual refresh. **`SkillProgressionLabel`** **`salvage`** xp increases by **10**.
5. Walk to **`prototype_subsurface_vein_beta`** **(18, 6)**; press **R**. Feedback shows **`+2`** scrap delta; inventory and salvage xp update again.
6. Repeat at **`prototype_bio_mat_gamma`** **(12, 0)** (**+3**) and **`prototype_urban_bulk_delta`** **(18, 0)** (**+5**) if nodes still have capacity.
7. Deplete **`prototype_urban_bulk_delta`**: press **R** ten times while in range, then once more. **`GatherFeedbackLabel`** shows **`Gather: denied — node_depleted`** (inventory unchanged on last press — verify with **I** if needed).
8. Press **E** at terminal: **`GatherFeedbackLabel`** stays on last gather message (terminal does not overwrite gather line).
## Notes
- **R** posts the **nearest in-range** `resource_node` from the interactables catalog; walk to each anchor before pressing **R**.
- Output still prints **`Interaction [<id>]: …`** lines for dev debugging.