openmixer — generated API reference
    Preparing search index...

    Interface ConformanceDeskOptions

    How the conformance desk is dimensioned and where it keeps its state.

    interface ConformanceDeskOptions {
        alignSource?: AlignPairSource;
        allocation?: ConsoleAllocation;
        catalogPath?: string;
        clipCapture?: ClipCapture;
        clipCapturePollMs?: number;
        clock?: ClockControl;
        convergenceHeartbeatMs?: number;
        host?: string;
        log?: (message: string) => void;
        meterSource?: MeterSource;
        nativeMatrices?: NativeMatrixControl;
        nativeOutputRoutes?: NativeOutputRouteControl;
        pluginHost?: PluginHost;
        port?: number;
        shippedSessions?: boolean;
        sources?: readonly { index: number; source: Source }[];
        stateDir: string;
    }
    Index
    alignSource?: AlignPairSource

    The ANALYSER PAIR door — what the alignment watchers read (2026-08-31-smart-alignment.md §2 and §9b). This desk captures no audio, so absent (the default) every alignment reading refuses no-capture, which is visible and honest. A caller that declares one gets the real rows and the real watchers over it: the same move ConformanceDeskOptions.meterSource makes for the meters.

    allocation?: ConsoleAllocation

    The console allocation. Default: the DEFAULT_PRESET console (16:8).

    catalogPath?: string

    Plugin catalog path. Default: NONE — the desk declares its roster (./test-support/declared-catalog.ts) rather than reading the host's scan, for the reason the clock and the NIC list are declared: a scan is a measurement of the machine, and the checked-in row artifact carried its 958-plugin count as if it were a fact about the console. A caller that needs the host's real catalog names its path here.

    clipCapture?: ClipCapture

    The engine's clip CAPTURE door (an internal spec §3). This desk measures no real audio, so absent (the default) every /channel/{kind}/{index}/clip row answers its fresh, never-latched state and /channel's clipped fold stays empty — the same absent-by-default move ConformanceDeskOptions.meterSource and ConformanceDeskOptions.alignSource make. A caller that declares one gets the real capture poll over it, on ConformanceDeskOptions.clipCapturePollMs's cadence.

    clipCapturePollMs?: number

    The clip capture poll's cadence, forwarded to the server. Omitted, the operator's ruling (~500 ms) holds; a caller that wants a captured over to land inside a short-lived probe (the matrix's own console) names a fast one here instead of waiting on the real cadence.

    clock?: ClockControl

    The graph clock. Default DECLARED_CLOCK — a DECLARED graph, never the host's. MixerServerOptions.clock falls back to PwMetadataClock, which reads the machine's PipeWire graph; on this desk that made four rows answer with whatever else the suite run had put on the shared scratch daemon (test-support/declared-clock.ts carries the measurement). A suite that needs a clock which MOVES declares its own here.

    convergenceHeartbeatMs?: number

    Convergence heartbeat period; omitted, the server default (1 s) holds.

    host?: string

    HTTP/WS bind. Default 127.0.0.1:0 (an ephemeral port, reported in the return).

    log?: (message: string) => void

    Where the desk logs. Default: silent (the bin passes stderr).

    meterSource?: MeterSource

    A peak source for the desk's meters. This desk has no audio path to measure, so absent (the default) the console offers no meter tick and /meters is a 404 — absence is a fact. A caller that declares one gets the real meter row over it: the console drives the read while /meters is watched and serves the frame it flattened and encoded itself.

    nativeMatrices?: NativeMatrixControl

    The NATIVE BUS LANES — what carries a non-MAIN bus's own output stage, including the per-destination delay of 2026-08-31-smart-alignment.md §9b. Absent (the default) an aux / mix / matrix output STORES its delay and plays none of it, and a loudspeaker-alignment reading over it refuses correction-not-actuated: the same absent-by-default discipline ConformanceDeskOptions.nativeOutputRoutes takes for MAIN's.

    nativeOutputRoutes?: NativeOutputRouteControl

    MAIN's per-destination OUTPUT ROUTE STAGE — the trim/mute/delay MAIN applies to its own destination. Absent (the default) this desk STORES those values and plays none of them, exactly as a console with no native fan-out does, and a loudspeaker-alignment reading over it refuses correction-not-actuated rather than offering a delay nothing would read. Every OTHER bus's destination rides ConformanceDeskOptions.nativeMatrices instead.

    pluginHost?: PluginHost

    The plugin host the desk racks into. Default DeclaredPluginHost — a declared rack with no daemon, for the reason the clock and the catalog are declared: a desk that boots on any machine cannot spawn mod-host, and a console that cannot rack closes three write doors (/channel/{kind}/{index}/inserts plugins, a rack slot's plugin, a chain processor's plugin), which a battery standing on this desk then cannot probe.

    A caller measuring the NO-HOST console passes AbsentPluginHost: the desk reads that declaration and reports plugins.available: false on /health, so the rack doors refuse and OPTIONS greys the same fields.

    port?: number
    shippedSessions?: boolean

    Whether an empty state dir is seeded with the shipped sessions so the desk comes up as a real minimal show. Default true — a desk is a console, and that is what a console with no history does. Set false where the caller DECLARES ITS OWN SHOW (the matrix probe console dimensions itself deliberately, and a shipped session would overwrite what it just said).

    sources?: readonly { index: number; source: Source }[]

    Sources to declare AND patch at boot, through the real addChannel source door — a declared stagebox input whose head-amp capability the rows then genuinely resolve. The hardware behind such a source is absent on this desk, so its patch defers (the honest pseudo-patch), while its DECLARATION — name, head-amp caps — is real console state.

    stateDir: string

    Where the desk persists sessions/scenes/settings — also where a template session goes.