{
  "version": 3,
  "sources": ["../src/index.ts", "../src/deck-props.ts", "../src/deck-layer.ts", "../src/commons.ts", "../src/deck-layer-view-2d.ts", "../src/deck-renderer.ts", "../src/load-modules.ts"],
  "sourcesContent": ["// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport createDeckProps from './deck-props';\nimport createDeckLayer from './deck-layer';\nimport createDeckLayerView2D from './deck-layer-view-2d';\nimport createDeckRenderer from './deck-renderer';\n\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\n// require-style loader\nexport {loadArcGISModules} from './load-modules';\n\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", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nconst 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\n/* eslint-disable callback-return */\nexport default function createDeckProps(Accessor) {\n  const DeckProps = Accessor.createSubclass({\n    properties,\n\n    constructor() {\n      this._callbacks = {};\n\n      this.watch(Object.keys(properties), (newValue, oldValue, propName) => {\n        this.emit('change', {[propName]: newValue});\n      });\n    },\n\n    on(eventName, cb) {\n      this._callbacks[eventName] = this._callbacks[eventName] || [];\n      this._callbacks[eventName].push(cb);\n    },\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\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\n  return DeckProps;\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nexport 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\n    constructor() {\n      this.deck = new DeckProps();\n    },\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\n      // eslint-disable-next-line\n      console.error(\n        'DeckLayer does not support SceneView at the moment. Use DeckRenderer instead.'\n      );\n\n      return null;\n    }\n  });\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable no-invalid-this */\n\nimport {GL} from '@luma.gl/constants';\nimport type {Device, Texture, Framebuffer} from '@luma.gl/core';\nimport {Deck} from '@deck.gl/core';\nimport {Model, Geometry} from '@luma.gl/engine';\nimport {WebGLDevice} from '@luma.gl/webgl';\n\ninterface Renderer {\n  redraw: () => void;\n}\n\nexport type RenderResources = {\n  deck: Deck;\n  texture: Texture;\n  model: Model;\n  fbo: Framebuffer;\n};\n\nasync function createDeckInstance(gl: WebGL2RenderingContext): Promise<{\n  deckInstance: Deck;\n  device: Device;\n}> {\n  return new Promise(resolve => {\n    const deckInstance = new Deck({\n      // Input is handled by the ArcGIS API for JavaScript.\n      controller: false,\n\n      // We use the same WebGL context as the ArcGIS API for JavaScript.\n      gl,\n\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\n      // To disable canvas resizing, since the FBO is owned by the ArcGIS API for JavaScript.\n      width: null,\n      height: null,\n\n      onDeviceInitialized: (device: Device) => {\n        resolve({deckInstance, device});\n      }\n    });\n  });\n}\n\nexport async function initializeResources(\n  this: Renderer,\n  gl: WebGL2RenderingContext\n): Promise<RenderResources> {\n  const {deckInstance, device} = await createDeckInstance(gl);\n\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\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    disableWarnings: true\n  });\n\n  const fbo = device.createFramebuffer({\n    id: 'deckfbo',\n    width: 1,\n    height: 1,\n    colorAttachments: [texture],\n    depthStencilAttachment: 'depth16unorm'\n  });\n\n  deckInstance.setProps({\n    // This deck renders into an auxiliary framebuffer.\n    _framebuffer: fbo,\n\n    _customRender: redrawReason => {\n      if (redrawReason === 'arcgis') {\n        deckInstance._drawLayers(redrawReason);\n      } else {\n        this.redraw();\n      }\n    }\n  });\n\n  return {deck: deckInstance, texture, fbo, model};\n}\n\nexport function render(\n  resources: RenderResources,\n  viewport: {\n    width: number;\n    height: number;\n    longitude: number;\n    latitude: number;\n    zoom: number;\n    altitude?: number;\n    pitch: number;\n    bearing: number;\n  }\n) {\n  const {model, deck, fbo} = resources;\n  const device = model.device;\n  if (device instanceof WebGLDevice) {\n    // @ts-ignore device.getParametersWebGL should return `any` not `void`?\n    const screenFbo: Framebuffer = device.getParametersWebGL(GL.FRAMEBUFFER_BINDING);\n    const {width, height, ...viewState} = viewport;\n\n    /* global window */\n    const dpr = window.devicePixelRatio;\n    const pixelWidth = Math.round(width * dpr);\n    const pixelHeight = Math.round(height * dpr);\n\n    fbo.resize({width: pixelWidth, height: pixelHeight});\n\n    deck.setProps({viewState});\n    // redraw deck immediately into deckFbo\n    deck.redraw('arcgis');\n\n    // We overlay the texture on top of the map using the full-screen quad.\n\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    } finally {\n      textureToScreenPass.end();\n    }\n  }\n}\n\nexport function finalizeResources(resources: RenderResources) {\n  resources.deck.finalize();\n  resources.model.destroy();\n  resources.fbo.destroy();\n  resources.texture.destroy();\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport {initializeResources, render, finalizeResources} from './commons';\n\nexport default function createDeckLayerView2D(BaseLayerViewGL2D) {\n  return BaseLayerViewGL2D.createSubclass({\n    properties: {\n      cancelInitialization: null,\n      resources: null\n    },\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\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\n      // Update deck props\n      this.layer.deck.on('change', props => resources.deck.setProps(props));\n\n      // We need to start drawing the deck.gl layer immediately.\n      resources.deck.setProps(this.layer.deck.toJSON());\n    },\n\n    redraw() {\n      this.requestRender();\n    },\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\n    // Called every time that the layer view must be rendered.\n    render(renderParameters) {\n      if (!this.resources) {\n        return;\n      }\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\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", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable no-invalid-this */\nimport {initializeResources, render, finalizeResources, RenderResources} from './commons';\n\nimport SceneView from '@arcgis/core/views/SceneView';\nimport type {DeckProps} from '@deck.gl/core';\n\n/** Convert ArcGIS FOV to WebMercatorViewport altitude */\nfunction arcgisFOVToDeckAltitude(fov: number, aspectRatio: number): number {\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}\n\nexport default function createDeckRenderer(DeckProps, externalRenderers) {\n  class DeckRenderer {\n    view: SceneView;\n    deck: any;\n    resources: RenderResources | null = null;\n    cancelInitialization: (() => void) | null = null;\n\n    constructor(view: SceneView, props: DeckProps) {\n      this.view = view;\n      this.deck = new DeckProps(props);\n    }\n\n    async setup(context) {\n      const gl = context.gl;\n\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\n      this.deck.on('change', props => resources.deck.setProps(props));\n\n      resources.deck.setProps(this.deck.toJSON());\n      this.resources = resources;\n    }\n\n    dispose() {\n      this.cancelInitialization?.();\n      if (this.resources) {\n        finalizeResources(this.resources);\n      }\n    }\n\n    redraw() {\n      externalRenderers.requestRender(this.view);\n    }\n\n    render() {\n      const [width, height] = this.view.size;\n\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\n  return DeckRenderer;\n}\n", "// deck.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport createDeckProps from './deck-props';\nimport createDeckLayer from './deck-layer';\nimport createDeckLayerView2D from './deck-layer-view-2d';\nimport createDeckRenderer from './deck-renderer';\nimport {loadModules as esriLoaderLoadModules, ILoadScriptOptions} from 'esri-loader';\n\ntype LoadedModules = {\n  DeckLayer: any;\n  DeckRenderer: any;\n  modules?: unknown[];\n};\n\nlet arcGIS: LoadedModules;\n\nexport async function loadArcGISModules(\n  modules: string[],\n  loadScriptOptions: ILoadScriptOptions\n): Promise<LoadedModules> {\n  const namespace = Array.isArray(modules) ? null : modules;\n  await loadArcGISModule(namespace, loadScriptOptions);\n\n  if (Array.isArray(modules)) {\n    return esriLoaderLoadModules(modules, loadScriptOptions).then(array => {\n      return {...arcGIS, modules: array};\n    });\n  }\n  return arcGIS;\n}\n\nasync function loadArcGISModule(\n  esri,\n  loadScriptOptions: ILoadScriptOptions\n): Promise<LoadedModules> {\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\n    return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n  }\n\n  const [Layer, Accessor, BaseLayerViewGL2D, externalRenderers] = await esriLoaderLoadModules(\n    [\n      'esri/layers/Layer',\n      'esri/core/Accessor',\n      'esri/views/2d/layers/BaseLayerViewGL2D',\n      'esri/views/3d/externalRenderers'\n    ],\n    loadScriptOptions\n  );\n  return initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers);\n}\n\nfunction initialize(Layer, Accessor, BaseLayerViewGL2D, externalRenderers): LoadedModules {\n  const DeckProps = createDeckProps(Accessor);\n  const DeckLayerView2D = createDeckLayerView2D(BaseLayerViewGL2D);\n  const DeckLayer = createDeckLayer(DeckProps, Layer, DeckLayerView2D);\n  const DeckRenderer = createDeckRenderer(DeckProps, externalRenderers);\n\n  arcGIS = {DeckLayer, DeckRenderer};\n  return arcGIS;\n}\n"],
  "mappings": "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",
  "names": ["Accessor", "DeckProps", "DeckProps", "Layer", "DeckLayerView2D", "BaseLayerViewGL2D", "DeckProps", "externalRenderers", "DeckRenderer", "esriLoaderLoadModules", "Layer", "Accessor", "BaseLayerViewGL2D", "externalRenderers", "DeckProps", "DeckLayerView2D", "DeckLayer", "DeckRenderer", "Accessor", "BaseLayerViewGL2D", "Layer"]
}
