Low-level movement function - moves character with collision resolution.
This is the core movement routine that handles physics simulation:
early exit if deltaTime <= 0
store deltaTime for supporting contact velocity check
moveShape() to slide through the world
updateSupportingContact() to determine ground state
updateInnerBodyTransform() if inner body exists
apply gravity impulse to ground body if character is on ground
Note: This function does NOT handle contact tracking (added/persisted/removed callbacks).
For full functionality including contact tracking, stair walking, and floor sticking,
use update() instead. If you use move() directly, you must call resetContactTracking()
before and finalizeContactTracking() after if you want removal callbacks.
Low-level movement function - moves character with collision resolution.
This is the core movement routine that handles physics simulation:
Note: This function does NOT handle contact tracking (added/persisted/removed callbacks). For full functionality including contact tracking, stair walking, and floor sticking, use update() instead. If you use move() directly, you must call resetContactTracking() before and finalizeContactTracking() after if you want removal callbacks.