@deck.gl/mapbox 9.0.40 → 9.1.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/index.cjs CHANGED
@@ -30,7 +30,6 @@ var import_core3 = require("@deck.gl/core");
30
30
  // dist/deck-utils.js
31
31
  var import_core = require("@deck.gl/core");
32
32
  var import_web_mercator = require("@math.gl/web-mercator");
33
- var import_constants = require("@luma.gl/constants");
34
33
  var TILE_SIZE = 512;
35
34
  var DEGREES_TO_RADIANS = Math.PI / 180;
36
35
  function getDeckInstance({ map, gl, deck }) {
@@ -39,13 +38,15 @@ function getDeckInstance({ map, gl, deck }) {
39
38
  }
40
39
  const customRender = deck == null ? void 0 : deck.props._customRender;
41
40
  const onLoad = deck == null ? void 0 : deck.props.onLoad;
42
- const deckProps = getInterleavedProps({
41
+ const deckProps = {
43
42
  ...deck == null ? void 0 : deck.props,
44
43
  _customRender: () => {
45
44
  map.triggerRepaint();
46
45
  customRender == null ? void 0 : customRender("");
47
46
  }
48
- });
47
+ };
48
+ deckProps.parameters = { ...getDefaultParameters(map, true), ...deckProps.parameters };
49
+ deckProps.views || (deckProps.views = getDefaultView(map));
49
50
  let deckInstance;
50
51
  if (!deck || deck.props.gl === gl) {
51
52
  Object.assign(deckProps, {
@@ -97,22 +98,23 @@ function removeDeckInstance(map) {
97
98
  (_a = map.__deck) == null ? void 0 : _a.finalize();
98
99
  map.__deck = null;
99
100
  }
100
- function getInterleavedProps(currProps) {
101
- const nextProps = {
102
- ...currProps,
103
- parameters: {
104
- depthMask: true,
105
- depthTest: true,
106
- blend: true,
107
- blendFunc: [770, 771, 1, 771],
108
- polygonOffsetFill: true,
109
- depthFunc: 515,
110
- blendEquation: 32774,
111
- ...currProps.parameters
112
- },
113
- views: currProps.views || [new import_core.MapView({ id: "mapbox" })]
114
- };
115
- return nextProps;
101
+ function getDefaultParameters(map, interleaved) {
102
+ const result = interleaved ? {
103
+ depthWriteEnabled: true,
104
+ depthCompare: "less-equal",
105
+ depthBias: 0,
106
+ blend: true,
107
+ blendColorSrcFactor: "src-alpha",
108
+ blendColorDstFactor: "one-minus-src-alpha",
109
+ blendAlphaSrcFactor: "one",
110
+ blendAlphaDstFactor: "one-minus-src-alpha",
111
+ blendColorOperation: "add",
112
+ blendAlphaOperation: "add"
113
+ } : {};
114
+ if (getProjection(map) === "globe") {
115
+ result.cullMode = "back";
116
+ }
117
+ return result;
116
118
  }
117
119
  function addLayer(deck, layer) {
118
120
  deck.userData.mapboxLayers.add(layer);
@@ -125,11 +127,11 @@ function removeLayer(deck, layer) {
125
127
  function updateLayer(deck, layer) {
126
128
  updateLayers(deck);
127
129
  }
128
- function drawLayer(deck, map, layer) {
130
+ function drawLayer(deck, map, layer, renderParameters) {
129
131
  let { currentViewport } = deck.userData;
130
132
  let clearStack = false;
131
133
  if (!currentViewport) {
132
- currentViewport = getViewport(deck, map, true);
134
+ currentViewport = getViewport(deck, map, renderParameters);
133
135
  deck.userData.currentViewport = currentViewport;
134
136
  clearStack = true;
135
137
  }
@@ -143,10 +145,34 @@ function drawLayer(deck, map, layer) {
143
145
  clearCanvas: false
144
146
  });
145
147
  }
148
+ function getProjection(map) {
149
+ var _a;
150
+ const projection = (_a = map.getProjection) == null ? void 0 : _a.call(map);
151
+ const type = (
152
+ // maplibre projection spec
153
+ (projection == null ? void 0 : projection.type) || // mapbox projection spec
154
+ (projection == null ? void 0 : projection.name)
155
+ );
156
+ if (type === "globe") {
157
+ return "globe";
158
+ }
159
+ if (type && type !== "mercator") {
160
+ throw new Error("Unsupported projection");
161
+ }
162
+ return "mercator";
163
+ }
164
+ function getDefaultView(map) {
165
+ if (getProjection(map) === "globe") {
166
+ return new import_core._GlobeView({ id: "mapbox" });
167
+ }
168
+ return new import_core.MapView({ id: "mapbox" });
169
+ }
146
170
  function getViewState(map) {
147
171
  var _a;
148
172
  const { lng, lat } = map.getCenter();
149
173
  const viewState = {
174
+ // Longitude returned by getCenter can be outside of [-180, 180] when zooming near the anti meridian
175
+ // https://github.com/visgl/deck.gl/issues/6894
150
176
  longitude: (lng + 540) % 360 - 180,
151
177
  latitude: lat,
152
178
  zoom: map.getZoom(),
@@ -177,7 +203,10 @@ function centerCameraOnTerrain(map, viewState) {
177
203
  const cameraToCenterDistanceGround = Math.sqrt(dx * dx + dy * dy);
178
204
  const pitchRadians = pitch * DEGREES_TO_RADIANS;
179
205
  const altitudePixels = 1.5 * height;
180
- const scale = pitchRadians < 1e-3 ? altitudePixels * Math.cos(pitchRadians) / cameraZ : altitudePixels * Math.sin(pitchRadians) / cameraToCenterDistanceGround;
206
+ const scale = pitchRadians < 1e-3 ? (
207
+ // Pitch angle too small to deduce the look at point, assume elevation is 0
208
+ altitudePixels * Math.cos(pitchRadians) / cameraZ
209
+ ) : altitudePixels * Math.sin(pitchRadians) / cameraToCenterDistanceGround;
181
210
  viewState.zoom = Math.log2(scale);
182
211
  const cameraZFromSurface = altitudePixels * Math.cos(pitchRadians) / scale;
183
212
  const surfaceElevation = cameraZ - cameraZFromSurface;
@@ -186,17 +215,22 @@ function centerCameraOnTerrain(map, viewState) {
186
215
  viewState.position = [0, 0, map.transform.elevation];
187
216
  }
188
217
  }
189
- function getViewport(deck, map, useMapboxProjection = true) {
190
- return new import_core.WebMercatorViewport({
191
- id: "mapbox",
192
- x: 0,
193
- y: 0,
218
+ function getViewport(deck, map, renderParameters) {
219
+ const viewState = getViewState(map);
220
+ const view = getDefaultView(map);
221
+ if (renderParameters) {
222
+ view.props.nearZMultiplier = 0.2;
223
+ }
224
+ const nearZ = (renderParameters == null ? void 0 : renderParameters.nearZ) ?? map.transform._nearZ;
225
+ const farZ = (renderParameters == null ? void 0 : renderParameters.farZ) ?? map.transform._farZ;
226
+ if (Number.isFinite(nearZ)) {
227
+ viewState.nearZ = nearZ / map.transform.height;
228
+ viewState.farZ = farZ / map.transform.height;
229
+ }
230
+ return view.makeViewport({
194
231
  width: deck.width,
195
232
  height: deck.height,
196
- ...getViewState(map),
197
- nearZMultiplier: useMapboxProjection ? 0.02 : 0.1,
198
- nearZ: map.transform._nearZ / map.transform.height,
199
- farZ: map.transform._farZ / map.transform.height
233
+ viewState
200
234
  });
201
235
  }
202
236
  function afterRender(deck, map) {
@@ -211,7 +245,7 @@ function afterRender(deck, map) {
211
245
  if (hasNonMapboxLayers || hasNonMapboxViews) {
212
246
  if (mapboxViewportIdx >= 0) {
213
247
  viewports = viewports.slice();
214
- viewports[mapboxViewportIdx] = getViewport(deck, map, false);
248
+ viewports[mapboxViewportIdx] = getViewport(deck, map);
215
249
  }
216
250
  deck._drawLayers("mapbox-repaint", {
217
251
  viewports,
@@ -249,6 +283,7 @@ var import_core2 = require("@deck.gl/core");
249
283
 
250
284
  // dist/mapbox-layer.js
251
285
  var MapboxLayer = class {
286
+ /* eslint-disable no-this-before-super */
252
287
  constructor(props) {
253
288
  if (!props.id) {
254
289
  throw new Error("Layer must have an unique id");
@@ -260,6 +295,7 @@ var MapboxLayer = class {
260
295
  this.deck = null;
261
296
  this.props = props;
262
297
  }
298
+ /* Mapbox custom layer methods */
263
299
  onAdd(map, gl) {
264
300
  this.map = map;
265
301
  this.deck = getDeckInstance({ map, gl, deck: this.props.deck });
@@ -276,8 +312,8 @@ var MapboxLayer = class {
276
312
  updateLayer(this.deck, this);
277
313
  }
278
314
  }
279
- render() {
280
- drawLayer(this.deck, this.map, this);
315
+ render(gl, renderParameters) {
316
+ drawLayer(this.deck, this.map, this, renderParameters);
281
317
  }
282
318
  };
283
319
 
@@ -308,6 +344,7 @@ function resolveLayers(map, deck, oldLayers, newLayers) {
308
344
  } else {
309
345
  map.addLayer(
310
346
  new MapboxLayer({ id: layer.id, deck }),
347
+ // @ts-expect-error beforeId is not defined in LayerProps
311
348
  layer.props.beforeId
312
349
  );
313
350
  }
@@ -358,8 +395,12 @@ var MapboxOverlay = class {
358
395
  };
359
396
  this._updateViewState = () => {
360
397
  const deck = this._deck;
361
- if (deck) {
362
- deck.setProps({ viewState: getViewState(this._map) });
398
+ const map = this._map;
399
+ if (deck && map) {
400
+ deck.setProps({
401
+ views: this._props.views || getDefaultView(map),
402
+ viewState: getViewState(map)
403
+ });
363
404
  if (deck.isInitialized) {
364
405
  deck.redraw();
365
406
  }
@@ -430,15 +471,23 @@ var MapboxOverlay = class {
430
471
  this._interleaved = interleaved;
431
472
  this._props = otherProps;
432
473
  }
474
+ /** Update (partial) props of the underlying Deck instance. */
433
475
  setProps(props) {
434
476
  if (this._interleaved && props.layers) {
435
477
  resolveLayers(this._map, this._deck, this._props.layers, props.layers);
436
478
  }
437
479
  Object.assign(this._props, props);
438
- if (this._deck) {
439
- this._deck.setProps(this._interleaved ? getInterleavedProps(this._props) : this._props);
480
+ if (this._deck && this._map) {
481
+ this._deck.setProps({
482
+ ...this._props,
483
+ parameters: {
484
+ ...getDefaultParameters(this._map, this._interleaved),
485
+ ...this._props.parameters
486
+ }
487
+ });
440
488
  }
441
489
  }
490
+ /** Called when the control is added to a map */
442
491
  onAdd(map) {
443
492
  this._map = map;
444
493
  return this._interleaved ? this._onAddInterleaved(map) : this._onAddOverlaid(map);
@@ -456,6 +505,8 @@ var MapboxOverlay = class {
456
505
  this._deck = new import_core3.Deck({
457
506
  ...this._props,
458
507
  parent: container,
508
+ parameters: { ...getDefaultParameters(map, false), ...this._props.parameters },
509
+ views: this._props.views || getDefaultView(map),
459
510
  viewState: getViewState(map)
460
511
  });
461
512
  map.on("resize", this._updateContainerSize);
@@ -488,6 +539,7 @@ var MapboxOverlay = class {
488
539
  resolveLayers(map, this._deck, [], this._props.layers);
489
540
  return document.createElement("div");
490
541
  }
542
+ /** Called when the control is removed from a map */
491
543
  onRemove() {
492
544
  const map = this._map;
493
545
  if (map) {
@@ -523,23 +575,28 @@ var MapboxOverlay = class {
523
575
  getDefaultPosition() {
524
576
  return "top-left";
525
577
  }
578
+ /** Forwards the Deck.pickObject method */
526
579
  pickObject(params) {
527
580
  (0, import_core3.assert)(this._deck);
528
581
  return this._deck.pickObject(params);
529
582
  }
583
+ /** Forwards the Deck.pickMultipleObjects method */
530
584
  pickMultipleObjects(params) {
531
585
  (0, import_core3.assert)(this._deck);
532
586
  return this._deck.pickMultipleObjects(params);
533
587
  }
588
+ /** Forwards the Deck.pickObjects method */
534
589
  pickObjects(params) {
535
590
  (0, import_core3.assert)(this._deck);
536
591
  return this._deck.pickObjects(params);
537
592
  }
593
+ /** Remove from map and releases all resources */
538
594
  finalize() {
539
595
  if (this._map) {
540
596
  this._map.removeControl(this);
541
597
  }
542
598
  }
599
+ /** If interleaved: true, returns base map's canvas, otherwise forwards the Deck.getCanvas method. */
543
600
  getCanvas() {
544
601
  if (!this._map) {
545
602
  return null;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["index.js", "mapbox-overlay.js", "deck-utils.js", "resolve-layers.js", "mapbox-layer.js"],
4
- "sourcesContent": ["export { default as MapboxOverlay } from \"./mapbox-overlay.js\";\n", "import { Deck, assert } from '@deck.gl/core';\nimport { getViewState, getDeckInstance, removeDeckInstance, getInterleavedProps } from \"./deck-utils.js\";\nimport { log } from '@deck.gl/core';\nimport { resolveLayers } from \"./resolve-layers.js\";\n/**\n * Implements Mapbox [IControl](https://docs.mapbox.com/mapbox-gl-js/api/markers/#icontrol) interface\n * Renders deck.gl layers over the base map and automatically synchronizes with the map's camera\n */\nexport default class MapboxOverlay {\n constructor(props) {\n this._handleStyleChange = () => {\n resolveLayers(this._map, this._deck, this._props.layers, this._props.layers);\n };\n this._updateContainerSize = () => {\n if (this._map && this._container) {\n const { clientWidth, clientHeight } = this._map.getContainer();\n Object.assign(this._container.style, {\n width: `${clientWidth}px`,\n height: `${clientHeight}px`\n });\n }\n };\n this._updateViewState = () => {\n const deck = this._deck;\n if (deck) {\n // @ts-ignore (2345) map is always defined if deck is\n deck.setProps({ viewState: getViewState(this._map) });\n // Redraw immediately if view state has changed\n if (deck.isInitialized) {\n deck.redraw();\n }\n }\n };\n // eslint-disable-next-line complexity\n this._handleMouseEvent = (event) => {\n const deck = this._deck;\n if (!deck || !deck.isInitialized) {\n return;\n }\n const mockEvent = {\n type: event.type,\n offsetCenter: event.point,\n srcEvent: event\n };\n const lastDown = this._lastMouseDownPoint;\n if (!event.point && lastDown) {\n // drag* events do not contain a `point` field\n mockEvent.deltaX = event.originalEvent.clientX - lastDown.clientX;\n mockEvent.deltaY = event.originalEvent.clientY - lastDown.clientY;\n mockEvent.offsetCenter = {\n x: lastDown.x + mockEvent.deltaX,\n y: lastDown.y + mockEvent.deltaY\n };\n }\n switch (mockEvent.type) {\n case 'mousedown':\n deck._onPointerDown(mockEvent);\n this._lastMouseDownPoint = {\n ...event.point,\n clientX: event.originalEvent.clientX,\n clientY: event.originalEvent.clientY\n };\n break;\n case 'dragstart':\n mockEvent.type = 'panstart';\n deck._onEvent(mockEvent);\n break;\n case 'drag':\n mockEvent.type = 'panmove';\n deck._onEvent(mockEvent);\n break;\n case 'dragend':\n mockEvent.type = 'panend';\n deck._onEvent(mockEvent);\n break;\n case 'click':\n mockEvent.tapCount = 1;\n deck._onEvent(mockEvent);\n break;\n case 'dblclick':\n mockEvent.type = 'click';\n mockEvent.tapCount = 2;\n deck._onEvent(mockEvent);\n break;\n case 'mousemove':\n mockEvent.type = 'pointermove';\n deck._onPointerMove(mockEvent);\n break;\n case 'mouseout':\n mockEvent.type = 'pointerleave';\n deck._onPointerMove(mockEvent);\n break;\n default:\n return;\n }\n };\n const { interleaved = false, ...otherProps } = props;\n this._interleaved = interleaved;\n this._props = otherProps;\n }\n /** Update (partial) props of the underlying Deck instance. */\n setProps(props) {\n if (this._interleaved && props.layers) {\n resolveLayers(this._map, this._deck, this._props.layers, props.layers);\n }\n Object.assign(this._props, props);\n if (this._deck) {\n this._deck.setProps(this._interleaved ? getInterleavedProps(this._props) : this._props);\n }\n }\n /** Called when the control is added to a map */\n onAdd(map) {\n this._map = map;\n return this._interleaved ? this._onAddInterleaved(map) : this._onAddOverlaid(map);\n }\n _onAddOverlaid(map) {\n /* global document */\n const container = document.createElement('div');\n Object.assign(container.style, {\n position: 'absolute',\n left: 0,\n top: 0,\n textAlign: 'initial',\n pointerEvents: 'none'\n });\n this._container = container;\n this._deck = new Deck({\n ...this._props,\n parent: container,\n viewState: getViewState(map)\n });\n map.on('resize', this._updateContainerSize);\n map.on('render', this._updateViewState);\n map.on('mousedown', this._handleMouseEvent);\n map.on('dragstart', this._handleMouseEvent);\n map.on('drag', this._handleMouseEvent);\n map.on('dragend', this._handleMouseEvent);\n map.on('mousemove', this._handleMouseEvent);\n map.on('mouseout', this._handleMouseEvent);\n map.on('click', this._handleMouseEvent);\n map.on('dblclick', this._handleMouseEvent);\n this._updateContainerSize();\n return container;\n }\n _onAddInterleaved(map) {\n // @ts-ignore non-public map property\n const gl = map.painter.context.gl;\n if (gl instanceof WebGLRenderingContext) {\n log.warn('Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility')();\n }\n this._deck = getDeckInstance({\n map,\n gl,\n deck: new Deck({\n ...this._props,\n gl\n })\n });\n map.on('styledata', this._handleStyleChange);\n resolveLayers(map, this._deck, [], this._props.layers);\n return document.createElement('div');\n }\n /** Called when the control is removed from a map */\n onRemove() {\n const map = this._map;\n if (map) {\n if (this._interleaved) {\n this._onRemoveInterleaved(map);\n }\n else {\n this._onRemoveOverlaid(map);\n }\n }\n this._deck = undefined;\n this._map = undefined;\n this._container = undefined;\n }\n _onRemoveOverlaid(map) {\n map.off('resize', this._updateContainerSize);\n map.off('render', this._updateViewState);\n map.off('mousedown', this._handleMouseEvent);\n map.off('dragstart', this._handleMouseEvent);\n map.off('drag', this._handleMouseEvent);\n map.off('dragend', this._handleMouseEvent);\n map.off('mousemove', this._handleMouseEvent);\n map.off('mouseout', this._handleMouseEvent);\n map.off('click', this._handleMouseEvent);\n map.off('dblclick', this._handleMouseEvent);\n this._deck?.finalize();\n }\n _onRemoveInterleaved(map) {\n map.off('styledata', this._handleStyleChange);\n resolveLayers(map, this._deck, this._props.layers, []);\n removeDeckInstance(map);\n }\n getDefaultPosition() {\n return 'top-left';\n }\n /** Forwards the Deck.pickObject method */\n pickObject(params) {\n assert(this._deck);\n return this._deck.pickObject(params);\n }\n /** Forwards the Deck.pickMultipleObjects method */\n pickMultipleObjects(params) {\n assert(this._deck);\n return this._deck.pickMultipleObjects(params);\n }\n /** Forwards the Deck.pickObjects method */\n pickObjects(params) {\n assert(this._deck);\n return this._deck.pickObjects(params);\n }\n /** Remove from map and releases all resources */\n finalize() {\n if (this._map) {\n this._map.removeControl(this);\n }\n }\n /** If interleaved: true, returns base map's canvas, otherwise forwards the Deck.getCanvas method. */\n getCanvas() {\n if (!this._map) {\n return null;\n }\n return this._interleaved ? this._map.getCanvas() : this._deck.getCanvas();\n }\n}\n", "import { Deck, WebMercatorViewport, MapView, _flatten as flatten } from '@deck.gl/core';\nimport { lngLatToWorld, unitsPerMeter } from '@math.gl/web-mercator';\nimport { GL } from '@luma.gl/constants';\n// Mercator constants\nconst TILE_SIZE = 512;\nconst DEGREES_TO_RADIANS = Math.PI / 180;\n// Create an interleaved deck instance.\nexport function getDeckInstance({ map, gl, deck }) {\n // Only create one deck instance per context\n if (map.__deck) {\n return map.__deck;\n }\n // Only initialize certain props once per context\n const customRender = deck?.props._customRender;\n const onLoad = deck?.props.onLoad;\n const deckProps = getInterleavedProps({\n ...deck?.props,\n _customRender: () => {\n map.triggerRepaint();\n // customRender may be subscribed by DeckGL React component to update child props\n // make sure it is still called\n // Hack - do not pass a redraw reason here to prevent the React component from clearing the context\n // Rerender will be triggered by MapboxLayer's render()\n customRender?.('');\n }\n });\n let deckInstance;\n if (!deck || deck.props.gl === gl) {\n // If deck isn't defined (Internal MapboxLayer use case),\n // or if deck is defined and is using the WebGLContext created by mapbox (MapboxOverlay and External MapboxLayer use case),\n // block deck from setting the canvas size, and use the map's viewState to drive deck.\n // Otherwise, we use deck's viewState to drive the map.\n Object.assign(deckProps, {\n gl,\n width: null,\n height: null,\n touchAction: 'unset',\n viewState: getViewState(map)\n });\n if (deck?.isInitialized) {\n watchMapMove(deck, map);\n }\n else {\n deckProps.onLoad = () => {\n onLoad?.();\n watchMapMove(deckInstance, map);\n };\n }\n }\n if (deck) {\n deckInstance = deck;\n deck.setProps(deckProps);\n deck.userData.isExternal = true;\n }\n else {\n deckInstance = new Deck(deckProps);\n map.on('remove', () => {\n removeDeckInstance(map);\n });\n }\n deckInstance.userData.mapboxLayers = new Set();\n // (deckInstance.userData as UserData).mapboxVersion = getMapboxVersion(map);\n map.__deck = deckInstance;\n map.on('render', () => {\n if (deckInstance.isInitialized)\n afterRender(deckInstance, map);\n });\n return deckInstance;\n}\nfunction watchMapMove(deck, map) {\n const _handleMapMove = () => {\n if (deck.isInitialized) {\n // call view state methods\n onMapMove(deck, map);\n }\n else {\n // deregister itself when deck is finalized\n map.off('move', _handleMapMove);\n }\n };\n map.on('move', _handleMapMove);\n}\nexport function removeDeckInstance(map) {\n map.__deck?.finalize();\n map.__deck = null;\n}\nexport function getInterleavedProps(currProps) {\n const nextProps = {\n ...currProps,\n // TODO: remove with withParametersWebGL\n parameters: {\n depthMask: true,\n depthTest: true,\n blend: true,\n blendFunc: [770, 771, 1, 771],\n polygonOffsetFill: true,\n depthFunc: 515,\n blendEquation: 32774,\n ...currProps.parameters\n },\n // @ts-ignore views prop is hidden by the types because it is not expected to work the same way as in standalone Deck, see documentation\n views: currProps.views || [new MapView({ id: 'mapbox' })]\n };\n return nextProps;\n}\nexport function addLayer(deck, layer) {\n deck.userData.mapboxLayers.add(layer);\n updateLayers(deck);\n}\nexport function removeLayer(deck, layer) {\n deck.userData.mapboxLayers.delete(layer);\n updateLayers(deck);\n}\nexport function updateLayer(deck, layer) {\n updateLayers(deck);\n}\nexport function drawLayer(deck, map, layer) {\n let { currentViewport } = deck.userData;\n let clearStack = false;\n if (!currentViewport) {\n // This is the first layer drawn in this render cycle.\n // Generate viewport from the current map state.\n currentViewport = getViewport(deck, map, true);\n deck.userData.currentViewport = currentViewport;\n clearStack = true;\n }\n if (!deck.isInitialized) {\n return;\n }\n deck._drawLayers('mapbox-repaint', {\n viewports: [currentViewport],\n layerFilter: ({ layer: deckLayer }) => layer.id === deckLayer.id || deckLayer.props.operation.includes('terrain'),\n clearStack,\n clearCanvas: false\n });\n}\nexport function getViewState(map) {\n const { lng, lat } = map.getCenter();\n const viewState = {\n // Longitude returned by getCenter can be outside of [-180, 180] when zooming near the anti meridian\n // https://github.com/visgl/deck.gl/issues/6894\n longitude: ((lng + 540) % 360) - 180,\n latitude: lat,\n zoom: map.getZoom(),\n bearing: map.getBearing(),\n pitch: map.getPitch(),\n padding: map.getPadding(),\n repeat: map.getRenderWorldCopies()\n };\n if (map.getTerrain?.()) {\n // When the base map has terrain, we need to target the camera at the terrain surface\n centerCameraOnTerrain(map, viewState);\n }\n return viewState;\n}\nfunction centerCameraOnTerrain(map, viewState) {\n if (map.getFreeCameraOptions) {\n // mapbox-gl v2\n const { position } = map.getFreeCameraOptions();\n if (!position || position.z === undefined) {\n return;\n }\n // @ts-ignore transform is not typed\n const height = map.transform.height;\n const { longitude, latitude, pitch } = viewState;\n // Convert mapbox mercator coordinate to deck common space\n const cameraX = position.x * TILE_SIZE;\n const cameraY = (1 - position.y) * TILE_SIZE;\n const cameraZ = position.z * TILE_SIZE;\n // Mapbox manipulates zoom in terrain mode, see discussion here: https://github.com/mapbox/mapbox-gl-js/issues/12040\n const center = lngLatToWorld([longitude, latitude]);\n const dx = cameraX - center[0];\n const dy = cameraY - center[1];\n const cameraToCenterDistanceGround = Math.sqrt(dx * dx + dy * dy);\n const pitchRadians = pitch * DEGREES_TO_RADIANS;\n const altitudePixels = 1.5 * height;\n const scale = pitchRadians < 0.001\n ? // Pitch angle too small to deduce the look at point, assume elevation is 0\n (altitudePixels * Math.cos(pitchRadians)) / cameraZ\n : (altitudePixels * Math.sin(pitchRadians)) / cameraToCenterDistanceGround;\n viewState.zoom = Math.log2(scale);\n const cameraZFromSurface = (altitudePixels * Math.cos(pitchRadians)) / scale;\n const surfaceElevation = cameraZ - cameraZFromSurface;\n viewState.position = [0, 0, surfaceElevation / unitsPerMeter(latitude)];\n }\n // @ts-ignore transform is not typed\n else if (typeof map.transform.elevation === 'number') {\n // maplibre-gl\n // @ts-ignore transform is not typed\n viewState.position = [0, 0, map.transform.elevation];\n }\n}\n// function getMapboxVersion(map: Map): {minor: number; major: number} {\n// // parse mapbox version string\n// let major = 0;\n// let minor = 0;\n// // @ts-ignore (2339) undefined property\n// const version: string = map.version;\n// if (version) {\n// [major, minor] = version.split('.').slice(0, 2).map(Number);\n// }\n// return {major, minor};\n// }\nfunction getViewport(deck, map, useMapboxProjection = true) {\n return new WebMercatorViewport({\n id: 'mapbox',\n x: 0,\n y: 0,\n width: deck.width,\n height: deck.height,\n ...getViewState(map),\n nearZMultiplier: useMapboxProjection\n ? // match mapbox-gl@>=1.3.0's projection matrix\n 0.02\n : // use deck.gl's own default\n 0.1,\n nearZ: map.transform._nearZ / map.transform.height,\n farZ: map.transform._farZ / map.transform.height\n });\n}\nfunction afterRender(deck, map) {\n const { mapboxLayers, isExternal } = deck.userData;\n if (isExternal) {\n // Draw non-Mapbox layers\n const mapboxLayerIds = Array.from(mapboxLayers, layer => layer.id);\n const deckLayers = flatten(deck.props.layers, Boolean);\n const hasNonMapboxLayers = deckLayers.some(layer => layer && !mapboxLayerIds.includes(layer.id));\n let viewports = deck.getViewports();\n const mapboxViewportIdx = viewports.findIndex(vp => vp.id === 'mapbox');\n const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;\n if (hasNonMapboxLayers || hasNonMapboxViews) {\n if (mapboxViewportIdx >= 0) {\n viewports = viewports.slice();\n viewports[mapboxViewportIdx] = getViewport(deck, map, false);\n }\n deck._drawLayers('mapbox-repaint', {\n viewports,\n layerFilter: params => (!deck.props.layerFilter || deck.props.layerFilter(params)) &&\n (params.viewport.id !== 'mapbox' || !mapboxLayerIds.includes(params.layer.id)),\n clearCanvas: false\n });\n }\n }\n // End of render cycle, clear generated viewport\n deck.userData.currentViewport = null;\n}\nfunction onMapMove(deck, map) {\n deck.setProps({\n viewState: getViewState(map)\n });\n // Camera changed, will trigger a map repaint right after this\n // Clear any change flag triggered by setting viewState so that deck does not request\n // a second repaint\n deck.needsRedraw({ clearRedrawFlags: true });\n}\nfunction updateLayers(deck) {\n if (deck.userData.isExternal) {\n return;\n }\n const layers = [];\n deck.userData.mapboxLayers.forEach(deckLayer => {\n const LayerType = deckLayer.props.type;\n const layer = new LayerType(deckLayer.props);\n layers.push(layer);\n });\n deck.setProps({ layers });\n}\n", "import { _flatten as flatten } from '@deck.gl/core';\nimport MapboxLayer from \"./mapbox-layer.js\";\nconst UNDEFINED_BEFORE_ID = '__UNDEFINED__';\n/** Insert Deck layers into the mapbox Map according to the user-defined order */\n// eslint-disable-next-line complexity, max-statements\nexport function resolveLayers(map, deck, oldLayers, newLayers) {\n // Wait until map style is loaded\n // @ts-ignore non-public map property\n if (!map || !deck || !map.style || !map.style._loaded) {\n return;\n }\n const layers = flatten(newLayers, Boolean);\n if (oldLayers !== newLayers) {\n // Step 1: remove layers that no longer exist\n const prevLayers = flatten(oldLayers, Boolean);\n const prevLayerIds = new Set(prevLayers.map(l => l.id));\n for (const layer of layers) {\n prevLayerIds.delete(layer.id);\n }\n for (const id of prevLayerIds) {\n if (map.getLayer(id)) {\n map.removeLayer(id);\n }\n }\n }\n // Step 2: add missing layers\n for (const layer of layers) {\n const mapboxLayer = map.getLayer(layer.id);\n if (mapboxLayer) {\n // Mapbox's map.getLayer() had a breaking change in v3.6.0, see https://github.com/visgl/deck.gl/issues/9086\n // @ts-expect-error not typed\n const layerInstance = mapboxLayer.implementation || mapboxLayer;\n layerInstance.setProps(layer.props);\n }\n else {\n map.addLayer(new MapboxLayer({ id: layer.id, deck }), \n // @ts-expect-error beforeId is not defined in LayerProps\n layer.props.beforeId);\n }\n }\n // Step 3: check the order of layers\n // If beforeId is defined, the deck layer should always render before the mapbox layer [beforeId]\n // If beforeId is not defined, the deck layer should appear after all mapbox layers\n // When two deck layers share the same beforeId, they are rendered in the order that is passed into Deck props.layers\n // @ts-ignore non-public map property\n const mapLayers = map.style._order;\n // Group deck layers by beforeId\n const layerGroups = {};\n for (const layer of layers) {\n // @ts-expect-error beforeId is not defined in LayerProps\n let { beforeId } = layer.props;\n if (!beforeId || !mapLayers.includes(beforeId)) {\n beforeId = UNDEFINED_BEFORE_ID;\n }\n layerGroups[beforeId] = layerGroups[beforeId] || [];\n layerGroups[beforeId].push(layer.id);\n }\n for (const beforeId in layerGroups) {\n const layerGroup = layerGroups[beforeId];\n let lastLayerIndex = beforeId === UNDEFINED_BEFORE_ID ? mapLayers.length : mapLayers.indexOf(beforeId);\n let lastLayerId = beforeId === UNDEFINED_BEFORE_ID ? undefined : beforeId;\n for (let i = layerGroup.length - 1; i >= 0; i--) {\n const layerId = layerGroup[i];\n const layerIndex = mapLayers.indexOf(layerId);\n if (layerIndex !== lastLayerIndex - 1) {\n map.moveLayer(layerId, lastLayerId);\n if (layerIndex > lastLayerIndex) {\n // The last layer's index have changed\n lastLayerIndex++;\n }\n }\n lastLayerIndex--;\n lastLayerId = layerId;\n }\n }\n}\n", "import { getDeckInstance, addLayer, removeLayer, updateLayer, drawLayer } from \"./deck-utils.js\";\nexport default class MapboxLayer {\n /* eslint-disable no-this-before-super */\n constructor(props) {\n if (!props.id) {\n throw new Error('Layer must have an unique id');\n }\n this.id = props.id;\n this.type = 'custom';\n this.renderingMode = props.renderingMode || '3d';\n this.map = null;\n this.deck = null;\n this.props = props;\n }\n /* Mapbox custom layer methods */\n onAdd(map, gl) {\n this.map = map;\n this.deck = getDeckInstance({ map, gl, deck: this.props.deck });\n addLayer(this.deck, this);\n }\n onRemove() {\n if (this.deck) {\n removeLayer(this.deck, this);\n }\n }\n setProps(props) {\n // id cannot be changed\n Object.assign(this.props, props, { id: this.id });\n // safe guard in case setProps is called before onAdd\n if (this.deck) {\n updateLayer(this.deck, this);\n }\n }\n render() {\n drawLayer(this.deck, this.map, this);\n }\n}\n"],
5
- "mappings": "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",
6
- "names": ["import_core", "flatten", "import_core", "import_core", "flatten"]
3
+ "sources": ["../src/index.ts", "../src/mapbox-overlay.ts", "../src/deck-utils.ts", "../src/resolve-layers.ts", "../src/mapbox-layer.ts"],
4
+ "sourcesContent": ["// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport {default as MapboxOverlay} from './mapbox-overlay';\n\nexport type {MapboxOverlayProps} from './mapbox-overlay';\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Deck, assert} from '@deck.gl/core';\nimport {\n getViewState,\n getDefaultView,\n getDeckInstance,\n removeDeckInstance,\n getDefaultParameters\n} from './deck-utils';\n\nimport type {Map, IControl, MapMouseEvent, ControlPosition} from './types';\nimport type {MjolnirGestureEvent, MjolnirPointerEvent} from 'mjolnir.js';\nimport type {DeckProps} from '@deck.gl/core';\nimport {log} from '@deck.gl/core';\n\nimport {resolveLayers} from './resolve-layers';\n\nexport type MapboxOverlayProps = Omit<\n DeckProps,\n | 'width'\n | 'height'\n | 'gl'\n | 'parent'\n | 'canvas'\n | '_customRender'\n | 'viewState'\n | 'initialViewState'\n | 'controller'\n> & {\n interleaved?: boolean;\n};\n\n/**\n * Implements Mapbox [IControl](https://docs.mapbox.com/mapbox-gl-js/api/markers/#icontrol) interface\n * Renders deck.gl layers over the base map and automatically synchronizes with the map's camera\n */\nexport default class MapboxOverlay implements IControl {\n private _props: MapboxOverlayProps;\n private _deck?: Deck<any>;\n private _map?: Map;\n private _container?: HTMLDivElement;\n private _interleaved: boolean;\n private _lastMouseDownPoint?: {x: number; y: number; clientX: number; clientY: number};\n\n constructor(props: MapboxOverlayProps) {\n const {interleaved = false, ...otherProps} = props;\n this._interleaved = interleaved;\n this._props = otherProps;\n }\n\n /** Update (partial) props of the underlying Deck instance. */\n setProps(props: MapboxOverlayProps): void {\n if (this._interleaved && props.layers) {\n resolveLayers(this._map, this._deck, this._props.layers, props.layers);\n }\n\n Object.assign(this._props, props);\n\n if (this._deck && this._map) {\n this._deck.setProps({\n ...this._props,\n parameters: {\n ...getDefaultParameters(this._map, this._interleaved),\n ...this._props.parameters\n }\n });\n }\n }\n\n /** Called when the control is added to a map */\n onAdd(map: Map): HTMLDivElement {\n this._map = map;\n return this._interleaved ? this._onAddInterleaved(map) : this._onAddOverlaid(map);\n }\n\n private _onAddOverlaid(map: Map): HTMLDivElement {\n /* global document */\n const container = document.createElement('div');\n Object.assign(container.style, {\n position: 'absolute',\n left: 0,\n top: 0,\n textAlign: 'initial',\n pointerEvents: 'none'\n });\n this._container = container;\n\n this._deck = new Deck<any>({\n ...this._props,\n parent: container,\n parameters: {...getDefaultParameters(map, false), ...this._props.parameters},\n views: this._props.views || getDefaultView(map),\n viewState: getViewState(map)\n });\n\n map.on('resize', this._updateContainerSize);\n map.on('render', this._updateViewState);\n map.on('mousedown', this._handleMouseEvent);\n map.on('dragstart', this._handleMouseEvent);\n map.on('drag', this._handleMouseEvent);\n map.on('dragend', this._handleMouseEvent);\n map.on('mousemove', this._handleMouseEvent);\n map.on('mouseout', this._handleMouseEvent);\n map.on('click', this._handleMouseEvent);\n map.on('dblclick', this._handleMouseEvent);\n\n this._updateContainerSize();\n return container;\n }\n\n private _onAddInterleaved(map: Map): HTMLDivElement {\n // @ts-ignore non-public map property\n const gl = map.painter.context.gl;\n if (gl instanceof WebGLRenderingContext) {\n log.warn(\n 'Incompatible basemap library. See: https://deck.gl/docs/api-reference/mapbox/overview#compatibility'\n )();\n }\n this._deck = getDeckInstance({\n map,\n gl,\n deck: new Deck({\n ...this._props,\n gl\n })\n });\n\n map.on('styledata', this._handleStyleChange);\n resolveLayers(map, this._deck, [], this._props.layers);\n\n return document.createElement('div');\n }\n\n /** Called when the control is removed from a map */\n onRemove(): void {\n const map = this._map;\n\n if (map) {\n if (this._interleaved) {\n this._onRemoveInterleaved(map);\n } else {\n this._onRemoveOverlaid(map);\n }\n }\n\n this._deck = undefined;\n this._map = undefined;\n this._container = undefined;\n }\n\n private _onRemoveOverlaid(map: Map): void {\n map.off('resize', this._updateContainerSize);\n map.off('render', this._updateViewState);\n map.off('mousedown', this._handleMouseEvent);\n map.off('dragstart', this._handleMouseEvent);\n map.off('drag', this._handleMouseEvent);\n map.off('dragend', this._handleMouseEvent);\n map.off('mousemove', this._handleMouseEvent);\n map.off('mouseout', this._handleMouseEvent);\n map.off('click', this._handleMouseEvent);\n map.off('dblclick', this._handleMouseEvent);\n this._deck?.finalize();\n }\n\n private _onRemoveInterleaved(map: Map): void {\n map.off('styledata', this._handleStyleChange);\n resolveLayers(map, this._deck, this._props.layers, []);\n removeDeckInstance(map);\n }\n\n getDefaultPosition(): ControlPosition {\n return 'top-left';\n }\n\n /** Forwards the Deck.pickObject method */\n pickObject(params: Parameters<Deck['pickObject']>[0]): ReturnType<Deck['pickObject']> {\n assert(this._deck);\n return this._deck.pickObject(params);\n }\n\n /** Forwards the Deck.pickMultipleObjects method */\n pickMultipleObjects(\n params: Parameters<Deck['pickMultipleObjects']>[0]\n ): ReturnType<Deck['pickMultipleObjects']> {\n assert(this._deck);\n return this._deck.pickMultipleObjects(params);\n }\n\n /** Forwards the Deck.pickObjects method */\n pickObjects(params: Parameters<Deck['pickObjects']>[0]): ReturnType<Deck['pickObjects']> {\n assert(this._deck);\n return this._deck.pickObjects(params);\n }\n\n /** Remove from map and releases all resources */\n finalize() {\n if (this._map) {\n this._map.removeControl(this);\n }\n }\n\n /** If interleaved: true, returns base map's canvas, otherwise forwards the Deck.getCanvas method. */\n getCanvas(): HTMLCanvasElement | null {\n if (!this._map) {\n return null;\n }\n return this._interleaved ? this._map.getCanvas() : this._deck!.getCanvas();\n }\n\n private _handleStyleChange = () => {\n resolveLayers(this._map, this._deck, this._props.layers, this._props.layers);\n };\n\n private _updateContainerSize = () => {\n if (this._map && this._container) {\n const {clientWidth, clientHeight} = this._map.getContainer();\n Object.assign(this._container.style, {\n width: `${clientWidth}px`,\n height: `${clientHeight}px`\n });\n }\n };\n\n private _updateViewState = () => {\n const deck = this._deck;\n const map = this._map;\n if (deck && map) {\n deck.setProps({\n views: this._props.views || getDefaultView(map),\n viewState: getViewState(map)\n });\n // Redraw immediately if view state has changed\n if (deck.isInitialized) {\n deck.redraw();\n }\n }\n };\n\n // eslint-disable-next-line complexity\n private _handleMouseEvent = (event: MapMouseEvent) => {\n const deck = this._deck;\n if (!deck || !deck.isInitialized) {\n return;\n }\n\n const mockEvent: {\n type: string;\n deltaX?: number;\n deltaY?: number;\n offsetCenter: {x: number; y: number};\n srcEvent: MapMouseEvent;\n tapCount?: number;\n } = {\n type: event.type,\n offsetCenter: event.point,\n srcEvent: event\n };\n\n const lastDown = this._lastMouseDownPoint;\n if (!event.point && lastDown) {\n // drag* events do not contain a `point` field\n mockEvent.deltaX = event.originalEvent.clientX - lastDown.clientX;\n mockEvent.deltaY = event.originalEvent.clientY - lastDown.clientY;\n mockEvent.offsetCenter = {\n x: lastDown.x + mockEvent.deltaX,\n y: lastDown.y + mockEvent.deltaY\n };\n }\n\n switch (mockEvent.type) {\n case 'mousedown':\n deck._onPointerDown(mockEvent as unknown as MjolnirPointerEvent);\n this._lastMouseDownPoint = {\n ...event.point,\n clientX: event.originalEvent.clientX,\n clientY: event.originalEvent.clientY\n };\n break;\n\n case 'dragstart':\n mockEvent.type = 'panstart';\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'drag':\n mockEvent.type = 'panmove';\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'dragend':\n mockEvent.type = 'panend';\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'click':\n mockEvent.tapCount = 1;\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'dblclick':\n mockEvent.type = 'click';\n mockEvent.tapCount = 2;\n deck._onEvent(mockEvent as unknown as MjolnirGestureEvent);\n break;\n\n case 'mousemove':\n mockEvent.type = 'pointermove';\n deck._onPointerMove(mockEvent as unknown as MjolnirPointerEvent);\n break;\n\n case 'mouseout':\n mockEvent.type = 'pointerleave';\n deck._onPointerMove(mockEvent as unknown as MjolnirPointerEvent);\n break;\n\n default:\n return;\n }\n };\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {Deck, MapView, _GlobeView as GlobeView, _flatten as flatten} from '@deck.gl/core';\nimport type {Viewport, MapViewState, Layer} from '@deck.gl/core';\nimport type {Parameters} from '@luma.gl/core';\nimport type MapboxLayer from './mapbox-layer';\nimport type {Map} from './types';\n\nimport {lngLatToWorld, unitsPerMeter} from '@math.gl/web-mercator';\n\ntype UserData = {\n isExternal: boolean;\n currentViewport?: Viewport | null;\n mapboxLayers: Set<MapboxLayer<any>>;\n // mapboxVersion: {minor: number; major: number};\n};\n\n// Mercator constants\nconst TILE_SIZE = 512;\nconst DEGREES_TO_RADIANS = Math.PI / 180;\n\n// Create an interleaved deck instance.\nexport function getDeckInstance({\n map,\n gl,\n deck\n}: {\n map: Map & {__deck?: Deck<any> | null};\n gl: WebGL2RenderingContext;\n deck?: Deck<any>;\n}): Deck<any> {\n // Only create one deck instance per context\n if (map.__deck) {\n return map.__deck;\n }\n\n // Only initialize certain props once per context\n const customRender = deck?.props._customRender;\n const onLoad = deck?.props.onLoad;\n\n const deckProps = {\n ...deck?.props,\n _customRender: () => {\n map.triggerRepaint();\n // customRender may be subscribed by DeckGL React component to update child props\n // make sure it is still called\n // Hack - do not pass a redraw reason here to prevent the React component from clearing the context\n // Rerender will be triggered by MapboxLayer's render()\n customRender?.('');\n }\n };\n deckProps.parameters = {...getDefaultParameters(map, true), ...deckProps.parameters};\n deckProps.views ||= getDefaultView(map);\n\n let deckInstance: Deck;\n\n if (!deck || deck.props.gl === gl) {\n // If deck isn't defined (Internal MapboxLayer use case),\n // or if deck is defined and is using the WebGLContext created by mapbox (MapboxOverlay and External MapboxLayer use case),\n // block deck from setting the canvas size, and use the map's viewState to drive deck.\n // Otherwise, we use deck's viewState to drive the map.\n Object.assign(deckProps, {\n gl,\n width: null,\n height: null,\n touchAction: 'unset',\n viewState: getViewState(map)\n });\n if (deck?.isInitialized) {\n watchMapMove(deck, map);\n } else {\n deckProps.onLoad = () => {\n onLoad?.();\n watchMapMove(deckInstance, map);\n };\n }\n }\n\n if (deck) {\n deckInstance = deck;\n deck.setProps(deckProps);\n (deck.userData as UserData).isExternal = true;\n } else {\n deckInstance = new Deck(deckProps);\n map.on('remove', () => {\n removeDeckInstance(map);\n });\n }\n\n (deckInstance.userData as UserData).mapboxLayers = new Set();\n // (deckInstance.userData as UserData).mapboxVersion = getMapboxVersion(map);\n map.__deck = deckInstance;\n map.on('render', () => {\n if (deckInstance.isInitialized) afterRender(deckInstance, map);\n });\n\n return deckInstance;\n}\n\nfunction watchMapMove(deck: Deck, map: Map & {__deck?: Deck | null}) {\n const _handleMapMove = () => {\n if (deck.isInitialized) {\n // call view state methods\n onMapMove(deck, map);\n } else {\n // deregister itself when deck is finalized\n map.off('move', _handleMapMove);\n }\n };\n map.on('move', _handleMapMove);\n}\n\nexport function removeDeckInstance(map: Map & {__deck?: Deck | null}) {\n map.__deck?.finalize();\n map.__deck = null;\n}\n\nexport function getDefaultParameters(map: Map, interleaved: boolean): Parameters {\n const result: Parameters = interleaved\n ? {\n depthWriteEnabled: true,\n depthCompare: 'less-equal',\n depthBias: 0,\n blend: true,\n blendColorSrcFactor: 'src-alpha',\n blendColorDstFactor: 'one-minus-src-alpha',\n blendAlphaSrcFactor: 'one',\n blendAlphaDstFactor: 'one-minus-src-alpha',\n blendColorOperation: 'add',\n blendAlphaOperation: 'add'\n }\n : {};\n if (getProjection(map) === 'globe') {\n result.cullMode = 'back';\n }\n return result;\n}\n\nexport function addLayer(deck: Deck, layer: MapboxLayer<any>): void {\n (deck.userData as UserData).mapboxLayers.add(layer);\n updateLayers(deck);\n}\n\nexport function removeLayer(deck: Deck, layer: MapboxLayer<any>): void {\n (deck.userData as UserData).mapboxLayers.delete(layer);\n updateLayers(deck);\n}\n\nexport function updateLayer(deck: Deck, layer: MapboxLayer<any>): void {\n updateLayers(deck);\n}\n\nexport function drawLayer(\n deck: Deck,\n map: Map,\n layer: MapboxLayer<any>,\n renderParameters: any\n): void {\n let {currentViewport} = deck.userData as UserData;\n let clearStack: boolean = false;\n if (!currentViewport) {\n // This is the first layer drawn in this render cycle.\n // Generate viewport from the current map state.\n currentViewport = getViewport(deck, map, renderParameters);\n (deck.userData as UserData).currentViewport = currentViewport;\n clearStack = true;\n }\n\n if (!deck.isInitialized) {\n return;\n }\n\n deck._drawLayers('mapbox-repaint', {\n viewports: [currentViewport],\n layerFilter: ({layer: deckLayer}) =>\n layer.id === deckLayer.id || deckLayer.props.operation.includes('terrain'),\n clearStack,\n clearCanvas: false\n });\n}\n\nfunction getProjection(map: Map): 'mercator' | 'globe' {\n const projection = map.getProjection?.();\n const type =\n // maplibre projection spec\n projection?.type ||\n // mapbox projection spec\n projection?.name;\n if (type === 'globe') {\n return 'globe';\n }\n if (type && type !== 'mercator') {\n throw new Error('Unsupported projection');\n }\n return 'mercator';\n}\n\nexport function getDefaultView(map: Map): GlobeView | MapView {\n if (getProjection(map) === 'globe') {\n return new GlobeView({id: 'mapbox'});\n }\n return new MapView({id: 'mapbox'});\n}\n\nexport function getViewState(map: Map): MapViewState & {\n repeat: boolean;\n padding: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n} {\n const {lng, lat} = map.getCenter();\n\n const viewState: MapViewState & {\n repeat: boolean;\n padding: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n };\n } = {\n // Longitude returned by getCenter can be outside of [-180, 180] when zooming near the anti meridian\n // https://github.com/visgl/deck.gl/issues/6894\n longitude: ((lng + 540) % 360) - 180,\n latitude: lat,\n zoom: map.getZoom(),\n bearing: map.getBearing(),\n pitch: map.getPitch(),\n padding: map.getPadding(),\n repeat: map.getRenderWorldCopies()\n };\n\n if (map.getTerrain?.()) {\n // When the base map has terrain, we need to target the camera at the terrain surface\n centerCameraOnTerrain(map, viewState);\n }\n\n return viewState;\n}\n\nfunction centerCameraOnTerrain(map: Map, viewState: MapViewState) {\n if (map.getFreeCameraOptions) {\n // mapbox-gl v2\n const {position} = map.getFreeCameraOptions();\n if (!position || position.z === undefined) {\n return;\n }\n\n // @ts-ignore transform is not typed\n const height = map.transform.height;\n const {longitude, latitude, pitch} = viewState;\n\n // Convert mapbox mercator coordinate to deck common space\n const cameraX = position.x * TILE_SIZE;\n const cameraY = (1 - position.y) * TILE_SIZE;\n const cameraZ = position.z * TILE_SIZE;\n\n // Mapbox manipulates zoom in terrain mode, see discussion here: https://github.com/mapbox/mapbox-gl-js/issues/12040\n const center = lngLatToWorld([longitude, latitude]);\n const dx = cameraX - center[0];\n const dy = cameraY - center[1];\n const cameraToCenterDistanceGround = Math.sqrt(dx * dx + dy * dy);\n\n const pitchRadians = pitch! * DEGREES_TO_RADIANS;\n const altitudePixels = 1.5 * height;\n const scale =\n pitchRadians < 0.001\n ? // Pitch angle too small to deduce the look at point, assume elevation is 0\n (altitudePixels * Math.cos(pitchRadians)) / cameraZ\n : (altitudePixels * Math.sin(pitchRadians)) / cameraToCenterDistanceGround;\n viewState.zoom = Math.log2(scale);\n\n const cameraZFromSurface = (altitudePixels * Math.cos(pitchRadians)) / scale;\n const surfaceElevation = cameraZ - cameraZFromSurface;\n viewState.position = [0, 0, surfaceElevation / unitsPerMeter(latitude)];\n }\n // @ts-ignore transform is not typed\n else if (typeof map.transform.elevation === 'number') {\n // maplibre-gl\n // @ts-ignore transform is not typed\n viewState.position = [0, 0, map.transform.elevation];\n }\n}\n\n// Since maplibre-gl@5\n// https://github.com/maplibre/maplibre-gl-js/blob/main/src/style/style_layer/custom_style_layer.ts\ntype MaplibreRenderParameters = {\n farZ: number;\n nearZ: number;\n fov: number;\n modelViewProjectionMatrix: number[];\n projectionMatrix: number[];\n};\n\nfunction getViewport(deck: Deck, map: Map, renderParameters?: unknown): Viewport {\n const viewState = getViewState(map);\n const view = getDefaultView(map);\n\n if (renderParameters) {\n // Called from MapboxLayer.render\n // Magic number, matches mapbox-gl@>=1.3.0's projection matrix\n view.props.nearZMultiplier = 0.2;\n }\n\n // Get the base map near/far plane\n // renderParameters is maplibre API but not mapbox\n // Transform is not an official API, properties could be undefined for older versions\n const nearZ = (renderParameters as MaplibreRenderParameters)?.nearZ ?? map.transform._nearZ;\n const farZ = (renderParameters as MaplibreRenderParameters)?.farZ ?? map.transform._farZ;\n if (Number.isFinite(nearZ)) {\n viewState.nearZ = nearZ / map.transform.height;\n viewState.farZ = farZ / map.transform.height;\n }\n // Otherwise fallback to default calculation using nearZMultiplier/farZMultiplier\n\n return view.makeViewport({\n width: deck.width,\n height: deck.height,\n viewState\n }) as Viewport;\n}\n\nfunction afterRender(deck: Deck, map: Map): void {\n const {mapboxLayers, isExternal} = deck.userData as UserData;\n\n if (isExternal) {\n // Draw non-Mapbox layers\n const mapboxLayerIds = Array.from(mapboxLayers, layer => layer.id);\n const deckLayers = flatten(deck.props.layers, Boolean) as Layer[];\n const hasNonMapboxLayers = deckLayers.some(\n layer => layer && !mapboxLayerIds.includes(layer.id)\n );\n let viewports = deck.getViewports();\n const mapboxViewportIdx = viewports.findIndex(vp => vp.id === 'mapbox');\n const hasNonMapboxViews = viewports.length > 1 || mapboxViewportIdx < 0;\n\n if (hasNonMapboxLayers || hasNonMapboxViews) {\n if (mapboxViewportIdx >= 0) {\n viewports = viewports.slice();\n viewports[mapboxViewportIdx] = getViewport(deck, map);\n }\n\n deck._drawLayers('mapbox-repaint', {\n viewports,\n layerFilter: params =>\n (!deck.props.layerFilter || deck.props.layerFilter(params)) &&\n (params.viewport.id !== 'mapbox' || !mapboxLayerIds.includes(params.layer.id)),\n clearCanvas: false\n });\n }\n }\n\n // End of render cycle, clear generated viewport\n (deck.userData as UserData).currentViewport = null;\n}\n\nfunction onMapMove(deck: Deck, map: Map): void {\n deck.setProps({\n viewState: getViewState(map)\n });\n // Camera changed, will trigger a map repaint right after this\n // Clear any change flag triggered by setting viewState so that deck does not request\n // a second repaint\n deck.needsRedraw({clearRedrawFlags: true});\n}\n\nfunction updateLayers(deck: Deck): void {\n if ((deck.userData as UserData).isExternal) {\n return;\n }\n\n const layers: Layer[] = [];\n (deck.userData as UserData).mapboxLayers.forEach(deckLayer => {\n const LayerType = deckLayer.props.type;\n const layer = new LayerType(deckLayer.props);\n layers.push(layer);\n });\n deck.setProps({layers});\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {_flatten as flatten} from '@deck.gl/core';\nimport MapboxLayer from './mapbox-layer';\n\nimport type {Deck, LayersList, Layer} from '@deck.gl/core';\nimport type {Map} from './types';\n\nconst UNDEFINED_BEFORE_ID = '__UNDEFINED__';\n\n/** Insert Deck layers into the mapbox Map according to the user-defined order */\n// eslint-disable-next-line complexity, max-statements\nexport function resolveLayers(\n map?: Map,\n deck?: Deck,\n oldLayers?: LayersList,\n newLayers?: LayersList\n) {\n // Wait until map style is loaded\n // @ts-ignore non-public map property\n if (!map || !deck || !map.style || !map.style._loaded) {\n return;\n }\n\n const layers = flatten(newLayers, Boolean) as Layer[];\n\n if (oldLayers !== newLayers) {\n // Step 1: remove layers that no longer exist\n const prevLayers = flatten(oldLayers, Boolean) as Layer[];\n const prevLayerIds = new Set<string>(prevLayers.map(l => l.id));\n\n for (const layer of layers) {\n prevLayerIds.delete(layer.id);\n }\n\n for (const id of prevLayerIds) {\n if (map.getLayer(id)) {\n map.removeLayer(id);\n }\n }\n }\n\n // Step 2: add missing layers\n for (const layer of layers) {\n const mapboxLayer = map.getLayer(layer.id) as MapboxLayer<Layer>;\n if (mapboxLayer) {\n // Mapbox's map.getLayer() had a breaking change in v3.6.0, see https://github.com/visgl/deck.gl/issues/9086\n // @ts-expect-error not typed\n const layerInstance = mapboxLayer.implementation || mapboxLayer;\n layerInstance.setProps(layer.props);\n } else {\n map.addLayer(\n new MapboxLayer({id: layer.id, deck}),\n // @ts-expect-error beforeId is not defined in LayerProps\n layer.props.beforeId\n );\n }\n }\n\n // Step 3: check the order of layers\n // If beforeId is defined, the deck layer should always render before the mapbox layer [beforeId]\n // If beforeId is not defined, the deck layer should appear after all mapbox layers\n // When two deck layers share the same beforeId, they are rendered in the order that is passed into Deck props.layers\n // @ts-ignore non-public map property\n const mapLayers: string[] = map.style._order;\n\n // Group deck layers by beforeId\n const layerGroups: Record<string, string[]> = {};\n for (const layer of layers) {\n // @ts-expect-error beforeId is not defined in LayerProps\n let {beforeId} = layer.props;\n if (!beforeId || !mapLayers.includes(beforeId)) {\n beforeId = UNDEFINED_BEFORE_ID;\n }\n layerGroups[beforeId] = layerGroups[beforeId] || [];\n layerGroups[beforeId].push(layer.id);\n }\n\n for (const beforeId in layerGroups) {\n const layerGroup = layerGroups[beforeId];\n let lastLayerIndex =\n beforeId === UNDEFINED_BEFORE_ID ? mapLayers.length : mapLayers.indexOf(beforeId);\n let lastLayerId = beforeId === UNDEFINED_BEFORE_ID ? undefined : beforeId;\n for (let i = layerGroup.length - 1; i >= 0; i--) {\n const layerId = layerGroup[i];\n const layerIndex = mapLayers.indexOf(layerId);\n if (layerIndex !== lastLayerIndex - 1) {\n map.moveLayer(layerId, lastLayerId);\n if (layerIndex > lastLayerIndex) {\n // The last layer's index have changed\n lastLayerIndex++;\n }\n }\n lastLayerIndex--;\n lastLayerId = layerId;\n }\n }\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {getDeckInstance, addLayer, removeLayer, updateLayer, drawLayer} from './deck-utils';\nimport type {Map, CustomLayerInterface} from './types';\nimport type {Deck, Layer} from '@deck.gl/core';\n\nexport type MapboxLayerProps<LayerT extends Layer> = Partial<LayerT['props']> & {\n id: string;\n renderingMode?: '2d' | '3d';\n deck?: Deck;\n};\n\nexport default class MapboxLayer<LayerT extends Layer> implements CustomLayerInterface {\n id: string;\n type: 'custom';\n renderingMode: '2d' | '3d';\n map: Map | null;\n deck: Deck | null;\n props: MapboxLayerProps<LayerT>;\n\n /* eslint-disable no-this-before-super */\n constructor(props: MapboxLayerProps<LayerT>) {\n if (!props.id) {\n throw new Error('Layer must have an unique id');\n }\n\n this.id = props.id;\n this.type = 'custom';\n this.renderingMode = props.renderingMode || '3d';\n this.map = null;\n this.deck = null;\n this.props = props;\n }\n\n /* Mapbox custom layer methods */\n\n onAdd(map: Map, gl: WebGL2RenderingContext): void {\n this.map = map;\n this.deck = getDeckInstance({map, gl, deck: this.props.deck});\n addLayer(this.deck, this);\n }\n\n onRemove(): void {\n if (this.deck) {\n removeLayer(this.deck, this);\n }\n }\n\n setProps(props: MapboxLayerProps<LayerT>) {\n // id cannot be changed\n Object.assign(this.props, props, {id: this.id});\n // safe guard in case setProps is called before onAdd\n if (this.deck) {\n updateLayer(this.deck, this);\n }\n }\n\n render(gl, renderParameters) {\n drawLayer(this.deck!, this.map!, this, renderParameters);\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;ACIA,IAAAA,eAA2B;;;ACA3B,kBAA0E;AAM1E,0BAA2C;AAU3C,IAAM,YAAY;AAClB,IAAM,qBAAqB,KAAK,KAAK;AAG/B,SAAU,gBAAgB,EAC9B,KACA,IACA,KAAI,GAKL;AAEC,MAAI,IAAI,QAAQ;AACd,WAAO,IAAI;EACb;AAGA,QAAM,eAAe,6BAAM,MAAM;AACjC,QAAM,SAAS,6BAAM,MAAM;AAE3B,QAAM,YAAY;IAChB,GAAG,6BAAM;IACT,eAAe,MAAK;AAClB,UAAI,eAAc;AAKlB,mDAAe;IACjB;;AAEF,YAAU,aAAa,EAAC,GAAG,qBAAqB,KAAK,IAAI,GAAG,GAAG,UAAU,WAAU;AACnF,YAAU,UAAV,UAAU,QAAU,eAAe,GAAG;AAEtC,MAAI;AAEJ,MAAI,CAAC,QAAQ,KAAK,MAAM,OAAO,IAAI;AAKjC,WAAO,OAAO,WAAW;MACvB;MACA,OAAO;MACP,QAAQ;MACR,aAAa;MACb,WAAW,aAAa,GAAG;KAC5B;AACD,QAAI,6BAAM,eAAe;AACvB,mBAAa,MAAM,GAAG;IACxB,OAAO;AACL,gBAAU,SAAS,MAAK;AACtB;AACA,qBAAa,cAAc,GAAG;MAChC;IACF;EACF;AAEA,MAAI,MAAM;AACR,mBAAe;AACf,SAAK,SAAS,SAAS;AACtB,SAAK,SAAsB,aAAa;EAC3C,OAAO;AACL,mBAAe,IAAI,iBAAK,SAAS;AACjC,QAAI,GAAG,UAAU,MAAK;AACpB,yBAAmB,GAAG;IACxB,CAAC;EACH;AAEC,eAAa,SAAsB,eAAe,oBAAI,IAAG;AAE1D,MAAI,SAAS;AACb,MAAI,GAAG,UAAU,MAAK;AACpB,QAAI,aAAa;AAAe,kBAAY,cAAc,GAAG;EAC/D,CAAC;AAED,SAAO;AACT;AAEA,SAAS,aAAa,MAAY,KAAiC;AACjE,QAAM,iBAAiB,MAAK;AAC1B,QAAI,KAAK,eAAe;AAEtB,gBAAU,MAAM,GAAG;IACrB,OAAO;AAEL,UAAI,IAAI,QAAQ,cAAc;IAChC;EACF;AACA,MAAI,GAAG,QAAQ,cAAc;AAC/B;AAEM,SAAU,mBAAmB,KAAiC;AAlHpE;AAmHE,YAAI,WAAJ,mBAAY;AACZ,MAAI,SAAS;AACf;AAEM,SAAU,qBAAqB,KAAU,aAAoB;AACjE,QAAM,SAAqB,cACvB;IACE,mBAAmB;IACnB,cAAc;IACd,WAAW;IACX,OAAO;IACP,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;IACrB,qBAAqB;MAEvB,CAAA;AACJ,MAAI,cAAc,GAAG,MAAM,SAAS;AAClC,WAAO,WAAW;EACpB;AACA,SAAO;AACT;AAEM,SAAU,SAAS,MAAY,OAAuB;AACzD,OAAK,SAAsB,aAAa,IAAI,KAAK;AAClD,eAAa,IAAI;AACnB;AAEM,SAAU,YAAY,MAAY,OAAuB;AAC5D,OAAK,SAAsB,aAAa,OAAO,KAAK;AACrD,eAAa,IAAI;AACnB;AAEM,SAAU,YAAY,MAAY,OAAuB;AAC7D,eAAa,IAAI;AACnB;AAEM,SAAU,UACd,MACA,KACA,OACA,kBAAqB;AAErB,MAAI,EAAC,gBAAe,IAAI,KAAK;AAC7B,MAAI,aAAsB;AAC1B,MAAI,CAAC,iBAAiB;AAGpB,sBAAkB,YAAY,MAAM,KAAK,gBAAgB;AACxD,SAAK,SAAsB,kBAAkB;AAC9C,iBAAa;EACf;AAEA,MAAI,CAAC,KAAK,eAAe;AACvB;EACF;AAEA,OAAK,YAAY,kBAAkB;IACjC,WAAW,CAAC,eAAe;IAC3B,aAAa,CAAC,EAAC,OAAO,UAAS,MAC7B,MAAM,OAAO,UAAU,MAAM,UAAU,MAAM,UAAU,SAAS,SAAS;IAC3E;IACA,aAAa;GACd;AACH;AAEA,SAAS,cAAc,KAAQ;AAvL/B;AAwLE,QAAM,cAAa,SAAI,kBAAJ;AACnB,QAAM;;KAEJ,yCAAY;KAEZ,yCAAY;;AACd,MAAI,SAAS,SAAS;AACpB,WAAO;EACT;AACA,MAAI,QAAQ,SAAS,YAAY;AAC/B,UAAM,IAAI,MAAM,wBAAwB;EAC1C;AACA,SAAO;AACT;AAEM,SAAU,eAAe,KAAQ;AACrC,MAAI,cAAc,GAAG,MAAM,SAAS;AAClC,WAAO,IAAI,YAAAC,WAAU,EAAC,IAAI,SAAQ,CAAC;EACrC;AACA,SAAO,IAAI,oBAAQ,EAAC,IAAI,SAAQ,CAAC;AACnC;AAEM,SAAU,aAAa,KAAQ;AA9MrC;AAuNE,QAAM,EAAC,KAAK,IAAG,IAAI,IAAI,UAAS;AAEhC,QAAM,YAQF;;;IAGF,YAAa,MAAM,OAAO,MAAO;IACjC,UAAU;IACV,MAAM,IAAI,QAAO;IACjB,SAAS,IAAI,WAAU;IACvB,OAAO,IAAI,SAAQ;IACnB,SAAS,IAAI,WAAU;IACvB,QAAQ,IAAI,qBAAoB;;AAGlC,OAAI,SAAI,eAAJ,8BAAoB;AAEtB,0BAAsB,KAAK,SAAS;EACtC;AAEA,SAAO;AACT;AAEA,SAAS,sBAAsB,KAAU,WAAuB;AAC9D,MAAI,IAAI,sBAAsB;AAE5B,UAAM,EAAC,SAAQ,IAAI,IAAI,qBAAoB;AAC3C,QAAI,CAAC,YAAY,SAAS,MAAM,QAAW;AACzC;IACF;AAGA,UAAM,SAAS,IAAI,UAAU;AAC7B,UAAM,EAAC,WAAW,UAAU,MAAK,IAAI;AAGrC,UAAM,UAAU,SAAS,IAAI;AAC7B,UAAM,WAAW,IAAI,SAAS,KAAK;AACnC,UAAM,UAAU,SAAS,IAAI;AAG7B,UAAM,aAAS,mCAAc,CAAC,WAAW,QAAQ,CAAC;AAClD,UAAM,KAAK,UAAU,OAAO,CAAC;AAC7B,UAAM,KAAK,UAAU,OAAO,CAAC;AAC7B,UAAM,+BAA+B,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;AAEhE,UAAM,eAAe,QAAS;AAC9B,UAAM,iBAAiB,MAAM;AAC7B,UAAM,QACJ,eAAe;;MAEV,iBAAiB,KAAK,IAAI,YAAY,IAAK;QAC3C,iBAAiB,KAAK,IAAI,YAAY,IAAK;AAClD,cAAU,OAAO,KAAK,KAAK,KAAK;AAEhC,UAAM,qBAAsB,iBAAiB,KAAK,IAAI,YAAY,IAAK;AACvE,UAAM,mBAAmB,UAAU;AACnC,cAAU,WAAW,CAAC,GAAG,GAAG,uBAAmB,mCAAc,QAAQ,CAAC;EACxE,WAES,OAAO,IAAI,UAAU,cAAc,UAAU;AAGpD,cAAU,WAAW,CAAC,GAAG,GAAG,IAAI,UAAU,SAAS;EACrD;AACF;AAYA,SAAS,YAAY,MAAY,KAAU,kBAA0B;AACnE,QAAM,YAAY,aAAa,GAAG;AAClC,QAAM,OAAO,eAAe,GAAG;AAE/B,MAAI,kBAAkB;AAGpB,SAAK,MAAM,kBAAkB;EAC/B;AAKA,QAAM,SAAS,qDAA+C,UAAS,IAAI,UAAU;AACrF,QAAM,QAAQ,qDAA+C,SAAQ,IAAI,UAAU;AACnF,MAAI,OAAO,SAAS,KAAK,GAAG;AAC1B,cAAU,QAAQ,QAAQ,IAAI,UAAU;AACxC,cAAU,OAAO,OAAO,IAAI,UAAU;EACxC;AAGA,SAAO,KAAK,aAAa;IACvB,OAAO,KAAK;IACZ,QAAQ,KAAK;IACb;GACD;AACH;AAEA,SAAS,YAAY,MAAY,KAAQ;AACvC,QAAM,EAAC,cAAc,WAAU,IAAI,KAAK;AAExC,MAAI,YAAY;AAEd,UAAM,iBAAiB,MAAM,KAAK,cAAc,WAAS,MAAM,EAAE;AACjE,UAAM,iBAAa,YAAAC,UAAQ,KAAK,MAAM,QAAQ,OAAO;AACrD,UAAM,qBAAqB,WAAW,KACpC,WAAS,SAAS,CAAC,eAAe,SAAS,MAAM,EAAE,CAAC;AAEtD,QAAI,YAAY,KAAK,aAAY;AACjC,UAAM,oBAAoB,UAAU,UAAU,QAAM,GAAG,OAAO,QAAQ;AACtE,UAAM,oBAAoB,UAAU,SAAS,KAAK,oBAAoB;AAEtE,QAAI,sBAAsB,mBAAmB;AAC3C,UAAI,qBAAqB,GAAG;AAC1B,oBAAY,UAAU,MAAK;AAC3B,kBAAU,iBAAiB,IAAI,YAAY,MAAM,GAAG;MACtD;AAEA,WAAK,YAAY,kBAAkB;QACjC;QACA,aAAa,aACV,CAAC,KAAK,MAAM,eAAe,KAAK,MAAM,YAAY,MAAM,OACxD,OAAO,SAAS,OAAO,YAAY,CAAC,eAAe,SAAS,OAAO,MAAM,EAAE;QAC9E,aAAa;OACd;IACH;EACF;AAGC,OAAK,SAAsB,kBAAkB;AAChD;AAEA,SAAS,UAAU,MAAY,KAAQ;AACrC,OAAK,SAAS;IACZ,WAAW,aAAa,GAAG;GAC5B;AAID,OAAK,YAAY,EAAC,kBAAkB,KAAI,CAAC;AAC3C;AAEA,SAAS,aAAa,MAAU;AAC9B,MAAK,KAAK,SAAsB,YAAY;AAC1C;EACF;AAEA,QAAM,SAAkB,CAAA;AACvB,OAAK,SAAsB,aAAa,QAAQ,eAAY;AAC3D,UAAM,YAAY,UAAU,MAAM;AAClC,UAAM,QAAQ,IAAI,UAAU,UAAU,KAAK;AAC3C,WAAO,KAAK,KAAK;EACnB,CAAC;AACD,OAAK,SAAS,EAAC,OAAM,CAAC;AACxB;;;AD/WA,IAAAC,eAAkB;;;AEZlB,IAAAC,eAAkC;;;ACUlC,IAAqB,cAArB,MAAgC;;EAS9B,YAAY,OAA+B;AACzC,QAAI,CAAC,MAAM,IAAI;AACb,YAAM,IAAI,MAAM,8BAA8B;IAChD;AAEA,SAAK,KAAK,MAAM;AAChB,SAAK,OAAO;AACZ,SAAK,gBAAgB,MAAM,iBAAiB;AAC5C,SAAK,MAAM;AACX,SAAK,OAAO;AACZ,SAAK,QAAQ;EACf;;EAIA,MAAM,KAAU,IAA0B;AACxC,SAAK,MAAM;AACX,SAAK,OAAO,gBAAgB,EAAC,KAAK,IAAI,MAAM,KAAK,MAAM,KAAI,CAAC;AAC5D,aAAS,KAAK,MAAM,IAAI;EAC1B;EAEA,WAAQ;AACN,QAAI,KAAK,MAAM;AACb,kBAAY,KAAK,MAAM,IAAI;IAC7B;EACF;EAEA,SAAS,OAA+B;AAEtC,WAAO,OAAO,KAAK,OAAO,OAAO,EAAC,IAAI,KAAK,GAAE,CAAC;AAE9C,QAAI,KAAK,MAAM;AACb,kBAAY,KAAK,MAAM,IAAI;IAC7B;EACF;EAEA,OAAO,IAAI,kBAAgB;AACzB,cAAU,KAAK,MAAO,KAAK,KAAM,MAAM,gBAAgB;EACzD;;;;ADnDF,IAAM,sBAAsB;AAItB,SAAU,cACd,KACA,MACA,WACA,WAAsB;AAItB,MAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,SAAS,CAAC,IAAI,MAAM,SAAS;AACrD;EACF;AAEA,QAAM,aAAS,aAAAC,UAAQ,WAAW,OAAO;AAEzC,MAAI,cAAc,WAAW;AAE3B,UAAM,iBAAa,aAAAA,UAAQ,WAAW,OAAO;AAC7C,UAAM,eAAe,IAAI,IAAY,WAAW,IAAI,OAAK,EAAE,EAAE,CAAC;AAE9D,eAAW,SAAS,QAAQ;AAC1B,mBAAa,OAAO,MAAM,EAAE;IAC9B;AAEA,eAAW,MAAM,cAAc;AAC7B,UAAI,IAAI,SAAS,EAAE,GAAG;AACpB,YAAI,YAAY,EAAE;MACpB;IACF;EACF;AAGA,aAAW,SAAS,QAAQ;AAC1B,UAAM,cAAc,IAAI,SAAS,MAAM,EAAE;AACzC,QAAI,aAAa;AAGf,YAAM,gBAAgB,YAAY,kBAAkB;AACpD,oBAAc,SAAS,MAAM,KAAK;IACpC,OAAO;AACL,UAAI;QACF,IAAI,YAAY,EAAC,IAAI,MAAM,IAAI,KAAI,CAAC;;QAEpC,MAAM,MAAM;MAAQ;IAExB;EACF;AAOA,QAAM,YAAsB,IAAI,MAAM;AAGtC,QAAM,cAAwC,CAAA;AAC9C,aAAW,SAAS,QAAQ;AAE1B,QAAI,EAAC,SAAQ,IAAI,MAAM;AACvB,QAAI,CAAC,YAAY,CAAC,UAAU,SAAS,QAAQ,GAAG;AAC9C,iBAAW;IACb;AACA,gBAAY,QAAQ,IAAI,YAAY,QAAQ,KAAK,CAAA;AACjD,gBAAY,QAAQ,EAAE,KAAK,MAAM,EAAE;EACrC;AAEA,aAAW,YAAY,aAAa;AAClC,UAAM,aAAa,YAAY,QAAQ;AACvC,QAAI,iBACF,aAAa,sBAAsB,UAAU,SAAS,UAAU,QAAQ,QAAQ;AAClF,QAAI,cAAc,aAAa,sBAAsB,SAAY;AACjE,aAAS,IAAI,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;AAC/C,YAAM,UAAU,WAAW,CAAC;AAC5B,YAAM,aAAa,UAAU,QAAQ,OAAO;AAC5C,UAAI,eAAe,iBAAiB,GAAG;AACrC,YAAI,UAAU,SAAS,WAAW;AAClC,YAAI,aAAa,gBAAgB;AAE/B;QACF;MACF;AACA;AACA,oBAAc;IAChB;EACF;AACF;;;AF5DA,IAAqB,gBAArB,MAAkC;EAQhC,YAAY,OAAyB;AAqK7B,SAAA,qBAAqB,MAAK;AAChC,oBAAc,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,QAAQ,KAAK,OAAO,MAAM;IAC7E;AAEQ,SAAA,uBAAuB,MAAK;AAClC,UAAI,KAAK,QAAQ,KAAK,YAAY;AAChC,cAAM,EAAC,aAAa,aAAY,IAAI,KAAK,KAAK,aAAY;AAC1D,eAAO,OAAO,KAAK,WAAW,OAAO;UACnC,OAAO,GAAG;UACV,QAAQ,GAAG;SACZ;MACH;IACF;AAEQ,SAAA,mBAAmB,MAAK;AAC9B,YAAM,OAAO,KAAK;AAClB,YAAM,MAAM,KAAK;AACjB,UAAI,QAAQ,KAAK;AACf,aAAK,SAAS;UACZ,OAAO,KAAK,OAAO,SAAS,eAAe,GAAG;UAC9C,WAAW,aAAa,GAAG;SAC5B;AAED,YAAI,KAAK,eAAe;AACtB,eAAK,OAAM;QACb;MACF;IACF;AAGQ,SAAA,oBAAoB,CAAC,UAAwB;AACnD,YAAM,OAAO,KAAK;AAClB,UAAI,CAAC,QAAQ,CAAC,KAAK,eAAe;AAChC;MACF;AAEA,YAAM,YAOF;QACF,MAAM,MAAM;QACZ,cAAc,MAAM;QACpB,UAAU;;AAGZ,YAAM,WAAW,KAAK;AACtB,UAAI,CAAC,MAAM,SAAS,UAAU;AAE5B,kBAAU,SAAS,MAAM,cAAc,UAAU,SAAS;AAC1D,kBAAU,SAAS,MAAM,cAAc,UAAU,SAAS;AAC1D,kBAAU,eAAe;UACvB,GAAG,SAAS,IAAI,UAAU;UAC1B,GAAG,SAAS,IAAI,UAAU;;MAE9B;AAEA,cAAQ,UAAU,MAAM;QACtB,KAAK;AACH,eAAK,eAAe,SAA2C;AAC/D,eAAK,sBAAsB;YACzB,GAAG,MAAM;YACT,SAAS,MAAM,cAAc;YAC7B,SAAS,MAAM,cAAc;;AAE/B;QAEF,KAAK;AACH,oBAAU,OAAO;AACjB,eAAK,SAAS,SAA2C;AACzD;QAEF,KAAK;AACH,oBAAU,OAAO;AACjB,eAAK,SAAS,SAA2C;AACzD;QAEF,KAAK;AACH,oBAAU,OAAO;AACjB,eAAK,SAAS,SAA2C;AACzD;QAEF,KAAK;AACH,oBAAU,WAAW;AACrB,eAAK,SAAS,SAA2C;AACzD;QAEF,KAAK;AACH,oBAAU,OAAO;AACjB,oBAAU,WAAW;AACrB,eAAK,SAAS,SAA2C;AACzD;QAEF,KAAK;AACH,oBAAU,OAAO;AACjB,eAAK,eAAe,SAA2C;AAC/D;QAEF,KAAK;AACH,oBAAU,OAAO;AACjB,eAAK,eAAe,SAA2C;AAC/D;QAEF;AACE;MACJ;IACF;AAjRE,UAAM,EAAC,cAAc,OAAO,GAAG,WAAU,IAAI;AAC7C,SAAK,eAAe;AACpB,SAAK,SAAS;EAChB;;EAGA,SAAS,OAAyB;AAChC,QAAI,KAAK,gBAAgB,MAAM,QAAQ;AACrC,oBAAc,KAAK,MAAM,KAAK,OAAO,KAAK,OAAO,QAAQ,MAAM,MAAM;IACvE;AAEA,WAAO,OAAO,KAAK,QAAQ,KAAK;AAEhC,QAAI,KAAK,SAAS,KAAK,MAAM;AAC3B,WAAK,MAAM,SAAS;QAClB,GAAG,KAAK;QACR,YAAY;UACV,GAAG,qBAAqB,KAAK,MAAM,KAAK,YAAY;UACpD,GAAG,KAAK,OAAO;;OAElB;IACH;EACF;;EAGA,MAAM,KAAQ;AACZ,SAAK,OAAO;AACZ,WAAO,KAAK,eAAe,KAAK,kBAAkB,GAAG,IAAI,KAAK,eAAe,GAAG;EAClF;EAEQ,eAAe,KAAQ;AAE7B,UAAM,YAAY,SAAS,cAAc,KAAK;AAC9C,WAAO,OAAO,UAAU,OAAO;MAC7B,UAAU;MACV,MAAM;MACN,KAAK;MACL,WAAW;MACX,eAAe;KAChB;AACD,SAAK,aAAa;AAElB,SAAK,QAAQ,IAAI,kBAAU;MACzB,GAAG,KAAK;MACR,QAAQ;MACR,YAAY,EAAC,GAAG,qBAAqB,KAAK,KAAK,GAAG,GAAG,KAAK,OAAO,WAAU;MAC3E,OAAO,KAAK,OAAO,SAAS,eAAe,GAAG;MAC9C,WAAW,aAAa,GAAG;KAC5B;AAED,QAAI,GAAG,UAAU,KAAK,oBAAoB;AAC1C,QAAI,GAAG,UAAU,KAAK,gBAAgB;AACtC,QAAI,GAAG,aAAa,KAAK,iBAAiB;AAC1C,QAAI,GAAG,aAAa,KAAK,iBAAiB;AAC1C,QAAI,GAAG,QAAQ,KAAK,iBAAiB;AACrC,QAAI,GAAG,WAAW,KAAK,iBAAiB;AACxC,QAAI,GAAG,aAAa,KAAK,iBAAiB;AAC1C,QAAI,GAAG,YAAY,KAAK,iBAAiB;AACzC,QAAI,GAAG,SAAS,KAAK,iBAAiB;AACtC,QAAI,GAAG,YAAY,KAAK,iBAAiB;AAEzC,SAAK,qBAAoB;AACzB,WAAO;EACT;EAEQ,kBAAkB,KAAQ;AAEhC,UAAM,KAAK,IAAI,QAAQ,QAAQ;AAC/B,QAAI,cAAc,uBAAuB;AACvC,uBAAI,KACF,qGAAqG,EACtG;IACH;AACA,SAAK,QAAQ,gBAAgB;MAC3B;MACA;MACA,MAAM,IAAI,kBAAK;QACb,GAAG,KAAK;QACR;OACD;KACF;AAED,QAAI,GAAG,aAAa,KAAK,kBAAkB;AAC3C,kBAAc,KAAK,KAAK,OAAO,CAAA,GAAI,KAAK,OAAO,MAAM;AAErD,WAAO,SAAS,cAAc,KAAK;EACrC;;EAGA,WAAQ;AACN,UAAM,MAAM,KAAK;AAEjB,QAAI,KAAK;AACP,UAAI,KAAK,cAAc;AACrB,aAAK,qBAAqB,GAAG;MAC/B,OAAO;AACL,aAAK,kBAAkB,GAAG;MAC5B;IACF;AAEA,SAAK,QAAQ;AACb,SAAK,OAAO;AACZ,SAAK,aAAa;EACpB;EAEQ,kBAAkB,KAAQ;AAzJpC;AA0JI,QAAI,IAAI,UAAU,KAAK,oBAAoB;AAC3C,QAAI,IAAI,UAAU,KAAK,gBAAgB;AACvC,QAAI,IAAI,aAAa,KAAK,iBAAiB;AAC3C,QAAI,IAAI,aAAa,KAAK,iBAAiB;AAC3C,QAAI,IAAI,QAAQ,KAAK,iBAAiB;AACtC,QAAI,IAAI,WAAW,KAAK,iBAAiB;AACzC,QAAI,IAAI,aAAa,KAAK,iBAAiB;AAC3C,QAAI,IAAI,YAAY,KAAK,iBAAiB;AAC1C,QAAI,IAAI,SAAS,KAAK,iBAAiB;AACvC,QAAI,IAAI,YAAY,KAAK,iBAAiB;AAC1C,eAAK,UAAL,mBAAY;EACd;EAEQ,qBAAqB,KAAQ;AACnC,QAAI,IAAI,aAAa,KAAK,kBAAkB;AAC5C,kBAAc,KAAK,KAAK,OAAO,KAAK,OAAO,QAAQ,CAAA,CAAE;AACrD,uBAAmB,GAAG;EACxB;EAEA,qBAAkB;AAChB,WAAO;EACT;;EAGA,WAAW,QAAyC;AAClD,6BAAO,KAAK,KAAK;AACjB,WAAO,KAAK,MAAM,WAAW,MAAM;EACrC;;EAGA,oBACE,QAAkD;AAElD,6BAAO,KAAK,KAAK;AACjB,WAAO,KAAK,MAAM,oBAAoB,MAAM;EAC9C;;EAGA,YAAY,QAA0C;AACpD,6BAAO,KAAK,KAAK;AACjB,WAAO,KAAK,MAAM,YAAY,MAAM;EACtC;;EAGA,WAAQ;AACN,QAAI,KAAK,MAAM;AACb,WAAK,KAAK,cAAc,IAAI;IAC9B;EACF;;EAGA,YAAS;AACP,QAAI,CAAC,KAAK,MAAM;AACd,aAAO;IACT;AACA,WAAO,KAAK,eAAe,KAAK,KAAK,UAAS,IAAK,KAAK,MAAO,UAAS;EAC1E;;",
6
+ "names": ["import_core", "GlobeView", "flatten", "import_core", "import_core", "flatten"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,4BAAyB;AAE1D,YAAY,EAAC,kBAAkB,EAAC,4BAAyB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,4BAAyB;AAE1D,YAAY,EAAC,kBAAkB,EAAC,4BAAyB"}
package/dist/index.js CHANGED
@@ -1 +1,5 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  export { default as MapboxOverlay } from "./mapbox-overlay.js";
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,4BAAyB"}
@@ -16,6 +16,6 @@ export default class MapboxLayer<LayerT extends Layer> implements CustomLayerInt
16
16
  onAdd(map: Map, gl: WebGL2RenderingContext): void;
17
17
  onRemove(): void;
18
18
  setProps(props: MapboxLayerProps<LayerT>): void;
19
- render(): void;
19
+ render(gl: any, renderParameters: any): void;
20
20
  }
21
21
  //# sourceMappingURL=mapbox-layer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mapbox-layer.d.ts","sourceRoot":"","sources":["../src/mapbox-layer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,GAAG,EAAE,oBAAoB,EAAC,mBAAgB;AACvD,OAAO,KAAK,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AAE/C,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,MAAM,SAAS,KAAK,CAAE,YAAW,oBAAoB;IACpF,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAChB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAGpB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAe3C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,sBAAsB,GAAG,IAAI;IAMjD,QAAQ,IAAI,IAAI;IAMhB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;IASxC,MAAM;CAGP"}
1
+ {"version":3,"file":"mapbox-layer.d.ts","sourceRoot":"","sources":["../src/mapbox-layer.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,GAAG,EAAE,oBAAoB,EAAC,mBAAgB;AACvD,OAAO,KAAK,EAAC,IAAI,EAAE,KAAK,EAAC,MAAM,eAAe,CAAC;AAE/C,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG;IAC9E,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,IAAI,CAAC;CACb,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,MAAM,SAAS,KAAK,CAAE,YAAW,oBAAoB;IACpF,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,GAAG,EAAE,GAAG,GAAG,IAAI,CAAC;IAChB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC;gBAGpB,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;IAe3C,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,sBAAsB,GAAG,IAAI;IAMjD,QAAQ,IAAI,IAAI;IAMhB,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;IASxC,MAAM,CAAC,EAAE,KAAA,EAAE,gBAAgB,KAAA;CAG5B"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { getDeckInstance, addLayer, removeLayer, updateLayer, drawLayer } from "./deck-utils.js";
2
5
  export default class MapboxLayer {
3
6
  /* eslint-disable no-this-before-super */
@@ -31,7 +34,8 @@ export default class MapboxLayer {
31
34
  updateLayer(this.deck, this);
32
35
  }
33
36
  }
34
- render() {
35
- drawLayer(this.deck, this.map, this);
37
+ render(gl, renderParameters) {
38
+ drawLayer(this.deck, this.map, this, renderParameters);
36
39
  }
37
40
  }
41
+ //# sourceMappingURL=mapbox-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapbox-layer.js","sourceRoot":"","sources":["../src/mapbox-layer.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,eAAe,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAC,wBAAqB;AAU5F,MAAM,CAAC,OAAO,OAAO,WAAW;IAQ9B,yCAAyC;IACzC,YAAY,KAA+B;QACzC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,IAAI,CAAC;QACjD,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,iCAAiC;IAEjC,KAAK,CAAC,GAAQ,EAAE,EAA0B;QACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,EAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAC,CAAC,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAA+B;QACtC,uBAAuB;QACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,EAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAC,CAAC,CAAC;QAChD,qDAAqD;QACrD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,EAAE,EAAE,gBAAgB;QACzB,SAAS,CAAC,IAAI,CAAC,IAAK,EAAE,IAAI,CAAC,GAAI,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC3D,CAAC;CACF"}
@@ -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,EAAiB,eAAe,EAAC,mBAAgB;AAE3E,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,IAAI,eAAe;IAIrC,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":"AAIA,OAAO,EAAC,IAAI,EAAS,MAAM,eAAe,CAAC;AAS3C,OAAO,KAAK,EAAC,GAAG,EAAE,QAAQ,EAAiB,eAAe,EAAC,mBAAgB;AAE3E,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,CAAY;IAC1B,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;IAkBzC,gDAAgD;IAChD,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,cAAc;IAK/B,OAAO,CAAC,cAAc;IAmCtB,OAAO,CAAC,iBAAiB;IAuBzB,oDAAoD;IACpD,QAAQ,IAAI,IAAI;IAgBhB,OAAO,CAAC,iBAAiB;IAczB,OAAO,CAAC,oBAAoB;IAM5B,kBAAkB,IAAI,eAAe;IAIrC,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,CAatB;IAGF,OAAO,CAAC,iBAAiB,CA+EvB;CACH"}
@@ -1,5 +1,8 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { Deck, assert } from '@deck.gl/core';
2
- import { getViewState, getDeckInstance, removeDeckInstance, getInterleavedProps } from "./deck-utils.js";
5
+ import { getViewState, getDefaultView, getDeckInstance, removeDeckInstance, getDefaultParameters } from "./deck-utils.js";
3
6
  import { log } from '@deck.gl/core';
4
7
  import { resolveLayers } from "./resolve-layers.js";
5
8
  /**
@@ -22,9 +25,12 @@ export default class MapboxOverlay {
22
25
  };
23
26
  this._updateViewState = () => {
24
27
  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
+ const map = this._map;
29
+ if (deck && map) {
30
+ deck.setProps({
31
+ views: this._props.views || getDefaultView(map),
32
+ viewState: getViewState(map)
33
+ });
28
34
  // Redraw immediately if view state has changed
29
35
  if (deck.isInitialized) {
30
36
  deck.redraw();
@@ -104,8 +110,14 @@ export default class MapboxOverlay {
104
110
  resolveLayers(this._map, this._deck, this._props.layers, props.layers);
105
111
  }
106
112
  Object.assign(this._props, props);
107
- if (this._deck) {
108
- this._deck.setProps(this._interleaved ? getInterleavedProps(this._props) : this._props);
113
+ if (this._deck && this._map) {
114
+ this._deck.setProps({
115
+ ...this._props,
116
+ parameters: {
117
+ ...getDefaultParameters(this._map, this._interleaved),
118
+ ...this._props.parameters
119
+ }
120
+ });
109
121
  }
110
122
  }
111
123
  /** Called when the control is added to a map */
@@ -127,6 +139,8 @@ export default class MapboxOverlay {
127
139
  this._deck = new Deck({
128
140
  ...this._props,
129
141
  parent: container,
142
+ parameters: { ...getDefaultParameters(map, false), ...this._props.parameters },
143
+ views: this._props.views || getDefaultView(map),
130
144
  viewState: getViewState(map)
131
145
  });
132
146
  map.on('resize', this._updateContainerSize);
@@ -225,3 +239,4 @@ export default class MapboxOverlay {
225
239
  return this._interleaved ? this._map.getCanvas() : this._deck.getCanvas();
226
240
  }
227
241
  }
242
+ //# sourceMappingURL=mapbox-overlay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapbox-overlay.js","sourceRoot":"","sources":["../src/mapbox-overlay.ts"],"names":[],"mappings":"AAAA,UAAU;AACV,+BAA+B;AAC/B,oCAAoC;AAEpC,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACrB,wBAAqB;AAKtB,OAAO,EAAC,GAAG,EAAC,MAAM,eAAe,CAAC;AAElC,OAAO,EAAC,aAAa,EAAC,4BAAyB;AAiB/C;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,aAAa;IAQhC,YAAY,KAAyB;QAqK7B,uBAAkB,GAAG,GAAG,EAAE;YAChC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/E,CAAC,CAAC;QAEM,yBAAoB,GAAG,GAAG,EAAE;YAClC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjC,MAAM,EAAC,WAAW,EAAE,YAAY,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC7D,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;oBACnC,KAAK,EAAE,GAAG,WAAW,IAAI;oBACzB,MAAM,EAAE,GAAG,YAAY,IAAI;iBAC5B,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,GAAG,EAAE;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,QAAQ,CAAC;oBACZ,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC;oBAC/C,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC;iBAC7B,CAAC,CAAC;gBACH,+CAA+C;gBAC/C,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,sCAAsC;QAC9B,sBAAiB,GAAG,CAAC,KAAoB,EAAE,EAAE;YACnD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC;YACxB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YAED,MAAM,SAAS,GAOX;gBACF,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,YAAY,EAAE,KAAK,CAAC,KAAK;gBACzB,QAAQ,EAAE,KAAK;aAChB,CAAC;YAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC7B,8CAA8C;gBAC9C,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAClE,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;gBAClE,SAAS,CAAC,YAAY,GAAG;oBACvB,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM;oBAChC,CAAC,EAAE,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM;iBACjC,CAAC;YACJ,CAAC;YAED,QAAQ,SAAS,CAAC,IAAI,EAAE,CAAC;gBACvB,KAAK,WAAW;oBACd,IAAI,CAAC,cAAc,CAAC,SAA2C,CAAC,CAAC;oBACjE,IAAI,CAAC,mBAAmB,GAAG;wBACzB,GAAG,KAAK,CAAC,KAAK;wBACd,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO;wBACpC,OAAO,EAAE,KAAK,CAAC,aAAa,CAAC,OAAO;qBACrC,CAAC;oBACF,MAAM;gBAER,KAAK,WAAW;oBACd,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;oBAC5B,IAAI,CAAC,QAAQ,CAAC,SAA2C,CAAC,CAAC;oBAC3D,MAAM;gBAER,KAAK,MAAM;oBACT,SAAS,CAAC,IAAI,GAAG,SAAS,CAAC;oBAC3B,IAAI,CAAC,QAAQ,CAAC,SAA2C,CAAC,CAAC;oBAC3D,MAAM;gBAER,KAAK,SAAS;oBACZ,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;oBAC1B,IAAI,CAAC,QAAQ,CAAC,SAA2C,CAAC,CAAC;oBAC3D,MAAM;gBAER,KAAK,OAAO;oBACV,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,SAA2C,CAAC,CAAC;oBAC3D,MAAM;gBAER,KAAK,UAAU;oBACb,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;oBACzB,SAAS,CAAC,QAAQ,GAAG,CAAC,CAAC;oBACvB,IAAI,CAAC,QAAQ,CAAC,SAA2C,CAAC,CAAC;oBAC3D,MAAM;gBAER,KAAK,WAAW;oBACd,SAAS,CAAC,IAAI,GAAG,aAAa,CAAC;oBAC/B,IAAI,CAAC,cAAc,CAAC,SAA2C,CAAC,CAAC;oBACjE,MAAM;gBAER,KAAK,UAAU;oBACb,SAAS,CAAC,IAAI,GAAG,cAAc,CAAC;oBAChC,IAAI,CAAC,cAAc,CAAC,SAA2C,CAAC,CAAC;oBACjE,MAAM;gBAER;oBACE,OAAO;YACX,CAAC;QACH,CAAC,CAAC;QAjRA,MAAM,EAAC,WAAW,GAAG,KAAK,EAAE,GAAG,UAAU,EAAC,GAAG,KAAK,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;IAC3B,CAAC;IAED,8DAA8D;IAC9D,QAAQ,CAAC,KAAyB;QAChC,IAAI,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACtC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC;QAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAClB,GAAG,IAAI,CAAC,MAAM;gBACd,UAAU,EAAE;oBACV,GAAG,oBAAoB,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC;oBACrD,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU;iBAC1B;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,gDAAgD;IAChD,KAAK,CAAC,GAAQ;QACZ,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IACpF,CAAC;IAEO,cAAc,CAAC,GAAQ;QAC7B,qBAAqB;QACrB,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE;YAC7B,QAAQ,EAAE,UAAU;YACpB,IAAI,EAAE,CAAC;YACP,GAAG,EAAE,CAAC;YACN,SAAS,EAAE,SAAS;YACpB,aAAa,EAAE,MAAM;SACtB,CAAC,CAAC;QACH,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAE5B,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAM;YACzB,GAAG,IAAI,CAAC,MAAM;YACd,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,EAAC,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAC;YAC5E,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,GAAG,CAAC;YAC/C,SAAS,EAAE,YAAY,CAAC,GAAG,CAAC;SAC7B,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvC,GAAG,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC1C,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5C,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3C,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE3C,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,iBAAiB,CAAC,GAAQ;QAChC,qCAAqC;QACrC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAClC,IAAI,EAAE,YAAY,qBAAqB,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CACN,qGAAqG,CACtG,EAAE,CAAC;QACN,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,eAAe,CAAC;YAC3B,GAAG;YACH,EAAE;YACF,IAAI,EAAE,IAAI,IAAI,CAAC;gBACb,GAAG,IAAI,CAAC,MAAM;gBACd,EAAE;aACH,CAAC;SACH,CAAC,CAAC;QAEH,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC7C,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEvD,OAAO,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,oDAAoD;IACpD,QAAQ;QACN,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QAEtB,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;IAC9B,CAAC;IAEO,iBAAiB,CAAC,GAAQ;QAChC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACxC,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC3C,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC7C,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5C,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACzC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;IACzB,CAAC;IAEO,oBAAoB,CAAC,GAAQ;QACnC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC9C,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACvD,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC1B,CAAC;IAED,kBAAkB;QAChB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,0CAA0C;IAC1C,UAAU,CAAC,MAAyC;QAClD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,mDAAmD;IACnD,mBAAmB,CACjB,MAAkD;QAElD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,2CAA2C;IAC3C,WAAW,CAAC,MAA0C;QACpD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAED,iDAAiD;IACjD,QAAQ;QACN,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,qGAAqG;IACrG,SAAS;QACP,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAM,CAAC,SAAS,EAAE,CAAC;IAC7E,CAAC;CAgHF"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolve-layers.d.ts","sourceRoot":"","sources":["../src/resolve-layers.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAC,IAAI,EAAE,UAAU,EAAQ,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAC,GAAG,EAAC,mBAAgB;AAIjC,iFAAiF;AAEjF,wBAAgB,aAAa,CAC3B,GAAG,CAAC,EAAE,GAAG,EACT,IAAI,CAAC,EAAE,IAAI,EACX,SAAS,CAAC,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,QAiFvB"}
1
+ {"version":3,"file":"resolve-layers.d.ts","sourceRoot":"","sources":["../src/resolve-layers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,IAAI,EAAE,UAAU,EAAQ,MAAM,eAAe,CAAC;AAC3D,OAAO,KAAK,EAAC,GAAG,EAAC,mBAAgB;AAIjC,iFAAiF;AAEjF,wBAAgB,aAAa,CAC3B,GAAG,CAAC,EAAE,GAAG,EACT,IAAI,CAAC,EAAE,IAAI,EACX,SAAS,CAAC,EAAE,UAAU,EACtB,SAAS,CAAC,EAAE,UAAU,QAiFvB"}
@@ -1,3 +1,6 @@
1
+ // deck.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
1
4
  import { _flatten as flatten } from '@deck.gl/core';
2
5
  import MapboxLayer from "./mapbox-layer.js";
3
6
  const UNDEFINED_BEFORE_ID = '__UNDEFINED__';
@@ -74,3 +77,4 @@ export function resolveLayers(map, deck, oldLayers, newLayers) {
74
77
  }
75
78
  }
76
79
  }
80
+ //# sourceMappingURL=resolve-layers.js.map