See https://github.com/ijnek/launch_graph which is trying to do a visualization side of this same consideration Really this may be an extension of `ros2 launch --print` that just gets some more information, perhaps makes some more assumptions