diff --git a/docs/README.mdx b/docs/README.mdx index 1288b25336..000f9ae001 100644 --- a/docs/README.mdx +++ b/docs/README.mdx @@ -1,6 +1,7 @@ # Overview luma.gl is a modern GPU toolkit for the Web, focused on processing and visualization of big data. +It is considered a foundational framework in the [deck.gl ecosystem](https://www.openvisualization.org/projects).
@@ -42,8 +43,9 @@ luma.gl is a modern GPU toolkit for the Web, focused on processing and visualiza   -This documentation describes luma.gl **v9.0**. See our [**release notes**](/docs/whats-new) to learn what is new. +This documentation describes luma.gl **v9.1**. See our [**release notes**](/docs/whats-new) to learn what is new. Docs for older versions are available on github: +**[v9.0](https://github.com/visgl/luma.gl/blob/9.0-release/docs/README.md)**, **[v8.5](https://github.com/visgl/luma.gl/blob/8.5-release/docs/README.md)**, **[v7.3](https://github.com/visgl/luma.gl/blob/7.3-release/docs/README.md)**, **[v6.4](https://github.com/visgl/luma.gl/blob/6.4-release/docs/README.md)**. diff --git a/docs/api-reference/core/canvas-context.md b/docs/api-reference/core/canvas-context.md index aa41d015fe..6cf076f9f0 100644 --- a/docs/api-reference/core/canvas-context.md +++ b/docs/api-reference/core/canvas-context.md @@ -142,7 +142,7 @@ Becomes `true` once the `CanvasContext` been able to obtain its true pixel size. A `CanvasContext` should not be constructed directly. Default canvas contexts are created when instantiating a `WebGPUDevice` or a `WebGLDevice` by supplying the `canvasContext` property, and can be accessed through the `device.getDefaultCanvasContext()` method. Additional canvas contexts can be explicitly created through `WebGPUDevice.createCanvasContext(...)`. ::: -On `Device` instances that support it (see [remarks](#remarks) below) additional canvas contexts are created using `device.createCanvasContext()`. Depending on options passed, this either: +On `Device` instances that support it (see remarks below) additional canvas contexts are created using `device.createCanvasContext()`. Depending on options passed, this either: - creates a new canvas element with the specified properties, - or attaches the context to an existing canvas element diff --git a/docs/api-reference/webgl/README.md b/docs/api-reference/webgl/README.md index d0ccdb7e1f..92f0d05a74 100644 --- a/docs/api-reference/webgl/README.md +++ b/docs/api-reference/webgl/README.md @@ -5,7 +5,7 @@ This module contains the WebGL adapter for the "abstract" luma.gl API (`@luma.gl/core`). Importing `webgl2Adapter` from `@luma.gl/webgl` enables WebGL devices to -be created using `luma.createDevice(props)`. See [`CreateDeviceProps`](../core/luma#createdeviceprops) for WebGL property options. +be created using `luma.createDevice(props)`. See [`CreateDeviceProps`](/docs/api-reference/core/luma#createdeviceprops) for WebGL property options. ```typescript import {luma} from '@luma.gl/core'; diff --git a/docs/api-reference/webgpu/README.md b/docs/api-reference/webgpu/README.md index fd3f10e1af..569f832790 100644 --- a/docs/api-reference/webgpu/README.md +++ b/docs/api-reference/webgpu/README.md @@ -5,7 +5,7 @@ This module contains the WebGPU adapter for the "abstract" luma.gl API (`@luma.gl/core`). The `webgpuAdapter` imported from `@luma.gl/webgpu` enables WebGPU devices to -be created using `luma.createDevice(props)`: See [`CreateDeviceProps`](../core/luma#createdeviceprops) for WebGPU prop options. +be created using `luma.createDevice(props)`: See [`CreateDeviceProps`](/docs/api-reference/core/luma#createdeviceprops) for WebGPU prop options. ```typescript import {luma} from '@luma.gl/core'; diff --git a/docs/upgrade-guide.md b/docs/upgrade-guide.md index c26289b860..24adaf2b5c 100644 --- a/docs/upgrade-guide.md +++ b/docs/upgrade-guide.md @@ -10,7 +10,7 @@ luma.gl largely follows [SEMVER](https://semver.org) conventions. Breaking chang *For detailed commit level logs that include alpha and beta releases, see the [CHANGELOG](https://github.com/visgl/luma.gl/blob/master/CHANGELOG.md) in the github repository.* -## Upgrading to v9.2 +## Upgrading to v9.2 (In Development) v9.2 brings full WebGPU support. Some additional deprecations and breaking changes have been necessary, but apart from the `Texture` -> `AsyncTexture` split, impact on most applications should be minimal. diff --git a/docs/whats-new.md b/docs/whats-new.md index 8de1cdd5fe..01b112806f 100644 --- a/docs/whats-new.md +++ b/docs/whats-new.md @@ -4,7 +4,7 @@ ## Version 9.2 (In Development) -Target Date: Q4, 2024 +Target Date: Q2, 2025 Production quality WebGPU backend @@ -39,18 +39,24 @@ Production quality WebGPU backend - glTF and PRB now supported on WebGPU (in progress) -## Version 9.1 (In Beta) +## Version 9.1 -Target Date: Sep 30, 2024 +Target Date: Dec, 2024 -Improvements focused on enhancing WebGPU support. +Enhanced WebGPU support. + +**Highlights** +- GPU backend management is streamlined via the new `Adapter` API. +- GPU connection to HTML DOM (via `canvas` elements) improved via `CanvasContext` API changes. +- `Texture`s are now immutable, however a new `AsyncTexture` class offers a higher-level, mutable texture API. +- `ShaderModule` type safety improvements (shader uniforms can now be strictly typed in JavaScript) **@luma.gl/core** - [`Adapter`](/docs/api-reference/core/adapter) - - New class representing a pluggable GPU backend. - - Singleton `Adapter` objects are exported by `@luma.gl/webgpu` and `@luma.gl/webgl`. -- `luma` + - New class for singleton objects representing pluggable GPU backends. + - Singleton `Adapter` objects are exported by the `@luma.gl/webgpu` and `@luma.gl/webgl` modules. +- [`luma`](/docs/api-reference/core/luma) - Now relies on `Adapter` instances to define which GPU backends are available. - Adapter can be supplied during device creation, avoiding the need for global registration of GPU backends. - `CreateDeviceProps.adapters` prop to supply list of GPU backend adapters to `luma.createDevice()`. diff --git a/website/content/sidebar-examples.js b/website/content/sidebar-examples.js index b88f67d984..fafa0db12f 100644 --- a/website/content/sidebar-examples.js +++ b/website/content/sidebar-examples.js @@ -10,8 +10,8 @@ const sidebars = { label: 'Showcase', items: [ 'showcase/instancing', - 'showcase/persistence', - 'showcase/postprocessing' + 'showcase/persistence' + // 'showcase/postprocessing' ] }, { @@ -19,8 +19,8 @@ const sidebars = { label: 'API', items: [ 'api/animation', - 'api/cubemap', - 'api/texture-3d' + 'api/cubemap' + // 'api/texture-3d' ] }, { @@ -36,8 +36,8 @@ const sidebars = { // 'tutorials/hello-instancing', // 'tutorials/shader-modules', // 'tutorials/shader-hooks', - 'tutorials/transform-feedback', - 'tutorials/transform' + 'tutorials/transform-feedback' + // 'tutorials/transform' ] } ] diff --git a/website/yarn.lock b/website/yarn.lock index 5597bab11b..275440f2a9 100644 --- a/website/yarn.lock +++ b/website/yarn.lock @@ -5326,17 +5326,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001587, caniuse-lite@npm:^1.0.30001591": - version: 1.0.30001593 - resolution: "caniuse-lite@npm:1.0.30001593" - checksum: 10c0/c1601015ee4846da731f78164d4d863e6ee49a32988c4d879e9ab07ebdedcd32122161a3ff09f991485208d7a743db62fb5bd3dfbe4312f271c03f810a85cb4f - languageName: node - linkType: hard - -"caniuse-lite@npm:^1.0.30001646": - version: 1.0.30001647 - resolution: "caniuse-lite@npm:1.0.30001647" - checksum: 10c0/54c07aabbe3915a67bac8015e8421aee59f2756f996fc70fc2a4743fec66e8684e620b45fb706e7e3d0fdd0b2f8dbab0309df90609ead5b45a9cd4318c8716c7 +"caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001587, caniuse-lite@npm:^1.0.30001591, caniuse-lite@npm:^1.0.30001646": + version: 1.0.30001689 + resolution: "caniuse-lite@npm:1.0.30001689" + checksum: 10c0/51cf99751dddfba24e13556ae0e0f38c062f76d49f2e24cce3d28e71a0325ca6fe04fe51b4a0e8467d601d94e72fea84f160bf577e7cbb5677f14ac673b6da20 languageName: node linkType: hard