From ed0fb399a1bc7972af602ec5b2a92f7155633532 Mon Sep 17 00:00:00 2001 From: Ib Green Date: Thu, 9 Jul 2026 11:13:06 -0400 Subject: [PATCH 1/5] docs: finalize v9.4 whats-new --- docs/whats-new.md | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index 9961076d3b8..57bafb45602 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -4,17 +4,23 @@ This page contains highlights of each deck.gl release. Also check our [vis.gl bl ## deck.gl v9.4 -Release date: TBD +Release date: July 2026 + +deck.gl v9.4 is expected to be the final release in the v9 series. It brings together a collection of completed improvements focused on performance, stability, and usability, and is intended to be a highly compatible, highly recommended upgrade for all v9 applications. + +Looking ahead, deck.gl v10 is expected to introduce larger architectural changes, including luma.gl v10, loaders.gl v5, and support for more advanced binary data pipelines and GPU rendering techniques. As a result, v10 will likely be a more substantial and intentional upgrade for applications than this release. ### Core Performance -- Picking in most instanced layers no longer allocates an `instancePickingColors` attribute buffer, reducing memory usage and initialization times. (deck.gl now using shader builtins `instance_index` / `gl_InstanceID`). +- Picking in most instanced layers now uses shader builtins (`instance_index` / `gl_InstanceID`) instead of allocating an `instancePickingColors` attribute buffer, reducing GPU memory usage and layer initialization time. ### Views and Controllers +Views and controllers were a substantial focus of v9.3, and that long-running theme continues in v9.4 with improvements across core, geo layers, ArcGIS integration, and widgets. + #### GlobeView -`GlobeView`, while still experimental, is improved and nearing graduation: +[`GlobeView`](./api-reference/core/globe-view.md) remains experimental, but continues to mature with significantly expanded layer compatibility: - [TerrainLayer](./api-reference/geo-layers/terrain-layer.md) now renders correctly on `GlobeView`, producing properly projected terrain meshes on the globe. - [TerrainExtension](./api-reference/extensions/terrain-extension.md) now supports `GlobeView`, enabling terrain-draped layers on the globe. @@ -22,24 +28,32 @@ Release date: TBD #### Views -- Views now support a `parameters` prop for per-view GPU draw state overrides. `GlobeView` uses this to enable back-face culling by default, and applications can override it with `new GlobeView({parameters: {cullMode: 'none'}})`. +- [Views](./api-reference/core/view.md#parameters) now support a `parameters` prop for per-view GPU draw state overrides. `GlobeView` uses this to enable back-face culling by default, and applications can override it with: + +```js +new GlobeView({ + parameters: { + cullMode: 'none' + } +}); +``` #### Controllers -- New `doubleClickDragZoom` gesture on all controllers enables smooth zoom by double-clicking and dragging up/down. +- All [controllers](./api-reference/core/controller.md) now support a `doubleClickDragZoom` gesture that enables continuous zooming by double-clicking and dragging vertically. -### @deck.gl/geo-layers +#### @deck.gl/arcgis -- [TileLayer](./api-reference/geo-layers/tile-layer.md) now prioritizes tile requests closest to the viewport center, improving perceived load times during panning and zooming. -- [TerrainLayer](./api-reference/geo-layers/terrain-layer.md) now correctly passes `zoomOffset` through to its child `TileLayer`. +- [`DeckRenderer`](./api-reference/arcgis/deck-renderer.md) now integrates with ArcGIS `SceneView` through the modern [`RenderNode`](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-webgl-RenderNode.html) API instead of the deprecated `externalRenderers` API. -### @deck.gl/arcgis +#### @deck.gl/widgets -- `DeckRenderer` now integrates with ArcGIS `SceneView` through the modern `RenderNode` API instead of the deprecated `externalRenderers`. +- A new experimental [`ViewLayout`](./api-reference/widgets/view-layout.md) system supports declarative nested and relative view layouts. The `buildViewsFromViewLayout()` helper generates `View` instances from a layout tree, making complex multi-view applications easier to build. -### @deck.gl/widgets +### @deck.gl/geo-layers -A new experimental `ViewLayout` system with a helper function `buildViewsFromViewLayout()` allows advanced nested and relative view layouts to be specified using a declarative layout tree. +- [TileLayer](./api-reference/geo-layers/tile-layer.md) now prioritizes tile requests closest to the viewport center, improving perceived load times during panning and zooming. +- [TerrainLayer](./api-reference/geo-layers/terrain-layer.md) now correctly passes `zoomOffset` through to its child `TileLayer`. ## deck.gl v9.3 From b289cc270e97770d8c3fbad45d8dad3b6ca328a9 Mon Sep 17 00:00:00 2001 From: Ib Green Date: Thu, 9 Jul 2026 12:14:57 -0400 Subject: [PATCH 2/5] docs: refine v9.4 view grouping --- docs/whats-new.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index 57bafb45602..3bf54cad26d 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -16,7 +16,7 @@ Looking ahead, deck.gl v10 is expected to introduce larger architectural changes ### Views and Controllers -Views and controllers were a substantial focus of v9.3, and that long-running theme continues in v9.4 with improvements across core, geo layers, ArcGIS integration, and widgets. +Views and controllers are a multi-release work stream in deck.gl. Following the substantial changes in v9.3, v9.4 continues this long-running theme with improvements across core, geo layers, and widgets. #### GlobeView @@ -42,19 +42,19 @@ new GlobeView({ - All [controllers](./api-reference/core/controller.md) now support a `doubleClickDragZoom` gesture that enables continuous zooming by double-clicking and dragging vertically. -#### @deck.gl/arcgis - -- [`DeckRenderer`](./api-reference/arcgis/deck-renderer.md) now integrates with ArcGIS `SceneView` through the modern [`RenderNode`](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-webgl-RenderNode.html) API instead of the deprecated `externalRenderers` API. - -#### @deck.gl/widgets +#### View Layout -- A new experimental [`ViewLayout`](./api-reference/widgets/view-layout.md) system supports declarative nested and relative view layouts. The `buildViewsFromViewLayout()` helper generates `View` instances from a layout tree, making complex multi-view applications easier to build. +- A new experimental [`ViewLayout`](./api-reference/widgets/view-layout.md) system in `@deck.gl/widgets` supports declarative nested and relative view layouts. The `buildViewsFromViewLayout()` helper generates `View` instances from a layout tree, making complex multi-view applications easier to build. ### @deck.gl/geo-layers - [TileLayer](./api-reference/geo-layers/tile-layer.md) now prioritizes tile requests closest to the viewport center, improving perceived load times during panning and zooming. - [TerrainLayer](./api-reference/geo-layers/terrain-layer.md) now correctly passes `zoomOffset` through to its child `TileLayer`. +### @deck.gl/arcgis + +- [`DeckRenderer`](./api-reference/arcgis/deck-renderer.md) now integrates with ArcGIS `SceneView` through the modern [`RenderNode`](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-3d-webgl-RenderNode.html) API instead of the deprecated `externalRenderers` API. + ## deck.gl v9.3 Release date: April 13, 2026 From e8192b635181d542af02f6d0a782a90ac0487404 Mon Sep 17 00:00:00 2001 From: Ib Green Date: Thu, 9 Jul 2026 12:31:06 -0400 Subject: [PATCH 3/5] docs: refine v9.4 release wording --- docs/whats-new.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index 3bf54cad26d..470fc6f2559 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -16,11 +16,11 @@ Looking ahead, deck.gl v10 is expected to introduce larger architectural changes ### Views and Controllers -Views and controllers are a multi-release work stream in deck.gl. Following the substantial changes in v9.3, v9.4 continues this long-running theme with improvements across core, geo layers, and widgets. +deck.gl v9.4 brings additional view and controller improvements on top of the substantial changes in v9.3. #### GlobeView -[`GlobeView`](./api-reference/core/globe-view.md) remains experimental, but continues to mature with significantly expanded layer compatibility: +[`GlobeView`](./api-reference/core/globe-view.md) continues to mature, including significantly expanded layer compatibility: - [TerrainLayer](./api-reference/geo-layers/terrain-layer.md) now renders correctly on `GlobeView`, producing properly projected terrain meshes on the globe. - [TerrainExtension](./api-reference/extensions/terrain-extension.md) now supports `GlobeView`, enabling terrain-draped layers on the globe. From adfdd01f4b42b3c033a3237854421e5750bdc8a8 Mon Sep 17 00:00:00 2001 From: Ib Green Date: Thu, 9 Jul 2026 12:32:14 -0400 Subject: [PATCH 4/5] docs: refine v9.4 picking note --- docs/whats-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index 470fc6f2559..c814f9a8754 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -12,7 +12,7 @@ Looking ahead, deck.gl v10 is expected to introduce larger architectural changes ### Core Performance -- Picking in most instanced layers now uses shader builtins (`instance_index` / `gl_InstanceID`) instead of allocating an `instancePickingColors` attribute buffer, reducing GPU memory usage and layer initialization time. +- Picking has been optimized. Most layers now use shader builtins (`instance_index`) instead of picking color buffers, reducing GPU memory usage and layer initialization costs. ### Views and Controllers From 50386fa6899771f193a6332ba5cc889b2ec82d14 Mon Sep 17 00:00:00 2001 From: Ib Green Date: Thu, 9 Jul 2026 12:57:09 -0400 Subject: [PATCH 5/5] docs: clarify v9.4 view layout note --- docs/whats-new.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/whats-new.md b/docs/whats-new.md index c814f9a8754..745e80761df 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -44,7 +44,7 @@ new GlobeView({ #### View Layout -- A new experimental [`ViewLayout`](./api-reference/widgets/view-layout.md) system in `@deck.gl/widgets` supports declarative nested and relative view layouts. The `buildViewsFromViewLayout()` helper generates `View` instances from a layout tree, making complex multi-view applications easier to build. +- A new [`ViewLayout`](./api-reference/widgets/view-layout.md) system makes responsive and dynamic multi-view applications easier to build. Applications define nested, relative view layouts in a simple declarative syntax. The `buildViewsFromViewLayout()` helper then automatically regenerates `View` instances from the specified view layout tree based on browser window size, splitter widget positions, etc. ### @deck.gl/geo-layers