Dispose event — the moment a node is removed from the graph.

disposeAt is a half-open [enqueueAt, appliedAt] interval per the brutal-critical review's recommendation. The interval gives EPIC-2's UseAfterDispose pass an unambiguous comparison surface: a read at t_r is a use-after-dispose iff t_r > appliedAt. For an immediate dispose (the common case), enqueueAt === appliedAt. The two-field shape costs two numbers per dispose record on the wire; the soundness gain is the brutal-critical review's recommendation #5.

interface IRDispose {
    disposeAt: readonly [number, number];
    graphId: string;
    kind: "dispose";
    nodeId: string;
    scopeId: string;
    time: number;
}

Properties

disposeAt: readonly [number, number]
graphId: string
kind: "dispose"
nodeId: string
scopeId: string
time: number