NEON-29: Gate descend lip snap on debounced ledge peel.
DESCEND_LIP_SNAP_CAP (0.1) ran whenever goal was below feet by geometry, independent of probe debounce. Feet_y noise on treads toggled 0.32 vs 0.1 snap and caused ~2–3 cm Y jitter. Apply lip cap only when debounced peel is armed and not in peel suspend; otherwise keep FLOOR_SNAP_MOVING.pull/41/head
parent
73d26a90d7
commit
038505ea3e
|
|
@ -567,9 +567,17 @@ func _walk_floor_snap_length(
|
|||
# fight the approach stairs with snap ↔ assist oscillation.
|
||||
if _auth_walk_goal.y > feet_y + 0.12 and _step_assist_wallish_blocks(want):
|
||||
return WALK_STEP_ASSIST_SNAP
|
||||
if (
|
||||
# Lip cap only while debounced peel is armed. Otherwise [code]feet_y[/code] wobble on treads
|
||||
# crosses [code]feet_y > goal + 0.08[/code] / margins → 0.32 m vs 0.1 m snap flips each tick
|
||||
# (~2–3 cm body Y jitter on green stairs, x≈19).
|
||||
var descend_lip_geom: bool = (
|
||||
_auth_walk_goal.y < feet_y - DESCEND_GOAL_Y_MARGIN
|
||||
and feet_y > _auth_walk_goal.y + 0.08
|
||||
)
|
||||
if (
|
||||
descend_lip_geom
|
||||
and _walk_debounced_wants_ledge_peel
|
||||
and not _walk_peel_suspend_near_goal(feet_y, horiz_dist)
|
||||
):
|
||||
return minf(FLOOR_SNAP_MOVING, DESCEND_LIP_SNAP_CAP)
|
||||
return FLOOR_SNAP_MOVING
|
||||
|
|
|
|||
Loading…
Reference in New Issue