A tree is insufficient for flows at $dayjob, you need a directed acyclic graph to handle fanout/parallelism.
For which a visualization exists internally, but every time someone decides to "fix" the progress bar problem they do a one-off analysis and only wire up the three biggest steps to the bar.