Commit Graph

85 Commits (540257d12d97c331a7dc5bb9fdd787cffb285133)

Author SHA1 Message Date
VinPropane 4379e42106 NEO-110: fix gdlint line length and gdformat for CI. 2026-05-31 19:43:49 -04:00
VinPropane c8d475670c NEO-110: address review — loot label helper, defs re-paint, tests. 2026-05-31 19:38:07 -04:00
VinPropane d81d19b859 NEO-110: encounter progress client, HUD labels, and GdUnit tests. 2026-05-31 19:35:54 -04:00
VinPropane b4b7fddf3a NEO-97: refresh NPC HUD labels when combat poll stops
Re-render NpcStateLabel and TelegraphLabel when combat-active gate
turns off (e.g. Esc clear without aggro) so stale rows are cleared.
2026-05-29 22:10:42 -04:00
VinPropane 38fc38fde8 NEO-97: dedupe locked_target_id_from_state via helpers
Use NpcCombatHudHelpers.locked_target_id_from_state from main.gd
instead of maintaining a private copy (Bugbot).
2026-05-29 22:02:52 -04:00
VinPropane 1bfa13b173 NEO-97: address Bugbot HUD row lookup and reuse
Resolve HUD npc rows once per render tick; wire production locked-row
lookup through NpcRuntimeClient.npc_row for last-snapshot fallback.
2026-05-29 21:45:17 -04:00
VinPropane bd1dd6b01f NEO-97: fix gdlint and gdformat CI failures
Wrap long lines, restore signal-before-const order in craft_recipe_panel,
and run gdformat on flagged HUD files.
2026-05-29 21:42:49 -04:00
VinPropane ab0debd0b4 NEO-97: fix HUD overlap with vertical stack and larger fonts
Replace fixed-height absolute labels with HudRoot VBoxContainer so text
expands without overlapping; apply 22/20px theme via prototype_hud_theme.
2026-05-29 21:32:18 -04:00
VinPropane fd0b6d3db8 NEO-97: address code review — helpers, tests, doc fixes
Extract npc_combat_hud_helpers.gd for shared HUD formatters; hide telegraph
at zero windup; surface runtime sync errors; npc_row last-snapshot fallback;
expand GdUnit coverage; align E5.M2 module docs and strike review findings.
2026-05-29 21:07:02 -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 fa3d48a6aa NEO-99: wire district GLB overlay and migrate tab targets to PrototypeNpcRegistry.
Add visual catalog/art scripts, instance environment art in main, spawn GLB
interactable and NPC prop meshes at server anchors, and replace legacy
prototype_target_* ids with prototype_npc_elite/melee/ranged for Tab lock.
2026-05-29 20:03:45 -04:00
VinPropane 01741fed07 NEO-86: Wire gig progression client and defeat HUD refresh.
Adds GigProgressionClient, GigXpLabel in economy HUD, and event-driven
GET refresh when cast accept carries targetDefeated; GdUnit coverage.
2026-05-25 13:59:29 -04:00
VinPropane bf9fd84b1c NEO-85: Apply gdformat to client scripts and tests. 2026-05-25 13:26:22 -04:00
VinPropane 4d32d068dc NEO-85: Fix gdlint max line length in combat HP label render. 2026-05-25 13:26:09 -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 493e963a28 NEO-85: Wire client combat feedback and target HP HUD.
Parse combatResolution on cast accept, add combat-targets GET client,
CombatTargetHpLabel, and event-driven HP refresh on lock change and cast.
2026-05-25 13:15:59 -04:00
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 501834279e NEO-74: Apply gdformat to main and craft refresh test. 2026-05-24 20:02:47 -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 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 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 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 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 7de8e7ecfd NEO-28: cast target authority, HUD feedback, tests + docs 2026-04-27 21:03:04 -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 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 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 9c054fbcf2 NEO-27: add Slice 3 telemetry hook-site documentation
Map SelectionEvent to target_changed, reserve ability_cast_requested and ability_cast_denied hook locations, and align plan/manual QA/decomposition docs with TODO(E9.M1) telemetry follow-up.
2026-04-25 21:56:28 -04:00
VinPropane ac2916bfee NEO-25: satisfy gdlint/gdformat for pre-push hook 2026-04-24 20:56:04 -04:00
VinPropane c17526e611 NEO-25: close code review follow-up (alignment, warning, tests) 2026-04-24 20:54:26 -04:00
VinPropane 06d9104157 NEO-25: route E/R interact via main _unhandled_key_input for reliable input 2026-04-24 20:44:43 -04:00
VinPropane ce54fcc44f NEO-25: world interactables GET, registry rows, fetch-driven Godot props + glow 2026-04-24 20:36:15 -04:00