neon-sprawl/client/scripts
VinPropane cb001a9369 NEON-29: fix descend bypass using wrong feet_y, trapping player on first step
capsule_feet_y was called with CAPSULE_HALF_HEIGHT (0.5, cylinder half only),
giving a "code-feet" that is 0.4 m above the actual capsule bottom.

From the first step (body Y=1.2): code-feet = 0.7, which is above the
platform goal (Y=0.6). 0.6 < 0.64 triggered the descend bypass even though
the player needed to ascend. Each bypass tick used FLOOR_SNAP_MOVING=0.32 m,
which snapped the capsule back to the step surface (0.11 m below the
assist-lifted bottom), undoing every step assist lift in an oscillation loop.
The player appeared to float at first-step height and could not reach the
second platform.

Fix: use CAPSULE_HALF_HEIGHT + PLAYER_CAPSULE_RADIUS (=0.9, the actual
capsule bottom) for the feet_y in the descend bypass condition. The bypass
now fires only when the goal surface is genuinely below the player's physical
feet, not when the player needs to ascend through stepped geometry.

Also use WALK_STEP_ASSIST_SNAP instead of FLOOR_SNAP_MOVING in the descend
bypass when _step_assist_active is true, so any remaining overlap cannot undo
a step assist lift via the large snap.
2026-04-11 22:46:17 -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 descend bypass using wrong feet_y, trapping player on first step 2026-04-11 22:46:17 -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