neon-sprawl/client/scripts
VinPropane 1944eeafe8 NEON-29: fix step assist triggering on floor bumps (directional wall check)
The is_on_wall() short-circuits in _step_assist_has_support() and
_step_assist_wallish_blocks() caused the assist to fire whenever the capsule
touched any wall contact — including the sides of random floor bumps while
crossing flat ground toward a distant elevated goal. After a 0.11 m lift,
floor_snap_length = 0.09 m could not reach the original floor (0.11 m away)
and _step_assist_active never cleared, so the capsule floated permanently.

Fixes:
- Remove is_on_wall() blanket short-circuit from both functions.
- _step_assist_has_support() now takes want_dir_xz and accepts wall-ish
  contacts only when they oppose the direction of travel (dot < -0.2),
  i.e. genuine step faces, not sideways bump contacts.
- _step_assist_wallish_blocks() relies solely on the directional collision
  loop (dot < -0.04); no is_on_wall() bypass.
- _try_walk_step_assist() reordered to compute want before calling both
  functions so the same direction vector is used throughout.
- Added "floating free" fallback: if _step_assist_active and no collisions
  and not on floor, clear the flag so FLOOR_SNAP_MOVING restores on the
  next tick. Applied to all three physics paths.
2026-04-11 22:30:07 -04:00
..
camera_state.gd NEON-28: run follow camera in physics after Player (fix jitter) 2026-04-10 22:23:50 -04:00
camera_state.gd.uid NEON-25: isometric follow camera, CameraState, tests, and docs 2026-04-07 23:46:04 -04:00
ground_pick.gd NEON-28: Dev obstacle smoke, nav reparent on hide, and docs 2026-04-10 23:55:50 -04:00
ground_pick.gd.uid NS-16: MoveCommand → server PositionState, Godot sync, tests 2026-03-30 19:54:17 -04:00
interaction_radius_indicators.gd NS-18: fix gdlint (line length, const order/naming) 2026-04-04 20:24:59 -04:00
interaction_radius_indicators.gd.uid NS-18: InteractionRequest, client prototype, Postgres test UX 2026-04-04 20:19:33 -04:00
interaction_request_client.gd NS-18: fix gdlint (line length, const order/naming) 2026-04-04 20:24:59 -04:00
interaction_request_client.gd.uid NS-18: InteractionRequest, client prototype, Postgres test UX 2026-04-04 20:19:33 -04:00
isometric_follow_camera.gd chore: Fix gdlint/gdformat and harden pre-push on Windows 2026-04-11 00:01:25 -04:00
isometric_follow_camera.gd.uid NEON-25: isometric follow camera, CameraState, tests, and docs 2026-04-07 23:46:04 -04:00
main.gd chore: Fix gdlint/gdformat and harden pre-push on Windows 2026-04-11 00:01:25 -04:00
main.gd.uid fix(client): reliable NS-14 click-to-move without NavigationMesh 2026-03-29 22:08:25 -04:00
occlusion_policy.gd NEON-27: implement OcclusionPolicy — RayCast-based material fade 2026-04-08 23:34:00 -04:00
occlusion_policy.gd.uid NEON-27: finalise review (Approved) + Godot uid files 2026-04-08 23:55:29 -04:00
player.gd NEON-29: fix step assist triggering on floor bumps (directional wall check) 2026-04-11 22:30:07 -04:00
player.gd.uid fix(client): reliable NS-14 click-to-move without NavigationMesh 2026-03-29 22:08:25 -04:00
position_authority_client.gd chore: Fix gdlint/gdformat and harden pre-push on Windows 2026-04-11 00:01:25 -04:00
position_authority_client.gd.uid NS-16: MoveCommand → server PositionState, Godot sync, tests 2026-03-30 19:54:17 -04:00
prototype_interaction_constants.gd NS-18: gdformat — blank line after doc block (gdtoolkit 4.5.0) 2026-04-04 20:29:25 -04:00
prototype_interaction_constants.gd.uid NS-18: InteractionRequest, client prototype, Postgres test UX 2026-04-04 20:19:33 -04:00
random_floor_bump_collision_constants.gd NS-24: Fix GDScript lint (line length, gdlint, gdformat) 2026-04-06 00:41:32 -04:00
random_floor_bump_collision_constants.gd.uid NS-24: Eliminate idle jitter and movement QA bumps (Godot client) 2026-04-06 00:32:41 -04:00
random_floor_bumps.gd NS-24: Fix GDScript lint (line length, gdlint, gdformat) 2026-04-06 00:41:32 -04:00
random_floor_bumps.gd.uid NS-24: Eliminate idle jitter and movement QA bumps (Godot client) 2026-04-06 00:32:41 -04:00
zoom_band_config.gd NEON-26: add pre-push GDScript lint hook 2026-04-08 23:10:40 -04:00
zoom_band_config.gd.uid NEON-26: ZoomBandConfig, discrete zoom input, CameraState sync 2026-04-08 22:32:45 -04:00