Documentation
    Preparing search index...

    Interface RendererCapabilityDeclaration

    §62's "applications may declare required and optional capabilities", as the declaration resolveRenderer accepts (WP-R1.9).

    • required gates selection. "auto" skips a backend that does not answer every required name true (reported through RendererResolveOptions.onFallback with reason "missing-capability"), and an explicitly named backend that cannot fails fast with RENDERER_INITIALIZATION_FAILED — §62's own "rather than silently downgrading", extended from starting to sufficing.
    • optional never gates selection. Each optional name the selected backend does not answer true is reported through RendererResolveOptions.onCapabilityShortfall, so an application configures its fallback path from one report instead of probing fields.

    RendererCapabilities answers each member true, false, or undefined — and undefined means "this backend has not been taught to answer", which is not a yes. A required capability is therefore satisfied only by an affirmative true: treating silence as satisfaction would hand an application a backend on the strength of a question never answered, which is precisely the confident wrong answer the record's documentation warns costs a crash. The shortfall report distinguishes the two non-answers (answer: false vs answer: undefined) so a diagnostics channel can tell "cannot" from "did not say".

    The check runs after Renderer.initialize, because §61 lets a backend publish its real record only once it has queried a device; under "auto" a backend skipped for a missing capability is disposed exactly as one whose initialization rejected.

    interface RendererCapabilityDeclaration {
        optional?: readonly RendererCapabilityName[];
        required?: readonly RendererCapabilityName[];
    }
    Index
    optional?: readonly RendererCapabilityName[]

    Capabilities the application would use, and will adapt without.

    required?: readonly RendererCapabilityName[]

    Capabilities the application cannot run without.