3.4 KiB
3.4 KiB
NEO-122 — Manual QA checklist
| Field | Value |
|---|---|
| Key | NEO-122 |
| Title | E7M1-11: Client quest progress + accept HUD (Godot) |
| Linear | https://linear.app/neon-sprawl/issue/NEO-122/e7m1-11-client-quest-progress-accept-hud-godot |
| Plan | docs/plans/NEO-122-implementation-plan.md |
| Branch | NEO-122-client-quest-progress-accept-hud |
Preconditions
- Fresh dev player: stop any running server, then start a new instance so in-memory quest progress resets.
- No Bruno/curl for this checklist — accept and progress use Godot Q / Shift+Q and gameplay actions only.
- NEO-119 quest-progress GET, NEO-120 accept POST, and NEO-115 quest-definitions GET landed on
main.
Expected quest HUD progression
| After | QuestProgressLabel |
QuestAcceptFeedbackLabel |
|---|---|---|
| Boot | All four quests not started (display names when defs loaded) |
Quest accept: — (Q gather / Shift+Q next) |
| Q accept gather | Intro: Salvage Run: active step 1 |
Quest accept: Intro: Salvage Run accepted |
| Gather scrap (R on resource node ×3) | Gather objective counter increases (e.g. gather_intro_obj_scrap=3) |
unchanged |
| Gather quest completes | Intro: Salvage Run: completed |
unchanged |
| Shift+Q accept refine (after gather complete) | Intro: Refine Stock: active step 1 |
Quest accept: Intro: Refine Stock accepted |
Craft refine_scrap_standard (Economy HUD) |
Refine quest completes when recipe succeeds | unchanged |
| Duplicate Q on gather | Gather row stays completed |
Quest accept: denied — already_completed (or already_active) |
Checklist
- Start server:
cd server/NeonSprawl.Server && dotnet run. - Run Godot main scene (F5). Confirm
QuestProgressLabelshows fournot startedlines andQuestAcceptFeedbackLabelshows the idle hint (below encounter loot labels). - Press Q. Verify gather intro becomes
active step 1and accept feedback shows success. - Gather scrap until gather quest completes (resource node R). Verify counter updates on
QuestProgressLabelafter each successful gather (may lag one GET). - Press Shift+Q before gather is complete — verify
Quest accept: denied — prerequisite_incompletefor refine (orno eligible questif refine is not yet eligible). - After gather completes, press Shift+Q. Verify refine quest becomes
active. - Craft
refine_scrap_standardwith Economy HUD open. Verify refine questcompletedafter successful craft. - Press Q again on already-completed gather. Verify deny feedback on
QuestAcceptFeedbackLabelwithout Bruno. - Optional: stop server while Godot running, press Q — verify
Quests: error — …or acceptfailed — …visible on HUD.
Notes
- Combat intro (
prototype_quest_combat_intro) has no prerequisites — Shift+Q may offer it before refine if gather is still active; server deny is authoritative when prerequisites block accept. - Full four-quest chain capstone: NEO-123 manual QA.
- Encounter progress HUD regression: NEO-110 manual QA.
Acceptance
- Steps 1–8 completable in one session without Bruno/curl.
- Quest status visible after Q accept and updates after gather/craft without manual refresh key.
- Failed GET/accept shows visible HUD error copy.