Ok, so let's see if I got this correctly (and I will try to be as clear as I can.
Imagine I have this hierarchy:

And I have a script attached to the Universe node, another attached to the planet_texture node and another to the planet_mesh node.
The script attached to the planet_texture node, calculates the bitmap that will be required by the script attached to the planet_mesh node, to create the mesh. This means that the script that generates the bitmap needs to run first and only after it is finished, the script that creates the mesh can be executed.
So, inside the script attached to the Universe node (my Scene Root), I code this:
func _ready():
get_node("planet_stuff/planet_texture").emit_signal("create_heightmap")
yield(get_node("planet_stuff/planet_texture"),"heightmap_done")
get_node("planet_stuff/planet_mesh").emit_signal("create_planet")
Inside the script attached to the planet_texture node, I code:
signal create_heightmap
signal heightmap_done
func _init():
connect("create_heightmap",self,"calculate_all")
func: calculate_all:
# do bitmap stuff
emit_signal("heightmap_done")
And, in the scrip attached to the planet_mesh node, I code:
signal create_planet
func _init():
connect("create_planet",self,"calculate_mesh")
Is this the correct way of doing it?
Because I still get warnings telling me that the signal 'create_planet" is declared and never emitted, that the function 'connect()' returns a value, but this value is never used, and errors telling me that I'm attempting to call function 'get_texture' in base 'null instance' on a null instance.