UI-facing wrapper around Explanation stamped with the GraphTime at which the lineage was read.

explanation carries the full discriminated-union tree from the engine (#298) — via: 'input' | 'derived' | 'live' | 'cycle' plus a recursive deps[] of { node, contributedAt, explanation } frames. inspectedAt lets a UI display "as of t=N" annotations without making a second call into the engine.

interface NodeInspectorView {
    explanation: Explanation;
    inspectedAt: number;
}

Properties

explanation: Explanation

Recursive lineage as published by graph.explain(...).

inspectedAt: number

Pulled from graph.now at read time.