Luxar Viewer API Documentation - v2026.10.19
    Preparing search index...

    One fetch + decode in flight for an L0 key, shared by EVERY proxy wrapping an array over this cache (see cached-zarr-array.ts).

    The decode runs under its own controller, never under any single caller's signal: it is aborted only once every waiter has abandoned it, so a superseded caller cannot cancel work a live caller still awaits.

    interface InflightDecode {
        promise: Promise<DecodedChunkResult>;
        controller: AbortController;
        waiters: number;
        abandoned?: boolean;
    }
    Index
    promise: Promise<DecodedChunkResult>

    Settles with the decoded chunk (or the underlying error).

    controller: AbortController

    Owns the underlying fetch/decode; aborted when waiters hits 0.

    waiters: number

    Callers still waiting on promise (not yet aborted).

    abandoned?: boolean

    Every waiter left and controller was aborted. The entry STAYS registered until it settles: an abort that lands after the chunk's bytes arrived cannot stop the decode, which then completes and commits, and a caller arriving meanwhile waits for that outcome instead of starting a second fetch + decode of the same chunk (it retries only if the abandoned decode really was cancelled).