Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
ab5701c
1st pass on whatsnew
felixpalmer Sep 22, 2025
1c35c5c
Improve formatting
felixpalmer Sep 22, 2025
064749c
Sort new widget list
felixpalmer Sep 22, 2025
565dc19
Fix warnings due to updated imports
felixpalmer Sep 22, 2025
4ffab64
Remove non-existent links
felixpalmer Sep 22, 2025
a5a27b1
Add missing anchors
felixpalmer Sep 22, 2025
2963b8c
Mention backgroundborderradius
felixpalmer Sep 23, 2025
2978c5c
Remove undocumented experimental widgets
felixpalmer Sep 23, 2025
de83891
Update docs/whats-new.md
felixpalmer Sep 24, 2025
a3cfba2
Missing docs for widgets
felixpalmer Sep 24, 2025
bc3fef4
Remove phantom GeolocateWidget
felixpalmer Sep 24, 2025
7862044
Review docs
felixpalmer Sep 24, 2025
b6a0da2
Merge branch 'felix/9.2-whatsnew' of github.com:visgl/deck.gl into fe…
felixpalmer Sep 24, 2025
0135088
Add links to WebGPU examples
felixpalmer Sep 24, 2025
244b196
Add WebGPU badges
felixpalmer Sep 24, 2025
ad60951
Fix broken links
felixpalmer Sep 24, 2025
ff3b403
Reference autoLabels feature
felixpalmer Sep 24, 2025
7d8d2b7
Update GeocoderWidget docs and default props
chrisgervang Sep 24, 2025
3a5fff8
Add default id prop to ContextMenuWidget
chrisgervang Sep 24, 2025
8e437d3
Update widget docs for stats
chrisgervang Sep 24, 2025
379fe32
Update `WidgetProps` type documentation for consistency
chrisgervang Sep 24, 2025
71d8479
Update ViewSelectorWidget id default and docs
chrisgervang Sep 24, 2025
89eda32
Update what's new documentation for upcoming features
chrisgervang Sep 24, 2025
b0d7d83
remove link
chrisgervang Sep 24, 2025
a4f5ca2
fix build
chrisgervang Sep 24, 2025
40d4ba0
Merge branch 'master' into felix/9.2-whatsnew
chrisgervang Sep 25, 2025
eb58dde
Remove async deckpicker methods from whatsnew
felixpalmer Sep 25, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions docs/api-reference/core/widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ The `Widget` class is a base class used to define new widgets and should not be

## Types

#### `WidgetProps` (object) {#props}
#### `WidgetProps` (object) {#widgetprops}

Options for the widget, as passed into the constructor and can be updated with `setProps`.

Expand Down Expand Up @@ -41,15 +41,15 @@ Widget positioning within the view. One of:
- `'bottom-right'`
- `'fill'`

#### `style`
#### `style` {#style}

CSS inline style overrides.

```ts
style?: Partial<CSSStyleDeclaration>;
```

#### `className`
#### `className` {#classname}

Additional CSS classnames for interaction with custom stylesheets.

Expand All @@ -59,7 +59,7 @@ Additional CSS classnames for interaction with custom stylesheets.

### Methods for Widget Writers

#### `constructor`
#### `constructor` {#constructor}

Supply the props and default props to the base class.

Expand All @@ -71,7 +71,7 @@ Called to update widget options.

Updates the widget. Called by the specific widget when state has changed. Calls `onRenderHTML()`

#### `onRenderHTML`
#### `onRenderHTML` {#onrenderhtml}

This function is implemented by the specific widget subclass to update the HTML for the widget

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/layers/text-layer.md
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ If `true`, the text always faces camera. Otherwise the text faces up (z).

Whether to render background for the text blocks.

#### `backgroundBorderRadius` (number | number[4], optional) {#backgroundBorderRadius}
#### `backgroundBorderRadius` (number | number[4], optional) {#backgroundborderradius}

- Default `0`

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/compass-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const deck = new Deck({

## Types

### `CompassWidgetProps`
### `CompassWidgetProps` {#compasswidgetprops}

The `CompassWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/fps-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ new Deck({

## Types

### `FpsWidgetProps`
### `FpsWidgetProps` {#fpswidgetprops}

The `FpsWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/fullscreen-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ const deck = new Deck({

## Types

### `FullscreenWidgetProps`
### `FullscreenWidgetProps` {#fullscreenwidgetprops}

The `FullscreenWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
6 changes: 3 additions & 3 deletions docs/api-reference/widgets/geocoder-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,15 +29,15 @@ Default: `'coordinates'`

Which geocoding service to use. Supported values are `'coordinates'`, `'google'`, `'mapbox'`, `'opencage'`, or `'custom'`.

#### `apiKey` (string, optional) {#apiKey}
#### `apiKey` (string, optional) {#apikey}

Required if `geocoder` is set to a third party provider. For quick testing, applications can use the `coordinates` geocode does not require an api key.

#### `customGeocoder` (optional) {#customGeocoder}
#### `customGeocoder` (optional) {#customgeocoder}

Only used when `geocoder` is `'custom'`. A function that receives the entered text and an API key, and resolves to a `{longitude, latitude}` object when successful.

#### `_geolocation` (optional) {#geolocation}
#### `_geolocation` (optional) {#_geolocation}

In addition to addresses / coordinates, one position of obvious interest is the user's own current position. This experimental option adds a `current` menu item that calls the browser's geolocation API and navigates to the user's current position. Note that this requires the user to enable geolocation in the browser.

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/info-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ const deck = new Deck({

## Types

### `InfoWidgetProps`
### `InfoWidgetProps` {#infowidgetprops}

The `InfoWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
6 changes: 3 additions & 3 deletions docs/api-reference/widgets/loading-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@ const deck = new Deck({

## Types

### `LoadingnWidgetProps`
### `LoadingWidgetProps` {#loadingwidgetprops}

The `LoadingnWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):
The `LoadingWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

- `id` (default `'loading'`) - Unique id for this widget
- `placement` (default `'top-left'`) - Widget position within the view relative to the map container
Expand Down Expand Up @@ -54,4 +54,4 @@ Default: `'Loading data'`

## Source

[modules/widgets/src/loading-widget.tsx](https://github.com/visgl/deck.gl/tree/master/modules/widgets/src/loading-widget.tsx)
[modules/widgets/src/loading-widget.tsx](https://github.com/visgl/deck.gl/tree/master/modules/widgets/src/loading-widget.tsx)
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/reset-view-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const deck = new Deck({

## Types

### `ResetViewWidgetProps`
### `ResetViewWidgetProps` {#resetviewwidgetprops}

The `ResetViewWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/scale-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ const deck = new Deck({

# Types

### `ResetViewWidgetProps`
### `ResetViewWidgetProps` {#resetviewwidgetprops}

The `ResetViewWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
4 changes: 2 additions & 2 deletions docs/api-reference/widgets/screenshot-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ const deck = new Deck({
});
```

### `ScreenshotWidgetProps`
### `ScreenshotWidgetProps` {#screenshotwidgetprops}

The `ScreenshotWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand All @@ -39,7 +39,7 @@ Tooltip message displayed while hovering a mouse over the widget.

Default: `'Screenshot'`

#### `imageFormat` (string, optional) {#imageFormat}
#### `imageFormat` (string, optional) {#imageformat}

Format of the downloaded image. Browser dependent, may support `image/jpeg`, `image/webp`, `image/avif`

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/splitter-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const deck = new Deck({
});
```

### `SplitterWidgetProps`
### `SplitterWidgetProps` {#splitterwidgetprops}

The `SplitterWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/theme-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const deck = new Deck({
});
```

### `ThemeWidgetProps`
### `ThemeWidgetProps` {#themewidgetprops}

The `ThemeWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/timeline-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ const deck = new Deck({
});
```

### `TimelineProps`
### `TimelineProps` {#timelineprops}

The `TimelineWidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
2 changes: 1 addition & 1 deletion docs/api-reference/widgets/zoom-widget.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ const deck = new Deck({
});
```

### `ZoomProps`
### `ZoomProps` {#zoomprops}

The `Zoomidget` accepts the generic [`WidgetProps`](../core/widget.md#props):

Expand Down
44 changes: 30 additions & 14 deletions docs/whats-new.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,46 @@ This page contains highlights of each deck.gl release. Also check our [vis.gl bl

## deck.gl v9.2

Target release date: July, 2025
Target release date: September, 2025

### Widgets

- A suite of new widgets have been added to the [`@deck.gl/widgets`](./api-reference/widgets/overview.md) module:
- [FpsWidget](./api-reference/widgets/fps-widget.md)
- [GeocoderWidget](./api-reference/widgets/geocoder-widget.md)
- [GimbalWidget](./api-reference/widgets/gimbal-widget.md)
- [InfoWidget](./api-reference/widgets/info-widget.md)
- [LoadingWidget](./api-reference/widgets/loading-widget.md)
- [ResetViewWidget](./api-reference/widgets/reset-view-widget.md)
- [ScaleWidget](./api-reference/widgets/scale-widget.md)
- [ScreenshotWidget](./api-reference/widgets/screenshot-widget.md)
- [SplitterWidget](./api-reference/widgets/splitter-widget.md)
- [ThemeWidget](./api-reference/widgets/theme-widget.md)
- [TimelineWidget](./api-reference/widgets/timeline-widget.md)
- Pre-wrapped React components - deck.gl widgets are available via the [`@deck.gl/react`](./api-reference/react/overview.md) package
- Custom widgets in pydeck - via the `custom_libraries` parameter, Python users can integrate custom deck.gl widgets seamlessly.
- Documentation for styling and custom themes - see [Styling Widgets](./api-reference/widgets/styling).

### WebGPU Early Preview

A few deck.gl layers can now be run on WebGPU in the website, by selecting the `WebGPU` tab. See documentation about how to [test WebGPU support](./developer-guide/webgpu.md).

### Widgets
### Core

A suite of new widgets have been added to the [`@deck.gl/widgets`](./api-reference/widgets/overview.md) module:
- [`View.clone()`](./api-reference/core/view.md) - New method that simplifies creating new Views with modified props, similar to `Layer.clone()`
- Async DeckPicker methods - New asynchronous methods for improved picking performance and non-blocking operations
- Multi-view clear support - Enhanced support for controlling clear color, depth, and stencil buffers across multiple views
- Mapbox v3 Standard style slot support - Integration with Mapbox's latest Standard style slot system for better map styling

- [ResetViewWidget](./api-reference/widgets/reset-view-widget.md)
- [ScaleWidget](./api-reference/widgets/scale-widget.md)
- [GeocoderWidget](./api-reference/widgets/geocoder-widget.md)
- [ScreenshotWidget](./api-reference/widgets/screenshot-widget.md)
- [LoadingWidget](./api-reference/widgets/loading-widget.md)
- [ThemeWidget](./api-reference/widgets/theme-widget.md)
- [InfoWidget](./api-reference/widgets/info-widget.md)
- [SplitterWidget](./api-reference/widgets/splitter-widget.md)
### Layers

Pre-wrapped React components for the new deck.gl widgets are available via the [`@deck.gl/react`](./api-reference/react/overview.md) package.
- New [A5Layer](./api-reference/geo-layers/a5-layer.md) - renders cells from the [A5](https://a5geo.org) geospatial indexing system. See new [Global Grid Layers](../examples/global-grids) example
- TextLayer - new [`backgroundBorderRadius`](./api-reference/layers/text-layer#backgroundborderradius) prop

### Core
### CARTO

- [`View.clone()`](./api-reference/core/view.md) - New method that simplifies creating new Views with modified props, similar to `Layer.clone()`.
- [ClusterTileLayer](./api-reference/carto/cluster-tile-layer) and [HeatmapTileLayer](./api-reference/carto/heatmap-tile-layer) support H3 data
- New TrajectoryTileLayer

## deck.gl v9.1

Expand Down
9 changes: 2 additions & 7 deletions examples/playground/src/configuration.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,8 @@ import * as Layers from '@deck.gl/layers';
import * as AggregationLayers from '@deck.gl/aggregation-layers';
import * as GeoLayers from '@deck.gl/geo-layers';
import * as MeshLayers from '@deck.gl/mesh-layers';
import {
CARTO_LAYERS,
CARTO_SOURCES,
colorBins,
colorCategories,
colorContinuous
} from '@deck.gl/carto';
import {CARTO_LAYERS, colorBins, colorCategories, colorContinuous} from '@deck.gl/carto';
import {CARTO_SOURCES} from '@carto/api-client';
import * as Widgets from '@deck.gl/widgets';

import {COORDINATE_SYSTEM} from '@deck.gl/core';
Expand Down
3 changes: 2 additions & 1 deletion examples/website/carto-sql/app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ import {createRoot} from 'react-dom/client';
import {Map} from 'react-map-gl/maplibre';
import {DeckGL} from '@deck.gl/react';
import {LinearInterpolator, PickingInfo} from '@deck.gl/core';
import {colorBins, H3TileLayer, h3QuerySource} from '@deck.gl/carto';
import {colorBins, H3TileLayer} from '@deck.gl/carto';
import {h3QuerySource} from '@carto/api-client';
import {TooltipContent} from '@deck.gl/core/dist/lib/tooltip';

const INITIAL_VIEW_STATE = {
Expand Down
Loading