@deck.gl/mapbox 9.0.0-alpha.7 → 9.0.0-beta.10

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.
Files changed (47) hide show
  1. package/{typed → dist}/deck-utils.d.ts +2 -2
  2. package/dist/deck-utils.d.ts.map +1 -0
  3. package/dist/deck-utils.js +266 -0
  4. package/dist/dist.dev.js +777 -151
  5. package/dist/index.cjs +549 -0
  6. package/dist/index.cjs.map +7 -0
  7. package/dist/index.d.ts +3 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +1 -0
  10. package/{typed → dist}/mapbox-layer.d.ts +1 -1
  11. package/{typed → dist}/mapbox-layer.d.ts.map +1 -1
  12. package/dist/mapbox-layer.js +37 -0
  13. package/{typed → dist}/mapbox-overlay.d.ts.map +1 -1
  14. package/dist/mapbox-overlay.js +227 -0
  15. package/dist/resolve-layers.js +74 -0
  16. package/dist.min.js +1 -2
  17. package/package.json +16 -8
  18. package/src/deck-utils.ts +1 -1
  19. package/src/index.ts +0 -1
  20. package/src/mapbox-layer.ts +1 -1
  21. package/src/mapbox-overlay.ts +12 -5
  22. package/dist/es5/deck-utils.js +0 -300
  23. package/dist/es5/deck-utils.js.map +0 -1
  24. package/dist/es5/index.js +0 -24
  25. package/dist/es5/index.js.map +0 -1
  26. package/dist/es5/mapbox-layer.js +0 -72
  27. package/dist/es5/mapbox-layer.js.map +0 -1
  28. package/dist/es5/mapbox-overlay.js +0 -302
  29. package/dist/es5/mapbox-overlay.js.map +0 -1
  30. package/dist/es5/resolve-layers.js +0 -137
  31. package/dist/es5/resolve-layers.js.map +0 -1
  32. package/dist/esm/deck-utils.js +0 -263
  33. package/dist/esm/deck-utils.js.map +0 -1
  34. package/dist/esm/index.js +0 -3
  35. package/dist/esm/index.js.map +0 -1
  36. package/dist/esm/mapbox-layer.js +0 -54
  37. package/dist/esm/mapbox-layer.js.map +0 -1
  38. package/dist/esm/mapbox-overlay.js +0 -272
  39. package/dist/esm/mapbox-overlay.js.map +0 -1
  40. package/dist/esm/resolve-layers.js +0 -77
  41. package/dist/esm/resolve-layers.js.map +0 -1
  42. package/typed/deck-utils.d.ts.map +0 -1
  43. package/typed/index.d.ts +0 -4
  44. package/typed/index.d.ts.map +0 -1
  45. /package/{typed → dist}/mapbox-overlay.d.ts +0 -0
  46. /package/{typed → dist}/resolve-layers.d.ts +0 -0
  47. /package/{typed → dist}/resolve-layers.d.ts.map +0 -0
@@ -0,0 +1,37 @@
1
+ import { getDeckInstance, addLayer, removeLayer, updateLayer, drawLayer } from "./deck-utils.js";
2
+ export default class MapboxLayer {
3
+ /* eslint-disable no-this-before-super */
4
+ constructor(props) {
5
+ if (!props.id) {
6
+ throw new Error('Layer must have an unique id');
7
+ }
8
+ this.id = props.id;
9
+ this.type = 'custom';
10
+ this.renderingMode = props.renderingMode || '3d';
11
+ this.map = null;
12
+ this.deck = null;
13
+ this.props = props;
14
+ }
15
+ /* Mapbox custom layer methods */
16
+ onAdd(map, gl) {
17
+ this.map = map;
18
+ this.deck = getDeckInstance({ map, gl, deck: this.props.deck });
19
+ addLayer(this.deck, this);
20
+ }
21
+ onRemove() {
22
+ if (this.deck) {
23
+ removeLayer(this.deck, this);
24
+ }
25
+ }
26
+ setProps(props) {
27
+ // id cannot be changed
28
+ Object.assign(this.props, props, { id: this.id });
29
+ // safe guard in case setProps is called before onAdd
30
+ if (this.deck) {
31
+ updateLayer(this.deck, this);
32
+ }
33
+ }
34
+ render() {
35
+ drawLayer(this.deck, this.map, this);
36
+ }
37
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"mapbox-overlay.d.ts","sourceRoot":"","sources":["../src/mapbox-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAS,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EAAC,GAAG,EAAE,QAAQ,EAAgB,MAAM,WAAW,CAAC;AAE5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAI7C,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,SAAS,EACP,OAAO,GACP,QAAQ,GACR,IAAI,GACJ,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,WAAW,GACX,kBAAkB,GAClB,YAAY,CACf,GAAG;IACF,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ;IACpD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB,OAAO,CAAC,IAAI,CAAC,CAAM;IACnB,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,mBAAmB,CAAC,CAA2D;gBAE3E,KAAK,EAAE,kBAAkB;IAMrC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAYzC,gDAAgD;IAChD,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc;IAK/B,OAAO,CAAC,cAAc;IAgCtB,OAAO,CAAC,iBAAiB;IAkBzB,oDAAoD;IACpD,QAAQ,IAAI,IAAI;IAgBhB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,oBAAoB;IAM5B,kBAAkB;IAIlB,0CAA0C;IAC1C,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAKrF,mDAAmD;IACnD,mBAAmB,CACjB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GACjD,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAK1C,2CAA2C;IAC3C,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAKxF,iDAAiD;IACjD,QAAQ;IAMR,qGAAqG;IACrG,SAAS,IAAI,iBAAiB,GAAG,IAAI;IAOrC,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,oBAAoB,CAQ1B;IAEF,OAAO,CAAC,gBAAgB,CAUtB;IAGF,OAAO,CAAC,iBAAiB,CA+EvB;CACH"}
1
+ {"version":3,"file":"mapbox-overlay.d.ts","sourceRoot":"","sources":["../src/mapbox-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAS,MAAM,eAAe,CAAC;AAG3C,OAAO,KAAK,EAAC,GAAG,EAAE,QAAQ,EAAgB,MAAM,WAAW,CAAC;AAE5D,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,eAAe,CAAC;AAK7C,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,SAAS,EACP,OAAO,GACP,QAAQ,GACR,IAAI,GACJ,QAAQ,GACR,QAAQ,GACR,eAAe,GACf,WAAW,GACX,kBAAkB,GAClB,YAAY,CACf,GAAG;IACF,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,aAAc,YAAW,QAAQ;IACpD,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAAC,CAAO;IACrB,OAAO,CAAC,IAAI,CAAC,CAAM;IACnB,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,mBAAmB,CAAC,CAA2D;gBAE3E,KAAK,EAAE,kBAAkB;IAMrC,8DAA8D;IAC9D,QAAQ,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI;IAYzC,gDAAgD;IAChD,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc;IAK/B,OAAO,CAAC,cAAc;IAiCtB,OAAO,CAAC,iBAAiB;IAuBzB,oDAAoD;IACpD,QAAQ,IAAI,IAAI;IAgBhB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,oBAAoB;IAM5B,kBAAkB;IAIlB,0CAA0C;IAC1C,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAKrF,mDAAmD;IACnD,mBAAmB,CACjB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,GACjD,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAK1C,2CAA2C;IAC3C,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAKxF,iDAAiD;IACjD,QAAQ;IAMR,qGAAqG;IACrG,SAAS,IAAI,iBAAiB,GAAG,IAAI;IAOrC,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,oBAAoB,CAQ1B;IAEF,OAAO,CAAC,gBAAgB,CAUtB;IAGF,OAAO,CAAC,iBAAiB,CA+EvB;CACH"}
@@ -0,0 +1,227 @@
1
+ import { Deck, assert } from '@deck.gl/core';
2
+ import { getViewState, getDeckInstance, removeDeckInstance, getInterleavedProps } from "./deck-utils.js";
3
+ import { log } from '@deck.gl/core';
4
+ import { resolveLayers } from "./resolve-layers.js";
5
+ /**
6
+ * Implements Mapbox [IControl](https://docs.mapbox.com/mapbox-gl-js/api/markers/#icontrol) interface
7
+ * Renders deck.gl layers over the base map and automatically synchronizes with the map's camera
8
+ */
9
+ export default class MapboxOverlay {
10
+ constructor(props) {
11
+ this._handleStyleChange = () => {
12
+ resolveLayers(this._map, this._deck, this._props.layers, this._props.layers);
13
+ };
14
+ this._updateContainerSize = () => {
15
+ if (this._map && this._container) {
16
+ const { clientWidth, clientHeight } = this._map.getContainer();
17
+ Object.assign(this._container.style, {
18
+ width: `${clientWidth}px`,
19
+ height: `${clientHeight}px`
20
+ });
21
+ }
22
+ };
23
+ this._updateViewState = () => {
24
+ const deck = this._deck;
25
+ if (deck) {
26
+ // @ts-ignore (2345) map is always defined if deck is
27
+ deck.setProps({ viewState: getViewState(this._map) });
28
+ // Redraw immediately if view state has changed
29
+ if (deck.isInitialized) {
30
+ deck.redraw();
31
+ }
32
+ }
33
+ };
34
+ // eslint-disable-next-line complexity
35
+ this._handleMouseEvent = (event) => {
36
+ const deck = this._deck;
37
+ if (!deck || !deck.isInitialized) {
38
+ return;
39
+ }
40
+ const mockEvent = {
41
+ type: event.type,
42
+ offsetCenter: event.point,
43
+ srcEvent: event
44
+ };
45
+ const lastDown = this._lastMouseDownPoint;
46
+ if (!event.point && lastDown) {
47
+ // drag* events do not contain a `point` field
48
+ mockEvent.deltaX = event.originalEvent.clientX - lastDown.clientX;
49
+ mockEvent.deltaY = event.originalEvent.clientY - lastDown.clientY;
50
+ mockEvent.offsetCenter = {
51
+ x: lastDown.x + mockEvent.deltaX,
52
+ y: lastDown.y + mockEvent.deltaY
53
+ };
54
+ }
55
+ switch (mockEvent.type) {
56
+ case 'mousedown':
57
+ deck._onPointerDown(mockEvent);
58
+ this._lastMouseDownPoint = {
59
+ ...event.point,
60
+ clientX: event.originalEvent.clientX,
61
+ clientY: event.originalEvent.clientY
62
+ };
63
+ break;
64
+ case 'dragstart':
65
+ mockEvent.type = 'panstart';
66
+ deck._onEvent(mockEvent);
67
+ break;
68
+ case 'drag':
69
+ mockEvent.type = 'panmove';
70
+ deck._onEvent(mockEvent);
71
+ break;
72
+ case 'dragend':
73
+ mockEvent.type = 'panend';
74
+ deck._onEvent(mockEvent);
75
+ break;
76
+ case 'click':
77
+ mockEvent.tapCount = 1;
78
+ deck._onEvent(mockEvent);
79
+ break;
80
+ case 'dblclick':
81
+ mockEvent.type = 'click';
82
+ mockEvent.tapCount = 2;
83
+ deck._onEvent(mockEvent);
84
+ break;
85
+ case 'mousemove':
86
+ mockEvent.type = 'pointermove';
87
+ deck._onPointerMove(mockEvent);
88
+ break;
89
+ case 'mouseout':
90
+ mockEvent.type = 'pointerleave';
91
+ deck._onPointerMove(mockEvent);
92
+ break;
93
+ default:
94
+ return;
95
+ }
96
+ };
97
+ const { interleaved = false, ...otherProps } = props;
98
+ this._interleaved = interleaved;
99
+ this._props = otherProps;
100
+ }
101
+ /** Update (partial) props of the underlying Deck instance. */
102
+ setProps(props) {
103
+ if (this._interleaved && props.layers) {
104
+ resolveLayers(this._map, this._deck, this._props.layers, props.layers);
105
+ }
106
+ Object.assign(this._props, props);
107
+ if (this._deck) {
108
+ this._deck.setProps(this._interleaved ? getInterleavedProps(this._props) : this._props);
109
+ }
110
+ }
111
+ /** Called when the control is added to a map */
112
+ onAdd(map) {
113
+ this._map = map;
114
+ return this._interleaved ? this._onAddInterleaved(map) : this._onAddOverlaid(map);
115
+ }
116
+ _onAddOverlaid(map) {
117
+ /* global document */
118
+ const container = document.createElement('div');
119
+ Object.assign(container.style, {
120
+ position: 'absolute',
121
+ left: 0,
122
+ top: 0,
123
+ textAlign: 'initial',
124
+ pointerEvents: 'none'
125
+ });
126
+ this._container = container;
127
+ this._deck = new Deck({
128
+ ...this._props,
129
+ parent: container,
130
+ viewState: getViewState(map)
131
+ });
132
+ map.on('resize', this._updateContainerSize);
133
+ map.on('render', this._updateViewState);
134
+ map.on('mousedown', this._handleMouseEvent);
135
+ map.on('dragstart', this._handleMouseEvent);
136
+ map.on('drag', this._handleMouseEvent);
137
+ map.on('dragend', this._handleMouseEvent);
138
+ map.on('mousemove', this._handleMouseEvent);
139
+ map.on('mouseout', this._handleMouseEvent);
140
+ map.on('click', this._handleMouseEvent);
141
+ map.on('dblclick', this._handleMouseEvent);
142
+ this._updateContainerSize();
143
+ return container;
144
+ }
145
+ _onAddInterleaved(map) {
146
+ // @ts-ignore non-public map property
147
+ const gl = map.painter.context.gl;
148
+ if (gl instanceof WebGLRenderingContext) {
149
+ log.warn('Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility')();
150
+ }
151
+ this._deck = getDeckInstance({
152
+ map,
153
+ gl,
154
+ deck: new Deck({
155
+ ...this._props,
156
+ gl
157
+ })
158
+ });
159
+ map.on('styledata', this._handleStyleChange);
160
+ resolveLayers(map, this._deck, [], this._props.layers);
161
+ return document.createElement('div');
162
+ }
163
+ /** Called when the control is removed from a map */
164
+ onRemove() {
165
+ const map = this._map;
166
+ if (map) {
167
+ if (this._interleaved) {
168
+ this._onRemoveInterleaved(map);
169
+ }
170
+ else {
171
+ this._onRemoveOverlaid(map);
172
+ }
173
+ }
174
+ this._deck = undefined;
175
+ this._map = undefined;
176
+ this._container = undefined;
177
+ }
178
+ _onRemoveOverlaid(map) {
179
+ map.off('resize', this._updateContainerSize);
180
+ map.off('render', this._updateViewState);
181
+ map.off('mousedown', this._handleMouseEvent);
182
+ map.off('dragstart', this._handleMouseEvent);
183
+ map.off('drag', this._handleMouseEvent);
184
+ map.off('dragend', this._handleMouseEvent);
185
+ map.off('mousemove', this._handleMouseEvent);
186
+ map.off('mouseout', this._handleMouseEvent);
187
+ map.off('click', this._handleMouseEvent);
188
+ map.off('dblclick', this._handleMouseEvent);
189
+ this._deck?.finalize();
190
+ }
191
+ _onRemoveInterleaved(map) {
192
+ map.off('styledata', this._handleStyleChange);
193
+ resolveLayers(map, this._deck, this._props.layers, []);
194
+ removeDeckInstance(map);
195
+ }
196
+ getDefaultPosition() {
197
+ return 'top-left';
198
+ }
199
+ /** Forwards the Deck.pickObject method */
200
+ pickObject(params) {
201
+ assert(this._deck);
202
+ return this._deck.pickObject(params);
203
+ }
204
+ /** Forwards the Deck.pickMultipleObjects method */
205
+ pickMultipleObjects(params) {
206
+ assert(this._deck);
207
+ return this._deck.pickMultipleObjects(params);
208
+ }
209
+ /** Forwards the Deck.pickObjects method */
210
+ pickObjects(params) {
211
+ assert(this._deck);
212
+ return this._deck.pickObjects(params);
213
+ }
214
+ /** Remove from map and releases all resources */
215
+ finalize() {
216
+ if (this._map) {
217
+ this._map.removeControl(this);
218
+ }
219
+ }
220
+ /** If interleaved: true, returns base map's canvas, otherwise forwards the Deck.getCanvas method. */
221
+ getCanvas() {
222
+ if (!this._map) {
223
+ return null;
224
+ }
225
+ return this._interleaved ? this._map.getCanvas() : this._deck.getCanvas();
226
+ }
227
+ }
@@ -0,0 +1,74 @@
1
+ import { _flatten as flatten } from '@deck.gl/core';
2
+ import MapboxLayer from "./mapbox-layer.js";
3
+ const UNDEFINED_BEFORE_ID = '__UNDEFINED__';
4
+ /** Insert Deck layers into the mapbox Map according to the user-defined order */
5
+ // eslint-disable-next-line complexity, max-statements
6
+ export function resolveLayers(map, deck, oldLayers, newLayers) {
7
+ // Wait until map style is loaded
8
+ // @ts-ignore non-public map property
9
+ if (!map || !deck || !map.style || !map.style._loaded) {
10
+ return;
11
+ }
12
+ const layers = flatten(newLayers, Boolean);
13
+ if (oldLayers !== newLayers) {
14
+ // Step 1: remove layers that no longer exist
15
+ const prevLayers = flatten(oldLayers, Boolean);
16
+ const prevLayerIds = new Set(prevLayers.map(l => l.id));
17
+ for (const layer of layers) {
18
+ prevLayerIds.delete(layer.id);
19
+ }
20
+ for (const id of prevLayerIds) {
21
+ if (map.getLayer(id)) {
22
+ map.removeLayer(id);
23
+ }
24
+ }
25
+ }
26
+ // Step 2: add missing layers
27
+ for (const layer of layers) {
28
+ const mapboxLayer = map.getLayer(layer.id);
29
+ if (mapboxLayer) {
30
+ // @ts-expect-error not typed
31
+ mapboxLayer.implementation.setProps(layer.props);
32
+ }
33
+ else {
34
+ map.addLayer(new MapboxLayer({ id: layer.id, deck }),
35
+ // @ts-expect-error beforeId is not defined in LayerProps
36
+ layer.props.beforeId);
37
+ }
38
+ }
39
+ // Step 3: check the order of layers
40
+ // If beforeId is defined, the deck layer should always render before the mapbox layer [beforeId]
41
+ // If beforeId is not defined, the deck layer should appear after all mapbox layers
42
+ // When two deck layers share the same beforeId, they are rendered in the order that is passed into Deck props.layers
43
+ // @ts-ignore non-public map property
44
+ const mapLayers = map.style._order;
45
+ // Group deck layers by beforeId
46
+ const layerGroups = {};
47
+ for (const layer of layers) {
48
+ // @ts-expect-error beforeId is not defined in LayerProps
49
+ let { beforeId } = layer.props;
50
+ if (!beforeId || !mapLayers.includes(beforeId)) {
51
+ beforeId = UNDEFINED_BEFORE_ID;
52
+ }
53
+ layerGroups[beforeId] = layerGroups[beforeId] || [];
54
+ layerGroups[beforeId].push(layer.id);
55
+ }
56
+ for (const beforeId in layerGroups) {
57
+ const layerGroup = layerGroups[beforeId];
58
+ let lastLayerIndex = beforeId === UNDEFINED_BEFORE_ID ? mapLayers.length : mapLayers.indexOf(beforeId);
59
+ let lastLayerId = beforeId === UNDEFINED_BEFORE_ID ? undefined : beforeId;
60
+ for (let i = layerGroup.length - 1; i >= 0; i--) {
61
+ const layerId = layerGroup[i];
62
+ const layerIndex = mapLayers.indexOf(layerId);
63
+ if (layerIndex !== lastLayerIndex - 1) {
64
+ map.moveLayer(layerId, lastLayerId);
65
+ if (layerIndex > lastLayerIndex) {
66
+ // The last layer's index have changed
67
+ lastLayerIndex++;
68
+ }
69
+ }
70
+ lastLayerIndex--;
71
+ lastLayerId = layerId;
72
+ }
73
+ }
74
+ }
package/dist.min.js CHANGED
@@ -4,7 +4,6 @@
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
5
  else if (typeof exports === 'object') exports['deck'] = factory();
6
6
  else root['deck'] = factory();})(globalThis, function () {
7
- "use strict";var __exports__=(()=>{var yt=Object.create;var N=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var xt=Object.getOwnPropertyNames;var wt=Object.getPrototypeOf,Pt=Object.prototype.hasOwnProperty;var Ot=(t,n)=>()=>(n||t((n={exports:{}}).exports,n),n.exports),Et=(t,n)=>{for(var r in n)N(t,r,{get:n[r],enumerable:!0})},R=(t,n,r,e)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of xt(n))!Pt.call(t,o)&&o!==r&&N(t,o,{get:()=>n[o],enumerable:!(e=bt(n,o))||e.enumerable});return t},m=(t,n,r)=>(R(t,n,"default"),r&&R(r,n,"default")),k=(t,n,r)=>(r=t!=null?yt(wt(t)):{},R(n||!t||!t.__esModule?N(r,"default",{value:t,enumerable:!0}):r,t)),Lt=t=>R(N({},"__esModule",{value:!0}),t);var L=Ot((oe,st)=>{st.exports=globalThis.deck});var z={};Et(z,{MapboxLayer:()=>U,MapboxOverlay:()=>Mt});var d={},at=k(L());m(d,k(L()));if(!at.Layer)throw new Error("@deck.gl/core is not found");m(z,d);var g=k(L());function Z(t,n){if(!t)throw new Error(n||"@math.gl/web-mercator: assertion failed.")}var b=Math.PI,St=b/4,Y=b/180,fe=180/b,q=512,kt=4003e4;function T(t){let[n,r]=t;Z(Number.isFinite(n)),Z(Number.isFinite(r)&&r>=-90&&r<=90,"invalid latitude");let e=n*Y,o=r*Y,c=q*(e+b)/(2*b),l=q*(b+Math.log(Math.tan(St+o*.5)))/(2*b);return[c,l]}function G(t){let n=Math.cos(t*Y);return q/kt/n}var Me=Math.PI/180;function ut(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);n&&(e=e.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,e)}return r}function x(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?ut(Object(r),!0).forEach(function(e){Wt(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ut(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function Wt(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}var H=512,Yt=Math.PI/180;function V(t){var n=t.map,r=t.gl,e=t.deck;if(n.__deck)return n.__deck;var o=e?.props._customRender,c=e?.props.onLoad,l=K(x(x({},e?.props),{},{_customRender:function(){n.triggerRepaint(),o?.("")}})),i;return(!e||e.props.gl===r)&&(Object.assign(l,{gl:r,width:null,height:null,touchAction:"unset",viewState:j(n)}),e!=null&&e.isInitialized?ft(e,n):l.onLoad=function(){c?.(),ft(i,n)}),e?(i=e,e.setProps(l),e.userData.isExternal=!0):(i=new g.Deck(l),n.on("remove",function(){$(n)})),i.userData.mapboxLayers=new Set,n.__deck=i,n.on("render",function(){i.isInitialized&&Gt(i,n)}),i}function ft(t,n){var r=function e(){t.isInitialized?Ht(t,n):n.off("move",e)};n.on("move",r)}function $(t){var n;(n=t.__deck)===null||n===void 0||n.finalize(),t.__deck=null}function K(t){var n=x(x({},t),{},{parameters:x({depthMask:!0,depthTest:!0,blend:!0,blendFunc:[770,771,1,771],polygonOffsetFill:!0,depthFunc:515,blendEquation:32774},t.parameters),views:t.views||[new g.MapView({id:"mapbox"})]});return n}function dt(t,n){t.userData.mapboxLayers.add(n),J(t)}function ht(t,n){t.userData.mapboxLayers.delete(n),J(t)}function pt(t,n){J(t)}function vt(t,n,r){var e=t.userData,o=e.currentViewport,c=!1;o||(o=mt(t,n,!0),t.userData.currentViewport=o,c=!0),t.isInitialized&&t._drawLayers("mapbox-repaint",{viewports:[o],layerFilter:function(i){var a=i.layer;return r.id===a.id||a.props.operation.includes("terrain")},clearStack:c,clearCanvas:!1})}function j(t){var n,r=t.getCenter(),e=r.lng,o=r.lat,c={longitude:(e+540)%360-180,latitude:o,zoom:t.getZoom(),bearing:t.getBearing(),pitch:t.getPitch(),padding:t.getPadding(),repeat:t.getRenderWorldCopies()};return(n=t.getTerrain)!==null&&n!==void 0&&n.call(t)&&qt(t,c),c}function qt(t,n){if(t.getFreeCameraOptions){var r=t.getFreeCameraOptions(),e=r.position;if(!e||e.z===void 0)return;var o=t.transform.height,c=n.longitude,l=n.latitude,i=n.pitch,a=e.x*H,s=(1-e.y)*H,u=e.z*H,f=T([c,l]),h=a-f[0],_=s-f[1],A=Math.sqrt(h*h+_*_),p=i*Yt,P=1.5*o,M=p<.001?P*Math.cos(p)/u:P*Math.sin(p)/A;n.zoom=Math.log2(M);var y=P*Math.cos(p)/M,O=u-y;n.position=[0,0,O/G(l)]}else typeof t.transform.elevation=="number"&&(n.position=[0,0,t.transform.elevation])}function mt(t,n){var r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:!0;return new g.WebMercatorViewport(x(x({id:"mapbox",x:0,y:0,width:t.width,height:t.height},j(n)),{},{nearZMultiplier:r?.02:.1,nearZ:n.transform._nearZ/n.transform.height,farZ:n.transform._farZ/n.transform.height}))}function Gt(t,n){var r=t.userData,e=r.mapboxLayers,o=r.isExternal;if(o){var c=Array.from(e,function(f){return f.id}),l=(0,g._flatten)(t.props.layers,Boolean),i=l.some(function(f){return f&&!c.includes(f.id)}),a=t.getViewports(),s=a.findIndex(function(f){return f.id==="mapbox"}),u=a.length>1||s<0;(i||u)&&(s>=0&&(a=a.slice(),a[s]=mt(t,n,!1)),t._drawLayers("mapbox-repaint",{viewports:a,layerFilter:function(h){return(!t.props.layerFilter||t.props.layerFilter(h))&&(h.viewport.id!=="mapbox"||!c.includes(h.layer.id))},clearCanvas:!1}))}t.userData.currentViewport=null}function Ht(t,n){t.setProps({viewState:j(n)}),t.needsRedraw({clearRedrawFlags:!0})}function J(t){if(!t.userData.isExternal){var n=[];t.userData.mapboxLayers.forEach(function(r){var e=r.props.type,o=new e(r.props);n.push(o)}),t.setProps({layers:n})}}function $t(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var U=function(){function t(r){if($t(this,t),this.id=void 0,this.type=void 0,this.renderingMode=void 0,this.map=void 0,this.deck=void 0,this.props=void 0,!r.id)throw new Error("Layer must have an unique id");this.id=r.id,this.type="custom",this.renderingMode=r.renderingMode||"3d",this.map=null,this.deck=null,this.props=r}var n=t.prototype;return n.onAdd=function(e,o){this.map=e,this.deck=V({map:e,gl:o,deck:this.props.deck}),dt(this.deck,this)},n.onRemove=function(){this.deck&&ht(this.deck,this)},n.setProps=function(e){Object.assign(this.props,e,{id:this.id}),this.deck&&pt(this.deck,this)},n.render=function(){vt(this.deck,this.map,this)},t}();var w=k(L());var tt=k(L());function X(t,n){var r=typeof Symbol<"u"&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=Kt(t))||n&&t&&typeof t.length=="number"){r&&(t=r);var e=0,o=function(){};return{s:o,n:function(){return e>=t.length?{done:!0}:{done:!1,value:t[e++]}},e:function(s){throw s},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance.
8
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var c=!0,l=!1,i;return{s:function(){r=r.call(t)},n:function(){var s=r.next();return c=s.done,s},e:function(s){l=!0,i=s},f:function(){try{!c&&r.return!=null&&r.return()}finally{if(l)throw i}}}}function Kt(t,n){if(t){if(typeof t=="string")return gt(t,n);var r=Object.prototype.toString.call(t).slice(8,-1);if(r==="Object"&&t.constructor&&(r=t.constructor.name),r==="Map"||r==="Set")return Array.from(t);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return gt(t,n)}}function gt(t,n){(n==null||n>t.length)&&(n=t.length);for(var r=0,e=new Array(n);r<n;r++)e[r]=t[r];return e}var Q="__UNDEFINED__";function C(t,n,r,e){if(!(!t||!n||!t.style||!t.style._loaded)){var o=(0,tt._flatten)(e,Boolean);if(r!==e){var c=(0,tt._flatten)(r,Boolean),l=new Set(c.map(function(v){return v.id})),i=X(o),a;try{for(i.s();!(a=i.n()).done;){var s=a.value;l.delete(s.id)}}catch(v){i.e(v)}finally{i.f()}var u=X(l),f;try{for(u.s();!(f=u.n()).done;){var h=f.value;t.getLayer(h)&&t.removeLayer(h)}}catch(v){u.e(v)}finally{u.f()}}var _=X(o),A;try{for(_.s();!(A=_.n()).done;){var p=A.value,P=t.getLayer(p.id);P?P.implementation.setProps(p.props):t.addLayer(new U({id:p.id,deck:n}),p.props.beforeId)}}catch(v){_.e(v)}finally{_.f()}var M=t.style._order,y={},O=X(o),et;try{for(O.s();!(et=O.n()).done;){var nt=et.value,E=nt.props.beforeId;(!E||!M.includes(E))&&(E=Q),y[E]=y[E]||[],y[E].push(nt.id)}}catch(v){O.e(v)}finally{O.f()}for(var S in y)for(var rt=y[S],I=S===Q?M.length:M.indexOf(S),ot=S===Q?void 0:S,B=rt.length-1;B>=0;B--){var W=rt[B],it=M.indexOf(W);it!==I-1&&(t.moveLayer(W,ot),it>I&&I++),I--,ot=W}}}var Jt=["interleaved"];function Qt(t,n){if(t==null)return{};var r=te(t,n),e,o;if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);for(o=0;o<c.length;o++)e=c[o],!(n.indexOf(e)>=0)&&Object.prototype.propertyIsEnumerable.call(t,e)&&(r[e]=t[e])}return r}function te(t,n){if(t==null)return{};var r={},e=Object.keys(t),o,c;for(c=0;c<e.length;c++)o=e[c],!(n.indexOf(o)>=0)&&(r[o]=t[o]);return r}function _t(t,n){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(t);n&&(e=e.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),r.push.apply(r,e)}return r}function D(t){for(var n=1;n<arguments.length;n++){var r=arguments[n]!=null?arguments[n]:{};n%2?_t(Object(r),!0).forEach(function(e){ee(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):_t(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function ee(t,n,r){return n in t?Object.defineProperty(t,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[n]=r,t}function ne(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}var Mt=function(){function t(r){var e=this;ne(this,t),this._props=void 0,this._deck=void 0,this._map=void 0,this._container=void 0,this._interleaved=void 0,this._lastMouseDownPoint=void 0,this._handleStyleChange=function(){C(e._map,e._deck,e._props.layers,e._props.layers)},this._updateContainerSize=function(){if(e._map&&e._container){var i=e._map.getContainer(),a=i.clientWidth,s=i.clientHeight;Object.assign(e._container.style,{width:"".concat(a,"px"),height:"".concat(s,"px")})}},this._updateViewState=function(){var i=e._deck;i&&(i.setProps({viewState:j(e._map)}),i.isInitialized&&i.redraw())},this._handleMouseEvent=function(i){var a=e._deck;if(!(!a||!a.isInitialized)){var s={type:i.type,offsetCenter:i.point,srcEvent:i},u=e._lastMouseDownPoint;switch(!i.point&&u&&(s.deltaX=i.originalEvent.clientX-u.clientX,s.deltaY=i.originalEvent.clientY-u.clientY,s.offsetCenter={x:u.x+s.deltaX,y:u.y+s.deltaY}),s.type){case"mousedown":a._onPointerDown(s),e._lastMouseDownPoint=D(D({},i.point),{},{clientX:i.originalEvent.clientX,clientY:i.originalEvent.clientY});break;case"dragstart":s.type="panstart",a._onEvent(s);break;case"drag":s.type="panmove",a._onEvent(s);break;case"dragend":s.type="panend",a._onEvent(s);break;case"click":s.tapCount=1,a._onEvent(s);break;case"dblclick":s.type="click",s.tapCount=2,a._onEvent(s);break;case"mousemove":s.type="pointermove",a._onPointerMove(s);break;case"mouseout":s.type="pointerleave",a._onPointerMove(s);break;default:return}}};var o=r.interleaved,c=o===void 0?!1:o,l=Qt(r,Jt);this._interleaved=c,this._props=l}var n=t.prototype;return n.setProps=function(e){this._interleaved&&e.layers&&C(this._map,this._deck,this._props.layers,e.layers),Object.assign(this._props,e),this._deck&&this._deck.setProps(this._interleaved?K(this._props):this._props)},n.onAdd=function(e){return this._map=e,this._interleaved?this._onAddInterleaved(e):this._onAddOverlaid(e)},n._onAddOverlaid=function(e){var o=document.createElement("div");return Object.assign(o.style,{position:"absolute",left:0,top:0,pointerEvents:"none"}),this._container=o,this._deck=new w.Deck(D(D({},this._props),{},{parent:o,viewState:j(e)})),e.on("resize",this._updateContainerSize),e.on("render",this._updateViewState),e.on("mousedown",this._handleMouseEvent),e.on("dragstart",this._handleMouseEvent),e.on("drag",this._handleMouseEvent),e.on("dragend",this._handleMouseEvent),e.on("mousemove",this._handleMouseEvent),e.on("mouseout",this._handleMouseEvent),e.on("click",this._handleMouseEvent),e.on("dblclick",this._handleMouseEvent),this._updateContainerSize(),o},n._onAddInterleaved=function(e){return this._deck=V({map:e,gl:e.painter.context.gl,deck:new w.Deck(D(D({},this._props),{},{gl:e.painter.context.gl}))}),e.on("styledata",this._handleStyleChange),C(e,this._deck,[],this._props.layers),document.createElement("div")},n.onRemove=function(){var e=this._map;e&&(this._interleaved?this._onRemoveInterleaved(e):this._onRemoveOverlaid(e)),this._deck=void 0,this._map=void 0,this._container=void 0},n._onRemoveOverlaid=function(e){var o;e.off("resize",this._updateContainerSize),e.off("render",this._updateViewState),e.off("mousedown",this._handleMouseEvent),e.off("dragstart",this._handleMouseEvent),e.off("drag",this._handleMouseEvent),e.off("dragend",this._handleMouseEvent),e.off("mousemove",this._handleMouseEvent),e.off("mouseout",this._handleMouseEvent),e.off("click",this._handleMouseEvent),e.off("dblclick",this._handleMouseEvent),(o=this._deck)===null||o===void 0||o.finalize()},n._onRemoveInterleaved=function(e){e.off("styledata",this._handleStyleChange),C(e,this._deck,this._props.layers,[]),$(e)},n.getDefaultPosition=function(){return"top-left"},n.pickObject=function(e){return(0,w.assert)(this._deck),this._deck.pickObject(e)},n.pickMultipleObjects=function(e){return(0,w.assert)(this._deck),this._deck.pickMultipleObjects(e)},n.pickObjects=function(e){return(0,w.assert)(this._deck),this._deck.pickObjects(e)},n.finalize=function(){this._map&&this._map.removeControl(this)},n.getCanvas=function(){return this._map?this._interleaved?this._map.getCanvas():this._deck.getCanvas():null},t}();return Lt(z);})();
7
+ "use strict";var __exports__=(()=>{var e_=Object.create;var V=Object.defineProperty;var A_=Object.getOwnPropertyDescriptor;var S_=Object.getOwnPropertyNames;var E_=Object.getPrototypeOf,o_=Object.prototype.hasOwnProperty;var N_=(_,R)=>()=>(R||_((R={exports:{}}).exports,R),R.exports),r_=(_,R)=>{for(var t in R)V(_,t,{get:R[t],enumerable:!0})},f=(_,R,t,T)=>{if(R&&typeof R=="object"||typeof R=="function")for(let e of S_(R))!o_.call(_,e)&&e!==t&&V(_,e,{get:()=>R[e],enumerable:!(T=A_(R,e))||T.enumerable});return _},i=(_,R,t)=>(f(_,R,"default"),t&&f(t,R,"default")),P=(_,R,t)=>(t=_!=null?e_(E_(_)):{},f(R||!_||!_.__esModule?V(t,"default",{value:_,enumerable:!0}):t,_)),I_=_=>f(V({},"__esModule",{value:!0}),_);var O=N_((W_,Q)=>{Q.exports=globalThis.deck});var X={};r_(X,{MapboxOverlay:()=>p});var I={},J=P(O(),1);i(I,P(O(),1));if(!J.Layer)throw new Error("@deck.gl/core is not found");i(X,I);var a=P(O(),1);var C=P(O(),1);function x(_,R){if(!_)throw new Error(R||"@math.gl/web-mercator: assertion failed.")}var s=Math.PI,O_=s/4,v=s/180,Z_=180/s,K=512,s_=4003e4;function B(_){let[R,t]=_;x(Number.isFinite(R)),x(Number.isFinite(t)&&t>=-90&&t<=90,"invalid latitude");let T=R*v,e=t*v,o=K*(T+s)/(2*s),E=K*(s+Math.log(Math.tan(O_+e*.5)))/(2*s);return[o,E]}function y(_){let R=Math.cos(_*v);return K/s_/R}var n_=Math.PI/180;var M;(function(_){_[_.DEPTH_BUFFER_BIT=256]="DEPTH_BUFFER_BIT",_[_.STENCIL_BUFFER_BIT=1024]="STENCIL_BUFFER_BIT",_[_.COLOR_BUFFER_BIT=16384]="COLOR_BUFFER_BIT",_[_.POINTS=0]="POINTS",_[_.LINES=1]="LINES",_[_.LINE_LOOP=2]="LINE_LOOP",_[_.LINE_STRIP=3]="LINE_STRIP",_[_.TRIANGLES=4]="TRIANGLES",_[_.TRIANGLE_STRIP=5]="TRIANGLE_STRIP",_[_.TRIANGLE_FAN=6]="TRIANGLE_FAN",_[_.ZERO=0]="ZERO",_[_.ONE=1]="ONE",_[_.SRC_COLOR=768]="SRC_COLOR",_[_.ONE_MINUS_SRC_COLOR=769]="ONE_MINUS_SRC_COLOR",_[_.SRC_ALPHA=770]="SRC_ALPHA",_[_.ONE_MINUS_SRC_ALPHA=771]="ONE_MINUS_SRC_ALPHA",_[_.DST_ALPHA=772]="DST_ALPHA",_[_.ONE_MINUS_DST_ALPHA=773]="ONE_MINUS_DST_ALPHA",_[_.DST_COLOR=774]="DST_COLOR",_[_.ONE_MINUS_DST_COLOR=775]="ONE_MINUS_DST_COLOR",_[_.SRC_ALPHA_SATURATE=776]="SRC_ALPHA_SATURATE",_[_.CONSTANT_COLOR=32769]="CONSTANT_COLOR",_[_.ONE_MINUS_CONSTANT_COLOR=32770]="ONE_MINUS_CONSTANT_COLOR",_[_.CONSTANT_ALPHA=32771]="CONSTANT_ALPHA",_[_.ONE_MINUS_CONSTANT_ALPHA=32772]="ONE_MINUS_CONSTANT_ALPHA",_[_.FUNC_ADD=32774]="FUNC_ADD",_[_.FUNC_SUBTRACT=32778]="FUNC_SUBTRACT",_[_.FUNC_REVERSE_SUBTRACT=32779]="FUNC_REVERSE_SUBTRACT",_[_.BLEND_EQUATION=32777]="BLEND_EQUATION",_[_.BLEND_EQUATION_RGB=32777]="BLEND_EQUATION_RGB",_[_.BLEND_EQUATION_ALPHA=34877]="BLEND_EQUATION_ALPHA",_[_.BLEND_DST_RGB=32968]="BLEND_DST_RGB",_[_.BLEND_SRC_RGB=32969]="BLEND_SRC_RGB",_[_.BLEND_DST_ALPHA=32970]="BLEND_DST_ALPHA",_[_.BLEND_SRC_ALPHA=32971]="BLEND_SRC_ALPHA",_[_.BLEND_COLOR=32773]="BLEND_COLOR",_[_.ARRAY_BUFFER_BINDING=34964]="ARRAY_BUFFER_BINDING",_[_.ELEMENT_ARRAY_BUFFER_BINDING=34965]="ELEMENT_ARRAY_BUFFER_BINDING",_[_.LINE_WIDTH=2849]="LINE_WIDTH",_[_.ALIASED_POINT_SIZE_RANGE=33901]="ALIASED_POINT_SIZE_RANGE",_[_.ALIASED_LINE_WIDTH_RANGE=33902]="ALIASED_LINE_WIDTH_RANGE",_[_.CULL_FACE_MODE=2885]="CULL_FACE_MODE",_[_.FRONT_FACE=2886]="FRONT_FACE",_[_.DEPTH_RANGE=2928]="DEPTH_RANGE",_[_.DEPTH_WRITEMASK=2930]="DEPTH_WRITEMASK",_[_.DEPTH_CLEAR_VALUE=2931]="DEPTH_CLEAR_VALUE",_[_.DEPTH_FUNC=2932]="DEPTH_FUNC",_[_.STENCIL_CLEAR_VALUE=2961]="STENCIL_CLEAR_VALUE",_[_.STENCIL_FUNC=2962]="STENCIL_FUNC",_[_.STENCIL_FAIL=2964]="STENCIL_FAIL",_[_.STENCIL_PASS_DEPTH_FAIL=2965]="STENCIL_PASS_DEPTH_FAIL",_[_.STENCIL_PASS_DEPTH_PASS=2966]="STENCIL_PASS_DEPTH_PASS",_[_.STENCIL_REF=2967]="STENCIL_REF",_[_.STENCIL_VALUE_MASK=2963]="STENCIL_VALUE_MASK",_[_.STENCIL_WRITEMASK=2968]="STENCIL_WRITEMASK",_[_.STENCIL_BACK_FUNC=34816]="STENCIL_BACK_FUNC",_[_.STENCIL_BACK_FAIL=34817]="STENCIL_BACK_FAIL",_[_.STENCIL_BACK_PASS_DEPTH_FAIL=34818]="STENCIL_BACK_PASS_DEPTH_FAIL",_[_.STENCIL_BACK_PASS_DEPTH_PASS=34819]="STENCIL_BACK_PASS_DEPTH_PASS",_[_.STENCIL_BACK_REF=36003]="STENCIL_BACK_REF",_[_.STENCIL_BACK_VALUE_MASK=36004]="STENCIL_BACK_VALUE_MASK",_[_.STENCIL_BACK_WRITEMASK=36005]="STENCIL_BACK_WRITEMASK",_[_.VIEWPORT=2978]="VIEWPORT",_[_.SCISSOR_BOX=3088]="SCISSOR_BOX",_[_.COLOR_CLEAR_VALUE=3106]="COLOR_CLEAR_VALUE",_[_.COLOR_WRITEMASK=3107]="COLOR_WRITEMASK",_[_.UNPACK_ALIGNMENT=3317]="UNPACK_ALIGNMENT",_[_.PACK_ALIGNMENT=3333]="PACK_ALIGNMENT",_[_.MAX_TEXTURE_SIZE=3379]="MAX_TEXTURE_SIZE",_[_.MAX_VIEWPORT_DIMS=3386]="MAX_VIEWPORT_DIMS",_[_.SUBPIXEL_BITS=3408]="SUBPIXEL_BITS",_[_.RED_BITS=3410]="RED_BITS",_[_.GREEN_BITS=3411]="GREEN_BITS",_[_.BLUE_BITS=3412]="BLUE_BITS",_[_.ALPHA_BITS=3413]="ALPHA_BITS",_[_.DEPTH_BITS=3414]="DEPTH_BITS",_[_.STENCIL_BITS=3415]="STENCIL_BITS",_[_.POLYGON_OFFSET_UNITS=10752]="POLYGON_OFFSET_UNITS",_[_.POLYGON_OFFSET_FACTOR=32824]="POLYGON_OFFSET_FACTOR",_[_.TEXTURE_BINDING_2D=32873]="TEXTURE_BINDING_2D",_[_.SAMPLE_BUFFERS=32936]="SAMPLE_BUFFERS",_[_.SAMPLES=32937]="SAMPLES",_[_.SAMPLE_COVERAGE_VALUE=32938]="SAMPLE_COVERAGE_VALUE",_[_.SAMPLE_COVERAGE_INVERT=32939]="SAMPLE_COVERAGE_INVERT",_[_.COMPRESSED_TEXTURE_FORMATS=34467]="COMPRESSED_TEXTURE_FORMATS",_[_.VENDOR=7936]="VENDOR",_[_.RENDERER=7937]="RENDERER",_[_.VERSION=7938]="VERSION",_[_.IMPLEMENTATION_COLOR_READ_TYPE=35738]="IMPLEMENTATION_COLOR_READ_TYPE",_[_.IMPLEMENTATION_COLOR_READ_FORMAT=35739]="IMPLEMENTATION_COLOR_READ_FORMAT",_[_.BROWSER_DEFAULT_WEBGL=37444]="BROWSER_DEFAULT_WEBGL",_[_.STATIC_DRAW=35044]="STATIC_DRAW",_[_.STREAM_DRAW=35040]="STREAM_DRAW",_[_.DYNAMIC_DRAW=35048]="DYNAMIC_DRAW",_[_.ARRAY_BUFFER=34962]="ARRAY_BUFFER",_[_.ELEMENT_ARRAY_BUFFER=34963]="ELEMENT_ARRAY_BUFFER",_[_.BUFFER_SIZE=34660]="BUFFER_SIZE",_[_.BUFFER_USAGE=34661]="BUFFER_USAGE",_[_.CURRENT_VERTEX_ATTRIB=34342]="CURRENT_VERTEX_ATTRIB",_[_.VERTEX_ATTRIB_ARRAY_ENABLED=34338]="VERTEX_ATTRIB_ARRAY_ENABLED",_[_.VERTEX_ATTRIB_ARRAY_SIZE=34339]="VERTEX_ATTRIB_ARRAY_SIZE",_[_.VERTEX_ATTRIB_ARRAY_STRIDE=34340]="VERTEX_ATTRIB_ARRAY_STRIDE",_[_.VERTEX_ATTRIB_ARRAY_TYPE=34341]="VERTEX_ATTRIB_ARRAY_TYPE",_[_.VERTEX_ATTRIB_ARRAY_NORMALIZED=34922]="VERTEX_ATTRIB_ARRAY_NORMALIZED",_[_.VERTEX_ATTRIB_ARRAY_POINTER=34373]="VERTEX_ATTRIB_ARRAY_POINTER",_[_.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING=34975]="VERTEX_ATTRIB_ARRAY_BUFFER_BINDING",_[_.CULL_FACE=2884]="CULL_FACE",_[_.FRONT=1028]="FRONT",_[_.BACK=1029]="BACK",_[_.FRONT_AND_BACK=1032]="FRONT_AND_BACK",_[_.BLEND=3042]="BLEND",_[_.DEPTH_TEST=2929]="DEPTH_TEST",_[_.DITHER=3024]="DITHER",_[_.POLYGON_OFFSET_FILL=32823]="POLYGON_OFFSET_FILL",_[_.SAMPLE_ALPHA_TO_COVERAGE=32926]="SAMPLE_ALPHA_TO_COVERAGE",_[_.SAMPLE_COVERAGE=32928]="SAMPLE_COVERAGE",_[_.SCISSOR_TEST=3089]="SCISSOR_TEST",_[_.STENCIL_TEST=2960]="STENCIL_TEST",_[_.NO_ERROR=0]="NO_ERROR",_[_.INVALID_ENUM=1280]="INVALID_ENUM",_[_.INVALID_VALUE=1281]="INVALID_VALUE",_[_.INVALID_OPERATION=1282]="INVALID_OPERATION",_[_.OUT_OF_MEMORY=1285]="OUT_OF_MEMORY",_[_.CONTEXT_LOST_WEBGL=37442]="CONTEXT_LOST_WEBGL",_[_.CW=2304]="CW",_[_.CCW=2305]="CCW",_[_.DONT_CARE=4352]="DONT_CARE",_[_.FASTEST=4353]="FASTEST",_[_.NICEST=4354]="NICEST",_[_.GENERATE_MIPMAP_HINT=33170]="GENERATE_MIPMAP_HINT",_[_.BYTE=5120]="BYTE",_[_.UNSIGNED_BYTE=5121]="UNSIGNED_BYTE",_[_.SHORT=5122]="SHORT",_[_.UNSIGNED_SHORT=5123]="UNSIGNED_SHORT",_[_.INT=5124]="INT",_[_.UNSIGNED_INT=5125]="UNSIGNED_INT",_[_.FLOAT=5126]="FLOAT",_[_.DOUBLE=5130]="DOUBLE",_[_.DEPTH_COMPONENT=6402]="DEPTH_COMPONENT",_[_.ALPHA=6406]="ALPHA",_[_.RGB=6407]="RGB",_[_.RGBA=6408]="RGBA",_[_.LUMINANCE=6409]="LUMINANCE",_[_.LUMINANCE_ALPHA=6410]="LUMINANCE_ALPHA",_[_.UNSIGNED_SHORT_4_4_4_4=32819]="UNSIGNED_SHORT_4_4_4_4",_[_.UNSIGNED_SHORT_5_5_5_1=32820]="UNSIGNED_SHORT_5_5_5_1",_[_.UNSIGNED_SHORT_5_6_5=33635]="UNSIGNED_SHORT_5_6_5",_[_.FRAGMENT_SHADER=35632]="FRAGMENT_SHADER",_[_.VERTEX_SHADER=35633]="VERTEX_SHADER",_[_.COMPILE_STATUS=35713]="COMPILE_STATUS",_[_.DELETE_STATUS=35712]="DELETE_STATUS",_[_.LINK_STATUS=35714]="LINK_STATUS",_[_.VALIDATE_STATUS=35715]="VALIDATE_STATUS",_[_.ATTACHED_SHADERS=35717]="ATTACHED_SHADERS",_[_.ACTIVE_ATTRIBUTES=35721]="ACTIVE_ATTRIBUTES",_[_.ACTIVE_UNIFORMS=35718]="ACTIVE_UNIFORMS",_[_.MAX_VERTEX_ATTRIBS=34921]="MAX_VERTEX_ATTRIBS",_[_.MAX_VERTEX_UNIFORM_VECTORS=36347]="MAX_VERTEX_UNIFORM_VECTORS",_[_.MAX_VARYING_VECTORS=36348]="MAX_VARYING_VECTORS",_[_.MAX_COMBINED_TEXTURE_IMAGE_UNITS=35661]="MAX_COMBINED_TEXTURE_IMAGE_UNITS",_[_.MAX_VERTEX_TEXTURE_IMAGE_UNITS=35660]="MAX_VERTEX_TEXTURE_IMAGE_UNITS",_[_.MAX_TEXTURE_IMAGE_UNITS=34930]="MAX_TEXTURE_IMAGE_UNITS",_[_.MAX_FRAGMENT_UNIFORM_VECTORS=36349]="MAX_FRAGMENT_UNIFORM_VECTORS",_[_.SHADER_TYPE=35663]="SHADER_TYPE",_[_.SHADING_LANGUAGE_VERSION=35724]="SHADING_LANGUAGE_VERSION",_[_.CURRENT_PROGRAM=35725]="CURRENT_PROGRAM",_[_.NEVER=512]="NEVER",_[_.LESS=513]="LESS",_[_.EQUAL=514]="EQUAL",_[_.LEQUAL=515]="LEQUAL",_[_.GREATER=516]="GREATER",_[_.NOTEQUAL=517]="NOTEQUAL",_[_.GEQUAL=518]="GEQUAL",_[_.ALWAYS=519]="ALWAYS",_[_.KEEP=7680]="KEEP",_[_.REPLACE=7681]="REPLACE",_[_.INCR=7682]="INCR",_[_.DECR=7683]="DECR",_[_.INVERT=5386]="INVERT",_[_.INCR_WRAP=34055]="INCR_WRAP",_[_.DECR_WRAP=34056]="DECR_WRAP",_[_.NEAREST=9728]="NEAREST",_[_.LINEAR=9729]="LINEAR",_[_.NEAREST_MIPMAP_NEAREST=9984]="NEAREST_MIPMAP_NEAREST",_[_.LINEAR_MIPMAP_NEAREST=9985]="LINEAR_MIPMAP_NEAREST",_[_.NEAREST_MIPMAP_LINEAR=9986]="NEAREST_MIPMAP_LINEAR",_[_.LINEAR_MIPMAP_LINEAR=9987]="LINEAR_MIPMAP_LINEAR",_[_.TEXTURE_MAG_FILTER=10240]="TEXTURE_MAG_FILTER",_[_.TEXTURE_MIN_FILTER=10241]="TEXTURE_MIN_FILTER",_[_.TEXTURE_WRAP_S=10242]="TEXTURE_WRAP_S",_[_.TEXTURE_WRAP_T=10243]="TEXTURE_WRAP_T",_[_.TEXTURE_2D=3553]="TEXTURE_2D",_[_.TEXTURE=5890]="TEXTURE",_[_.TEXTURE_CUBE_MAP=34067]="TEXTURE_CUBE_MAP",_[_.TEXTURE_BINDING_CUBE_MAP=34068]="TEXTURE_BINDING_CUBE_MAP",_[_.TEXTURE_CUBE_MAP_POSITIVE_X=34069]="TEXTURE_CUBE_MAP_POSITIVE_X",_[_.TEXTURE_CUBE_MAP_NEGATIVE_X=34070]="TEXTURE_CUBE_MAP_NEGATIVE_X",_[_.TEXTURE_CUBE_MAP_POSITIVE_Y=34071]="TEXTURE_CUBE_MAP_POSITIVE_Y",_[_.TEXTURE_CUBE_MAP_NEGATIVE_Y=34072]="TEXTURE_CUBE_MAP_NEGATIVE_Y",_[_.TEXTURE_CUBE_MAP_POSITIVE_Z=34073]="TEXTURE_CUBE_MAP_POSITIVE_Z",_[_.TEXTURE_CUBE_MAP_NEGATIVE_Z=34074]="TEXTURE_CUBE_MAP_NEGATIVE_Z",_[_.MAX_CUBE_MAP_TEXTURE_SIZE=34076]="MAX_CUBE_MAP_TEXTURE_SIZE",_[_.TEXTURE0=33984]="TEXTURE0",_[_.ACTIVE_TEXTURE=34016]="ACTIVE_TEXTURE",_[_.REPEAT=10497]="REPEAT",_[_.CLAMP_TO_EDGE=33071]="CLAMP_TO_EDGE",_[_.MIRRORED_REPEAT=33648]="MIRRORED_REPEAT",_[_.TEXTURE_WIDTH=4096]="TEXTURE_WIDTH",_[_.TEXTURE_HEIGHT=4097]="TEXTURE_HEIGHT",_[_.FLOAT_VEC2=35664]="FLOAT_VEC2",_[_.FLOAT_VEC3=35665]="FLOAT_VEC3",_[_.FLOAT_VEC4=35666]="FLOAT_VEC4",_[_.INT_VEC2=35667]="INT_VEC2",_[_.INT_VEC3=35668]="INT_VEC3",_[_.INT_VEC4=35669]="INT_VEC4",_[_.BOOL=35670]="BOOL",_[_.BOOL_VEC2=35671]="BOOL_VEC2",_[_.BOOL_VEC3=35672]="BOOL_VEC3",_[_.BOOL_VEC4=35673]="BOOL_VEC4",_[_.FLOAT_MAT2=35674]="FLOAT_MAT2",_[_.FLOAT_MAT3=35675]="FLOAT_MAT3",_[_.FLOAT_MAT4=35676]="FLOAT_MAT4",_[_.SAMPLER_2D=35678]="SAMPLER_2D",_[_.SAMPLER_CUBE=35680]="SAMPLER_CUBE",_[_.LOW_FLOAT=36336]="LOW_FLOAT",_[_.MEDIUM_FLOAT=36337]="MEDIUM_FLOAT",_[_.HIGH_FLOAT=36338]="HIGH_FLOAT",_[_.LOW_INT=36339]="LOW_INT",_[_.MEDIUM_INT=36340]="MEDIUM_INT",_[_.HIGH_INT=36341]="HIGH_INT",_[_.FRAMEBUFFER=36160]="FRAMEBUFFER",_[_.RENDERBUFFER=36161]="RENDERBUFFER",_[_.RGBA4=32854]="RGBA4",_[_.RGB5_A1=32855]="RGB5_A1",_[_.RGB565=36194]="RGB565",_[_.DEPTH_COMPONENT16=33189]="DEPTH_COMPONENT16",_[_.STENCIL_INDEX=6401]="STENCIL_INDEX",_[_.STENCIL_INDEX8=36168]="STENCIL_INDEX8",_[_.DEPTH_STENCIL=34041]="DEPTH_STENCIL",_[_.RENDERBUFFER_WIDTH=36162]="RENDERBUFFER_WIDTH",_[_.RENDERBUFFER_HEIGHT=36163]="RENDERBUFFER_HEIGHT",_[_.RENDERBUFFER_INTERNAL_FORMAT=36164]="RENDERBUFFER_INTERNAL_FORMAT",_[_.RENDERBUFFER_RED_SIZE=36176]="RENDERBUFFER_RED_SIZE",_[_.RENDERBUFFER_GREEN_SIZE=36177]="RENDERBUFFER_GREEN_SIZE",_[_.RENDERBUFFER_BLUE_SIZE=36178]="RENDERBUFFER_BLUE_SIZE",_[_.RENDERBUFFER_ALPHA_SIZE=36179]="RENDERBUFFER_ALPHA_SIZE",_[_.RENDERBUFFER_DEPTH_SIZE=36180]="RENDERBUFFER_DEPTH_SIZE",_[_.RENDERBUFFER_STENCIL_SIZE=36181]="RENDERBUFFER_STENCIL_SIZE",_[_.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE=36048]="FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE",_[_.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME=36049]="FRAMEBUFFER_ATTACHMENT_OBJECT_NAME",_[_.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL=36050]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL",_[_.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE=36051]="FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE",_[_.COLOR_ATTACHMENT0=36064]="COLOR_ATTACHMENT0",_[_.DEPTH_ATTACHMENT=36096]="DEPTH_ATTACHMENT",_[_.STENCIL_ATTACHMENT=36128]="STENCIL_ATTACHMENT",_[_.DEPTH_STENCIL_ATTACHMENT=33306]="DEPTH_STENCIL_ATTACHMENT",_[_.NONE=0]="NONE",_[_.FRAMEBUFFER_COMPLETE=36053]="FRAMEBUFFER_COMPLETE",_[_.FRAMEBUFFER_INCOMPLETE_ATTACHMENT=36054]="FRAMEBUFFER_INCOMPLETE_ATTACHMENT",_[_.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT=36055]="FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT",_[_.FRAMEBUFFER_INCOMPLETE_DIMENSIONS=36057]="FRAMEBUFFER_INCOMPLETE_DIMENSIONS",_[_.FRAMEBUFFER_UNSUPPORTED=36061]="FRAMEBUFFER_UNSUPPORTED",_[_.FRAMEBUFFER_BINDING=36006]="FRAMEBUFFER_BINDING",_[_.RENDERBUFFER_BINDING=36007]="RENDERBUFFER_BINDING",_[_.READ_FRAMEBUFFER=36008]="READ_FRAMEBUFFER",_[_.DRAW_FRAMEBUFFER=36009]="DRAW_FRAMEBUFFER",_[_.MAX_RENDERBUFFER_SIZE=34024]="MAX_RENDERBUFFER_SIZE",_[_.INVALID_FRAMEBUFFER_OPERATION=1286]="INVALID_FRAMEBUFFER_OPERATION",_[_.UNPACK_FLIP_Y_WEBGL=37440]="UNPACK_FLIP_Y_WEBGL",_[_.UNPACK_PREMULTIPLY_ALPHA_WEBGL=37441]="UNPACK_PREMULTIPLY_ALPHA_WEBGL",_[_.UNPACK_COLORSPACE_CONVERSION_WEBGL=37443]="UNPACK_COLORSPACE_CONVERSION_WEBGL",_[_.READ_BUFFER=3074]="READ_BUFFER",_[_.UNPACK_ROW_LENGTH=3314]="UNPACK_ROW_LENGTH",_[_.UNPACK_SKIP_ROWS=3315]="UNPACK_SKIP_ROWS",_[_.UNPACK_SKIP_PIXELS=3316]="UNPACK_SKIP_PIXELS",_[_.PACK_ROW_LENGTH=3330]="PACK_ROW_LENGTH",_[_.PACK_SKIP_ROWS=3331]="PACK_SKIP_ROWS",_[_.PACK_SKIP_PIXELS=3332]="PACK_SKIP_PIXELS",_[_.TEXTURE_BINDING_3D=32874]="TEXTURE_BINDING_3D",_[_.UNPACK_SKIP_IMAGES=32877]="UNPACK_SKIP_IMAGES",_[_.UNPACK_IMAGE_HEIGHT=32878]="UNPACK_IMAGE_HEIGHT",_[_.MAX_3D_TEXTURE_SIZE=32883]="MAX_3D_TEXTURE_SIZE",_[_.MAX_ELEMENTS_VERTICES=33e3]="MAX_ELEMENTS_VERTICES",_[_.MAX_ELEMENTS_INDICES=33001]="MAX_ELEMENTS_INDICES",_[_.MAX_TEXTURE_LOD_BIAS=34045]="MAX_TEXTURE_LOD_BIAS",_[_.MAX_FRAGMENT_UNIFORM_COMPONENTS=35657]="MAX_FRAGMENT_UNIFORM_COMPONENTS",_[_.MAX_VERTEX_UNIFORM_COMPONENTS=35658]="MAX_VERTEX_UNIFORM_COMPONENTS",_[_.MAX_ARRAY_TEXTURE_LAYERS=35071]="MAX_ARRAY_TEXTURE_LAYERS",_[_.MIN_PROGRAM_TEXEL_OFFSET=35076]="MIN_PROGRAM_TEXEL_OFFSET",_[_.MAX_PROGRAM_TEXEL_OFFSET=35077]="MAX_PROGRAM_TEXEL_OFFSET",_[_.MAX_VARYING_COMPONENTS=35659]="MAX_VARYING_COMPONENTS",_[_.FRAGMENT_SHADER_DERIVATIVE_HINT=35723]="FRAGMENT_SHADER_DERIVATIVE_HINT",_[_.RASTERIZER_DISCARD=35977]="RASTERIZER_DISCARD",_[_.VERTEX_ARRAY_BINDING=34229]="VERTEX_ARRAY_BINDING",_[_.MAX_VERTEX_OUTPUT_COMPONENTS=37154]="MAX_VERTEX_OUTPUT_COMPONENTS",_[_.MAX_FRAGMENT_INPUT_COMPONENTS=37157]="MAX_FRAGMENT_INPUT_COMPONENTS",_[_.MAX_SERVER_WAIT_TIMEOUT=37137]="MAX_SERVER_WAIT_TIMEOUT",_[_.MAX_ELEMENT_INDEX=36203]="MAX_ELEMENT_INDEX",_[_.RED=6403]="RED",_[_.RGB8=32849]="RGB8",_[_.RGBA8=32856]="RGBA8",_[_.RGB10_A2=32857]="RGB10_A2",_[_.TEXTURE_3D=32879]="TEXTURE_3D",_[_.TEXTURE_WRAP_R=32882]="TEXTURE_WRAP_R",_[_.TEXTURE_MIN_LOD=33082]="TEXTURE_MIN_LOD",_[_.TEXTURE_MAX_LOD=33083]="TEXTURE_MAX_LOD",_[_.TEXTURE_BASE_LEVEL=33084]="TEXTURE_BASE_LEVEL",_[_.TEXTURE_MAX_LEVEL=33085]="TEXTURE_MAX_LEVEL",_[_.TEXTURE_COMPARE_MODE=34892]="TEXTURE_COMPARE_MODE",_[_.TEXTURE_COMPARE_FUNC=34893]="TEXTURE_COMPARE_FUNC",_[_.SRGB=35904]="SRGB",_[_.SRGB8=35905]="SRGB8",_[_.SRGB8_ALPHA8=35907]="SRGB8_ALPHA8",_[_.COMPARE_REF_TO_TEXTURE=34894]="COMPARE_REF_TO_TEXTURE",_[_.RGBA32F=34836]="RGBA32F",_[_.RGB32F=34837]="RGB32F",_[_.RGBA16F=34842]="RGBA16F",_[_.RGB16F=34843]="RGB16F",_[_.TEXTURE_2D_ARRAY=35866]="TEXTURE_2D_ARRAY",_[_.TEXTURE_BINDING_2D_ARRAY=35869]="TEXTURE_BINDING_2D_ARRAY",_[_.R11F_G11F_B10F=35898]="R11F_G11F_B10F",_[_.RGB9_E5=35901]="RGB9_E5",_[_.RGBA32UI=36208]="RGBA32UI",_[_.RGB32UI=36209]="RGB32UI",_[_.RGBA16UI=36214]="RGBA16UI",_[_.RGB16UI=36215]="RGB16UI",_[_.RGBA8UI=36220]="RGBA8UI",_[_.RGB8UI=36221]="RGB8UI",_[_.RGBA32I=36226]="RGBA32I",_[_.RGB32I=36227]="RGB32I",_[_.RGBA16I=36232]="RGBA16I",_[_.RGB16I=36233]="RGB16I",_[_.RGBA8I=36238]="RGBA8I",_[_.RGB8I=36239]="RGB8I",_[_.RED_INTEGER=36244]="RED_INTEGER",_[_.RGB_INTEGER=36248]="RGB_INTEGER",_[_.RGBA_INTEGER=36249]="RGBA_INTEGER",_[_.R8=33321]="R8",_[_.RG8=33323]="RG8",_[_.R16F=33325]="R16F",_[_.R32F=33326]="R32F",_[_.RG16F=33327]="RG16F",_[_.RG32F=33328]="RG32F",_[_.R8I=33329]="R8I",_[_.R8UI=33330]="R8UI",_[_.R16I=33331]="R16I",_[_.R16UI=33332]="R16UI",_[_.R32I=33333]="R32I",_[_.R32UI=33334]="R32UI",_[_.RG8I=33335]="RG8I",_[_.RG8UI=33336]="RG8UI",_[_.RG16I=33337]="RG16I",_[_.RG16UI=33338]="RG16UI",_[_.RG32I=33339]="RG32I",_[_.RG32UI=33340]="RG32UI",_[_.R8_SNORM=36756]="R8_SNORM",_[_.RG8_SNORM=36757]="RG8_SNORM",_[_.RGB8_SNORM=36758]="RGB8_SNORM",_[_.RGBA8_SNORM=36759]="RGBA8_SNORM",_[_.RGB10_A2UI=36975]="RGB10_A2UI",_[_.TEXTURE_IMMUTABLE_FORMAT=37167]="TEXTURE_IMMUTABLE_FORMAT",_[_.TEXTURE_IMMUTABLE_LEVELS=33503]="TEXTURE_IMMUTABLE_LEVELS",_[_.UNSIGNED_INT_2_10_10_10_REV=33640]="UNSIGNED_INT_2_10_10_10_REV",_[_.UNSIGNED_INT_10F_11F_11F_REV=35899]="UNSIGNED_INT_10F_11F_11F_REV",_[_.UNSIGNED_INT_5_9_9_9_REV=35902]="UNSIGNED_INT_5_9_9_9_REV",_[_.FLOAT_32_UNSIGNED_INT_24_8_REV=36269]="FLOAT_32_UNSIGNED_INT_24_8_REV",_[_.UNSIGNED_INT_24_8=34042]="UNSIGNED_INT_24_8",_[_.HALF_FLOAT=5131]="HALF_FLOAT",_[_.RG=33319]="RG",_[_.RG_INTEGER=33320]="RG_INTEGER",_[_.INT_2_10_10_10_REV=36255]="INT_2_10_10_10_REV",_[_.CURRENT_QUERY=34917]="CURRENT_QUERY",_[_.QUERY_RESULT=34918]="QUERY_RESULT",_[_.QUERY_RESULT_AVAILABLE=34919]="QUERY_RESULT_AVAILABLE",_[_.ANY_SAMPLES_PASSED=35887]="ANY_SAMPLES_PASSED",_[_.ANY_SAMPLES_PASSED_CONSERVATIVE=36202]="ANY_SAMPLES_PASSED_CONSERVATIVE",_[_.MAX_DRAW_BUFFERS=34852]="MAX_DRAW_BUFFERS",_[_.DRAW_BUFFER0=34853]="DRAW_BUFFER0",_[_.DRAW_BUFFER1=34854]="DRAW_BUFFER1",_[_.DRAW_BUFFER2=34855]="DRAW_BUFFER2",_[_.DRAW_BUFFER3=34856]="DRAW_BUFFER3",_[_.DRAW_BUFFER4=34857]="DRAW_BUFFER4",_[_.DRAW_BUFFER5=34858]="DRAW_BUFFER5",_[_.DRAW_BUFFER6=34859]="DRAW_BUFFER6",_[_.DRAW_BUFFER7=34860]="DRAW_BUFFER7",_[_.DRAW_BUFFER8=34861]="DRAW_BUFFER8",_[_.DRAW_BUFFER9=34862]="DRAW_BUFFER9",_[_.DRAW_BUFFER10=34863]="DRAW_BUFFER10",_[_.DRAW_BUFFER11=34864]="DRAW_BUFFER11",_[_.DRAW_BUFFER12=34865]="DRAW_BUFFER12",_[_.DRAW_BUFFER13=34866]="DRAW_BUFFER13",_[_.DRAW_BUFFER14=34867]="DRAW_BUFFER14",_[_.DRAW_BUFFER15=34868]="DRAW_BUFFER15",_[_.MAX_COLOR_ATTACHMENTS=36063]="MAX_COLOR_ATTACHMENTS",_[_.COLOR_ATTACHMENT1=36065]="COLOR_ATTACHMENT1",_[_.COLOR_ATTACHMENT2=36066]="COLOR_ATTACHMENT2",_[_.COLOR_ATTACHMENT3=36067]="COLOR_ATTACHMENT3",_[_.COLOR_ATTACHMENT4=36068]="COLOR_ATTACHMENT4",_[_.COLOR_ATTACHMENT5=36069]="COLOR_ATTACHMENT5",_[_.COLOR_ATTACHMENT6=36070]="COLOR_ATTACHMENT6",_[_.COLOR_ATTACHMENT7=36071]="COLOR_ATTACHMENT7",_[_.COLOR_ATTACHMENT8=36072]="COLOR_ATTACHMENT8",_[_.COLOR_ATTACHMENT9=36073]="COLOR_ATTACHMENT9",_[_.COLOR_ATTACHMENT10=36074]="COLOR_ATTACHMENT10",_[_.COLOR_ATTACHMENT11=36075]="COLOR_ATTACHMENT11",_[_.COLOR_ATTACHMENT12=36076]="COLOR_ATTACHMENT12",_[_.COLOR_ATTACHMENT13=36077]="COLOR_ATTACHMENT13",_[_.COLOR_ATTACHMENT14=36078]="COLOR_ATTACHMENT14",_[_.COLOR_ATTACHMENT15=36079]="COLOR_ATTACHMENT15",_[_.SAMPLER_3D=35679]="SAMPLER_3D",_[_.SAMPLER_2D_SHADOW=35682]="SAMPLER_2D_SHADOW",_[_.SAMPLER_2D_ARRAY=36289]="SAMPLER_2D_ARRAY",_[_.SAMPLER_2D_ARRAY_SHADOW=36292]="SAMPLER_2D_ARRAY_SHADOW",_[_.SAMPLER_CUBE_SHADOW=36293]="SAMPLER_CUBE_SHADOW",_[_.INT_SAMPLER_2D=36298]="INT_SAMPLER_2D",_[_.INT_SAMPLER_3D=36299]="INT_SAMPLER_3D",_[_.INT_SAMPLER_CUBE=36300]="INT_SAMPLER_CUBE",_[_.INT_SAMPLER_2D_ARRAY=36303]="INT_SAMPLER_2D_ARRAY",_[_.UNSIGNED_INT_SAMPLER_2D=36306]="UNSIGNED_INT_SAMPLER_2D",_[_.UNSIGNED_INT_SAMPLER_3D=36307]="UNSIGNED_INT_SAMPLER_3D",_[_.UNSIGNED_INT_SAMPLER_CUBE=36308]="UNSIGNED_INT_SAMPLER_CUBE",_[_.UNSIGNED_INT_SAMPLER_2D_ARRAY=36311]="UNSIGNED_INT_SAMPLER_2D_ARRAY",_[_.MAX_SAMPLES=36183]="MAX_SAMPLES",_[_.SAMPLER_BINDING=35097]="SAMPLER_BINDING",_[_.PIXEL_PACK_BUFFER=35051]="PIXEL_PACK_BUFFER",_[_.PIXEL_UNPACK_BUFFER=35052]="PIXEL_UNPACK_BUFFER",_[_.PIXEL_PACK_BUFFER_BINDING=35053]="PIXEL_PACK_BUFFER_BINDING",_[_.PIXEL_UNPACK_BUFFER_BINDING=35055]="PIXEL_UNPACK_BUFFER_BINDING",_[_.COPY_READ_BUFFER=36662]="COPY_READ_BUFFER",_[_.COPY_WRITE_BUFFER=36663]="COPY_WRITE_BUFFER",_[_.COPY_READ_BUFFER_BINDING=36662]="COPY_READ_BUFFER_BINDING",_[_.COPY_WRITE_BUFFER_BINDING=36663]="COPY_WRITE_BUFFER_BINDING",_[_.FLOAT_MAT2x3=35685]="FLOAT_MAT2x3",_[_.FLOAT_MAT2x4=35686]="FLOAT_MAT2x4",_[_.FLOAT_MAT3x2=35687]="FLOAT_MAT3x2",_[_.FLOAT_MAT3x4=35688]="FLOAT_MAT3x4",_[_.FLOAT_MAT4x2=35689]="FLOAT_MAT4x2",_[_.FLOAT_MAT4x3=35690]="FLOAT_MAT4x3",_[_.UNSIGNED_INT_VEC2=36294]="UNSIGNED_INT_VEC2",_[_.UNSIGNED_INT_VEC3=36295]="UNSIGNED_INT_VEC3",_[_.UNSIGNED_INT_VEC4=36296]="UNSIGNED_INT_VEC4",_[_.UNSIGNED_NORMALIZED=35863]="UNSIGNED_NORMALIZED",_[_.SIGNED_NORMALIZED=36764]="SIGNED_NORMALIZED",_[_.VERTEX_ATTRIB_ARRAY_INTEGER=35069]="VERTEX_ATTRIB_ARRAY_INTEGER",_[_.VERTEX_ATTRIB_ARRAY_DIVISOR=35070]="VERTEX_ATTRIB_ARRAY_DIVISOR",_[_.TRANSFORM_FEEDBACK_BUFFER_MODE=35967]="TRANSFORM_FEEDBACK_BUFFER_MODE",_[_.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS=35968]="MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS",_[_.TRANSFORM_FEEDBACK_VARYINGS=35971]="TRANSFORM_FEEDBACK_VARYINGS",_[_.TRANSFORM_FEEDBACK_BUFFER_START=35972]="TRANSFORM_FEEDBACK_BUFFER_START",_[_.TRANSFORM_FEEDBACK_BUFFER_SIZE=35973]="TRANSFORM_FEEDBACK_BUFFER_SIZE",_[_.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN=35976]="TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN",_[_.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS=35978]="MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS",_[_.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS=35979]="MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS",_[_.INTERLEAVED_ATTRIBS=35980]="INTERLEAVED_ATTRIBS",_[_.SEPARATE_ATTRIBS=35981]="SEPARATE_ATTRIBS",_[_.TRANSFORM_FEEDBACK_BUFFER=35982]="TRANSFORM_FEEDBACK_BUFFER",_[_.TRANSFORM_FEEDBACK_BUFFER_BINDING=35983]="TRANSFORM_FEEDBACK_BUFFER_BINDING",_[_.TRANSFORM_FEEDBACK=36386]="TRANSFORM_FEEDBACK",_[_.TRANSFORM_FEEDBACK_PAUSED=36387]="TRANSFORM_FEEDBACK_PAUSED",_[_.TRANSFORM_FEEDBACK_ACTIVE=36388]="TRANSFORM_FEEDBACK_ACTIVE",_[_.TRANSFORM_FEEDBACK_BINDING=36389]="TRANSFORM_FEEDBACK_BINDING",_[_.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING=33296]="FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING",_[_.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE=33297]="FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE",_[_.FRAMEBUFFER_ATTACHMENT_RED_SIZE=33298]="FRAMEBUFFER_ATTACHMENT_RED_SIZE",_[_.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE=33299]="FRAMEBUFFER_ATTACHMENT_GREEN_SIZE",_[_.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE=33300]="FRAMEBUFFER_ATTACHMENT_BLUE_SIZE",_[_.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE=33301]="FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE",_[_.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE=33302]="FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE",_[_.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE=33303]="FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE",_[_.FRAMEBUFFER_DEFAULT=33304]="FRAMEBUFFER_DEFAULT",_[_.DEPTH24_STENCIL8=35056]="DEPTH24_STENCIL8",_[_.DRAW_FRAMEBUFFER_BINDING=36006]="DRAW_FRAMEBUFFER_BINDING",_[_.READ_FRAMEBUFFER_BINDING=36010]="READ_FRAMEBUFFER_BINDING",_[_.RENDERBUFFER_SAMPLES=36011]="RENDERBUFFER_SAMPLES",_[_.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER=36052]="FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER",_[_.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE=36182]="FRAMEBUFFER_INCOMPLETE_MULTISAMPLE",_[_.UNIFORM_BUFFER=35345]="UNIFORM_BUFFER",_[_.UNIFORM_BUFFER_BINDING=35368]="UNIFORM_BUFFER_BINDING",_[_.UNIFORM_BUFFER_START=35369]="UNIFORM_BUFFER_START",_[_.UNIFORM_BUFFER_SIZE=35370]="UNIFORM_BUFFER_SIZE",_[_.MAX_VERTEX_UNIFORM_BLOCKS=35371]="MAX_VERTEX_UNIFORM_BLOCKS",_[_.MAX_FRAGMENT_UNIFORM_BLOCKS=35373]="MAX_FRAGMENT_UNIFORM_BLOCKS",_[_.MAX_COMBINED_UNIFORM_BLOCKS=35374]="MAX_COMBINED_UNIFORM_BLOCKS",_[_.MAX_UNIFORM_BUFFER_BINDINGS=35375]="MAX_UNIFORM_BUFFER_BINDINGS",_[_.MAX_UNIFORM_BLOCK_SIZE=35376]="MAX_UNIFORM_BLOCK_SIZE",_[_.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS=35377]="MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS",_[_.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS=35379]="MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS",_[_.UNIFORM_BUFFER_OFFSET_ALIGNMENT=35380]="UNIFORM_BUFFER_OFFSET_ALIGNMENT",_[_.ACTIVE_UNIFORM_BLOCKS=35382]="ACTIVE_UNIFORM_BLOCKS",_[_.UNIFORM_TYPE=35383]="UNIFORM_TYPE",_[_.UNIFORM_SIZE=35384]="UNIFORM_SIZE",_[_.UNIFORM_BLOCK_INDEX=35386]="UNIFORM_BLOCK_INDEX",_[_.UNIFORM_OFFSET=35387]="UNIFORM_OFFSET",_[_.UNIFORM_ARRAY_STRIDE=35388]="UNIFORM_ARRAY_STRIDE",_[_.UNIFORM_MATRIX_STRIDE=35389]="UNIFORM_MATRIX_STRIDE",_[_.UNIFORM_IS_ROW_MAJOR=35390]="UNIFORM_IS_ROW_MAJOR",_[_.UNIFORM_BLOCK_BINDING=35391]="UNIFORM_BLOCK_BINDING",_[_.UNIFORM_BLOCK_DATA_SIZE=35392]="UNIFORM_BLOCK_DATA_SIZE",_[_.UNIFORM_BLOCK_ACTIVE_UNIFORMS=35394]="UNIFORM_BLOCK_ACTIVE_UNIFORMS",_[_.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES=35395]="UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES",_[_.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER=35396]="UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER",_[_.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER=35398]="UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER",_[_.OBJECT_TYPE=37138]="OBJECT_TYPE",_[_.SYNC_CONDITION=37139]="SYNC_CONDITION",_[_.SYNC_STATUS=37140]="SYNC_STATUS",_[_.SYNC_FLAGS=37141]="SYNC_FLAGS",_[_.SYNC_FENCE=37142]="SYNC_FENCE",_[_.SYNC_GPU_COMMANDS_COMPLETE=37143]="SYNC_GPU_COMMANDS_COMPLETE",_[_.UNSIGNALED=37144]="UNSIGNALED",_[_.SIGNALED=37145]="SIGNALED",_[_.ALREADY_SIGNALED=37146]="ALREADY_SIGNALED",_[_.TIMEOUT_EXPIRED=37147]="TIMEOUT_EXPIRED",_[_.CONDITION_SATISFIED=37148]="CONDITION_SATISFIED",_[_.WAIT_FAILED=37149]="WAIT_FAILED",_[_.SYNC_FLUSH_COMMANDS_BIT=1]="SYNC_FLUSH_COMMANDS_BIT",_[_.COLOR=6144]="COLOR",_[_.DEPTH=6145]="DEPTH",_[_.STENCIL=6146]="STENCIL",_[_.MIN=32775]="MIN",_[_.MAX=32776]="MAX",_[_.DEPTH_COMPONENT24=33190]="DEPTH_COMPONENT24",_[_.STREAM_READ=35041]="STREAM_READ",_[_.STREAM_COPY=35042]="STREAM_COPY",_[_.STATIC_READ=35045]="STATIC_READ",_[_.STATIC_COPY=35046]="STATIC_COPY",_[_.DYNAMIC_READ=35049]="DYNAMIC_READ",_[_.DYNAMIC_COPY=35050]="DYNAMIC_COPY",_[_.DEPTH_COMPONENT32F=36012]="DEPTH_COMPONENT32F",_[_.DEPTH32F_STENCIL8=36013]="DEPTH32F_STENCIL8",_[_.INVALID_INDEX=4294967295]="INVALID_INDEX",_[_.TIMEOUT_IGNORED=-1]="TIMEOUT_IGNORED",_[_.MAX_CLIENT_WAIT_TIMEOUT_WEBGL=37447]="MAX_CLIENT_WAIT_TIMEOUT_WEBGL",_[_.UNMASKED_VENDOR_WEBGL=37445]="UNMASKED_VENDOR_WEBGL",_[_.UNMASKED_RENDERER_WEBGL=37446]="UNMASKED_RENDERER_WEBGL",_[_.MAX_TEXTURE_MAX_ANISOTROPY_EXT=34047]="MAX_TEXTURE_MAX_ANISOTROPY_EXT",_[_.TEXTURE_MAX_ANISOTROPY_EXT=34046]="TEXTURE_MAX_ANISOTROPY_EXT",_[_.R16_EXT=33322]="R16_EXT",_[_.RG16_EXT=33324]="RG16_EXT",_[_.RGB16_EXT=32852]="RGB16_EXT",_[_.RGBA16_EXT=32859]="RGBA16_EXT",_[_.R16_SNORM_EXT=36760]="R16_SNORM_EXT",_[_.RG16_SNORM_EXT=36761]="RG16_SNORM_EXT",_[_.RGB16_SNORM_EXT=36762]="RGB16_SNORM_EXT",_[_.RGBA16_SNORM_EXT=36763]="RGBA16_SNORM_EXT",_[_.COMPRESSED_RGB_S3TC_DXT1_EXT=33776]="COMPRESSED_RGB_S3TC_DXT1_EXT",_[_.COMPRESSED_RGBA_S3TC_DXT1_EXT=33777]="COMPRESSED_RGBA_S3TC_DXT1_EXT",_[_.COMPRESSED_RGBA_S3TC_DXT3_EXT=33778]="COMPRESSED_RGBA_S3TC_DXT3_EXT",_[_.COMPRESSED_RGBA_S3TC_DXT5_EXT=33779]="COMPRESSED_RGBA_S3TC_DXT5_EXT",_[_.COMPRESSED_SRGB_S3TC_DXT1_EXT=35916]="COMPRESSED_SRGB_S3TC_DXT1_EXT",_[_.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT=35917]="COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT",_[_.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT=35918]="COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT",_[_.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT=35919]="COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT",_[_.COMPRESSED_RED_RGTC1_EXT=36283]="COMPRESSED_RED_RGTC1_EXT",_[_.COMPRESSED_SIGNED_RED_RGTC1_EXT=36284]="COMPRESSED_SIGNED_RED_RGTC1_EXT",_[_.COMPRESSED_RED_GREEN_RGTC2_EXT=36285]="COMPRESSED_RED_GREEN_RGTC2_EXT",_[_.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT=36286]="COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT",_[_.COMPRESSED_RGBA_BPTC_UNORM_EXT=36492]="COMPRESSED_RGBA_BPTC_UNORM_EXT",_[_.COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT=36493]="COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT",_[_.COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT=36494]="COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT",_[_.COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT=36495]="COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT",_[_.COMPRESSED_R11_EAC=37488]="COMPRESSED_R11_EAC",_[_.COMPRESSED_SIGNED_R11_EAC=37489]="COMPRESSED_SIGNED_R11_EAC",_[_.COMPRESSED_RG11_EAC=37490]="COMPRESSED_RG11_EAC",_[_.COMPRESSED_SIGNED_RG11_EAC=37491]="COMPRESSED_SIGNED_RG11_EAC",_[_.COMPRESSED_RGB8_ETC2=37492]="COMPRESSED_RGB8_ETC2",_[_.COMPRESSED_RGBA8_ETC2_EAC=37493]="COMPRESSED_RGBA8_ETC2_EAC",_[_.COMPRESSED_SRGB8_ETC2=37494]="COMPRESSED_SRGB8_ETC2",_[_.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC=37495]="COMPRESSED_SRGB8_ALPHA8_ETC2_EAC",_[_.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2=37496]="COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2",_[_.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2=37497]="COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2",_[_.COMPRESSED_RGB_PVRTC_4BPPV1_IMG=35840]="COMPRESSED_RGB_PVRTC_4BPPV1_IMG",_[_.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG=35842]="COMPRESSED_RGBA_PVRTC_4BPPV1_IMG",_[_.COMPRESSED_RGB_PVRTC_2BPPV1_IMG=35841]="COMPRESSED_RGB_PVRTC_2BPPV1_IMG",_[_.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG=35843]="COMPRESSED_RGBA_PVRTC_2BPPV1_IMG",_[_.COMPRESSED_RGB_ETC1_WEBGL=36196]="COMPRESSED_RGB_ETC1_WEBGL",_[_.COMPRESSED_RGB_ATC_WEBGL=35986]="COMPRESSED_RGB_ATC_WEBGL",_[_.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL=35986]="COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL",_[_.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL=34798]="COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL",_[_.COMPRESSED_RGBA_ASTC_4x4_KHR=37808]="COMPRESSED_RGBA_ASTC_4x4_KHR",_[_.COMPRESSED_RGBA_ASTC_5x4_KHR=37809]="COMPRESSED_RGBA_ASTC_5x4_KHR",_[_.COMPRESSED_RGBA_ASTC_5x5_KHR=37810]="COMPRESSED_RGBA_ASTC_5x5_KHR",_[_.COMPRESSED_RGBA_ASTC_6x5_KHR=37811]="COMPRESSED_RGBA_ASTC_6x5_KHR",_[_.COMPRESSED_RGBA_ASTC_6x6_KHR=37812]="COMPRESSED_RGBA_ASTC_6x6_KHR",_[_.COMPRESSED_RGBA_ASTC_8x5_KHR=37813]="COMPRESSED_RGBA_ASTC_8x5_KHR",_[_.COMPRESSED_RGBA_ASTC_8x6_KHR=37814]="COMPRESSED_RGBA_ASTC_8x6_KHR",_[_.COMPRESSED_RGBA_ASTC_8x8_KHR=37815]="COMPRESSED_RGBA_ASTC_8x8_KHR",_[_.COMPRESSED_RGBA_ASTC_10x5_KHR=37816]="COMPRESSED_RGBA_ASTC_10x5_KHR",_[_.COMPRESSED_RGBA_ASTC_10x6_KHR=37817]="COMPRESSED_RGBA_ASTC_10x6_KHR",_[_.COMPRESSED_RGBA_ASTC_10x8_KHR=37818]="COMPRESSED_RGBA_ASTC_10x8_KHR",_[_.COMPRESSED_RGBA_ASTC_10x10_KHR=37819]="COMPRESSED_RGBA_ASTC_10x10_KHR",_[_.COMPRESSED_RGBA_ASTC_12x10_KHR=37820]="COMPRESSED_RGBA_ASTC_12x10_KHR",_[_.COMPRESSED_RGBA_ASTC_12x12_KHR=37821]="COMPRESSED_RGBA_ASTC_12x12_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR=37840]="COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR=37841]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR=37842]="COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR=37843]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR=37844]="COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR=37845]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR=37846]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR=37847]="COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR=37848]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR=37849]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR=37850]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR=37851]="COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR=37852]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR",_[_.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR=37853]="COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR",_[_.QUERY_COUNTER_BITS_EXT=34916]="QUERY_COUNTER_BITS_EXT",_[_.CURRENT_QUERY_EXT=34917]="CURRENT_QUERY_EXT",_[_.QUERY_RESULT_EXT=34918]="QUERY_RESULT_EXT",_[_.QUERY_RESULT_AVAILABLE_EXT=34919]="QUERY_RESULT_AVAILABLE_EXT",_[_.TIME_ELAPSED_EXT=35007]="TIME_ELAPSED_EXT",_[_.TIMESTAMP_EXT=36392]="TIMESTAMP_EXT",_[_.GPU_DISJOINT_EXT=36795]="GPU_DISJOINT_EXT",_[_.COMPLETION_STATUS_KHR=37297]="COMPLETION_STATUS_KHR",_[_.DEPTH_CLAMP_EXT=34383]="DEPTH_CLAMP_EXT",_[_.FIRST_VERTEX_CONVENTION_WEBGL=36429]="FIRST_VERTEX_CONVENTION_WEBGL",_[_.LAST_VERTEX_CONVENTION_WEBGL=36430]="LAST_VERTEX_CONVENTION_WEBGL",_[_.PROVOKING_VERTEX_WEBL=36431]="PROVOKING_VERTEX_WEBL",_[_.POLYGON_MODE_WEBGL=2880]="POLYGON_MODE_WEBGL",_[_.POLYGON_OFFSET_LINE_WEBGL=10754]="POLYGON_OFFSET_LINE_WEBGL",_[_.LINE_WEBGL=6913]="LINE_WEBGL",_[_.FILL_WEBGL=6914]="FILL_WEBGL",_[_.MAX_CLIP_DISTANCES_WEBGL=3378]="MAX_CLIP_DISTANCES_WEBGL",_[_.MAX_CULL_DISTANCES_WEBGL=33529]="MAX_CULL_DISTANCES_WEBGL",_[_.MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL=33530]="MAX_COMBINED_CLIP_AND_CULL_DISTANCES_WEBGL",_[_.CLIP_DISTANCE0_WEBGL=12288]="CLIP_DISTANCE0_WEBGL",_[_.CLIP_DISTANCE1_WEBGL=12289]="CLIP_DISTANCE1_WEBGL",_[_.CLIP_DISTANCE2_WEBGL=12290]="CLIP_DISTANCE2_WEBGL",_[_.CLIP_DISTANCE3_WEBGL=12291]="CLIP_DISTANCE3_WEBGL",_[_.CLIP_DISTANCE4_WEBGL=12292]="CLIP_DISTANCE4_WEBGL",_[_.CLIP_DISTANCE5_WEBGL=12293]="CLIP_DISTANCE5_WEBGL",_[_.CLIP_DISTANCE6_WEBGL=12294]="CLIP_DISTANCE6_WEBGL",_[_.CLIP_DISTANCE7_WEBGL=12295]="CLIP_DISTANCE7_WEBGL",_[_.POLYGON_OFFSET_CLAMP_EXT=36379]="POLYGON_OFFSET_CLAMP_EXT",_[_.LOWER_LEFT_EXT=36001]="LOWER_LEFT_EXT",_[_.UPPER_LEFT_EXT=36002]="UPPER_LEFT_EXT",_[_.NEGATIVE_ONE_TO_ONE_EXT=37726]="NEGATIVE_ONE_TO_ONE_EXT",_[_.ZERO_TO_ONE_EXT=37727]="ZERO_TO_ONE_EXT",_[_.CLIP_ORIGIN_EXT=37724]="CLIP_ORIGIN_EXT",_[_.CLIP_DEPTH_MODE_EXT=37725]="CLIP_DEPTH_MODE_EXT",_[_.SRC1_COLOR_WEBGL=35065]="SRC1_COLOR_WEBGL",_[_.SRC1_ALPHA_WEBGL=34185]="SRC1_ALPHA_WEBGL",_[_.ONE_MINUS_SRC1_COLOR_WEBGL=35066]="ONE_MINUS_SRC1_COLOR_WEBGL",_[_.ONE_MINUS_SRC1_ALPHA_WEBGL=35067]="ONE_MINUS_SRC1_ALPHA_WEBGL",_[_.MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL=35068]="MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL",_[_.MIRROR_CLAMP_TO_EDGE_EXT=34627]="MIRROR_CLAMP_TO_EDGE_EXT"})(M||(M={}));var Y=512,H_=Math.PI/180;function g({map:_,gl:R,deck:t}){if(_.__deck)return _.__deck;let T=t?.props._customRender,e=t?.props.onLoad,o=w({...t?.props,_customRender:()=>{_.triggerRepaint(),T?.("")}}),E;return(!t||t.props.gl===R)&&(Object.assign(o,{gl:R,width:null,height:null,touchAction:"unset",viewState:U(_)}),t?.isInitialized?n(t,_):o.onLoad=()=>{e?.(),n(E,_)}),t?(E=t,t.setProps(o),t.userData.isExternal=!0):(E=new C.Deck(o),_.on("remove",()=>{b(_)})),E.userData.mapboxLayers=new Set,_.__deck=E,_.on("render",()=>{E.isInitialized&&V_(E,_)}),E}function n(_,R){let t=()=>{_.isInitialized?x_(_,R):R.off("move",t)};R.on("move",t)}function b(_){_.__deck?.finalize(),_.__deck=null}function w(_){return{..._,parameters:{depthMask:!0,depthTest:!0,blend:!0,blendFunc:[M.SRC_ALPHA,M.ONE_MINUS_SRC_ALPHA,M.ONE,M.ONE_MINUS_SRC_ALPHA],polygonOffsetFill:!0,depthFunc:M.LEQUAL,blendEquation:M.FUNC_ADD,..._.parameters},views:_.views||[new C.MapView({id:"mapbox"})]}}function L(_,R){_.userData.mapboxLayers.add(R),Z(_)}function G(_,R){_.userData.mapboxLayers.delete(R),Z(_)}function u(_,R){Z(_)}function m(_,R,t){let{currentViewport:T}=_.userData,e=!1;T||(T=__(_,R,!0),_.userData.currentViewport=T,e=!0),_.isInitialized&&_._drawLayers("mapbox-repaint",{viewports:[T],layerFilter:({layer:o})=>t.id===o.id||o.props.operation.includes("terrain"),clearStack:e,clearCanvas:!1})}function U(_){let{lng:R,lat:t}=_.getCenter(),T={longitude:(R+540)%360-180,latitude:t,zoom:_.getZoom(),bearing:_.getBearing(),pitch:_.getPitch(),padding:_.getPadding(),repeat:_.getRenderWorldCopies()};return _.getTerrain?.()&&f_(_,T),T}function f_(_,R){if(_.getFreeCameraOptions){let{position:t}=_.getFreeCameraOptions();if(!t||t.z===void 0)return;let T=_.transform.height,{longitude:e,latitude:o,pitch:E}=R,A=t.x*Y,S=(1-t.y)*Y,N=t.z*Y,r=B([e,o]),D=A-r[0],F=S-r[1],h=Math.sqrt(D*D+F*F),H=E*H_,W=1.5*T,z=H<.001?W*Math.cos(H)/N:W*Math.sin(H)/h;R.zoom=Math.log2(z);let t_=W*Math.cos(H)/z,T_=N-t_;R.position=[0,0,T_/y(o)]}else typeof _.transform.elevation=="number"&&(R.position=[0,0,_.transform.elevation])}function __(_,R,t=!0){return new C.WebMercatorViewport({id:"mapbox",x:0,y:0,width:_.width,height:_.height,...U(R),nearZMultiplier:t?.02:.1,nearZ:R.transform._nearZ/R.transform.height,farZ:R.transform._farZ/R.transform.height})}function V_(_,R){let{mapboxLayers:t,isExternal:T}=_.userData;if(T){let e=Array.from(t,r=>r.id),E=(0,C._flatten)(_.props.layers,Boolean).some(r=>r&&!e.includes(r.id)),A=_.getViewports(),S=A.findIndex(r=>r.id==="mapbox"),N=A.length>1||S<0;(E||N)&&(S>=0&&(A=A.slice(),A[S]=__(_,R,!1)),_._drawLayers("mapbox-repaint",{viewports:A,layerFilter:r=>(!_.props.layerFilter||_.props.layerFilter(r))&&(r.viewport.id!=="mapbox"||!e.includes(r.layer.id)),clearCanvas:!1}))}_.userData.currentViewport=null}function x_(_,R){_.setProps({viewState:U(R)}),_.needsRedraw({clearRedrawFlags:!0})}function Z(_){if(_.userData.isExternal)return;let R=[];_.userData.mapboxLayers.forEach(t=>{let T=t.props.type,e=new T(t.props);R.push(e)}),_.setProps({layers:R})}var R_=P(O(),1);var j=P(O(),1);var l=class{constructor(R){if(!R.id)throw new Error("Layer must have an unique id");this.id=R.id,this.type="custom",this.renderingMode=R.renderingMode||"3d",this.map=null,this.deck=null,this.props=R}onAdd(R,t){this.map=R,this.deck=g({map:R,gl:t,deck:this.props.deck}),L(this.deck,this)}onRemove(){this.deck&&G(this.deck,this)}setProps(R){Object.assign(this.props,R,{id:this.id}),this.deck&&u(this.deck,this)}render(){m(this.deck,this.map,this)}};var k="__UNDEFINED__";function d(_,R,t,T){if(!_||!R||!_.style||!_.style._loaded)return;let e=(0,j._flatten)(T,Boolean);if(t!==T){let A=(0,j._flatten)(t,Boolean),S=new Set(A.map(N=>N.id));for(let N of e)S.delete(N.id);for(let N of S)_.getLayer(N)&&_.removeLayer(N)}for(let A of e){let S=_.getLayer(A.id);S?S.implementation.setProps(A.props):_.addLayer(new l({id:A.id,deck:R}),A.props.beforeId)}let o=_.style._order,E={};for(let A of e){let{beforeId:S}=A.props;(!S||!o.includes(S))&&(S=k),E[S]=E[S]||[],E[S].push(A.id)}for(let A in E){let S=E[A],N=A===k?o.length:o.indexOf(A),r=A===k?void 0:A;for(let D=S.length-1;D>=0;D--){let F=S[D],h=o.indexOf(F);h!==N-1&&(_.moveLayer(F,r),h>N&&N++),N--,r=F}}}var p=class{constructor(R){this._handleStyleChange=()=>{d(this._map,this._deck,this._props.layers,this._props.layers)};this._updateContainerSize=()=>{if(this._map&&this._container){let{clientWidth:R,clientHeight:t}=this._map.getContainer();Object.assign(this._container.style,{width:`${R}px`,height:`${t}px`})}};this._updateViewState=()=>{let R=this._deck;R&&(R.setProps({viewState:U(this._map)}),R.isInitialized&&R.redraw())};this._handleMouseEvent=R=>{let t=this._deck;if(!t||!t.isInitialized)return;let T={type:R.type,offsetCenter:R.point,srcEvent:R},e=this._lastMouseDownPoint;switch(!R.point&&e&&(T.deltaX=R.originalEvent.clientX-e.clientX,T.deltaY=R.originalEvent.clientY-e.clientY,T.offsetCenter={x:e.x+T.deltaX,y:e.y+T.deltaY}),T.type){case"mousedown":t._onPointerDown(T),this._lastMouseDownPoint={...R.point,clientX:R.originalEvent.clientX,clientY:R.originalEvent.clientY};break;case"dragstart":T.type="panstart",t._onEvent(T);break;case"drag":T.type="panmove",t._onEvent(T);break;case"dragend":T.type="panend",t._onEvent(T);break;case"click":T.tapCount=1,t._onEvent(T);break;case"dblclick":T.type="click",T.tapCount=2,t._onEvent(T);break;case"mousemove":T.type="pointermove",t._onPointerMove(T);break;case"mouseout":T.type="pointerleave",t._onPointerMove(T);break;default:return}};let{interleaved:t=!1,...T}=R;this._interleaved=t,this._props=T}setProps(R){this._interleaved&&R.layers&&d(this._map,this._deck,this._props.layers,R.layers),Object.assign(this._props,R),this._deck&&this._deck.setProps(this._interleaved?w(this._props):this._props)}onAdd(R){return this._map=R,this._interleaved?this._onAddInterleaved(R):this._onAddOverlaid(R)}_onAddOverlaid(R){let t=document.createElement("div");return Object.assign(t.style,{position:"absolute",left:0,top:0,textAlign:"initial",pointerEvents:"none"}),this._container=t,this._deck=new a.Deck({...this._props,parent:t,viewState:U(R)}),R.on("resize",this._updateContainerSize),R.on("render",this._updateViewState),R.on("mousedown",this._handleMouseEvent),R.on("dragstart",this._handleMouseEvent),R.on("drag",this._handleMouseEvent),R.on("dragend",this._handleMouseEvent),R.on("mousemove",this._handleMouseEvent),R.on("mouseout",this._handleMouseEvent),R.on("click",this._handleMouseEvent),R.on("dblclick",this._handleMouseEvent),this._updateContainerSize(),t}_onAddInterleaved(R){let t=R.painter.context.gl;return t instanceof WebGLRenderingContext&&R_.log.warn("Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility")(),this._deck=g({map:R,gl:t,deck:new a.Deck({...this._props,gl:t})}),R.on("styledata",this._handleStyleChange),d(R,this._deck,[],this._props.layers),document.createElement("div")}onRemove(){let R=this._map;R&&(this._interleaved?this._onRemoveInterleaved(R):this._onRemoveOverlaid(R)),this._deck=void 0,this._map=void 0,this._container=void 0}_onRemoveOverlaid(R){R.off("resize",this._updateContainerSize),R.off("render",this._updateViewState),R.off("mousedown",this._handleMouseEvent),R.off("dragstart",this._handleMouseEvent),R.off("drag",this._handleMouseEvent),R.off("dragend",this._handleMouseEvent),R.off("mousemove",this._handleMouseEvent),R.off("mouseout",this._handleMouseEvent),R.off("click",this._handleMouseEvent),R.off("dblclick",this._handleMouseEvent),this._deck?.finalize()}_onRemoveInterleaved(R){R.off("styledata",this._handleStyleChange),d(R,this._deck,this._props.layers,[]),b(R)}getDefaultPosition(){return"top-left"}pickObject(R){return(0,a.assert)(this._deck),this._deck.pickObject(R)}pickMultipleObjects(R){return(0,a.assert)(this._deck),this._deck.pickMultipleObjects(R)}pickObjects(R){return(0,a.assert)(this._deck),this._deck.pickObjects(R)}finalize(){this._map&&this._map.removeControl(this)}getCanvas(){return this._map?this._interleaved?this._map.getCanvas():this._deck.getCanvas():null}};return I_(X);})();
9
8
  return __exports__;
10
9
  });
package/package.json CHANGED
@@ -2,7 +2,8 @@
2
2
  "name": "@deck.gl/mapbox",
3
3
  "description": "Use deck.gl layers as custom mapbox-gl-js layers",
4
4
  "license": "MIT",
5
- "version": "9.0.0-alpha.7",
5
+ "type": "module",
6
+ "version": "9.0.0-beta.10",
6
7
  "publishConfig": {
7
8
  "access": "public"
8
9
  },
@@ -16,13 +17,19 @@
16
17
  "type": "git",
17
18
  "url": "https://github.com/visgl/deck.gl.git"
18
19
  },
19
- "main": "dist/es5/index.js",
20
- "module": "dist/esm/index.js",
21
- "types": "typed/index.d.ts",
20
+ "types": "dist/index.d.ts",
21
+ "main": "dist/index.cjs",
22
+ "module": "dist/index.js",
23
+ "exports": {
24
+ ".": {
25
+ "types": "./dist/index.d.ts",
26
+ "import": "./dist/index.js",
27
+ "require": "./dist/index.cjs"
28
+ }
29
+ },
22
30
  "files": [
23
31
  "dist",
24
32
  "src",
25
- "typed",
26
33
  "dist.min.js"
27
34
  ],
28
35
  "sideEffects": false,
@@ -31,11 +38,12 @@
31
38
  "prepublishOnly": "npm run build-bundle && npm run build-bundle -- --env=dev"
32
39
  },
33
40
  "dependencies": {
34
- "@luma.gl/core": "9.0.0-alpha.53",
41
+ "@luma.gl/constants": "^9.0.4",
35
42
  "@math.gl/web-mercator": "^4.0.0"
36
43
  },
37
44
  "peerDependencies": {
38
- "@deck.gl/core": "^9.0.0-alpha"
45
+ "@deck.gl/core": "^9.0.0-beta",
46
+ "@luma.gl/core": "^9.0.4"
39
47
  },
40
- "gitHead": "de061268077ab74e163792162efbc07be95d10f5"
48
+ "gitHead": "6c44f602069374cd21268ff279c5bf818c905ff7"
41
49
  }
package/src/deck-utils.ts CHANGED
@@ -24,7 +24,7 @@ export function getDeckInstance({
24
24
  deck
25
25
  }: {
26
26
  map: Map & {__deck?: Deck | null};
27
- gl: WebGLRenderingContext;
27
+ gl: WebGL2RenderingContext;
28
28
  deck?: Deck;
29
29
  }): Deck {
30
30
  // Only create one deck instance per context
package/src/index.ts CHANGED
@@ -1,4 +1,3 @@
1
- export {default as MapboxLayer} from './mapbox-layer';
2
1
  export {default as MapboxOverlay} from './mapbox-overlay';
3
2
 
4
3
  export type {MapboxOverlayProps} from './mapbox-overlay';
@@ -32,7 +32,7 @@ export default class MapboxLayer<LayerT extends Layer> implements CustomLayerInt
32
32
 
33
33
  /* Mapbox custom layer methods */
34
34
 
35
- onAdd(map: Map, gl: WebGLRenderingContext): void {
35
+ onAdd(map: Map, gl: WebGL2RenderingContext): void {
36
36
  this.map = map;
37
37
  this.deck = getDeckInstance({map, gl, deck: this.props.deck});
38
38
  addLayer(this.deck, this);
@@ -4,6 +4,7 @@ import {getViewState, getDeckInstance, removeDeckInstance, getInterleavedProps}
4
4
  import type {Map, IControl, MapMouseEvent} from 'mapbox-gl';
5
5
  import type {MjolnirGestureEvent, MjolnirPointerEvent} from 'mjolnir.js';
6
6
  import type {DeckProps} from '@deck.gl/core';
7
+ import {log} from '@deck.gl/core';
7
8
 
8
9
  import {resolveLayers} from './resolve-layers';
9
10
 
@@ -66,6 +67,7 @@ export default class MapboxOverlay implements IControl {
66
67
  position: 'absolute',
67
68
  left: 0,
68
69
  top: 0,
70
+ textAlign: 'initial',
69
71
  pointerEvents: 'none'
70
72
  });
71
73
  this._container = container;
@@ -92,14 +94,19 @@ export default class MapboxOverlay implements IControl {
92
94
  }
93
95
 
94
96
  private _onAddInterleaved(map: Map): HTMLDivElement {
97
+ // @ts-ignore non-public map property
98
+ const gl = map.painter.context.gl;
99
+ if (gl instanceof WebGLRenderingContext) {
100
+ log.warn(
101
+ 'Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility'
102
+ )();
103
+ }
95
104
  this._deck = getDeckInstance({
96
105
  map,
97
- // @ts-ignore non-public map property
98
- gl: map.painter.context.gl,
106
+ gl,
99
107
  deck: new Deck({
100
108
  ...this._props,
101
- // @ts-ignore non-public map property
102
- gl: map.painter.context.gl
109
+ gl
103
110
  })
104
111
  });
105
112
 
@@ -244,7 +251,7 @@ export default class MapboxOverlay implements IControl {
244
251
 
245
252
  switch (mockEvent.type) {
246
253
  case 'mousedown':
247
- deck._onPointerDown(mockEvent as MjolnirGestureEvent);
254
+ deck._onPointerDown(mockEvent as MjolnirPointerEvent);
248
255
  this._lastMouseDownPoint = {
249
256
  ...event.point,
250
257
  clientX: event.originalEvent.clientX,