supervision-js
    Preparing search index...

    Interface RenderPreparationArtifactDiagnostics

    Diagnostics for one prepared artifact family.

    interface RenderPreparationArtifactDiagnostics {
        activeFrame?: RenderPreparationActiveFrameDiagnostics | null;
        gateHold?: RenderPreparationGateHoldDiagnostics | null;
        inFlightCount?: number;
        kind: RenderPreparationArtifactKind;
        maxInFlightCount?: number;
        maxPendingCount?: number;
        maxPreparedCount?: number;
        pendingCount: number;
        preparedAheadFrameCount?: number;
        preparedAheadSeconds?: number;
        prefetchCount?: number;
        preparedCount: number;
        refillThresholdCount?: number;
        scheduleBatchSize?: number;
        window?: RenderPreparationArtifactWindowDiagnostics;
    }
    Index
    gateHold?: RenderPreparationGateHoldDiagnostics | null
    inFlightCount?: number
    maxInFlightCount?: number
    maxPendingCount?: number
    maxPreparedCount?: number
    pendingCount: number
    preparedAheadFrameCount?: number

    Frames in the unbroken run of prepared frames starting at the active detection frame.

    This is a count of frames, not of media time. Above 1x the preparer strides, so N frames here do not cover N frame durations of playback, and the two numbers diverge by design. Deriving one from the other is wrong in both directions.

    preparedAheadSeconds?: number

    Media-time reach of that same unbroken run, in seconds, measured forward from the active detection frame and wrapping at the media end on a looping clip.

    The run stops at the first frame that is not prepared, so this is how long playback can continue before annotations stop, not the furthest frame prepared anywhere. It is also what a detection gate compares against its required lead, so it stays a single comparable scalar.

    prefetchCount?: number
    preparedCount: number
    refillThresholdCount?: number
    scheduleBatchSize?: number