auto-git:

[change] src/runtime-three/first-person-navigation-controller.ts
This commit is contained in:
2026-05-01 16:46:59 +02:00
parent 6f7845999f
commit d028ac273d

View File

@@ -1027,6 +1027,47 @@ export class FirstPersonNavigationController implements NavigationController {
}
})
: null;
if (
climbTopOutAssist === null &&
playerMovement.edgeAssist.enabled &&
climbMovement.motion.y > 0
) {
const climbLedgeGrabTarget = resolvePlayerLedgeGrabTarget({
feetPosition: this.feetPosition,
shape: this.standingPlayerShape,
direction: {
x: -activeSurface.normal.x,
y: 0,
z: -activeSurface.normal.z
},
pushToTopHeight: playerMovement.edgeAssist.pushToTopHeight,
canOccupyShape: (feetPosition, shape) =>
this.context?.canOccupyPlayerShape?.(feetPosition, shape) ?? true,
probeGround: (feetPosition, shape, maxDistance) =>
this.context?.probePlayerGround?.(
feetPosition,
shape,
maxDistance
) ?? {
grounded: false,
distance: null,
normal: null,
slopeDegrees: null
}
});
if (climbLedgeGrabTarget !== null) {
this.enterLedgeGrab(
climbLedgeGrabTarget,
climbMovement.inputMagnitude
);
this.updateCameraTransform();
this.publishTelemetry();
return true;
}
}
this.climbSurface = climbTopOutAssist === null ? activeSurface : null;
const resolvedMotion =