@perspective-dev/viewer
    Preparing search index...

    The whole-element config format ({version, active?, layout, panels}) — the multi-panel counterpart of the single-panel [ViewerConfig] — as emitted by [PerspectiveViewerElement::save].

    • panels entries are [PanelViewerConfig]s: per-panel state only, no settings key (element-level state).
    • active names the panel targeted by the open settings sidebar; it is omitted when the sidebar is closed.
    type WorkspaceConfig = {
        active?: string;
        global_filters?: Filter[];
        layout: Layout | null;
        masters?: string[];
        panels: { [key in string]?: PanelViewerConfig<string> };
        version: string;
    }
    Index

    Properties

    active?: string
    global_filters?: Filter[]

    The element-level global (master/detail cross-) filters. A transient overlay on every detail panel's view — persisted here, never in a per-panel entry. Omitted when empty.

    layout: Layout | null
    masters?: string[]

    The MASTER (filter-source) panels' ids, referencing panels keys. Roles are layout state (like the panel arrangement), so they persist; which master contributed which clause does not — restored global_filters are one unattributed bucket. Omitted when empty.

    panels: { [key in string]?: PanelViewerConfig<string> }

    BTreeMap (not HashMap) so save() serializes panels in a DETERMINISTIC (sorted) key order — a fresh HashMap per call iterates in a per-instance random order, which made consecutive save() outputs byte-unstable.

    version: string