Impressive code editor! Would have loved more stages with puzzles like driving around obstacles.
I struggled with the angle_to function in the last puzzle though. Why is rad_to_deg((0,-2).angle_to(1,0)) 90°? I ended up calculating the target vector and using the Vector2.angle() function (realised later that angle_to_point does that).