Great idea! As an inspiration, I’ll also link our (still ROS 1-only) tf2_server, which is based on the idea that you can configure multiple “TF streams” defined by the subtrees they should contain, and downstream nodes then just subscribe to these substreams. The greatest savings are in high-level nodes like mapping which do not need to receive e.g. joint positions because they only care about the subtree above base_link.