Optionaloptions: RenderRangesOptionsThe flat half of the dependency graph. getPrecedents() / getDependents() and their
getDirect* twins all return this, on cells, ranges and defined names alike, and the flat list is
what a tree branch cut at the depth bound is recovered with. So it prints the tree's rows without
the hop structure — same label, same payload, through describeNodeLabel and
describeNode — and a reader comparing the two shapes is comparing the same text.
Qualification is the tree's rule. A collection standing on one sheet names it once, in the heading, and leaves its rows bare; one that spans sheets qualifies every row instead, because an unqualified address below a crossing reads as the sheet the report is about. Name members carry a name rather than an address, so they are never qualified and never the reason the rest is.
An empty collection renders as (0) and none. The graph calls return null rather than an
empty collection, which the run layer already summarizes — but a producer that hands back an empty
one must not fall through to "no renderer", which reads as a broken report rather than an answer.
Renders an ICellRanges — the discontiguous collection the calculation graph answers with.