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

    Interface FailedLoadsProviderPort

    Provider injected via setFailedLoadsProvider. Surfaces loader failures, latch-only archive faults, and latched lazy-LOD branch failures in the monitor UI, and powers Retry — the visible half of the failed-load recovery story (the window 'online' listener in core/app/lifecycle/online-retry.ts is the automatic half). retryAll maps to SceneLoader.retryAllFailedLoaders (serialized against the update lock by the loader itself).

    interface FailedLoadsProviderPort {
        getFailedPaths: () => string[];
        retryAll: () => Promise<
            { succeeded: string[]; failed: string[]; deferred?: boolean },
        >;
        getFailedReason?: (path: string) => string | undefined;
    }
    Index
    getFailedPaths: () => string[]
    retryAll: () => Promise<
        { succeeded: string[]; failed: string[]; deferred?: boolean },
    >

    deferred: true ⇒ the batch was refused because a main update held the serialization lock — nothing was retried (see SceneLoader.retryAllFailedLoaders). The UI must not report it as a failed re-attempt.

    getFailedReason?: (path: string) => string | undefined

    Human-readable failure reason for a single path, or undefined when the path has no recorded failure. Derived from FailedLoaderInfo or the loader's latched archive fault for a lazy branch. OPTIONAL so structural implementers that only surface the count/paths (e.g. DataLoadingMonitor) keep compiling unchanged; the layers panel uses it for its per-row error tooltip and falls back to a generic message when absent.