Skip to main content

Interface: VisualizationSpec

Defined in: spec/types.ts:531

Properties

__resolved?

optional __resolved?: boolean

Defined in: spec/types.ts:592

Internal marker set by resolveSpecFromMapType to prevent double-resolution. Consumers should not set this field directly.


adapterHints?

optional adapterHints?: unknown

Defined in: spec/types.ts:556

Deprecated

No longer used by the adapter. Kept for backward compatibility so existing specs continue to pass validateSpec(). Will be removed in a future breaking-change release.


attributionControlEnabled?

optional attributionControlEnabled?: boolean

Defined in: spec/types.ts:586

Controls whether MapLibre's attribution control — the round button in the map's bottom-right corner that expands into the basemap credits — is mounted. Defaults to true.

Set it to false only when the application renders the same credits somewhere else: basemap and source licences (OpenStreetMap's among them) generally require attribution to stay visible, and hiding the control does not lift that obligation. Each source's own attribution string is unaffected — it simply has no built-in surface left to appear on.


basemap?

optional basemap?: BaseMapSpec

Defined in: spec/types.ts:539


control?

optional control?: LayerControl

Defined in: spec/types.ts:608

A single floating panel of layer-visibility toggles, overlaid on the map. When present, <GeoVisProvider> auto-mounts a <GeoVisLayerControl> for it — the consumer does not place the component. Each item toggles a set of layers by id via dispatch({ type: 'toggle-layer' }).


description?

optional description?: string

Defined in: spec/types.ts:535


engine

engine: "maplibre"

Defined in: spec/types.ts:536


layers

layers: VisualizationLayer[]

Defined in: spec/types.ts:541


legendEnabled?

optional legendEnabled?: boolean

Defined in: spec/types.ts:573

Controls whether auto-generated legends are produced for the resolved mapType. Defaults to true. Has no effect on legends the user supplies directly via spec.legends.


legends?

optional legends?: LegendSpec[]

Defined in: spec/types.ts:543

Optional top-level legend registry used by legend UI components.


mapData?

optional mapData?: MapData[]

Defined in: spec/types.ts:549

Optional attribute datasets joined to geojson sources. Each entry references a source via mapId and provides per-feature values for use in styling, tooltips, charts.


mapType?

optional mapType?: MapType

Defined in: spec/types.ts:537


metadata?

optional metadata?: Record<string, unknown>

Defined in: spec/types.ts:550


scaleMaxValue?

optional scaleMaxValue?: number

Defined in: spec/types.ts:566

Visual scale ceiling for proportional symbol rendering.

Values above scaleMaxValue render at the maximum symbol size (e.g. max circle radius). The tooltip always shows the real feature value.

When omitted, the adapter computes it from the dataset.


schemaVersion?

optional schemaVersion?: number

Defined in: spec/types.ts:533

Schema version this spec was authored against. Omit for the current version — see SPEC_SCHEMA_VERSION.


sources

sources: DataSource[]

Defined in: spec/types.ts:540


title?

optional title?: string

Defined in: spec/types.ts:534


view?

optional view?: ViewState

Defined in: spec/types.ts:538


viewPresets?

optional viewPresets?: ViewPreset[]

Defined in: spec/types.ts:600

Named, curated camera positions the AI (or a UI control) can jump to by id (dispatch({ type: 'set-view-preset' }), PRD-002) — bounded to positions the application actually declared, instead of raw coordinates an AI would otherwise have to invent.