VinPropane
c8d475670c
NEO-110: address review — loot label helper, defs re-paint, tests.
2026-05-31 19:38:07 -04:00
VinPropane
bcc9bf1c69
NEO-110: manual QA, README, plan reconciliation, and module docs.
2026-05-31 19:35:56 -04:00
VinPropane
d81d19b859
NEO-110: encounter progress client, HUD labels, and GdUnit tests.
2026-05-31 19:35:54 -04:00
VinPropane
b77b7f8fbb
NEO-98: Address follow-up review doc findings.
...
Update E5.M2 module freeze, plan scope reconciliation, alignment
register, client README melee row, and strike-through follow-up review.
2026-05-30 18:02:55 -04:00
VinPropane
b03128a3b0
NEO-98: address code review — Esc regression step and AC parity
2026-05-30 17:05:30 -04:00
VinPropane
ae8b01d5e3
NEO-98: add capstone manual QA and Slice 2 docs
2026-05-30 17:02:50 -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
d2765dca82
NEO-97: increase prototype HUD label font sizes
...
Bump UICanvas combat and economy labels from 15/14 to 18/17 and
shift vertical offsets so larger text does not clip.
2026-05-29 21:30:35 -04:00
VinPropane
d86ff337bc
NEO-97: add GdUnit test script uid companions
2026-05-29 21:09:28 -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
f642fc2a7e
NEO-99: restore Godot window maximized display mode from editor.
...
Re-applies window/size/mode=2 set in the Godot project settings UI.
2026-05-29 20:04:27 -04:00
VinPropane
ab7033e85a
NEO-99: update GdUnit tests for district visuals and prototype_npc_* targeting.
...
Add visual catalog transform tests and refresh target selection, marker,
and combat client suites for PrototypeNpcRegistry ids from NEO-91.
2026-05-29 20:03:47 -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
e19ecdb390
NEO-99: add Blender-exported district GLB assets and import sidecars.
...
Check in prototype environment mesh, interactable/combat prop GLBs, extracted
texture imports, and Sketchfab/Poly Haven credits for the Godot overlay.
2026-05-29 20:03:42 -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
3af98fa208
NEO-86: Apply gdformat to gig feedback refresh test.
2026-05-25 14:04:49 -04:00
VinPropane
178097c603
NEO-86: Track GdUnit test script uid companions.
2026-05-25 14:04:31 -04:00
VinPropane
8d4c048bbe
NEO-86: Address code review test gaps and doc alignment.
...
Promote E5.M1 to Ready in alignment register, fix NEO-85 README link,
add schema-mismatch and deny-path GdUnit cases; strike review suggestions.
2026-05-25 14:01:54 -04:00
VinPropane
b97cace625
NEO-86: Add capstone manual QA, README, and module doc reconciliation.
...
Documents end-to-end Godot combat loop, marks E5M1-12 landed, and updates
E5.M1 alignment rows for Epic 5 Slice 1 client capstone complete.
2026-05-25 13:59:31 -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
652a6459a8
NEO-85: gdformat prototype target markers test.
2026-05-25 13:43:07 -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
2316303ad7
NEO-85: gdformat position authority client test signal asserts.
...
Pre-push gdformat --check failed on long await assert_signal lines.
2026-05-25 13:35:45 -04:00
VinPropane
9c8e8c2109
NEO-85: Wrap craft feedback signal assert for gdlint line length.
...
Pre-push gdlint rejects the long await assert_signal line added in the
GdUnit signal-assertion fix.
2026-05-25 13:34:19 -04:00
VinPropane
b90fedf7a8
NEO-85: Fix flaky GdUnit signal assertions in full suite runs.
...
Await async assert_signal calls and match emitted payload args with any()
where tests only care that the signal fired, preventing orphaned 2s timeouts
that surfaced as false failures in later suites (e.g. hotbar_loadout_client_test).
2026-05-25 13:32:51 -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
c8f6884ea0
NEO-85: Track GdUnit test script uid companions.
2026-05-25 13:22:17 -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
504d3228dd
NEO-85: Address code review doc sync and 404 test gap.
...
Update module dependency register and E5.M1 related-slices entry for
NEO-85 landed; add combat-targets HTTP 404 GdUnit case; strike review suggestions.
2026-05-25 13:17:47 -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
7695527a79
NEO-75: address code review doc consistency findings
...
Update E3.M1/M3 status rows, epic Slice 5 completion note, README HUD
paths, E3S5-04 collapse AC, and strike through resolved review items.
2026-05-24 20:35:32 -04:00
VinPropane
977bcc3b27
NEO-75: capstone manual QA, README loop docs, alignment
...
Add zero-Bruno gather→refine→make checklist, end-to-end README section,
and mark Epic 3 Slice 5 client capstone complete in module docs.
2026-05-24 20:33:51 -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