When the slingshot is in the PULLING state, the game does three things every single frame:
Listens for the drag: It checks to ensure the player is still actively holding down the left mouse button (Input.is_action_pressed).
Tracks the cursor: It finds the exact 2D coordinates of the mouse cursor on the screen (get_global_mouse_position()).
Stretches the bands: It takes the end-points (points[0]) of the two rubber band graphics (left_line and right_line) and dynamically snaps them to wherever the mouse cursor is.
This is the visual trick that makes it look like the player is grabbing and stretching the elastic bands of the slingshot back with their mouse.
Because this is happening inside _process (which runs 60 times a second), the rubber bands will smoothly follow the player's cursor in real-time until they let go!
Add a Camera2D node to the scene so that you can test it.
We now need to limit how far the elastic band can be stretched