Commit Graph

1189 Commits (f8016920917255218feef6d326b68490de01e8ef)

Author SHA1 Message Date
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
VinPropane 31cd67725d NEO-115: add GET /game/world/quest-definitions API and tests.
Expose read-only v1 quest projection from IQuestDefinitionRegistry with
flat objective fields, Bruno collection, and integration coverage.
2026-06-03 22:14:37 -04:00
VinPropane a5be355a22 NEO-115: add kickoff implementation plan for quest definitions GET. 2026-06-03 22:12:14 -04:00
VinPropane 437894ccd1
Merge pull request #153 from ViPro-Technologies/NEO-114-e7m1-injectable-quest-definition-registry-di
NEO-114: Injectable quest definition registry + DI
2026-06-01 21:57:37 -04:00
VinPropane 5d302742f7 NEO-114: Address code review — backlog wording and empty-id test. 2026-06-01 21:49:57 -04:00
VinPropane b4e5e612d4 NEO-114: Add code review for quest definition registry. 2026-06-01 21:49:16 -04:00
VinPropane 0bcbb4b041 NEO-114: Document quest registry and reconcile E7.M1 alignment. 2026-06-01 21:47:01 -04:00