VinPropane
b3f9b22ef2
NEO-122: Shorten economy HUD paths and add quest HUD controller tests.
2026-06-07 13:37:39 -04:00
VinPropane
eba0d09d70
NEO-122: Extract quest HUD controller to satisfy gdlint limits.
...
Move quest progress/accept wiring out of main.gd so pre-push gdlint
passes max line length and max file lines checks.
2026-06-07 13:37:25 -04:00
VinPropane
ba75aeed79
NEO-122: Address follow-up review doc drift and QA numbering.
...
Reconcile plan with economy HUD layout refactor, fix manual QA steps,
update regression notes for NEO-74/75/110, and strike through resolved
review suggestions.
2026-06-07 13:36:21 -04:00
VinPropane
64da7611d9
NEO-122: Add follow-up code review for economy HUD layout.
2026-06-07 13:35:06 -04:00
VinPropane
632a7472de
NEO-122: Fix HudRootScroll node path type for get_node_or_null.
2026-06-07 13:08:02 -04:00
VinPropane
0b3ef92ab6
NEO-122: Separate debug HUD scroll from economy panel.
...
Clamp HudRootScroll above the economy block, add an opaque panel fill,
and shrink the economy max height so quest and recipe text no longer overlap.
2026-06-07 13:07:58 -04:00
VinPropane
f801692091
NEO-122: Fix economy HUD positioning so panel renders on screen.
...
Bottom anchors placed the section off-screen before layout; use explicit
position/size from viewport height and draw above HudRoot via z_index.
2026-06-07 13:00:56 -04:00
VinPropane
d1fa08b8c4
NEO-122: Pin economy HUD to viewport so recipes stay visible.
...
Reparent EconomyHudSection out of HudRoot, clamp its height to the
viewport, put recipes first in a single BodyScroll, and update tests.
2026-06-07 12:58:31 -04:00
VinPropane
e041c02959
NEO-122: Fix craft recipe panel scroll and row clipping.
...
Stack recipe label above Craft button so rows fit panel width, disable
horizontal scroll, reset scroll to top on populate, and bump panel height.
2026-06-07 12:54:57 -04:00
VinPropane
b36fe6d863
NEO-122: Address code review HUD error and test gaps.
...
Surface quest-definitions sync failures on QuestProgressLabel, add accept
failure and busy-guard GdUnit coverage, inline render helper, and reconcile
review doc with strikethroughs.
2026-06-07 12:45:47 -04:00
VinPropane
4e75ec6493
NEO-122: Add code review for quest progress HUD.
2026-06-07 12:44:35 -04:00
VinPropane
e37671d815
NEO-122: Add Godot quest progress and accept HUD.
...
Wire quest-progress GET and accept POST clients with four-quest HUD labels,
Q/Shift+Q accept bindings, and event-driven refresh after gather, craft, and
NPC defeats; includes GdUnit coverage and manual QA checklist.
2026-06-07 12:43:27 -04:00
VinPropane
150cb73f9a
NEO-122: Add kickoff implementation plan for quest progress HUD.
2026-06-07 12:40:40 -04:00
VinPropane
a3932752b8
Merge pull request #160 from ViPro-Technologies/NEO-121-quest-telemetry-hooks
...
NEO-121: Quest telemetry hook sites (comment-only)
2026-06-07 12:37:21 -04:00
VinPropane
88d01778a1
NEO-121: Address review nits for quest telemetry hook sites.
...
Add schemaVersion to quest_start comment, thread playerId/questId into
DenyAccept, and merge duplicate deny snapshot helpers.
2026-06-07 12:33:34 -04:00
VinPropane
89affe2b32
NEO-121: Add code review for quest telemetry hook sites.
2026-06-07 12:32:35 -04:00
VinPropane
705a7cd028
NEO-121: Add comment-only quest telemetry hook sites in QuestStateOperations.
...
Document quest_start, quest_step_complete, quest_complete, and quest_accept_denied
anchors for future E9.M1 ingest with README, manual QA, and module doc updates.
2026-06-07 12:29:52 -04:00
VinPropane
72b98a627c
NEO-121: Add kickoff implementation plan for quest telemetry hooks.
2026-06-07 12:28:11 -04:00
VinPropane
6af9f42df8
Merge pull request #159 from ViPro-Technologies/NEO-120-quest-accept-post
...
NEO-120: POST /game/players/{id}/quests/{questId}/accept
2026-06-07 12:25:50 -04:00
VinPropane
ea3b7cceb5
NEO-120: Address code review test coverage gaps.
...
Add HTTP tests for already_completed deny snapshot and empty {} body;
tighten already_active AAA arrange. Strike through resolved review items.
2026-06-07 12:21:19 -04:00
VinPropane
14bdec367c
NEO-120: Add code review for quest accept POST branch.
2026-06-07 12:19:56 -04:00
VinPropane
9fe6cb36fd
NEO-120: Document quest accept POST and reconcile plan.
...
Update server README, E7.M1 module docs, alignment register, backlog, and
implementation plan reconciliation for shipped accept HTTP.
2026-06-07 12:18:53 -04:00
VinPropane
2fa2e35ca6
NEO-120: Add quest accept POST API, tests, and Bruno spine.
...
Wire QuestStateOperations.TryAccept at POST /game/players/{id}/quests/{questId}/accept
with shared quest row projection, integration tests, and Bruno accept flows.
2026-06-07 12:18:51 -04:00
VinPropane
b22b68ad1f
NEO-120: Add implementation plan for quest accept POST.
...
Kickoff plan for E7M1-09 — wire QuestStateOperations.TryAccept over HTTP
with Bruno and integration tests; client counterpart NEO-122.
2026-06-07 12:16:57 -04:00
VinPropane
c388949b8d
Merge pull request #158 from ViPro-Technologies/NEO-119-get-quest-progress
...
NEO-119: GET /game/players/{id}/quest-progress
2026-06-07 12:15:00 -04:00
VinPropane
ad906fec40
NEO-119: Tighten quest-progress order and side-effect test coverage.
2026-06-07 12:10:55 -04:00
VinPropane
1565d2cde7
NEO-119: Add code review for quest-progress GET branch.
2026-06-07 12:09:57 -04:00
VinPropane
9e4c52f653
NEO-119: Document quest-progress GET and reconcile plan docs.
2026-06-07 11:56:31 -04:00
VinPropane
066d1ff981
NEO-119: Add GET quest-progress API with inventory refresh hook.
2026-06-07 11:56:28 -04:00
VinPropane
78e5de3338
NEO-119: Add kickoff implementation plan for quest progress GET.
2026-06-07 11:50:11 -04:00
VinPropane
cbd6706e41
Merge pull request #157 from ViPro-Technologies/NEO-118-quest-objective-wiring
...
NEO-118: Wire quest objectives to gather, craft, and encounter events
2026-06-07 11:28:14 -04:00
VinPropane
71dbdd9a3e
NEO-118: Wire quest objectives to gather, craft, and encounter events.
...
Add QuestObjectiveWiring with auto step advance/complete, hook into
GatherOperations, CraftOperations, EncounterCompletionOperations, and
QuestStateOperations accept/advance for inventory_has_item checks.
2026-06-06 19:54:37 -04:00
VinPropane
286a1a036f
NEO-118: Add kickoff implementation plan for quest objective wiring.
2026-06-06 19:48:27 -04:00
VinPropane
749b83d0cc
Merge pull request #156 from ViPro-Technologies/NEO-117-quest-state-operations
...
NEO-117: QuestStateOperations (accept, step advance, complete)
2026-06-06 19:40:42 -04:00
VinPropane
540257d12d
NEO-117: Fix Bugbot deny-code misclassification on quest accept.
...
Add CanWritePlayer to IPlayerQuestStateStore and check before
prerequisite gate; map TryActivate/TryAdvanceStep store failures
from progress snapshots instead of always unknown_player.
2026-06-06 19:36:41 -04:00
VinPropane
025c3250d2
NEO-117: Address code review findings for QuestStateOperations.
...
Align test DI resolution with encounter pattern, add unknown_quest
advance/complete tests, catalog quest id constants, refactor
TryMarkComplete readability, and update decomposition docs.
2026-06-06 19:30:21 -04:00
VinPropane
84847e20f0
NEO-117: Add code review for QuestStateOperations branch.
2026-06-06 19:29:10 -04:00
VinPropane
f053ffbb39
NEO-117: Add QuestStateOperations with reason codes and tests.
...
Server-authoritative accept, step advance, and idempotent complete
wrapping IPlayerQuestStateStore with prerequisite enforcement.
2026-06-06 19:26:37 -04:00
VinPropane
44ef5f2484
NEO-117: Add kickoff implementation plan for QuestStateOperations.
2026-06-06 19:23:55 -04:00
VinPropane
58b898a733
Merge pull request #155 from ViPro-Technologies/NEO-116-player-quest-state-store
...
NEO-116: Player quest state store + QuestStepState persistence
2026-06-03 23:29:39 -04:00
VinPropane
fabbdae4c2
NEO-116: Make Postgres TryActivate safe under concurrent insert.
...
Use INSERT ON CONFLICT DO NOTHING so duplicate activations return false
with the existing snapshot instead of raising a primary-key violation.
2026-06-03 23:25:13 -04:00
VinPropane
de611ac294
NEO-116: Address code review findings for quest state store.
...
Fix persistence test AAA layout, empty-id denial theory, frozen id constants,
Postgres rollback/JSONB read, XML doc cref, README Bruno link, and review doc.
2026-06-03 23:19:52 -04:00
VinPropane
af87b5d12c
NEO-116: Add code review for player quest state store.
2026-06-03 23:16:48 -04:00
VinPropane
395b70c030
NEO-116: Add player quest state store with Postgres persistence.
...
Introduces IPlayerQuestStateStore (in-memory + V008 Postgres), QuestStepState
snapshots, DI wiring, AAA unit tests, and docs for E7M1-05 before NEO-117 ops.
2026-06-03 23:04:50 -04:00
VinPropane
065872405c
NEO-116: Add kickoff implementation plan for player quest state store.
...
Documents store contract, Postgres V008, tests, and kickoff decisions
(in-memory + Postgres when configured) before E7M1-06 operations land.
2026-06-03 23:01:59 -04:00
VinPropane
91d6cba34c
Merge pull request #154 from ViPro-Technologies/NEO-115-get-world-quest-definitions
...
NEO-115: GET /game/world/quest-definitions
2026-06-03 22:58:43 -04:00
VinPropane
5f1244843c
NEO-115: serialize JsonSchema registry registration for parallel tests.
...
Recipe and reward-table loaders registered schemas without locking,
corrupting SchemaRegistry.Global when xUnit spun up multiple
WebApplicationFactory hosts concurrently in CI.
2026-06-03 22:37:55 -04:00
VinPropane
ab315f326b
NEO-115: address code review findings for quest definitions GET.
...
Derive expected quest id order from PrototypeE7M1QuestCatalogRules,
assert refine craft_recipe objective in integration test, and update
module dependency register plus review doc strikethroughs.
2026-06-03 22:22:44 -04:00
VinPropane
31ffee1f7a
NEO-115: add code review for quest definitions GET API.
2026-06-03 22:16:48 -04:00
VinPropane
b3f90ded53
NEO-115: reconcile plan, backlog, and E7.M1 alignment docs.
...
Mark E7M1-04 acceptance landed and document the quest definitions HTTP slice.
2026-06-03 22:14:39 -04:00