Builds the collapsed-group pointer-navigation view. Level-2 helper so
the organism stays a thin renderer.
Indices resolve against flatSteps (DFS order, live flatIndex) rather
than group.children - the flattener spreads group nodes but leaves
their children as the tree projection where every step still carries
the seeded -1. Each candidate is gated by canNavigateTo + busy
(mirroring the step-header reachability), so a linear-blocked leading
step is skipped to the first reachable one.