VinPropane
365e57799a
NEO-153: add contract issue + progress HUD in Godot client.
...
Shift+C issues prototype contract via contract_client; contract_hud_controller
shows encounter objective, deny copy, and completion reward transition.
Includes scene wiring, GdUnit tests, manual QA, and README.
2026-06-28 13:49:14 -04:00
VinPropane
4022a1c220
NEO-142: satisfy pre-push gdlint for faction HUD wiring
...
Wrap faction standing HUD deps in a setup dictionary to stay under the function-argument limit, shorten the faction client doc comment for max line length, and add a GdUnit test for setup wiring.
2026-06-17 21:31:09 -04:00
VinPropane
00590d5944
NEO-142: review follow-up — static faction display names + gate rules tests
...
Use FactionStandingClient.display_name_for directly; add GdUnit coverage for
faction_gate_rules_for helper.
2026-06-17 21:16:17 -04:00
VinPropane
f8a36213a1
NEO-142: clear GDScript linter warnings in faction HUD work
...
Hoist quest progress label lines binding; drop redundant await on synchronous
GdUnit assert_signal calls.
2026-06-17 21:12:54 -04:00
VinPropane
c8c706f839
NEO-142: add faction standing client and HUD wiring
...
Introduce faction-standing GET client, standing label in HudRoot, readable
faction_gate_blocked accept feedback, reputationGrants reward lines, and GdUnit tests.
2026-06-17 21:10:34 -04:00
VinPropane
e2991a2926
NEO-132: queue economy sync while clients are busy
...
Gather/craft start inventory and skill GETs in parallel with quest-progress;
post-completion _refresh_economy_hud was dropped when those clients were _busy.
Match quest_progress_client pending-sync flush so a follow-up GET runs after
the in-flight request completes.
2026-06-14 14:19:53 -04:00
VinPropane
acf3d079d2
NEO-132: Move economy refresh into quest HUD controller for lint budget.
...
Pass inventory and skill clients into setup; refresh on completion
transition in quest_hud_controller.gd; fix line-length and file-size
gdlint limits for pre-push.
2026-06-14 14:15:46 -04:00
VinPropane
726926b901
NEO-132: Fix pre-push lint (main.gd line budget, test line length).
...
Wire economy refresh via setup callback; split long lines; add callback
GdUnit coverage.
2026-06-14 14:15:18 -04:00
VinPropane
89c8f3034c
NEO-132: Fix pre-push lint (main.gd line budget, test line length).
...
Wire economy refresh via setup callback instead of signal connect;
wrap long GdUnit assert line.
2026-06-14 14:14:54 -04:00
VinPropane
63156c353f
NEO-132: Ship Slice 2 quest reward capstone docs and economy refresh.
...
Add NEO-132 manual QA extending NEO-123 with reward HUD and economy
verification, README capstone section, E7.M2 Ready alignment, client
completion-transition signal for inventory/skill refresh, and GdUnit
coverage for the new signal.
2026-06-14 14:08:02 -04:00
VinPropane
3c3170c731
NEO-131: gdformat quest HUD scripts after Bugbot fixes.
2026-06-07 23:07:32 -04:00
VinPropane
7e3507088b
NEO-131: Fix Bugbot boot-seed and item-defs reward repaint.
...
Track in-session active quests so first successful GET after failed
syncs can paint rewards; repaint reward label on item definitions_ready.
2026-06-07 23:06:39 -04:00
VinPropane
1a2478b289
NEO-131: Add quest completion reward HUD in Godot client.
...
Parse completionRewardSummary from quest-progress GET and paint
QuestRewardDeliveryLabel on in-session completion transitions.
2026-06-07 22:59:17 -04:00
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