Some visualizations animate, pulse, and flash. If you're sensitive to motion or flashing, turn on Reduce motion in your system settings.

poopdeck.gl
Introduction

Choosing a renderer, a layer, and a playback API

Use this page once you have decided STT fits your data — that question, and the static-archive-versus-live-service choice, are in choosing STT and a deployment.

The backend capability matrix is generated from the backend descriptors and is authoritative for individual render features; the tables here are the product-level shortcut.

Which renderer?#

BackendChoose it whenStatus and constraint
@poopdeck.gl/layersYou want the primary, most heavily integrated backend, deck.gl extensions, and the widest set of styling propsStable pre-1.0; deck.gl is pinned to 9.3.x; no native ego kind and isoLines falls back to path
@poopdeck.gl/maplibreSTT must sit between native MapLibre or Mapbox style layers without a deck.gl dependencyPreview; renders every layer kind natively
@poopdeck.gl/threeYou need a 3D-native scene, WebGPU, react-three-fiber, LIDAR, or local metric framesPreview; uses a WebGL2 fallback where supported
@poopdeck.gl/cesiumYou are evaluating STT on a true WGS84 Cesium globePrivate, source-only, and experimental; not an npm package commitment

All backends use @poopdeck.gl/core and the same archive semantics. Renderer choice does not require rebuilding the dataset unless the desired visualization needs an optional variant or specialized payload.

Which deck.gl layer?#

Data shapeStart with
Timestamped events or moving pointsAnimatedPointLayer
Paths or trajectoriesAnimatedPathLayer
Moving trailsAnimatedTripsLayer
A moving position along each tripAnimatedTripHeadsLayer
Origin–destination pairsAnimatedArcLayer or AnimatedLineLayer
Aggregated OD volumesFlowmapLayer
Time-varying network flowFlowCorridorLayer
Polygons, perimeters, or isobandsAnimatedPolygonLayer
Directional markersAnimatedIconLayer
Tracked 3D objectsAnimatedBoundingBoxLayer
LIDAR or 3D point cloudsAnimatedPointCloudLayer
Oriented surfels or Gaussian splatsSplatLayer (needs --surfel-baked covariance columns)
Dense overview visualizationAnimatedHeatmapLayer
Precomputed coarse cellsH3SummaryLayer or QuadbinSummaryLayer

The linked references cover the common choices; the SpatioTemporalLayer reference routes to the full deck.gl catalog. Summary layers require a summary variant built explicitly with stt-build; they do not replace the raw feature tier.

Playback choice#

Use SttPlayer for normal applications. It owns the clock and buffering governor and can pause when the loading runway runs out. Use the bare TimeController only when another media, simulation, or application clock is authoritative.

For React, @poopdeck.gl/react supplies hooks and controls around the same player. Multiple layers and backends can share one clock.

Before adopting an API, check status, support, and compatibility.