@deck.gl/arcgis 9.0.5 → 9.0.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"commons.d.ts","sourceRoot":"","sources":["../src/commons.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAW,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,KAAK,EAAS,OAAO,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAEhE,UAAU,QAAQ;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AAiCF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,QAAQ,EACd,EAAE,EAAE,sBAAsB,GACzB,OAAO,CAAC,eAAe,CAAC,CAkF1B;AAED,wBAAgB,MAAM,CACpB,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE;IACR,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,QAgCF;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe,QAK3D"}
1
+ {"version":3,"file":"commons.d.ts","sourceRoot":"","sources":["../src/commons.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,KAAK,EAAW,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,IAAI,EAAC,MAAM,eAAe,CAAC;AACnC,OAAO,KAAK,EAAS,OAAO,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AAEhE,UAAU,QAAQ;IAChB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,WAAW,CAAC;CAClB,CAAC;AA8BF,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,QAAQ,EACd,EAAE,EAAE,sBAAsB,GACzB,OAAO,CAAC,eAAe,CAAC,CAkF1B;AAED,wBAAgB,MAAM,CACpB,SAAS,EAAE,eAAe,EAC1B,QAAQ,EAAE;IACR,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB,QAgCF;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,eAAe,QAK3D"}
package/dist/commons.js CHANGED
@@ -5,8 +5,6 @@ import { Deck } from '@deck.gl/core';
5
5
  async function createDeckInstance(gl) {
6
6
  return new Promise(resolve => {
7
7
  const deckInstance = new Deck({
8
- // The view state will be set dynamically to track the MapView current extent.
9
- viewState: {},
10
8
  // Input is handled by the ArcGIS API for JavaScript.
11
9
  controller: false,
12
10
  // We use the same WebGL context as the ArcGIS API for JavaScript.
package/dist/dist.dev.js CHANGED
@@ -351,7 +351,6 @@ var __exports__ = (() => {
351
351
  async function createDeckInstance(gl) {
352
352
  return new Promise((resolve) => {
353
353
  const deckInstance = new import_core2.Deck({
354
- viewState: {},
355
354
  controller: false,
356
355
  gl,
357
356
  parameters: {
package/dist/index.cjs CHANGED
@@ -117,7 +117,6 @@ var import_core = require("@deck.gl/core");
117
117
  async function createDeckInstance(gl) {
118
118
  return new Promise((resolve) => {
119
119
  const deckInstance = new import_core.Deck({
120
- viewState: {},
121
120
  controller: false,
122
121
  gl,
123
122
  parameters: {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["index.js", "deck-props.js", "deck-layer.js", "commons.js", "deck-layer-view-2d.js", "deck-renderer.js", "load-modules.js"],
4
- "sourcesContent": ["import createDeckProps from \"./deck-props.js\";\nimport createDeckLayer from \"./deck-layer.js\";\nimport createDeckLayerView2D from \"./deck-layer-view-2d.js\";\nimport createDeckRenderer from \"./deck-renderer.js\";\nimport Accessor from '@arcgis/core/core/Accessor';\nimport Layer from '@arcgis/core/layers/Layer';\nimport BaseLayerViewGL2D from '@arcgis/core/views/2d/layers/BaseLayerViewGL2D';\nimport * as externalRenderers from '@arcgis/core/views/3d/externalRenderers';\n// require-style loader\nexport { loadArcGISModules } from \"./load-modules.js\";\n// ESM-style classes\nconst DeckProps = createDeckProps(Accessor);\nconst DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\nexport const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\nexport const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n", "const properties = {\n layers: {},\n layerFilter: {},\n parameters: {},\n effects: {},\n pickingRadius: {},\n onBeforeRender: {},\n onAfterRender: {},\n onClick: {},\n onHover: {},\n onDragStart: {},\n onDrag: {},\n onDragEnd: {},\n onError: {},\n debug: {},\n drawPickingColors: {},\n getCursor: {},\n getTooltip: {}\n};\n/* eslint-disable callback-return */\nexport default function createDeckProps(Accessor) {\n const DeckProps = Accessor.createSubclass({\n properties,\n constructor() {\n this._callbacks = {};\n this.watch(Object.keys(properties), (newValue, oldValue, propName) => {\n this.emit('change', { [propName]: newValue });\n });\n },\n on(eventName, cb) {\n this._callbacks[eventName] = this._callbacks[eventName] || [];\n this._callbacks[eventName].push(cb);\n },\n emit(eventName, details) {\n const callbacks = this._callbacks[eventName];\n if (callbacks) {\n for (const cb of callbacks) {\n cb(details);\n }\n }\n },\n toJSON() {\n const result = {};\n for (const key of this.keys()) {\n if (this[key] !== undefined) {\n result[key] = this[key];\n }\n }\n return result;\n }\n });\n return DeckProps;\n}\n", "export default function createDeckLayer(DeckProps, Layer, DeckLayerView2D) {\n // A layer that displays inside a MapView using an instance\n // of the layer view defined above.\n return Layer.createSubclass({\n properties: {\n deck: {},\n blendMode: {},\n effect: {}\n },\n constructor() {\n this.deck = new DeckProps();\n },\n // Called by the MapView whenever a layer view\n // needs to be created for a given layer.\n createLayerView(view) {\n if (view.type === '2d') {\n return new DeckLayerView2D({\n view,\n layer: this\n });\n }\n // eslint-disable-next-line\n console.error('DeckLayer does not support SceneView at the moment. Use DeckRenderer instead.');\n return null;\n }\n });\n}\n", "/* eslint-disable no-invalid-this */\nimport { GL } from '@luma.gl/constants';\nimport { Model, Geometry } from '@luma.gl/engine';\nimport { Deck } from '@deck.gl/core';\nasync function createDeckInstance(gl) {\n return new Promise(resolve => {\n const deckInstance = new Deck({\n // The view state will be set dynamically to track the MapView current extent.\n viewState: {},\n // Input is handled by the ArcGIS API for JavaScript.\n controller: false,\n // We use the same WebGL context as the ArcGIS API for JavaScript.\n gl,\n // We need depth testing in general; we don't know what layers might be added to the deck.\n parameters: {\n depthCompare: 'less-equal'\n },\n // To disable canvas resizing, since the FBO is owned by the ArcGIS API for JavaScript.\n width: null,\n height: null,\n onDeviceInitialized: (device) => {\n resolve({ deckInstance, device });\n }\n });\n });\n}\nexport async function initializeResources(gl) {\n const { deckInstance, device } = await createDeckInstance(gl);\n const texture = device.createTexture({\n format: 'rgba8unorm',\n width: 1,\n height: 1,\n sampler: {\n minFilter: 'linear',\n magFilter: 'linear',\n addressModeU: 'clamp-to-edge',\n addressModeV: 'clamp-to-edge'\n }\n });\n const model = new Model(device, {\n vs: `\\\n#version 300 es\nin vec2 pos;\nout vec2 v_texcoord;\nvoid main(void) {\n gl_Position = vec4(pos, 0.0, 1.0);\n v_texcoord = (pos + 1.0) / 2.0;\n}\n `,\n fs: `\\\n#version 300 es\nprecision mediump float;\nuniform sampler2D deckglTexture;\nin vec2 v_texcoord;\nout vec4 fragColor;\n\nvoid main(void) {\n vec4 imageColor = texture(deckglTexture, v_texcoord);\n imageColor.rgb *= imageColor.a;\n fragColor = imageColor;\n}\n `,\n bindings: {\n deckglTexture: texture\n },\n parameters: {\n depthWriteEnabled: true,\n depthCompare: 'less-equal',\n blendColorSrcFactor: 'one',\n blendColorDstFactor: 'one-minus-src-alpha',\n blendAlphaSrcFactor: 'one',\n blendAlphaDstFactor: 'one-minus-src-alpha',\n blendColorOperation: 'add',\n blendAlphaOperation: 'add'\n },\n geometry: new Geometry({\n topology: 'triangle-strip',\n attributes: {\n pos: { size: 2, value: new Int8Array([-1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1]) }\n }\n }),\n vertexCount: 6\n });\n const fbo = device.createFramebuffer({\n id: 'deckfbo',\n width: 1,\n height: 1,\n colorAttachments: [texture],\n depthStencilAttachment: 'depth16unorm'\n });\n deckInstance.setProps({\n // This deck renders into an auxiliary framebuffer.\n _framebuffer: fbo,\n _customRender: redrawReason => {\n if (redrawReason === 'arcgis') {\n deckInstance._drawLayers(redrawReason);\n }\n else {\n this.redraw();\n }\n }\n });\n return { deck: deckInstance, texture, fbo, model };\n}\nexport function render(resources, viewport) {\n const { model, deck, fbo } = resources;\n const device = model.device;\n // @ts-ignore device.getParametersWebGL should return `any` not `void`?\n const screenFbo = device.getParametersWebGL(36006);\n const { width, height, ...viewState } = viewport;\n /* global window */\n const dpr = window.devicePixelRatio;\n const pixelWidth = Math.round(width * dpr);\n const pixelHeight = Math.round(height * dpr);\n fbo.resize({ width: pixelWidth, height: pixelHeight });\n deck.setProps({ viewState });\n // redraw deck immediately into deckFbo\n deck.redraw('arcgis');\n // We overlay the texture on top of the map using the full-screen quad.\n const textureToScreenPass = device.beginRenderPass({\n framebuffer: screenFbo,\n parameters: { viewport: [0, 0, pixelWidth, pixelHeight] },\n clearColor: false,\n clearDepth: false\n });\n try {\n model.draw(textureToScreenPass);\n }\n finally {\n textureToScreenPass.end();\n }\n}\nexport function finalizeResources(resources) {\n resources.deck.finalize();\n resources.model.destroy();\n resources.fbo.destroy();\n resources.texture.destroy();\n}\n", "import { initializeResources, render, finalizeResources } from \"./commons.js\";\nexport default function createDeckLayerView2D(BaseLayerViewGL2D) {\n return BaseLayerViewGL2D.createSubclass({\n properties: {\n cancelInitialization: null,\n resources: null\n },\n // Attach is called as soon as the layer view is ready to start rendering.\n async attach() {\n // We use a full-screen quad and shaders to composite the frame rendered\n // with deck.gl on top of the MapView. Composition uses the MapView context.\n const gl = this.context;\n let cancelled = false;\n this.cancelInitialization = () => (cancelled = true);\n const resources = await initializeResources.call(this, gl);\n // If the layer got detached while awaiting, do not proceed\n if (cancelled) {\n finalizeResources(resources);\n return;\n }\n this.resources = resources;\n // Update deck props\n this.layer.deck.on('change', props => resources.deck.setProps(props));\n // We need to start drawing the deck.gl layer immediately.\n resources.deck.setProps(this.layer.deck.toJSON());\n },\n redraw() {\n this.requestRender();\n },\n // Called when the layer must be destroyed.\n detach() {\n this.cancelInitialization?.();\n if (this.resources) {\n finalizeResources(this.resources);\n this.resources = null;\n }\n },\n // Called every time that the layer view must be rendered.\n render(renderParameters) {\n if (!this.resources) {\n return;\n }\n const [width, height] = this.view.state.size;\n // The view state must be kept in-sync with the MapView of the ArcGIS API.\n const state = renderParameters.state;\n render(this.resources, {\n width,\n height,\n latitude: this.view.center.latitude,\n longitude: this.view.center.longitude,\n zoom: this.view.featuresTilingScheme.scaleToLevel(state.scale),\n bearing: -state.rotation,\n pitch: 0\n });\n }\n });\n}\n", "/* eslint-disable no-invalid-this */\nimport { initializeResources, render, finalizeResources } from \"./commons.js\";\n/** Convert ArcGIS FOV to WebMercatorViewport altitude */\nfunction arcgisFOVToDeckAltitude(fov, aspectRatio) {\n // ArcGIS fov is corner-to-corner\n const D = Math.sqrt(1 + aspectRatio ** 2);\n const halfFOV = (fov / 2 / 180) * Math.PI;\n return D / 2 / Math.tan(halfFOV);\n}\nexport default function createDeckRenderer(DeckProps, externalRenderers) {\n class DeckRenderer {\n constructor(view, props) {\n this.resources = null;\n this.cancelInitialization = null;\n this.view = view;\n this.deck = new DeckProps(props);\n }\n async setup(context) {\n const gl = context.gl;\n let cancelled = false;\n this.cancelInitialization = () => (cancelled = true);\n const resources = await initializeResources.call(this, gl);\n // If the renderer got disposed while awaiting, do not proceed\n if (cancelled) {\n finalizeResources(resources);\n return;\n }\n this.deck.on('change', props => resources.deck.setProps(props));\n resources.deck.setProps(this.deck.toJSON());\n this.resources = resources;\n }\n dispose() {\n this.cancelInitialization?.();\n if (this.resources) {\n finalizeResources(this.resources);\n }\n }\n redraw() {\n externalRenderers.requestRender(this.view);\n }\n render() {\n const [width, height] = this.view.size;\n render(this.resources, {\n width,\n height,\n latitude: this.view.center.latitude,\n longitude: this.view.center.longitude,\n altitude: arcgisFOVToDeckAltitude(this.view.camera.fov, width / height),\n zoom: this.view.zoom,\n bearing: this.view.camera.heading,\n pitch: this.view.camera.tilt\n });\n }\n }\n return DeckRenderer;\n}\n", "import createDeckProps from \"./deck-props.js\";\nimport createDeckLayer from \"./deck-layer.js\";\nimport createDeckLayerView2D from \"./deck-layer-view-2d.js\";\nimport createDeckRenderer from \"./deck-renderer.js\";\nimport { loadModules as esriLoaderLoadModules } from 'esri-loader';\nlet arcGIS;\nexport async function loadArcGISModules(modules, loadScriptOptions) {\n const namespace = Array.isArray(modules) ? null : modules;\n await loadArcGISModule(namespace, loadScriptOptions);\n if (Array.isArray(modules)) {\n return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {\n return { ...arcGIS, modules: array };\n });\n }\n return arcGIS;\n}\nasync function loadArcGISModule(esri, loadScriptOptions) {\n if (arcGIS) {\n // Already loaded\n return arcGIS;\n }\n if (esri) {\n // Using user-provided dependencies\n // Right now this object has to be manually assembled - let @arcgis/webpack-plugin handle this?\n const Layer = esri.layers.Layer;\n const Accessor = esri.core.Accessor;\n const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;\n const externalRenderers = esri.views['3d'].externalRenderers;\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n }\n const [Layer, Accessor, BaseLayerViewGL2D, externalRenderers] = await esriLoaderLoadModules([\n 'esri/layers/Layer',\n 'esri/core/Accessor',\n 'esri/views/2d/layers/BaseLayerViewGL2D',\n 'esri/views/3d/externalRenderers'\n ], loadScriptOptions);\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n}\nfunction initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {\n const DeckProps = createDeckProps(Accessor);\n const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\n const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\n const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n arcGIS = { DeckLayer, DeckRenderer };\n return arcGIS;\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import createDeckProps from \"./deck-props.js\";\nimport createDeckLayer from \"./deck-layer.js\";\nimport createDeckLayerView2D from \"./deck-layer-view-2d.js\";\nimport createDeckRenderer from \"./deck-renderer.js\";\nimport Accessor from '@arcgis/core/core/Accessor';\nimport Layer from '@arcgis/core/layers/Layer';\nimport BaseLayerViewGL2D from '@arcgis/core/views/2d/layers/BaseLayerViewGL2D';\nimport * as externalRenderers from '@arcgis/core/views/3d/externalRenderers';\n// require-style loader\nexport { loadArcGISModules } from \"./load-modules.js\";\n// ESM-style classes\nconst DeckProps = createDeckProps(Accessor);\nconst DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\nexport const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\nexport const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n", "const properties = {\n layers: {},\n layerFilter: {},\n parameters: {},\n effects: {},\n pickingRadius: {},\n onBeforeRender: {},\n onAfterRender: {},\n onClick: {},\n onHover: {},\n onDragStart: {},\n onDrag: {},\n onDragEnd: {},\n onError: {},\n debug: {},\n drawPickingColors: {},\n getCursor: {},\n getTooltip: {}\n};\n/* eslint-disable callback-return */\nexport default function createDeckProps(Accessor) {\n const DeckProps = Accessor.createSubclass({\n properties,\n constructor() {\n this._callbacks = {};\n this.watch(Object.keys(properties), (newValue, oldValue, propName) => {\n this.emit('change', { [propName]: newValue });\n });\n },\n on(eventName, cb) {\n this._callbacks[eventName] = this._callbacks[eventName] || [];\n this._callbacks[eventName].push(cb);\n },\n emit(eventName, details) {\n const callbacks = this._callbacks[eventName];\n if (callbacks) {\n for (const cb of callbacks) {\n cb(details);\n }\n }\n },\n toJSON() {\n const result = {};\n for (const key of this.keys()) {\n if (this[key] !== undefined) {\n result[key] = this[key];\n }\n }\n return result;\n }\n });\n return DeckProps;\n}\n", "export default function createDeckLayer(DeckProps, Layer, DeckLayerView2D) {\n // A layer that displays inside a MapView using an instance\n // of the layer view defined above.\n return Layer.createSubclass({\n properties: {\n deck: {},\n blendMode: {},\n effect: {}\n },\n constructor() {\n this.deck = new DeckProps();\n },\n // Called by the MapView whenever a layer view\n // needs to be created for a given layer.\n createLayerView(view) {\n if (view.type === '2d') {\n return new DeckLayerView2D({\n view,\n layer: this\n });\n }\n // eslint-disable-next-line\n console.error('DeckLayer does not support SceneView at the moment. Use DeckRenderer instead.');\n return null;\n }\n });\n}\n", "/* eslint-disable no-invalid-this */\nimport { GL } from '@luma.gl/constants';\nimport { Model, Geometry } from '@luma.gl/engine';\nimport { Deck } from '@deck.gl/core';\nasync function createDeckInstance(gl) {\n return new Promise(resolve => {\n const deckInstance = new Deck({\n // Input is handled by the ArcGIS API for JavaScript.\n controller: false,\n // We use the same WebGL context as the ArcGIS API for JavaScript.\n gl,\n // We need depth testing in general; we don't know what layers might be added to the deck.\n parameters: {\n depthCompare: 'less-equal'\n },\n // To disable canvas resizing, since the FBO is owned by the ArcGIS API for JavaScript.\n width: null,\n height: null,\n onDeviceInitialized: (device) => {\n resolve({ deckInstance, device });\n }\n });\n });\n}\nexport async function initializeResources(gl) {\n const { deckInstance, device } = await createDeckInstance(gl);\n const texture = device.createTexture({\n format: 'rgba8unorm',\n width: 1,\n height: 1,\n sampler: {\n minFilter: 'linear',\n magFilter: 'linear',\n addressModeU: 'clamp-to-edge',\n addressModeV: 'clamp-to-edge'\n }\n });\n const model = new Model(device, {\n vs: `\\\n#version 300 es\nin vec2 pos;\nout vec2 v_texcoord;\nvoid main(void) {\n gl_Position = vec4(pos, 0.0, 1.0);\n v_texcoord = (pos + 1.0) / 2.0;\n}\n `,\n fs: `\\\n#version 300 es\nprecision mediump float;\nuniform sampler2D deckglTexture;\nin vec2 v_texcoord;\nout vec4 fragColor;\n\nvoid main(void) {\n vec4 imageColor = texture(deckglTexture, v_texcoord);\n imageColor.rgb *= imageColor.a;\n fragColor = imageColor;\n}\n `,\n bindings: {\n deckglTexture: texture\n },\n parameters: {\n depthWriteEnabled: true,\n depthCompare: 'less-equal',\n blendColorSrcFactor: 'one',\n blendColorDstFactor: 'one-minus-src-alpha',\n blendAlphaSrcFactor: 'one',\n blendAlphaDstFactor: 'one-minus-src-alpha',\n blendColorOperation: 'add',\n blendAlphaOperation: 'add'\n },\n geometry: new Geometry({\n topology: 'triangle-strip',\n attributes: {\n pos: { size: 2, value: new Int8Array([-1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1]) }\n }\n }),\n vertexCount: 6\n });\n const fbo = device.createFramebuffer({\n id: 'deckfbo',\n width: 1,\n height: 1,\n colorAttachments: [texture],\n depthStencilAttachment: 'depth16unorm'\n });\n deckInstance.setProps({\n // This deck renders into an auxiliary framebuffer.\n _framebuffer: fbo,\n _customRender: redrawReason => {\n if (redrawReason === 'arcgis') {\n deckInstance._drawLayers(redrawReason);\n }\n else {\n this.redraw();\n }\n }\n });\n return { deck: deckInstance, texture, fbo, model };\n}\nexport function render(resources, viewport) {\n const { model, deck, fbo } = resources;\n const device = model.device;\n // @ts-ignore device.getParametersWebGL should return `any` not `void`?\n const screenFbo = device.getParametersWebGL(36006);\n const { width, height, ...viewState } = viewport;\n /* global window */\n const dpr = window.devicePixelRatio;\n const pixelWidth = Math.round(width * dpr);\n const pixelHeight = Math.round(height * dpr);\n fbo.resize({ width: pixelWidth, height: pixelHeight });\n deck.setProps({ viewState });\n // redraw deck immediately into deckFbo\n deck.redraw('arcgis');\n // We overlay the texture on top of the map using the full-screen quad.\n const textureToScreenPass = device.beginRenderPass({\n framebuffer: screenFbo,\n parameters: { viewport: [0, 0, pixelWidth, pixelHeight] },\n clearColor: false,\n clearDepth: false\n });\n try {\n model.draw(textureToScreenPass);\n }\n finally {\n textureToScreenPass.end();\n }\n}\nexport function finalizeResources(resources) {\n resources.deck.finalize();\n resources.model.destroy();\n resources.fbo.destroy();\n resources.texture.destroy();\n}\n", "import { initializeResources, render, finalizeResources } from \"./commons.js\";\nexport default function createDeckLayerView2D(BaseLayerViewGL2D) {\n return BaseLayerViewGL2D.createSubclass({\n properties: {\n cancelInitialization: null,\n resources: null\n },\n // Attach is called as soon as the layer view is ready to start rendering.\n async attach() {\n // We use a full-screen quad and shaders to composite the frame rendered\n // with deck.gl on top of the MapView. Composition uses the MapView context.\n const gl = this.context;\n let cancelled = false;\n this.cancelInitialization = () => (cancelled = true);\n const resources = await initializeResources.call(this, gl);\n // If the layer got detached while awaiting, do not proceed\n if (cancelled) {\n finalizeResources(resources);\n return;\n }\n this.resources = resources;\n // Update deck props\n this.layer.deck.on('change', props => resources.deck.setProps(props));\n // We need to start drawing the deck.gl layer immediately.\n resources.deck.setProps(this.layer.deck.toJSON());\n },\n redraw() {\n this.requestRender();\n },\n // Called when the layer must be destroyed.\n detach() {\n this.cancelInitialization?.();\n if (this.resources) {\n finalizeResources(this.resources);\n this.resources = null;\n }\n },\n // Called every time that the layer view must be rendered.\n render(renderParameters) {\n if (!this.resources) {\n return;\n }\n const [width, height] = this.view.state.size;\n // The view state must be kept in-sync with the MapView of the ArcGIS API.\n const state = renderParameters.state;\n render(this.resources, {\n width,\n height,\n latitude: this.view.center.latitude,\n longitude: this.view.center.longitude,\n zoom: this.view.featuresTilingScheme.scaleToLevel(state.scale),\n bearing: -state.rotation,\n pitch: 0\n });\n }\n });\n}\n", "/* eslint-disable no-invalid-this */\nimport { initializeResources, render, finalizeResources } from \"./commons.js\";\n/** Convert ArcGIS FOV to WebMercatorViewport altitude */\nfunction arcgisFOVToDeckAltitude(fov, aspectRatio) {\n // ArcGIS fov is corner-to-corner\n const D = Math.sqrt(1 + aspectRatio ** 2);\n const halfFOV = (fov / 2 / 180) * Math.PI;\n return D / 2 / Math.tan(halfFOV);\n}\nexport default function createDeckRenderer(DeckProps, externalRenderers) {\n class DeckRenderer {\n constructor(view, props) {\n this.resources = null;\n this.cancelInitialization = null;\n this.view = view;\n this.deck = new DeckProps(props);\n }\n async setup(context) {\n const gl = context.gl;\n let cancelled = false;\n this.cancelInitialization = () => (cancelled = true);\n const resources = await initializeResources.call(this, gl);\n // If the renderer got disposed while awaiting, do not proceed\n if (cancelled) {\n finalizeResources(resources);\n return;\n }\n this.deck.on('change', props => resources.deck.setProps(props));\n resources.deck.setProps(this.deck.toJSON());\n this.resources = resources;\n }\n dispose() {\n this.cancelInitialization?.();\n if (this.resources) {\n finalizeResources(this.resources);\n }\n }\n redraw() {\n externalRenderers.requestRender(this.view);\n }\n render() {\n const [width, height] = this.view.size;\n render(this.resources, {\n width,\n height,\n latitude: this.view.center.latitude,\n longitude: this.view.center.longitude,\n altitude: arcgisFOVToDeckAltitude(this.view.camera.fov, width / height),\n zoom: this.view.zoom,\n bearing: this.view.camera.heading,\n pitch: this.view.camera.tilt\n });\n }\n }\n return DeckRenderer;\n}\n", "import createDeckProps from \"./deck-props.js\";\nimport createDeckLayer from \"./deck-layer.js\";\nimport createDeckLayerView2D from \"./deck-layer-view-2d.js\";\nimport createDeckRenderer from \"./deck-renderer.js\";\nimport { loadModules as esriLoaderLoadModules } from 'esri-loader';\nlet arcGIS;\nexport async function loadArcGISModules(modules, loadScriptOptions) {\n const namespace = Array.isArray(modules) ? null : modules;\n await loadArcGISModule(namespace, loadScriptOptions);\n if (Array.isArray(modules)) {\n return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {\n return { ...arcGIS, modules: array };\n });\n }\n return arcGIS;\n}\nasync function loadArcGISModule(esri, loadScriptOptions) {\n if (arcGIS) {\n // Already loaded\n return arcGIS;\n }\n if (esri) {\n // Using user-provided dependencies\n // Right now this object has to be manually assembled - let @arcgis/webpack-plugin handle this?\n const Layer = esri.layers.Layer;\n const Accessor = esri.core.Accessor;\n const BaseLayerViewGL2D = esri.views['2d'].layers.BaseLayerViewGL2D;\n const externalRenderers = esri.views['3d'].externalRenderers;\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n }\n const [Layer, Accessor, BaseLayerViewGL2D, externalRenderers] = await esriLoaderLoadModules([\n 'esri/layers/Layer',\n 'esri/core/Accessor',\n 'esri/views/2d/layers/BaseLayerViewGL2D',\n 'esri/views/3d/externalRenderers'\n ], loadScriptOptions);\n return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n}\nfunction initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers) {\n const DeckProps = createDeckProps(Accessor);\n const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\n const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\n const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n arcGIS = { DeckLayer, DeckRenderer };\n return arcGIS;\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["Accessor", "DeckProps", "DeckProps", "Layer", "DeckLayerView2D", "BaseLayerViewGL2D", "DeckProps", "externalRenderers", "DeckRenderer", "esriLoaderLoadModules", "Layer", "Accessor", "BaseLayerViewGL2D", "externalRenderers", "DeckProps", "DeckLayerView2D", "DeckLayer", "DeckRenderer", "Accessor", "BaseLayerViewGL2D", "Layer"]
7
7
  }
package/dist.min.js CHANGED
@@ -4,7 +4,7 @@
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 se=Object.create;var R=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var de=Object.getPrototypeOf,ue=Object.prototype.hasOwnProperty;var _=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),fe=(e,n)=>{for(var t in n)R(e,t,{get:n[t],enumerable:!0})},P=(e,n,t,i)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of le(n))!ue.call(e,a)&&a!==t&&R(e,a,{get:()=>n[a],enumerable:!(i=ce(n,a))||i.enumerable});return e},v=(e,n,t)=>(P(e,n,"default"),t&&P(t,n,"default")),D=(e,n,t)=>(t=e!=null?se(de(e)):{},P(n||!e||!e.__esModule?R(t,"default",{value:e,enumerable:!0}):t,e)),he=e=>P(R({},"__esModule",{value:!0}),e);var z=_((ye,W)=>{W.exports=globalThis.deck});var Y=_((De,Q)=>{Q.exports=globalThis.luma});var ee=_((T,$)=>{(function(e,n){typeof T=="object"&&typeof $<"u"?n(T):typeof define=="function"&&define.amd?define(["exports"],n):n(e.esriLoader=e.esriLoader||{})})(T,function(e){"use strict";var n=typeof window<"u",t={Promise:n?window.Promise:void 0},i="4.25",a="next";function c(r){if(r.toLowerCase()===a)return a;var o=r&&r.match(/^(\d)\.(\d+)/);return o&&{major:parseInt(o[1],10),minor:parseInt(o[2],10)}}function d(r){return r===void 0&&(r=i),"https://js.arcgis.com/".concat(r,"/")}function h(r){r===void 0&&(r=i);var o=d(r),s=c(r);if(s!==a&&s.major===3){var l=s.minor<=10?"js/":"";return"".concat(o).concat(l,"esri/css/esri.css")}else return"".concat(o,"esri/themes/light/main.css")}function w(r){var o=document.createElement("link");return o.rel="stylesheet",o.href=r,o}function k(r,o){if(o){var s=document.querySelector(o);s.parentNode.insertBefore(r,s)}else document.head.appendChild(r)}function x(r){return document.querySelector('link[href*="'.concat(r,'"]'))}function A(r){return!r||c(r)?h(r):r}function b(r,o){var s=A(r),l=x(s);return l||(l=w(s),k(l,o)),l}var L={};function te(r){var o=document.createElement("script");return o.type="text/javascript",o.src=r,o.setAttribute("data-esri-loader","loading"),o}function J(r,o,s){var l;s&&(l=ne(r,s));var u=function(){o(r),r.removeEventListener("load",u,!1),l&&r.removeEventListener("error",l,!1)};r.addEventListener("load",u,!1)}function ne(r,o){var s=function(l){o(l.error||new Error("There was an error attempting to load ".concat(r.src))),r.removeEventListener("error",s,!1)};return r.addEventListener("error",s,!1),s}function ie(r){r===void 0&&(r={}),L=r}function q(){return document.querySelector("script[data-esri-loader]")}function C(){var r=window.require;return r&&r.on}function j(r){r===void 0&&(r={});var o={};[L,r].forEach(function(u){for(var f in u)Object.prototype.hasOwnProperty.call(u,f)&&(o[f]=u[f])});var s=o.version,l=o.url||d(s);return new t.Promise(function(u,f){var p=q();if(p){var N=p.getAttribute("src");N!==l?f(new Error("The ArcGIS API for JavaScript is already loaded (".concat(N,")."))):C()?u(p):J(p,u,f)}else if(C())f(new Error("The ArcGIS API for JavaScript is already loaded."));else{var V=o.css;if(V){var ae=V===!0;b(ae?s:V,o.insertCssBefore)}p=te(l),J(p,function(){p.setAttribute("data-esri-loader","loaded"),u(p)},f),document.body.appendChild(p)}})}function H(r){return new t.Promise(function(o,s){var l=window.require.on("error",s);window.require(r,function(){for(var u=[],f=0;f<arguments.length;f++)u[f]=arguments[f];l.remove(),o(u)})})}function oe(r,o){if(o===void 0&&(o={}),C())return H(r);var s=q(),l=s&&s.getAttribute("src");return!o.url&&l&&(o.url=l),j(o).then(function(){return H(r)})}e.utils=t,e.loadModules=oe,e.getScript=q,e.isLoaded=C,e.loadScript=j,e.setDefaultOptions=ie,e.loadCss=b,Object.defineProperty(e,"__esModule",{value:!0})})});var S={};fe(S,{loadArcGISModules:()=>ve});var m={},X=D(z(),1);v(m,D(z(),1));if(!X.Layer)throw new Error("@deck.gl/core is not found");v(S,m);var K={layers:{},layerFilter:{},parameters:{},effects:{},pickingRadius:{},onBeforeRender:{},onAfterRender:{},onClick:{},onHover:{},onDragStart:{},onDrag:{},onDragEnd:{},onError:{},debug:{},drawPickingColors:{},getCursor:{},getTooltip:{}};function F(e){return e.createSubclass({properties:K,constructor(){this._callbacks={},this.watch(Object.keys(K),(t,i,a)=>{this.emit("change",{[a]:t})})},on(t,i){this._callbacks[t]=this._callbacks[t]||[],this._callbacks[t].push(i)},emit(t,i){let a=this._callbacks[t];if(a)for(let c of a)c(i)},toJSON(){let t={};for(let i of this.keys())this[i]!==void 0&&(t[i]=this[i]);return t}})}function G(e,n,t){return n.createSubclass({properties:{deck:{},blendMode:{},effect:{}},constructor(){this.deck=new e},createLayerView(i){return i.type==="2d"?new t({view:i,layer:this}):(console.error("DeckLayer does not support SceneView at the moment. Use DeckRenderer instead."),null)}})}var I=D(Y(),1),Z=D(z(),1);async function me(e){return new Promise(n=>{let t=new Z.Deck({viewState:{},controller:!1,gl:e,parameters:{depthCompare:"less-equal"},width:null,height:null,onDeviceInitialized:i=>{n({deckInstance:t,device:i})}})})}async function E(e){let{deckInstance:n,device:t}=await me(e),i=t.createTexture({format:"rgba8unorm",width:1,height:1,sampler:{minFilter:"linear",magFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}}),a=new I.Model(t,{vs:`#version 300 es
7
+ "use strict";var __exports__=(()=>{var se=Object.create;var R=Object.defineProperty;var ce=Object.getOwnPropertyDescriptor;var le=Object.getOwnPropertyNames;var de=Object.getPrototypeOf,ue=Object.prototype.hasOwnProperty;var _=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports),fe=(e,n)=>{for(var t in n)R(e,t,{get:n[t],enumerable:!0})},P=(e,n,t,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let a of le(n))!ue.call(e,a)&&a!==t&&R(e,a,{get:()=>n[a],enumerable:!(o=ce(n,a))||o.enumerable});return e},v=(e,n,t)=>(P(e,n,"default"),t&&P(t,n,"default")),D=(e,n,t)=>(t=e!=null?se(de(e)):{},P(n||!e||!e.__esModule?R(t,"default",{value:e,enumerable:!0}):t,e)),he=e=>P(R({},"__esModule",{value:!0}),e);var z=_((ye,W)=>{W.exports=globalThis.deck});var Y=_((De,Q)=>{Q.exports=globalThis.luma});var ee=_((T,$)=>{(function(e,n){typeof T=="object"&&typeof $<"u"?n(T):typeof define=="function"&&define.amd?define(["exports"],n):n(e.esriLoader=e.esriLoader||{})})(T,function(e){"use strict";var n=typeof window<"u",t={Promise:n?window.Promise:void 0},o="4.25",a="next";function c(r){if(r.toLowerCase()===a)return a;var i=r&&r.match(/^(\d)\.(\d+)/);return i&&{major:parseInt(i[1],10),minor:parseInt(i[2],10)}}function d(r){return r===void 0&&(r=o),"https://js.arcgis.com/".concat(r,"/")}function h(r){r===void 0&&(r=o);var i=d(r),s=c(r);if(s!==a&&s.major===3){var l=s.minor<=10?"js/":"";return"".concat(i).concat(l,"esri/css/esri.css")}else return"".concat(i,"esri/themes/light/main.css")}function w(r){var i=document.createElement("link");return i.rel="stylesheet",i.href=r,i}function k(r,i){if(i){var s=document.querySelector(i);s.parentNode.insertBefore(r,s)}else document.head.appendChild(r)}function x(r){return document.querySelector('link[href*="'.concat(r,'"]'))}function A(r){return!r||c(r)?h(r):r}function b(r,i){var s=A(r),l=x(s);return l||(l=w(s),k(l,i)),l}var L={};function te(r){var i=document.createElement("script");return i.type="text/javascript",i.src=r,i.setAttribute("data-esri-loader","loading"),i}function J(r,i,s){var l;s&&(l=ne(r,s));var u=function(){i(r),r.removeEventListener("load",u,!1),l&&r.removeEventListener("error",l,!1)};r.addEventListener("load",u,!1)}function ne(r,i){var s=function(l){i(l.error||new Error("There was an error attempting to load ".concat(r.src))),r.removeEventListener("error",s,!1)};return r.addEventListener("error",s,!1),s}function oe(r){r===void 0&&(r={}),L=r}function q(){return document.querySelector("script[data-esri-loader]")}function C(){var r=window.require;return r&&r.on}function j(r){r===void 0&&(r={});var i={};[L,r].forEach(function(u){for(var f in u)Object.prototype.hasOwnProperty.call(u,f)&&(i[f]=u[f])});var s=i.version,l=i.url||d(s);return new t.Promise(function(u,f){var p=q();if(p){var N=p.getAttribute("src");N!==l?f(new Error("The ArcGIS API for JavaScript is already loaded (".concat(N,")."))):C()?u(p):J(p,u,f)}else if(C())f(new Error("The ArcGIS API for JavaScript is already loaded."));else{var V=i.css;if(V){var ae=V===!0;b(ae?s:V,i.insertCssBefore)}p=te(l),J(p,function(){p.setAttribute("data-esri-loader","loaded"),u(p)},f),document.body.appendChild(p)}})}function H(r){return new t.Promise(function(i,s){var l=window.require.on("error",s);window.require(r,function(){for(var u=[],f=0;f<arguments.length;f++)u[f]=arguments[f];l.remove(),i(u)})})}function ie(r,i){if(i===void 0&&(i={}),C())return H(r);var s=q(),l=s&&s.getAttribute("src");return!i.url&&l&&(i.url=l),j(i).then(function(){return H(r)})}e.utils=t,e.loadModules=ie,e.getScript=q,e.isLoaded=C,e.loadScript=j,e.setDefaultOptions=oe,e.loadCss=b,Object.defineProperty(e,"__esModule",{value:!0})})});var S={};fe(S,{loadArcGISModules:()=>ve});var m={},X=D(z(),1);v(m,D(z(),1));if(!X.Layer)throw new Error("@deck.gl/core is not found");v(S,m);var K={layers:{},layerFilter:{},parameters:{},effects:{},pickingRadius:{},onBeforeRender:{},onAfterRender:{},onClick:{},onHover:{},onDragStart:{},onDrag:{},onDragEnd:{},onError:{},debug:{},drawPickingColors:{},getCursor:{},getTooltip:{}};function F(e){return e.createSubclass({properties:K,constructor(){this._callbacks={},this.watch(Object.keys(K),(t,o,a)=>{this.emit("change",{[a]:t})})},on(t,o){this._callbacks[t]=this._callbacks[t]||[],this._callbacks[t].push(o)},emit(t,o){let a=this._callbacks[t];if(a)for(let c of a)c(o)},toJSON(){let t={};for(let o of this.keys())this[o]!==void 0&&(t[o]=this[o]);return t}})}function G(e,n,t){return n.createSubclass({properties:{deck:{},blendMode:{},effect:{}},constructor(){this.deck=new e},createLayerView(o){return o.type==="2d"?new t({view:o,layer:this}):(console.error("DeckLayer does not support SceneView at the moment. Use DeckRenderer instead."),null)}})}var I=D(Y(),1),Z=D(z(),1);async function me(e){return new Promise(n=>{let t=new Z.Deck({controller:!1,gl:e,parameters:{depthCompare:"less-equal"},width:null,height:null,onDeviceInitialized:o=>{n({deckInstance:t,device:o})}})})}async function E(e){let{deckInstance:n,device:t}=await me(e),o=t.createTexture({format:"rgba8unorm",width:1,height:1,sampler:{minFilter:"linear",magFilter:"linear",addressModeU:"clamp-to-edge",addressModeV:"clamp-to-edge"}}),a=new I.Model(t,{vs:`#version 300 es
8
8
  in vec2 pos;
9
9
  out vec2 v_texcoord;
10
10
  void main(void) {
@@ -22,6 +22,6 @@ void main(void) {
22
22
  imageColor.rgb *= imageColor.a;
23
23
  fragColor = imageColor;
24
24
  }
25
- `,bindings:{deckglTexture:i},parameters:{depthWriteEnabled:!0,depthCompare:"less-equal",blendColorSrcFactor:"one",blendColorDstFactor:"one-minus-src-alpha",blendAlphaSrcFactor:"one",blendAlphaDstFactor:"one-minus-src-alpha",blendColorOperation:"add",blendAlphaOperation:"add"},geometry:new I.Geometry({topology:"triangle-strip",attributes:{pos:{size:2,value:new Int8Array([-1,-1,1,-1,-1,1,-1,1,1,1,1,-1])}}}),vertexCount:6}),c=t.createFramebuffer({id:"deckfbo",width:1,height:1,colorAttachments:[i],depthStencilAttachment:"depth16unorm"});return n.setProps({_framebuffer:c,_customRender:d=>{d==="arcgis"?n._drawLayers(d):this.redraw()}}),{deck:n,texture:i,fbo:c,model:a}}function M(e,n){let{model:t,deck:i,fbo:a}=e,c=t.device,d=c.getParametersWebGL(36006),{width:h,height:w,...k}=n,x=window.devicePixelRatio,A=Math.round(h*x),b=Math.round(w*x);a.resize({width:A,height:b}),i.setProps({viewState:k}),i.redraw("arcgis");let L=c.beginRenderPass({framebuffer:d,parameters:{viewport:[0,0,A,b]},clearColor:!1,clearDepth:!1});try{t.draw(L)}finally{L.end()}}function g(e){e.deck.finalize(),e.model.destroy(),e.fbo.destroy(),e.texture.destroy()}function B(e){return e.createSubclass({properties:{cancelInitialization:null,resources:null},async attach(){let n=this.context,t=!1;this.cancelInitialization=()=>t=!0;let i=await E.call(this,n);if(t){g(i);return}this.resources=i,this.layer.deck.on("change",a=>i.deck.setProps(a)),i.deck.setProps(this.layer.deck.toJSON())},redraw(){this.requestRender()},detach(){this.cancelInitialization?.(),this.resources&&(g(this.resources),this.resources=null)},render(n){if(!this.resources)return;let[t,i]=this.view.state.size,a=n.state;M(this.resources,{width:t,height:i,latitude:this.view.center.latitude,longitude:this.view.center.longitude,zoom:this.view.featuresTilingScheme.scaleToLevel(a.scale),bearing:-a.rotation,pitch:0})}})}function pe(e,n){let t=Math.sqrt(1+n**2),i=e/2/180*Math.PI;return t/2/Math.tan(i)}function O(e,n){class t{constructor(a,c){this.resources=null,this.cancelInitialization=null,this.view=a,this.deck=new e(c)}async setup(a){let c=a.gl,d=!1;this.cancelInitialization=()=>d=!0;let h=await E.call(this,c);if(d){g(h);return}this.deck.on("change",w=>h.deck.setProps(w)),h.deck.setProps(this.deck.toJSON()),this.resources=h}dispose(){this.cancelInitialization?.(),this.resources&&g(this.resources)}redraw(){n.requestRender(this.view)}render(){let[a,c]=this.view.size;M(this.resources,{width:a,height:c,latitude:this.view.center.latitude,longitude:this.view.center.longitude,altitude:pe(this.view.camera.fov,a/c),zoom:this.view.zoom,bearing:this.view.camera.heading,pitch:this.view.camera.tilt})}}return t}var U=D(ee(),1),y;async function ve(e,n){let t=Array.isArray(e)?null:e;return await we(t,n),Array.isArray(e)?(0,U.loadModules)(e,n).then(i=>({...y,modules:i})):y}async function we(e,n){if(y)return y;if(e){let d=e.layers.Layer,h=e.core.Accessor,w=e.views["2d"].layers.BaseLayerViewGL2D,k=e.views["3d"].externalRenderers;return re(d,h,w,k)}let[t,i,a,c]=await(0,U.loadModules)(["esri/layers/Layer","esri/core/Accessor","esri/views/2d/layers/BaseLayerViewGL2D","esri/views/3d/externalRenderers"],n);return re(t,i,a,c)}function re(e,n,t,i){let a=F(n),c=B(t),d=G(a,e,c),h=O(a,i);return y={DeckLayer:d,DeckRenderer:h},y}return he(S);})();
25
+ `,bindings:{deckglTexture:o},parameters:{depthWriteEnabled:!0,depthCompare:"less-equal",blendColorSrcFactor:"one",blendColorDstFactor:"one-minus-src-alpha",blendAlphaSrcFactor:"one",blendAlphaDstFactor:"one-minus-src-alpha",blendColorOperation:"add",blendAlphaOperation:"add"},geometry:new I.Geometry({topology:"triangle-strip",attributes:{pos:{size:2,value:new Int8Array([-1,-1,1,-1,-1,1,-1,1,1,1,1,-1])}}}),vertexCount:6}),c=t.createFramebuffer({id:"deckfbo",width:1,height:1,colorAttachments:[o],depthStencilAttachment:"depth16unorm"});return n.setProps({_framebuffer:c,_customRender:d=>{d==="arcgis"?n._drawLayers(d):this.redraw()}}),{deck:n,texture:o,fbo:c,model:a}}function M(e,n){let{model:t,deck:o,fbo:a}=e,c=t.device,d=c.getParametersWebGL(36006),{width:h,height:w,...k}=n,x=window.devicePixelRatio,A=Math.round(h*x),b=Math.round(w*x);a.resize({width:A,height:b}),o.setProps({viewState:k}),o.redraw("arcgis");let L=c.beginRenderPass({framebuffer:d,parameters:{viewport:[0,0,A,b]},clearColor:!1,clearDepth:!1});try{t.draw(L)}finally{L.end()}}function g(e){e.deck.finalize(),e.model.destroy(),e.fbo.destroy(),e.texture.destroy()}function B(e){return e.createSubclass({properties:{cancelInitialization:null,resources:null},async attach(){let n=this.context,t=!1;this.cancelInitialization=()=>t=!0;let o=await E.call(this,n);if(t){g(o);return}this.resources=o,this.layer.deck.on("change",a=>o.deck.setProps(a)),o.deck.setProps(this.layer.deck.toJSON())},redraw(){this.requestRender()},detach(){this.cancelInitialization?.(),this.resources&&(g(this.resources),this.resources=null)},render(n){if(!this.resources)return;let[t,o]=this.view.state.size,a=n.state;M(this.resources,{width:t,height:o,latitude:this.view.center.latitude,longitude:this.view.center.longitude,zoom:this.view.featuresTilingScheme.scaleToLevel(a.scale),bearing:-a.rotation,pitch:0})}})}function pe(e,n){let t=Math.sqrt(1+n**2),o=e/2/180*Math.PI;return t/2/Math.tan(o)}function O(e,n){class t{constructor(a,c){this.resources=null,this.cancelInitialization=null,this.view=a,this.deck=new e(c)}async setup(a){let c=a.gl,d=!1;this.cancelInitialization=()=>d=!0;let h=await E.call(this,c);if(d){g(h);return}this.deck.on("change",w=>h.deck.setProps(w)),h.deck.setProps(this.deck.toJSON()),this.resources=h}dispose(){this.cancelInitialization?.(),this.resources&&g(this.resources)}redraw(){n.requestRender(this.view)}render(){let[a,c]=this.view.size;M(this.resources,{width:a,height:c,latitude:this.view.center.latitude,longitude:this.view.center.longitude,altitude:pe(this.view.camera.fov,a/c),zoom:this.view.zoom,bearing:this.view.camera.heading,pitch:this.view.camera.tilt})}}return t}var U=D(ee(),1),y;async function ve(e,n){let t=Array.isArray(e)?null:e;return await we(t,n),Array.isArray(e)?(0,U.loadModules)(e,n).then(o=>({...y,modules:o})):y}async function we(e,n){if(y)return y;if(e){let d=e.layers.Layer,h=e.core.Accessor,w=e.views["2d"].layers.BaseLayerViewGL2D,k=e.views["3d"].externalRenderers;return re(d,h,w,k)}let[t,o,a,c]=await(0,U.loadModules)(["esri/layers/Layer","esri/core/Accessor","esri/views/2d/layers/BaseLayerViewGL2D","esri/views/3d/externalRenderers"],n);return re(t,o,a,c)}function re(e,n,t,o){let a=F(n),c=B(t),d=G(a,e,c),h=O(a,o);return y={DeckLayer:d,DeckRenderer:h},y}return he(S);})();
26
26
  return __exports__;
27
27
  });
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Use deck.gl as a custom ArcGIS API for JavaScript layer",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
- "version": "9.0.5",
6
+ "version": "9.0.6",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -48,5 +48,5 @@
48
48
  "devDependencies": {
49
49
  "@arcgis/core": "^4.21.0"
50
50
  },
51
- "gitHead": "3b7dc3a0fcf86547fc4efb53307672a5a65d81ea"
51
+ "gitHead": "fdbf68be3761c1a7e4bf5d2c6b20792fd8796937"
52
52
  }
package/src/commons.ts CHANGED
@@ -22,9 +22,6 @@ async function createDeckInstance(gl: WebGL2RenderingContext): Promise<{
22
22
  }> {
23
23
  return new Promise(resolve => {
24
24
  const deckInstance = new Deck({
25
- // The view state will be set dynamically to track the MapView current extent.
26
- viewState: {},
27
-
28
25
  // Input is handled by the ArcGIS API for JavaScript.
29
26
  controller: false,
30
27