Move Toward

  • move_toward(current, target, max_delta) — moves a scalar toward a target by at most max_delta without overshooting. Defined once below, reused everywhere.
function move_toward(current, target, max_delta):
    if abs(target - current) <= max_delta:
        return target
    return current + sign(target - current) * max_delta