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
VinPropane
7e97eb4c1d
NEO-31: ability cast POST, client hotbar keys, tests, Bruno
2026-04-27 20:17:57 -04:00