Optional ReadonlyasReadonlyexplainLineage per id, never hand-built. Covers every id in nodes as well as the plan's own entries, so a caller labelling a node always has a string for it.
ReadonlyfactsReadonlyhasWhether a columns selector asked for drawable values.
ReadonlynodesEvery node the plan resolved, in dependency order, each with its upstream ids and whether this request pulled it — and if so, whether it was computed or served warm, and how long it took.
Two things at once, and deliberately: it is the demo's explaining
device ([PND-DEMOM1]), without which the caching is true but
invisible, and it is the pipeline's shape ([PND-DEMOM4]), which no
caller can derive because turning a spec into an id means
reimplementing specId.
ReadonlyoutputsReadonlyskipped
A response with the in-process values dropped — what crosses a wire.