Build a reader over rootGroup. Cheap enough to call each monitor tick — it
walks the graph reading already-written userData and never triggers work.
Unlike the visible-counts walk this does NOT prune hidden subtrees: a node
toggled off in the Layers panel still has a committed ladder, and reporting
it as 0 rungs would misrepresent a node the user has merely hidden.
Build a reader over
rootGroup. Cheap enough to call each monitor tick — it walks the graph reading already-written userData and never triggers work.Unlike the visible-counts walk this does NOT prune hidden subtrees: a node toggled off in the Layers panel still has a committed ladder, and reporting it as 0 rungs would misrepresent a node the user has merely hidden.