@pond-ts/process API Reference
    Preparing search index...

    Interface RunResult

    interface RunResult {
        columns?: Readonly<Record<string, Column>>;
        explain: Readonly<Record<string, string>>;
        facts: readonly Fact[];
        nodes: readonly NodeTiming[];
        outputs: Readonly<Record<string, readonly OutputInfo[]>>;
        series?: TimeSeries<SeriesSchema>;
        skipped: readonly Skipped[];
    }
    Index

    Properties

    columns?: Readonly<Record<string, Column>>

    The resolved columns a columns selector asked for, keyed by the name they carry in outputs — present whenever one did.

    This is the wire-shaped answer, and the one M3 settled on: a column is a Float64Array plus a validity bitmap, so it encodes compactly and the consumer reassembles for free. series is the in-process convenience over the top of it.

    explain: Readonly<Record<string, string>>

    Lineage 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.

    facts: readonly Fact[]
    nodes: readonly NodeTiming[]

    Every 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.

    outputs: Readonly<Record<string, readonly OutputInfo[]>>
    series?: TimeSeries<SeriesSchema>

    Present only when a columns selector asked for it, and assemble.

    skipped: readonly Skipped[]