Skip to content

DataExplorerProps

Defined in: DataExplorer.tsx:143

The props of DataExplorer. F is your focus type and D your items’ data type; both are inferred from source.

F

D = unknown

optional background?: ExplorerBackground

Defined in: DataExplorer.tsx:208

US071 — the background behind the scene (today: the dot grid). Changes apply live.


optional customViews?: ExplorerCustomViews

Defined in: DataExplorer.tsx:194

US071 — how many items custom renderers may draw at once.


optional edges?: ExplorerEdges

Defined in: DataExplorer.tsx:212

US071 — draw the scene’s edges, styled per kind. Off by default. Changes apply live.


optional effects?: ExplorerEffects

Defined in: DataExplorer.tsx:210

US071 — switch the built-in effects on or off. Each defaults to on. Changes apply live.


focus: F | null

Defined in: DataExplorer.tsx:150

The URL’s own current focus — read once at mount to resolve the initial scene, and watched afterward only to reconcile a navigation this component didn’t itself cause (Back/Forward, a pasted deep link) via the scene stack’s jumpTo.


optional limits?: ExplorerLimits

Defined in: DataExplorer.tsx:198

How far the viewer may pan and zoom, so the scene cannot be lost off screen or shrunk to nothing. Each limit is on by default; false turns one off. A change applies from the next move of the camera.


optional onBackgroundClick?: (event) => void

Defined in: DataExplorer.tsx:181

US071 — a confirmed single click or tap on empty space. onNodeSelect(null) fires as well.

ExplorerBackgroundClickEvent

void


optional onCameraChange?: (camera) => void

Defined in: DataExplorer.tsx:179

US071 — the camera moved. At most once per drawn frame, and only while the canvas is up.

ExplorerCameraEvent

void


optional onEnter?: (event) => void

Defined in: DataExplorer.tsx:175

US071 — the viewer entered a scene, by any route. Fires after onLeave for the scene left.

ExplorerSceneEvent<F, D>

void


optional onLeave?: (event) => void

Defined in: DataExplorer.tsx:177

US071 — the viewer left a scene. Fires before onEnter for the scene arrived at.

ExplorerSceneEvent<F, D>

void


optional onNodeActivate?: (event) => void

Defined in: DataExplorer.tsx:173

US071 — a double-click or double-tap on an item, or Enter on its outline entry. Call event.preventDefault() to stop the explorer entering it (or zooming in).

ExplorerActivateEvent<F, D>

void


optional onNodeHover?: (item) => void

Defined in: DataExplorer.tsx:170

US071 — the item under the mouse, or null when it leaves every item. Mouse only (touch has no hover), and only when the hovered item changes.

ExplorerItem<F, D> | null

void


optional onNodeSelect?: (item) => void

Defined in: DataExplorer.tsx:167

A single click/tap on a node, confirmed — fires only once it’s clear a second tap isn’t following (the standard click/dblclick wait, DOUBLE_TAP_MS in gestures.ts), and never for a double-click (that drills instead — see this file’s own gesture wiring below). null when a click/tap on empty space clears the selection. Deliberately just a hook: this component itself only tracks the Pixi selection-ring highlight from it; what a click means (open a detail panel, whatever) is entirely the composing page’s call.

ExplorerItem<F, D> | null

void


optional onSceneChange?: (scene) => void

Defined in: DataExplorer.tsx:158

Fired on every scene swap, immediately — unlike onSettle, never debounced. For chrome that should track what’s on screen right now (the breadcrumb); cheap because it fires once per scene, not once per frame. Carries the scene itself so the caller can work out where it sits in the hierarchy without waiting for the URL to settle.

F | null

string

ExplorerScene<F, D>

void


optional onSettle?: (focus) => void

Defined in: DataExplorer.tsx:153

Called once the camera comes to rest on a new scene: store it (state or URL) and pass it back as focus. Optional (US072 change 7): without it the explorer simply keeps its own place.

F | null

void


optional onTextureError?: (event) => void

Defined in: DataExplorer.tsx:184

US071 — an item texture could not be loaded or drawn (often a host without CORS headers). Once per URL; the item keeps its plain shape.

string

void


optional palette?: ExplorerPalette

Defined in: DataExplorer.tsx:203

US070 Step 4 — the canvas colours. Pass a new object when they change (a light/dark or colour-scheme switch) and the live canvas re-tints, with no new scene and no camera reset.


optional presence?: ExplorerPresence

Defined in: DataExplorer.tsx:220

How present each item is, from 0 to 1, by id (undefined is 1). Presence scales and fades an item where it stands: the layout is untouched, so a time slider or a filter can change it on every frame without anything moving. At 0 an item is a small, faint, unlabelled ghost that can still be selected and entered. Pass a new function when the answer changes and items ease to it (at once under reduced motion). Changes apply live.


optional ramp?: RampColours

Defined in: DataExplorer.tsx:206

The colour ramp item ramp positions are drawn on. Compared by value; a change re-tints the live canvas, with no new scene and no camera reset.


optional renderCanvasUnavailable?: () => ReactNode

Defined in: DataExplorer.tsx:226

Shown above the list fallback when the canvas cannot start (no WebGL).

ReactNode


optional renderError?: () => ReactNode

Defined in: DataExplorer.tsx:224

Shown when the first scene fails to load.

ReactNode


optional renderers?: () => Promise<RenderersModule | { default: RenderersModule; }>

Defined in: DataExplorer.tsx:192

US071 — custom renderers, keyed by item kind, loaded lazily the way the canvas itself is: renderers={() => import("./my-renderers")}. Called once, when the canvas starts. The module (and PixiJS) stay out of your page’s entry chunk as long as it is only reached through this.

Promise<RenderersModule | { default: RenderersModule; }>


optional renderLoading?: () => ReactNode

Defined in: DataExplorer.tsx:222

Shown while the first scene loads.

ReactNode


source: SceneSource<F, D>

Defined in: DataExplorer.tsx:146

Owned by the caller, so its cache outlives this component being torn down and rebuilt by a re-render above it. Pass a new source to start over with an empty cache.


optional stats?: boolean

Defined in: DataExplorer.tsx:200

Shows a small overlay of draw time, frame rate and pool sizes. Read once, at mount.


optional textures?: ExplorerTextures

Defined in: DataExplorer.tsx:186

US071 — item images: the size they start at, and how many are held.