Skip to main content

MapLibre conventions and developer index

Versioned canonical APIs, migration rules and readable LLM inputs.

Use the canonical names below when writing scripts or asking an LLM to generate map code. This index describes documented subsets, not complete MapLibre compatibility. Queries use await; unsupported parameters reject explicitly. The mobile script host remains unconnected, and Windows/macOS/device validation is separate.

Matching snapshot: 0.3.0-dev.65d76a28, core 65d76a28454ec82456e27245099bab86832a2b7d, ABI 1, script 0.5-session. The snapshot has 385 SDK / 41 C / 233 script registrations.

Machine-readable developer/LLM index · SDK/TS · C ABI · Common script declarations

Preferred writingStatusScope and guide
jumpTo, easeTo, flyTo, fitBounds, project, unprojectDocumented subsetThe shared core computes camera operations. Await reads; consult the camera guides for supported animation/projection parameters and bounds.
setProjection, getProjection, setPitch, resetNorth, resetNorthPitchDocumented subsetTop-down/pitched view, globe projection and terrain are separate states; caller-owned 2D/3D controls invoke public operations.
addSource, getSource, removeSourceDocumented subsetShared GeoJSON,image/video/canvas,raster tiles and vector MVT circle/line/fill/point-symbol/planar-perspective-fill-extrusion/source-layer queries are connected. DEM,remaining vector types remain pending.
getSource(id).setData, getSource(id).updateDataDocumented subsetsetData/updateData follow MapLibre structures. Stable identities, HTTP generations, events and budgets follow the documented SqsMap contract.
addLayer, getLayer, moveLayer, removeLayer, setPaintProperty, setLayoutProperty, setFilter, setLayerZoomRangeDocumented subsetThe shared business-layer list differs from internal basemap style layers. Consult guides for supported types, paint/layout and expressions; unsupported options reject explicitly.
queryRenderedFeatures, querySourceFeatures, getFeatureState, setFeatureState, removeFeatureStateDocumented subsetReads use await. Shared GeoJSON/MVT source-layer queries and isolated feature state are connected with explicit layer/source identities and budgets; results never silently truncate.
setStyle, getStyleDocumented subsetStyles use version8 structures. Consult guides for diff behavior, loading/errors and editable subsets; complete Style Spec support remains in progress.
loadImage, addImage, updateImage, removeImage, getImage, hasImageDocumented subsetIcons use copied RGBA and pixel density; no cross-platform DOM object is returned. Icon and atlas budgets apply.
getSource(id).setCoordinates, getSource(id).updateImageDocumented subsetImage URLs/updateImage commit pixels and optional corners atomically; argument/source types distinguish the sprite method with the same name.
addSource(id,{type:"video",urls,coordinates}), getSource(id).play, getSource(id).pauseDocumented subsetShared ordinary MP4/H.264 decode, map clock and looping are connected. DOM getVideo, other codecs and audio are outside current support.
on, off, onceDocumented subsetImplemented camera/source/style/lifecycle and pointer events follow the actual catalog. Async confirmation and immutable historical snapshots remain explicit; C hosts poll events.
dragPan, scrollZoom, doubleClickZoom, keyboardDocumented subsetHosts connect public gesture state/switches and input plans. Touch, mobile-host and external-device coverage follows actual acceptance records.
sqs.scaleAtDocumented subsetSqsMap extension: shared local 2D scale. SDK uses scaleAt; scripts use sqs.scaleAt. Globe sampling rejects; pitched ground intersections use the shared analytic derivative.
sqs.flushDocumented subsetSqsMap extension: distinguish applied watermarks, new frames, ready resources and idle. since values cannot cross counter domains.
sqs.getLayers, sqs.getLayerMetadata, sqs.setLayerMetadataDocumented subsetSqsMap extension: state/operations/events only. Callers build panels, toolbars and cleanup; SDK and script facade names are listed explicitly.
sqs.getAttributionsDocumented subsetAttribution state/change events feed caller-owned UI; callers display the actual data-service credits.
CanvasSourceDocumented subsetNamed Canvas RGBA frames and playback are shared. The browser SDK captures readable 2D canvases. DOM access is browser-only; terrain draping and custom rendering remain pending.
CustomLayerInterfacePlannedCustom backend extensions and terrain media remain in progress; third-party GL plugins are not automatically compatible with SqsMap backends.

Entry points and migration

Shared scripts import map from sqsmap, using the existing host map. Standalone SDK applications asynchronously create MapView and implement their own UI. Native C callers use the matched header and JSON method envelopes, check capabilities, poll events/resources and free independently owned outputs. Native JavaScript requires the optional QuickJS build.

Legacy gis/Operation/ChangePlan and earlier SDK aliases remain compatibility surfaces; they are not the preferred syntax for new shared map scripts. SqsMap extensions use sqs when available and are identified above. Read each guide for units, budgets, errors and host differences; a registered interface or a planned type is not proof of device support.

Complete caller-owned layer panel and tools · Runnable script host · C host example