Interface SceneHealthPanelParams

Constructor parameters for SceneHealthPanel.

The panel is now Scene-scoped — it lists every loaded SceneModel in a tab strip and inspects the one the user has focused. Either provide a scene explicitly or pass a focusSceneModel (its .scene will be used).

interface SceneHealthPanelParams {
    container?: HTMLElement;
    focusSceneModel?: SceneModel;
    inspectParams?: Partial<InspectSceneModelParams>;
    scene?: Scene;
    storageKey?: string;
    studio?: Studio;
    view?: View;
    visible?: boolean;
}

Properties

container?: HTMLElement

DOM element to mount into. Defaults to document.body.

focusSceneModel?: SceneModel

SceneModel to focus on first open. Optional — when omitted, the first SceneModel in the Scene is selected. Passing only this (with no scene) is equivalent to passing {scene: sceneModel.scene, focusSceneModel: sceneModel}.

inspectParams?: Partial<InspectSceneModelParams>

Initial inspection-config overrides. Each schema-keyed field (checkX, threshold values, etc.) is folded into the DEFAULT_INSPECTION_REGISTRY's config map at construction time — same store the per-row toggles and threshold inputs write through to.

Application order (last write wins on overlapping keys):

  1. Panel defaults — every opt-in inspection enabled.
  2. Persisted localStorage overrides from the user's last session.
  3. The fields supplied here.

Note that this writes into the global registry — overrides leak across any other consumer of the same registry until the user resets them. For per-call-only overrides, pass them directly to inspectSceneModel instead of through this panel.

scene?: Scene

The Scene to surface. If omitted, derived from focusSceneModel's .scene — at least one of the two must be present.

storageKey?: string

localStorage key for persisting drag position + closed state. Defaults to "xkt-sh-panel". Provide a unique key per SceneModel if you want per-model layout memory.

studio?: Studio

Studio instance. Used by Locate to read the SDK's spatial AABB index and to drive the View's CameraFlight. Optional — the panel works without it but Locate falls back to no-op camera framing.

view?: View

View to highlight / xray / frame-camera against when the user clicks Locate on an issue group. Optional — without a View, Locate buttons are still rendered but won't drive the viewer.

visible?: boolean

Show the panel on construction (default true).