@deck.gl/react 9.4.0-alpha.2 → 9.4.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/deckgl.d.ts.map +1 -1
- package/dist/deckgl.js +36 -18
- package/dist/deckgl.js.map +1 -1
- package/dist/index.cjs +14579 -32
- package/dist/index.cjs.map +3 -4
- package/dist/widgets/compass-widget.d.ts.map +1 -1
- package/dist/widgets/context-menu-widget.d.ts.map +1 -1
- package/dist/widgets/fullscreen-widget.d.ts.map +1 -1
- package/dist/widgets/geocoder-widget.d.ts.map +1 -1
- package/dist/widgets/gimbal-widget.d.ts.map +1 -1
- package/dist/widgets/icon-widget.d.ts.map +1 -1
- package/dist/widgets/info-widget.d.ts.map +1 -1
- package/dist/widgets/loading-widget.d.ts.map +1 -1
- package/dist/widgets/popup-widget.d.ts.map +1 -1
- package/dist/widgets/reset-view-widget.d.ts.map +1 -1
- package/dist/widgets/scale-widget.d.ts.map +1 -1
- package/dist/widgets/screenshot-widget.d.ts.map +1 -1
- package/dist/widgets/scrollbar-widget.d.ts.map +1 -1
- package/dist/widgets/selector-widget.d.ts.map +1 -1
- package/dist/widgets/selector-widget.js.map +1 -1
- package/dist/widgets/splitter-widget.d.ts.map +1 -1
- package/dist/widgets/stats-widget.d.ts.map +1 -1
- package/dist/widgets/theme-widget.d.ts.map +1 -1
- package/dist/widgets/timeline-widget.d.ts.map +1 -1
- package/dist/widgets/toggle-widget.d.ts.map +1 -1
- package/dist/widgets/zoom-widget.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/deckgl.ts +49 -23
- package/src/widgets/selector-widget.tsx +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compass-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/compass-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAGzD,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"compass-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/compass-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAGzD,eAAO,MAAM,aAAa,GAAI,QAAO,kBAAuB,SAG3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-menu-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/context-menu-widget.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AAG7D;;GAEG;AACH,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"context-menu-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/context-menu-widget.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,sBAAsB,EAAC,MAAM,kBAAkB,CAAC;AAG7D;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,sBAAsB,SAG9D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fullscreen-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/fullscreen-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAG5D,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"fullscreen-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/fullscreen-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAG5D,eAAO,MAAM,gBAAgB,GAAI,QAAO,qBAA0B,SAGjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geocoder-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/geocoder-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAG1D;;GAEG;AACH,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"geocoder-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/geocoder-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAG1D;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,QAAO,mBAAwB,SAG7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gimbal-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/gimbal-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAGxD,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"gimbal-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/gimbal-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAGxD,eAAO,MAAM,YAAY,GAAI,QAAO,iBAAsB,SAGzD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/icon-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"icon-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/icon-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,SAGhD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"info-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/info-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGtD;;GAEG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"info-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/info-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGtD;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,SAGhD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/loading-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAGzD;;GAEG;AACH,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"loading-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/loading-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAGzD;;GAEG;AACH,eAAO,MAAM,aAAa,GAAI,QAAO,kBAAuB,SAG3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"popup-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/popup-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"popup-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/popup-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,SAGlD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reset-view-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/reset-view-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAG3D;;GAEG;AACH,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"reset-view-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/reset-view-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAG3D;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,QAAO,oBAAyB,SAG/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scale-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/scale-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGvD;;GAEG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"scale-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/scale-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGvD;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAO,gBAAqB,SAGvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/screenshot-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAG5D;;GAEG;AACH,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"screenshot-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/screenshot-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,qBAAqB,EAAC,MAAM,kBAAkB,CAAC;AAG5D;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAO,qBAA0B,SAGjE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollbar-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/scrollbar-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAG3D,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"scrollbar-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/scrollbar-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAG3D,eAAO,MAAM,eAAe,GAAI,QAAO,oBAAyB,SAG/D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selector-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/selector-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,cAAc,GAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"selector-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/selector-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,cAAc,GAAI,MAAM,GAAG,MAAM,EAAE,OAAO,mBAAmB,CAAC,MAAM,CAAC,SAQjF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selector-widget.js","sourceRoot":"","sources":["../../src/widgets/selector-widget.tsx"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,cAAc,IAAI,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAE9C,MAAM,CAAC,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"selector-widget.js","sourceRoot":"","sources":["../../src/widgets/selector-widget.tsx"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,cAAc,IAAI,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEnE,OAAO,EAAC,SAAS,EAAC,+BAA4B;AAE9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAkB,KAAkC,EAAE,EAAE;IACpF,SAAS,CACP,eAE4B,EAC5B,KAAK,CACN,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitter-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/splitter-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAG1D;;GAEG;AACH,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"splitter-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/splitter-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAG1D;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,SAGxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stats-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/stats-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"stats-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/stats-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGvD,eAAO,MAAM,WAAW,GAAI,QAAO,gBAAqB,SAGvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/theme-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGvD;;GAEG;AACH,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"theme-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/theme-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAGvD;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAO,gBAAqB,SAGvD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/timeline-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"timeline-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/timeline-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAG1D,eAAO,MAAM,cAAc,GAAI,QAAO,mBAAwB,SAG7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/toggle-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAGxD,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"toggle-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/toggle-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AAGxD,eAAO,MAAM,YAAY,GAAI,OAAO,iBAAiB,SAGpD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoom-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/zoom-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"zoom-widget.d.ts","sourceRoot":"","sources":["../../src/widgets/zoom-widget.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAGtD,eAAO,MAAM,UAAU,GAAI,QAAO,eAAoB,SAGrD,CAAC"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "React Components for deck.gl",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"version": "9.4.0-
|
|
6
|
+
"version": "9.4.0-beta.3",
|
|
7
7
|
"publishConfig": {
|
|
8
8
|
"access": "public"
|
|
9
9
|
},
|
|
@@ -48,5 +48,5 @@
|
|
|
48
48
|
"react": "^19.2.0",
|
|
49
49
|
"react-dom": "^19.2.5"
|
|
50
50
|
},
|
|
51
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "7f1e9e63019e6525b3f804cbadcf390ed9d40b65"
|
|
52
52
|
}
|
package/src/deckgl.ts
CHANGED
|
@@ -76,6 +76,21 @@ function redrawDeck(thisRef: DeckInstanceRef<any>) {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
+
// luma.gl initially gives a detached canvas a small placeholder size. Do not mount a basemap
|
|
80
|
+
// against that temporary viewport: MapLibre would initialize its own canvas at 1 x 1 pixels.
|
|
81
|
+
function deckSizeMatchesContainer(
|
|
82
|
+
thisRef: DeckInstanceRef<any>,
|
|
83
|
+
container: HTMLElement | null
|
|
84
|
+
): boolean {
|
|
85
|
+
const deck = thisRef.deck;
|
|
86
|
+
return Boolean(
|
|
87
|
+
deck &&
|
|
88
|
+
container &&
|
|
89
|
+
deck.width === container.clientWidth &&
|
|
90
|
+
deck.height === container.clientHeight
|
|
91
|
+
);
|
|
92
|
+
}
|
|
93
|
+
|
|
79
94
|
function createDeckInstance<ViewsT extends ViewOrViews>(
|
|
80
95
|
thisRef: DeckInstanceRef<ViewsT>,
|
|
81
96
|
DeckClass: typeof Deck,
|
|
@@ -83,29 +98,37 @@ function createDeckInstance<ViewsT extends ViewOrViews>(
|
|
|
83
98
|
): Deck<ViewsT> {
|
|
84
99
|
const deck = new DeckClass({
|
|
85
100
|
...props,
|
|
86
|
-
//
|
|
87
|
-
//
|
|
88
|
-
//
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
101
|
+
// Keep one authoritative render callback for both backends. Deck calls `_customRender` from
|
|
102
|
+
// its animation loop whenever its viewport or layers become dirty; this is also the point
|
|
103
|
+
// where React children must be synchronized with the viewport used to draw those layers.
|
|
104
|
+
_customRender: redrawReason => {
|
|
105
|
+
thisRef.redrawReason = redrawReason;
|
|
106
|
+
// `deviceProps` describes the requested adapter, not necessarily the adapter that was
|
|
107
|
+
// initialized. Read the resolved device here, after Deck's animation loop has initialized
|
|
108
|
+
// it, so fallback from WebGPU to WebGL keeps the WebGL synchronization path.
|
|
109
|
+
// @ts-expect-error accessing protected device
|
|
110
|
+
const isWebGPU = deck.device?.type === 'webgpu';
|
|
111
|
+
|
|
112
|
+
const viewports = deck.getViewports();
|
|
113
|
+
if (thisRef.lastRenderedViewports !== viewports) {
|
|
114
|
+
// Do not initialize a map against the detached WebGPU canvas's temporary 1 x 1 viewport.
|
|
115
|
+
// The next resize invalidates Deck again and repeats this callback with the final size.
|
|
116
|
+
if (!isWebGPU || deckSizeMatchesContainer(thisRef, props.parent || null)) {
|
|
117
|
+
thisRef.forceUpdate();
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (!isWebGPU) {
|
|
121
|
+
// WebGL may defer drawing until React's layout effect so its DOM children and canvas
|
|
122
|
+
// appear in the same frame. Keep master behavior unchanged for the existing backend.
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
// WebGPU's current canvas texture is valid only for this animation frame. Draw now, even
|
|
128
|
+
// when React still has a pending viewport update; waiting for a layout effect would reuse
|
|
129
|
+
// an expired texture. React children catch up through the forceUpdate scheduled above.
|
|
130
|
+
redrawDeck(thisRef);
|
|
131
|
+
}
|
|
109
132
|
});
|
|
110
133
|
return deck;
|
|
111
134
|
}
|
|
@@ -145,6 +168,9 @@ function DeckGLWithRef<ViewsT extends ViewOrViews = null>(
|
|
|
145
168
|
return null;
|
|
146
169
|
}
|
|
147
170
|
thisRef.viewStateUpdateRequested = null;
|
|
171
|
+
// Deck marks the new viewport dirty and schedules `_customRender`; do not start a competing
|
|
172
|
+
// React update here. Keeping redraw ownership in one callback handles both controlled and
|
|
173
|
+
// uncontrolled view state without making WebGPU a separate synchronization path.
|
|
148
174
|
return props.onViewStateChange?.(params);
|
|
149
175
|
};
|
|
150
176
|
|
|
@@ -6,9 +6,11 @@ import {SelectorWidget as _SelectorWidget} from '@deck.gl/widgets';
|
|
|
6
6
|
import type {SelectorWidgetProps} from '@deck.gl/widgets';
|
|
7
7
|
import {useWidget} from '../utils/use-widget';
|
|
8
8
|
|
|
9
|
-
export const SelectorWidget = <ValueT = string
|
|
9
|
+
export const SelectorWidget = <ValueT = string>(props: SelectorWidgetProps<ValueT>) => {
|
|
10
10
|
useWidget(
|
|
11
|
-
_SelectorWidget as new (
|
|
11
|
+
_SelectorWidget as new (
|
|
12
|
+
props_: SelectorWidgetProps<ValueT>
|
|
13
|
+
) => _SelectorWidget<ValueT>,
|
|
12
14
|
props
|
|
13
15
|
);
|
|
14
16
|
return null;
|