pivotick - v2.0.1
    Preparing search index...

    Interface PivotRun

    One ingest, undoable as a unit. Holds the raw payload as well as the ids, so redo re-lands the recorded delta without refetching or re-gating.

    interface PivotRun {
        at: number;
        childIds: string[];
        edgeIds: string[];
        edges: RawEdge[];
        nodeIds: string[];
        nodes: RawNode[];
        origin: Node[];
        pivotId: string;
        restage?: PivotRestageRecord;
        runId: string;
        saved: number;
        unions: { children: RawNode[]; parentId: string }[];
        vouchedEdgeIds: string[];
        vouchedNodeIds: string[];
    }
    Index

    Properties

    at: number
    childIds: string[]

    Nodes this run added inside a container: a new container's own subtree, and children merged into a container already on canvas. Undone before the top-level nodes, so nothing is left orphaned in the graph.

    edgeIds: string[]

    Edges this run added.

    edges: RawEdge[]
    nodeIds: string[]

    Top-level nodes this run added.

    nodes: RawNode[]
    origin: Node[]

    The nodes the pivot was run on. Empty for an origin-less pivot, and what a save payload carries as "which event does this attach to".

    pivotId: string

    What this ingest took out of the staged set. Only the newest ingest is ever re-staged, so this is a record of what could be restored rather than a promise that it will be.

    runId: string
    saved: number

    How many of this run's elements have been written to the source system — nodes, children and edges together. A surface reads it to warn before an undo rather than after: undo takes things off the canvas and issues no compensating write, so what was saved stays saved upstream.

    unions: { children: RawNode[]; parentId: string }[]

    Children merged into a node already on canvas, so redo can merge them again.

    vouchedEdgeIds: string[]
    vouchedNodeIds: string[]

    Elements already on canvas that this run vouched for without adding.