Commit Graph

64 Commits (4379e421063d15c559cedde1be98209d16e769f2)

Author SHA1 Message Date
VinPropane bcc9bf1c69 NEO-110: manual QA, README, plan reconciliation, and module docs. 2026-05-31 19:35:56 -04:00
VinPropane 44fb4adbe5 NEO-98: Set melee strike to 2 m and elite slam to 4 m. 2026-05-30 17:55:10 -04:00
VinPropane 99aa2b455f NEO-98: Document melee 1 m strike range in manual QA. 2026-05-30 17:54:06 -04:00
VinPropane b03128a3b0 NEO-98: address code review — Esc regression step and AC parity 2026-05-30 17:05:30 -04:00
VinPropane ae8b01d5e3 NEO-98: add capstone manual QA and Slice 2 docs 2026-05-30 17:02:50 -04:00
VinPropane cfda0acd9a NEO-97: add Godot telegraph HUD and NPC runtime poll clients
Wire npc-runtime-snapshot and combat-health GET clients with combat-active
~1 Hz polling, interpolated telegraph countdown, and PlayerCombatHp/NpcState/
Telegraph HUD labels; includes GdUnit tests, manual QA, and doc updates.
2026-05-29 20:59:11 -04:00
VinPropane b97cace625 NEO-86: Add capstone manual QA, README, and module doc reconciliation.
Documents end-to-end Godot combat loop, marks E5M1-12 landed, and updates
E5.M1 alignment rows for Epic 5 Slice 1 client capstone complete.
2026-05-25 13:59:31 -04:00
VinPropane 79b8a68364 NEO-85: Make combat dummies visible with labels and lock highlight.
Replace subtle mast markers with capsule bodies, Dummy α/β Label3D names,
and brighten the Tab-locked target; HUD hints point to orange/purple dummies.
2026-05-25 13:23:13 -04:00
VinPropane 35ff76b532 NEO-85: Auto-bind pulse to slot 0 and show cast HUD errors.
Fresh hotbar starts empty so digit 1 was a silent no-op; bootstrap
prototype_pulse on first sync and surface empty-slot/send failures on CastFeedbackLabel.
2026-05-25 13:22:06 -04:00
VinPropane faf3fe1139 NEO-85: Add manual QA, README, and module doc reconciliation.
Mark E5M1-11 acceptance complete in backlog and alignment register.
2026-05-25 13:15:59 -04:00
VinPropane 32fbcec766 NEO-44: Fix Bruno defeat spine for CI collection order.
Reset prototype target HP before cast chain, use slot 2 to avoid
cooldown pollution, and assert +25 gig XP delta from baseline.
2026-05-25 12:14:29 -04:00
VinPropane 71a6761f3c NEO-44: Grant gig XP on combat defeat via dedicated store.
Add IPlayerGigProgressionStore (in-memory + Postgres V007), GET
/gig-progression snapshot, and CombatDefeatGigXpGrant on cast accept
when targetDefeated — 25 XP to breach, outside E2.M2 skill XP.
Includes tests, Bruno, README, manual QA, and plan reconciliation.
2026-05-25 12:04:40 -04:00
VinPropane 977bcc3b27 NEO-75: capstone manual QA, README loop docs, alignment
Add zero-Bruno gather→refine→make checklist, end-to-end README section,
and mark Epic 3 Slice 5 client capstone complete in module docs.
2026-05-24 20:33:51 -04:00
VinPropane c16b610468 NEO-74: Implement client craft UI, recipe list, and tests.
Add recipe-definitions and craft HTTP clients, scrollable recipe panel with
Craft buttons, CraftFeedbackLabel, refine skill HUD row, GdUnit coverage,
manual QA, and plan/module doc reconciliation.
2026-05-24 19:56:38 -04:00
VinPropane adca7befe0 NEO-73: add manual QA and reconcile implementation plan.
Document gather HUD behavior in client README; mark E3S5-02 AC complete.
2026-05-24 19:07:22 -04:00
VinPropane 751fea3db4 NEO-72: add client inventory snapshot HUD and HTTP clients.
Wire GET inventory + item-definitions into InventoryLabel with I-key refresh,
displayName labels, and GdUnit coverage for happy/error paths.
2026-05-24 18:41:24 -04:00
VinPropane 1636fdc2cb NEO-68: Add GET /game/world/recipe-definitions HTTP projection.
Wire RecipeDefinitionsWorldApi over IRecipeDefinitionRegistry with schema v1
DTOs, Bruno folder, manual QA, and FrozenEightInIdOrder integration test.
2026-05-24 17:08:15 -04:00
VinPropane a578d9b684 NEO-64: address code review follow-ups.
Nest gather_node_depleted hook in remainingGathers == 0 guard,
add E3M1-08 deny-branch out-of-scope note, and give README NEO-64
its own subsection anchor.
2026-05-24 16:00:02 -04:00
VinPropane 847cda97a3 NEO-64: add gather telemetry hook sites and doc updates.
Comment-only resource_gathered and gather_node_depleted anchors in
GatherOperations.TryGather; README, module docs, manual QA, and E3.M1
backlog marked complete.
2026-05-24 15:58:29 -04:00
VinPropane 0f846f90b9 NEO-63: fix Bruno depletion test node isolation.
Use prototype_urban_bulk_delta so earlier alpha gathers in the
collection do not pre-deplete capacity under CI Postgres persistence.
2026-05-24 15:51:32 -04:00
VinPropane 01dc48a50a NEO-63: add plan, manual QA, and doc updates.
README gather-via-interact section; E3.M1 anchor coords; backlog landed.
2026-05-24 15:44:15 -04:00
VinPropane 97f8f31682 NEO-60: add GET /game/world/resource-node-definitions endpoint
Versioned read-only projection backed by IResourceNodeDefinitionRegistry
with nested yield DTOs, integration test, Bruno, manual QA, and docs.
2026-05-24 14:47:23 -04:00
VinPropane dc5141ed03 NEO-56: add inventory telemetry hook comment sites
item_created on successful TryAddStack; inventory_transfer_denied on
all Denied paths. README, module docs, manual QA, plan ACs updated.
2026-05-24 13:32:21 -04:00
VinPropane 08428c4da4 NEO-53: GET world item-definitions, Bruno, docs, and tests
Registry-backed read model at /game/world/item-definitions; Bruno
collection, manual QA checklist, README and module alignment updates.
2026-05-23 19:09:46 -04:00
VinPropane ffdbed26f2 NEO-48: dev mastery-fixture API for Bruno state setup
Replace fixture player ids with POST …/__dev/mastery-fixture (resetPerkState,
absolute skillXp). Bruno deny tests set state in pre-request on dev-local-1.
Gated to Development/Testing or Game:EnableMasteryFixtureApi.
2026-05-17 20:31:26 -04:00
VinPropane b72201b1f0 NEO-48: Bruno fixture players for deterministic perk deny tests
Seed neo48-perk-fresh and neo48-perk-branch via Game:FixturePlayerIds;
level_too_low uses isolated fresh player, branch_already_chosen sets up
neo48-perk-branch in pre-request instead of skipping on shared state.
2026-05-17 20:26:21 -04:00
VinPropane 3ba8300652 NEO-48: address code review — Bruno deny, API deny tests
Add self-contained branch_already_chosen Bruno request, HTTP deny smoke
for unknown track/tier/branch and null-body 400, folder docs for level_too_low.
2026-05-17 20:21:42 -04:00
VinPropane 39c54c3881 NEO-48: perk-state HTTP, Bruno, tests, and docs
GET/POST /game/players/{id}/perk-state with versioned JSON, engine-backed
branch selection, PerkStateApiTests, Bruno collection, README, and E2.M3 alignment.
2026-05-17 20:10:31 -04:00
VinPropane 38ef54c238 NEO-49: document perk_unlock hook sites in README, module, and manual QA 2026-05-17 19:10:14 -04:00
VinPropane 2af9b1c011 NEO-43: mission reward skill XP grant helper and docs 2026-05-15 20:30:43 -04:00
VinPropane 15bf598228 NEO-42: add refine activity XP grant helper and tests 2026-05-10 19:38:30 -04:00
VinPropane c1e77280e3 NEO-41: grant salvage activity XP on resource_node interact 2026-05-10 19:10:35 -04:00
VinPropane effd234ee3 NEO-40: add progression telemetry hook comment sites 2026-05-10 18:49:40 -04:00
VinPropane 236040a5c2 NEO-39: add data-driven level curve with startup schema validation
Replace placeholder XP level math with content-backed thresholds validated in CI and at server boot, and update docs/manual QA/review artifacts to reflect NEO-39 delivery and follow-up fixes.
2026-05-06 23:10:06 -04:00
VinPropane b2999f3ed9 NEO-38: address review — docs alignment, Bruno deny, README levelUps trim 2026-05-06 22:26:23 -04:00
VinPropane 2bcde45891 NEO-38: add curl examples to manual QA 2026-05-06 22:20:14 -04:00
VinPropane 33b2e917e4 NEO-38: skill XP POST grant, persistence, level-up response 2026-05-06 22:17:02 -04:00
VinPropane a3cbef063c NEO-37: treat skill progression JSON array order as non-contractual 2026-05-06 21:53:24 -04:00
VinPropane 9cd96a72c3 NEO-37: add skill progression snapshot GET API, tests, Bruno, docs 2026-05-06 21:48:17 -04:00
VinPropane a0c3599525 NEO-36: address code review (manual QA header, alignment, README, Bruno) 2026-05-04 20:44:52 -04:00
VinPropane 28fcd52c8c NEO-36: add curl example to manual QA checklist 2026-05-04 20:37:20 -04:00
VinPropane ab597ff350 NEO-36: expose GET /game/world/skill-definitions with tests, Bruno, QA doc 2026-05-04 20:36:06 -04:00
VinPropane 9da5e7dbf5 NEO-34: address code review follow-ups (docs, appsettings, AAA)
Update E2.M1 alignment table for landed catalog load; add Content placeholders
to appsettings.json; align implementation plan tests/appsettings notes; expand
manual QA header to project standard; strike review suggestions; tighten host
catalog test Arrange/Act/Assert.
2026-05-02 19:50:02 -04:00
VinPropane 1a9088c77c NEO-34: fail-fast skill catalog load at server startup
Register SkillDefinitionCatalog from content/skills with JsonSchema.Net validation
mirroring validate_content.py and the prototype Slice 1 gate. Resolve paths via
Content:SkillsDirectory or discovery from AppContext.BaseDirectory. Eager-load
after WebApplication build so bad catalogs block startup. Add unit and host
tests, pin test factories to repo skills, document config in server/README, add
manual QA checklist, and extend Bruno GET /health smoke tests.
2026-05-02 19:44:10 -04:00
VinPropane f4ba4cdd92 NEO-32: optional NEON_SPRAWL_API_LOG stdout for ability-cast 2026-04-30 21:37:03 -04:00
VinPropane ae74f570dc NEO-32: manual QA step 3 without server console logging 2026-04-30 21:33:08 -04:00
VinPropane 361a6800d2 NEO-32: cooldown snapshot API, on_cooldown deny, client HUD sync 2026-04-30 21:19:32 -04:00
VinPropane b5478782a8 NEO-30: cast funnel telemetry hook sites and docs 2026-04-30 20:59:47 -04:00
VinPropane 7de8e7ecfd NEO-28: cast target authority, HUD feedback, tests + docs 2026-04-27 21:03:04 -04:00
VinPropane eac95f0c27 chore: group Bruno hotbar-loadout and ability-cast under subfolders 2026-04-27 20:27:53 -04:00