Godot Version
Godot 4.5.1
Question
How to make my character rotate the fastest way possible?

Here’s my code:
extends CharacterBody2D
enum CharacterState {
IDLE,
ROTATING,
}
@export var rotation_speed: float = 1.0
var current_state: CharacterState = CharacterState.IDLE
var t: float = 0.0
var init_rot: float = 0.0
var end_rot = 0.0
var part = 0.0
func start_rotating(look_point: Vector2) -> void:
t = 0.0
init_rot = transform.get_rotation()
end_rot = transform.looking_at(look_point).get_rotation()
part = 1.0 / abs(end_rot - init_rot)
current_state = CharacterState.ROTATING
func _physics_process(delta: float) -> void:
if (Input.is_action_just_pressed("move_to")):
start_rotating(get_global_mouse_position())
match current_state:
CharacterState.ROTATING:
t = clampf(t + delta * part * rotation_speed, 0.0, 1.0)
rotation = lerpf(init_rot, end_rot, t)
if t == 1.0:
current_state = CharacterState.IDLE