Nodes of type that will often be iterated over (IRenderable or LightNodes) should be handled differently.
The WorldNode should have a list of all of those present nodes in the scene.
Whenever a node get added or removed from a world, the world should update its lists according to the type.
The lists can be a set of shared_ptr
When nodes are added and removed from a world, they should all broadcast a signal (OnAddedToWorld, OnRemovedFromWorld)
Nodes of type that will often be iterated over (IRenderable or LightNodes) should be handled differently.
The WorldNode should have a list of all of those present nodes in the scene.
Whenever a node get added or removed from a world, the world should update its lists according to the type.
The lists can be a set of shared_ptr
When nodes are added and removed from a world, they should all broadcast a signal (OnAddedToWorld, OnRemovedFromWorld)