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
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
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
55bb8d987a
NEO-97: fix duplicate npc_row parse error in runtime client
...
GDScript cannot define instance and static npc_row with the same name;
helpers and tests now call npc_row_in_snapshot for static lookup.
2026-05-29 21:09:25 -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
bbdebcd724
NEO-99: Fix Bugbot dead code and GdUnit CI failures
...
Remove unused ENVIRONMENT preload (environment loads via main.tscn). Update
combat_targets_client_test for three prototype_npc_* rows; auto_free GLB
instances in visual catalog tests to avoid orphan exit code 101.
2026-05-29 20:26:44 -04:00
VinPropane
d6b87f34b3
NEO-99: Fix gdlint duplicated-load and gdformat line wrap
...
Extract shared TARGET_ALPHA preload for melee and elite NPC props; reformat
interactable_world_builder prop lookup to satisfy max-line-length.
2026-05-29 20:07:25 -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
a22c900655
chore: gdformat isometric_follow_camera.gd for CI.
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:28:37 -04:00
VinPropane
9fa0fbef4b
chore: accumulate trackpad pan delta before camera zoom steps.
...
Mac trackpads emit many pan events per gesture; stepping one band per
event jumped across all zoom levels. Accumulate delta with a threshold,
cap one step per event, and add a 150 ms cooldown between trackpad steps.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:24:30 -04:00
VinPropane
9b8593c145
chore: restore CameraStateScript preload removed in trackpad edit.
...
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:22:48 -04:00
VinPropane
90e6cfea28
chore: add macOS trackpad scroll and pinch camera zoom.
...
Map InputEventPanGesture and InputEventMagnifyGesture to the existing
discrete zoom bands; document in client README. Unrelated to NEO-93.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-27 23:21:00 -04:00
VinPropane
75d11bd3cd
Merge branch 'main' into NEO-86-playable-combat-capstone
2026-05-25 14:05:42 -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
f5ff0b8dc3
NEO-85: Drop dead emission props on unshaded dummy highlight.
...
Bugbot: emission_* on SHADING_MODE_UNSHADED materials has no visible effect
without glow; lock highlight is albedo-only. Add GdUnit coverage for albedo
brightening without emission.
2026-05-25 13:42:33 -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
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
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
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
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
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