Commit Graph

95 Commits (e729996f4711aebb5e2861dae0dcd5cc402c52c2)

Author SHA1 Message Date
VinPropane a38ab660b4 NEO-75: fix gdlint/gdformat on economy HUD node paths
Resolve economy HUD @onready paths via EconomyHudSection.get_node
so gdlint max-line-length and gdformat both pass pre-push.
2026-05-24 20:41:01 -04:00
VinPropane 025d6e529d NEO-75: add collapsible economy HUD section
Reparent inventory, skills, and craft panel under EconomyHudSection
with an Economy HUD toggle; update main.gd node paths and GdUnit tests.
2026-05-24 20:33:48 -04:00
VinPropane a8cedcbd64 NEO-74: Repopulate recipe panel when item defs load.
Run craft panel refresh before inventory-error guard in
_on_item_definitions_ready so display names resolve even when
inventory GET failed first.
2026-05-24 20:21:37 -04:00
VinPropane d6d95ec438 NEO-74: Fix craft busy flag ordering; drop unused recipe helpers.
Set _busy before HTTP request so sync mock completion cannot leave the
client stuck busy; remove uncalled recipes_snapshot/recipe_by_id; add
GdUnit guard for is_busy after sync response.
2026-05-24 20:14:05 -04:00
VinPropane f939132f38 NEO-74: Fix recipe client HTTP error test signal capture.
Use got-array lambda pattern; GDScript cannot assign outer locals from
signal callbacks, which left failed_reason empty in CI GdUnit runs.
2026-05-24 20:05:22 -04:00
VinPropane 501834279e NEO-74: Apply gdformat to main and craft refresh test. 2026-05-24 20:02:47 -04:00
VinPropane 1533687aa8 NEO-74: Fix gdlint class-definitions-order in craft panel. 2026-05-24 20:02:26 -04:00
VinPropane 2fec42f8f6 NEO-74: Address code review — recipe sync HUD and test uids.
Wire recipes_sync_failed to CraftFeedbackLabel, remove unused _scroll
binding, add GdUnit .uid companions, extend recipe client HTTP error
test, strike through review items.
2026-05-24 19:59:00 -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 07ca427f2f NEO-73: preserve gather finalize across coalesced terminal POST.
Use awaiting-inventory flag so R-then-E still paints GatherFeedbackLabel
after inventory sync; only clear session on true orphans (Bugbot #107).
2026-05-24 19:42:39 -04:00
VinPropane d0622701eb NEO-73: clear orphaned gather pending on coalesced interact.
Track pending gather interactable id; drop flag when a different
interact completes (Bugbot PR #107). Add GdUnit coalescing test.
2026-05-24 19:24:00 -04:00
VinPropane 8de08a67a8 NEO-73: fix gdlint max-line-length for pre-push hook. 2026-05-24 19:14:27 -04:00
VinPropane 434226a069 NEO-73: address code review follow-ups.
Emit interaction_request_failed to clear stale gather pending flag;
add deny/HTTP failure tests; update alignment docs and review file.
2026-05-24 19:09:36 -04:00
VinPropane b52428e898 NEO-73: track Godot uid companions for new GdUnit tests. 2026-05-24 19:07:26 -04:00
VinPropane aa013d4be7 NEO-73: wire client gather feedback on resource interact.
Add skill progression client, nearest-node R picker, interaction
result signal, GatherFeedbackLabel and SkillProgressionLabel HUD.
2026-05-24 19:07:19 -04:00
VinPropane 68b9b9c8c8 NEO-72: satisfy gdlint/gdformat for pre-push hook.
Extract interact key routing helper to fix max-returns; wrap long lines and gdformat.
2026-05-24 18:50:10 -04:00
VinPropane c6af6f7c41 chore: track hotbar cast slot resolver Godot uid companions.
Companion files for scripts already on main from NEO-31; keeps uid:// refs stable.
2026-05-24 18:44:07 -04:00
VinPropane 5c9e1d3fc3 NEO-72: add GdUnit test script uid companions. 2026-05-24 18:43:52 -04:00
VinPropane e7a61a1b3f NEO-72: fix HTTP client header types and strengthen tests.
Use PackedStringArray for request_completed headers so handlers run;
assert inventory payload shape and display_name_for after sync per review.
2026-05-24 18:43:39 -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 76fd1cc70a NEO-32: gdformat main.gd; touch cooldown state tests 2026-04-30 22:06:15 -04:00
VinPropane 75eec11f0d NEO-32: shorten test suite doc line for gdlint 2026-04-30 22:05:29 -04:00
VinPropane ee953cbdfd NEO-32: gdformat-style cast accept cooldown refresh 2026-04-30 22:05:22 -04:00
VinPropane c83d8c8ed2 NEO-32: satisfy gdlint line length (pre-push) 2026-04-30 22:05:01 -04:00
VinPropane 27daef70a7 NEO-32: commit Godot .uid companions; document convention for agents 2026-04-30 22:02:29 -04:00
VinPropane 56f7ae8a81 NEO-32: fix cooldown HUD anchor when serverTimeUtc parse fails 2026-04-30 21:45:25 -04:00
VinPropane 361a6800d2 NEO-32: cooldown snapshot API, on_cooldown deny, client HUD sync 2026-04-30 21:19:32 -04:00
VinPropane 94cec78053 NEO-30: wrap telemetry doc comments for gdlint 2026-04-30 21:05:42 -04:00
VinPropane b5478782a8 NEO-30: cast funnel telemetry hook sites and docs 2026-04-30 20:59:47 -04:00
VinPropane bbfa761aee NEO-28: gdformat ability_cast_client_test.gd after connect() wrap. 2026-04-27 22:15:00 -04:00
VinPropane 0bce6ed74c NEO-28: Wrap long lines for gdlint (ability cast + tests). 2026-04-27 22:14:47 -04:00
VinPropane e6ccc4453c chore: Apply Arrange/Act/Assert across server and client tests.
Split HTTP verification reads into Assert in C# API and integration tests.
Add # Arrange/# Act/# Assert to GdUnit suites and keep Act free of assertions
where casts and busy guards are under test.
2026-04-27 22:09:35 -04:00
VinPropane 09e783a5e8 NEO-28: AAA layout for cast tests (C# + GdUnit) 2026-04-27 21:46:37 -04:00
VinPropane 7de8e7ecfd NEO-28: cast target authority, HUD feedback, tests + docs 2026-04-27 21:03:04 -04:00
VinPropane 479d1e1806 NEO-31: Bruno collection metadata, cast script UIDs, review verification notes 2026-04-27 20:50:53 -04:00
VinPropane 18e55f717a NEO-31: wrap long lines for gdlint pre-push 2026-04-27 20:49:11 -04:00
VinPropane af1fdef816 NEO-31: single authority mirror for hotbar and ability cast clients 2026-04-27 20:45:48 -04:00
VinPropane cc1c6f711e NEO-31: request_cast bool for telemetry hook; document cast API in server README 2026-04-27 20:44:40 -04:00
VinPropane e88e59f3a6 NEO-31: hotbar cast resolver tests, doc alignment, review follow-up 2026-04-27 20:42:36 -04:00
VinPropane 7e97eb4c1d NEO-31: ability cast POST, client hotbar keys, tests, Bruno 2026-04-27 20:17:57 -04:00
VinPropane cb95876f73 NEO-29: expand manual QA with client-driven checks
Add explicit client-side validation steps to the NEO-29 manual QA checklist and include the generated Godot uid file created during client test runs.
2026-04-26 00:03:33 -04:00
VinPropane 23da39f7d3 NEO-29: fix main script definition order for hook lint
Move hotbar state/client field declarations above onready definitions for class order compliance, and include a non-behavioral test file restage so client hooks can validate.
2026-04-25 23:28:14 -04:00
VinPropane 9ac4f27ea2 NEO-29: resolve follow-up review regressions
Fix the hotbar client test transport body construction so the suite parses and runs again, and normalize AAA marker ordering in the flagged C# tests to restore readability consistency with the test template.
2026-04-25 23:26:25 -04:00
VinPropane 71af7a5942 NEO-29: normalize test formatting across server and client suites
Audit all test files and bring them in line with formatting/style expectations by adding explicit AAA markers across server test methods and fixing GDScript test lint/format issues.
2026-04-25 22:57:05 -04:00
VinPropane b92b86a407 NEO-29: cover hotbar edge paths and add Bruno requests
Add server/client tests for duplicate-slot, schema, missing-player, normalization, and busy/error handling paths, and include Bruno requests for the new hotbar routes with happy and representative failure checks.
2026-04-25 22:36:23 -04:00
VinPropane acde9e8145 NEO-29: add HotbarLoadout v1 contract and hydration path
Ship a server-owned hotbar loadout API with Postgres-or-memory persistence so slot bindings survive reconnects in configured environments. Wire client boot hydration and add tests/docs/manual QA to keep the prototype contract and policy explicit.
2026-04-25 22:29:52 -04:00
VinPropane 96fe4d11f0 NEO-26: gdformat selection_event_client_test.gd 2026-04-25 19:43:25 -04:00
VinPropane 1882476fd3 NEO-26: address code review — tracking docs, sequence tests, review strikethrough
Align E1.M3 rows with landed SelectionEvent (NEO-26) vs follow-on scope.
Assert selection_event sequence in GdUnit. Mark review suggestions/nits done.
2026-04-25 19:41:46 -04:00
VinPropane 5127fe59a7 NEO-26: emit selection_event from TargetSelectionClient
Add selection_event signal when lockedTargetId changes; attribute tab, clear,
and server_correction from POST/GET paths. Optional log_selection_events print.
GdUnit coverage; README, E1.M3 snapshot, manual QA, and plan checklist updated.
2026-04-25 19:33:53 -04:00
VinPropane ac2916bfee NEO-25: satisfy gdlint/gdformat for pre-push hook 2026-04-24 20:56:04 -04:00