Commit Graph

247 Commits (4cfec3ac7f18af961cc1804d98f50b3058b6e043)

Author SHA1 Message Date
VinPropane 5e146cd934 NEO-122: Surface quest accept in-flight and failed-start HUD feedback.
Show sending/busy/could-not-start copy on Q and Shift+Q accept paths and
lock the behavior with GdUnit key-input tests.
2026-06-07 14:55:47 -04:00
VinPropane bada3024c2 NEO-122: Repaint quest HUD when definitions load.
Definitions ready now re-renders progress rows when a snapshot exists
even after a progress sync error, so display names replace raw ids.
2026-06-07 14:52:01 -04:00
VinPropane c663721d34 NEO-122: Harden quest HUD error/accept rendering.
Keep accept merge visible after sync failure, clear stale progress
error on successful accept, show sync banner with rows, and block
Shift+Q when definitions failed to load.
2026-06-07 14:49:12 -04:00
VinPropane 91bdb18357 NEO-122: Keep quest HUD fresh after accept.
Merge accept-response quest row into the HUD snapshot immediately,
re-apply when a stale GET returns not_started, and queue pending sync
when progress GET is already in flight.
2026-06-07 14:45:56 -04:00
VinPropane 46e24d35d6 NEO-122: Fix bugbot items and GdUnit orphan leaks.
Block Shift+Q when progress sync failed; remove HudRootScroll 80px min
that overlapped the economy panel; rewrite quest_hud_controller tests
with HTTP mocks and auto_free for CI exit 0.
2026-06-07 14:42:18 -04:00
VinPropane 3606d0ba57 NEO-122: Fix CI flake and address Bugbot quest HUD feedback.
Harden npc windup timing test, refresh quest progress on encounter
complete, surface accept busy/loading feedback, and treat missing quest
rows as not_started for Shift+Q eligibility.
2026-06-07 14:38:06 -04:00
VinPropane 6397d81ca3 NEO-122: Run gdformat on quest and economy HUD client scripts. 2026-06-07 13:37:58 -04:00
VinPropane b3f9b22ef2 NEO-122: Shorten economy HUD paths and add quest HUD controller tests. 2026-06-07 13:37:39 -04:00
VinPropane eba0d09d70 NEO-122: Extract quest HUD controller to satisfy gdlint limits.
Move quest progress/accept wiring out of main.gd so pre-push gdlint
passes max line length and max file lines checks.
2026-06-07 13:37:25 -04:00
VinPropane 632a7472de NEO-122: Fix HudRootScroll node path type for get_node_or_null. 2026-06-07 13:08:02 -04:00
VinPropane 0b3ef92ab6 NEO-122: Separate debug HUD scroll from economy panel.
Clamp HudRootScroll above the economy block, add an opaque panel fill,
and shrink the economy max height so quest and recipe text no longer overlap.
2026-06-07 13:07:58 -04:00
VinPropane f801692091 NEO-122: Fix economy HUD positioning so panel renders on screen.
Bottom anchors placed the section off-screen before layout; use explicit
position/size from viewport height and draw above HudRoot via z_index.
2026-06-07 13:00:56 -04:00
VinPropane d1fa08b8c4 NEO-122: Pin economy HUD to viewport so recipes stay visible.
Reparent EconomyHudSection out of HudRoot, clamp its height to the
viewport, put recipes first in a single BodyScroll, and update tests.
2026-06-07 12:58:31 -04:00
VinPropane e041c02959 NEO-122: Fix craft recipe panel scroll and row clipping.
Stack recipe label above Craft button so rows fit panel width, disable
horizontal scroll, reset scroll to top on populate, and bump panel height.
2026-06-07 12:54:57 -04:00
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