Small additions
For people not experienced with godot or gdscript, it would make sense to include 2 level/maps that can be traveled between. This would solve confusion about node structure with multiple maps. For example if the character node should ne next to a level node and only the level node content changes vs having a level with character included.
Here a better visualisation:
root/
├─ character.tscn
├─ level/
│ ├─ level_001.tscn
vs
root/
├─ level/
│ ├─ level_001.tscn
│ │ ├─ character.tscn
I tried to copy your main scene and load between these like this:
extends Area
export var nextLevel = "testlevel_002"
func _on_Area_body_entered(body):
get_tree().change_scene("res://data/level/"+nextLevel+".tscn")
basically a scene_changer.tscn file where i can input a levelname in the inspector and as soon as you walk into the area, it changes scenes. However that leads to issues in the animation.gd file for jumping and neck movement, where some arrays are not fully initialized anymore or something like that. I am not entirely sure. Id love to see a proper solution or example to multi level loading, as its hard to find good resources about node structures in multi-level games.