Skip to content

PlotPointOptions

Defined in: map/plot.ts:48

Declarative interaction options shared by every engine’s retained layers. The machinery (hover overlay, tooltip, selection styling, hit-testing) lives entirely in BaseEngine — these options are just the per-layer surface that both BaseEngine.select’s and the hover/tooltip dispatch read. Plot.layer()/Plot.points() and GeoMap.layer() forward them into the LayerSpec via BaseEngine.interactionFields, so the contract has one home.

D = any

optional clipTo?: string

Defined in: map/plot.ts:55


optional declutter?: number

Defined in: map/plot.ts:62

Screen-space declutter radius (px): on each transform, hide points whose projected center falls within this radius of an already-kept one (earlier data wins). Each point’s anchor is its center, so unlike PlotLayerOptions no explicit anchor is needed. Pairs with sizeMode: "screen". Retained path only (not passThrough).


optional fill?: string | ((d, i) => string)

Defined in: map/plot.ts:52


optional hover?: HoverOption<D>

Defined in: map/base-engine.ts:27

Hover-highlight: true = default white outline, a HighlightStyle = redraw the hovered item with it, or a custom (datum, HighlightBuilder) draw fn. Rendered in a tiny overlay layer — O(hovered item) per change, the base layer is untouched.

InteractiveLayerOptions.hover


optional id?: (d, i) => string | number

Defined in: map/plot.ts:54

D

number

string | number


optional passThrough?: boolean

Defined in: map/plot.ts:73

Render via the backend’s pass-through path: no retained Scene geometry, no hit index (not pickable). Points are projected + drawn directly each repaint (on both Canvas and WebGL), so the data may be a callback re-invoked per repaint (you own the array). For huge / fast-changing point sets beyond the retained ceiling (~4–16M). Trade-off vs the default retained path: retained is always crisp, interactive, and pickable but capped; pass-through is uncapped + streaming but shows a slightly stale raster during pan/zoom (re-crisp on settle) and isn’t pickable.


optional pickable?: boolean

Defined in: map/plot.ts:65

When false, skip the CPU hit index (no hover/pick) — saves an Entry per point on huge non-interactive layers (e.g. streamed points).


optional radius?: number | ((d, i) => number)

Defined in: map/plot.ts:51


optional selection?: SelectionOptions

Defined in: map/base-engine.ts:23

Styles for BaseEngine.select: the selected set and its complement. Defaults: selected keeps the base style; others { opacity: 0.3 }.

InteractiveLayerOptions.selection


optional sizeMode?: "world" | "screen"

Defined in: map/plot.ts:57

“world” (default): radius scales with zoom. “screen”: constant pixel size.


optional stroke?: string | ((d, i) => string)

Defined in: map/plot.ts:53


optional tooltip?: (d, id) => string | HTMLElement | null

Defined in: map/base-engine.ts:31

Hover tooltip content for this layer (null hides). Shown in a shared engine-managed div — see tooltipClass for styling. Re-evaluated only when the hovered target changes; re-declare the layer to force a refresh.

D

string | number

string | HTMLElement | null

InteractiveLayerOptions.tooltip


x: (d, i) => number

Defined in: map/plot.ts:49

D

number

number


y: (d, i) => number

Defined in: map/plot.ts:50

D

number

number