Trunk 1× at any fan-out, re-roots on loss
On the eight-container verification rig — ISR → relay drones → forward drones → three subscribed ground stations — five minutes of Full-HD-rate video (6.00 Mbit/s: 187,500 packets, ≈225 MB) crossed the mesh with 187,466 / 187,454 / 187,466 of the 187,500 packets delivered at the three stations — and the structural counters were exact: the scarce trunk carried 187,500 copies — one per packet — where per-viewer unicast would have put 562,500, the fork layer emitted exactly 562,500 at the divergence, and reverse-path drops were zero. (A 2 Mbit/s run on the same rig delivers loss-free.) The invariant is the real result — the trunk count equals the packet count, at any rate, any duration, any number of watchers; add seven more ground stations and the trunk cost does not move. Stopping the carrying forward drone mid-stream re-rooted the branches through the survivor with the delivery counters still climbing; the five-daemon netns suite pins the same properties in CI, including that a subscriber-less group sends nothing.