the checkpoint stuff is pretty easy and in one place in level 2 even a bit broken :-D
i have some area2D's with collision rects, when the player enters them, the global_position of the checkpoint will be saved in a state (autoload script). when you die, i check if i have a last_checkpoint set and beam the player to that place :-D
i also keep track of the previous checkpoints so that you cannot retrigger an earlier one (it's a simple array of positions).
when you restart the entire game or switch the level, i clear the checkpoint list
thanks for playing! glad you liked it :-)