{
  "version": 3,
  "sources": ["index.js", "tile-source-layer/tile-source-layer.js", "path-outline-layer/path-outline-layer.js", "path-outline-layer/outline.js", "path-marker-layer/path-marker-layer.js", "path-marker-layer/arrow-2d-geometry.js", "path-marker-layer/create-path-markers.js", "path-marker-layer/polyline.js"],
  "sourcesContent": ["// deck.gl-community\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nexport { TileSourceLayer } from \"./tile-source-layer/tile-source-layer.js\";\nexport { PathOutlineLayer } from \"./path-outline-layer/path-outline-layer.js\";\nexport { PathMarkerLayer } from \"./path-marker-layer/path-marker-layer.js\";\n", "// deck.gl-community\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { CompositeLayer } from '@deck.gl/core';\nimport { TileLayer } from '@deck.gl/geo-layers';\nimport { BitmapLayer, GeoJsonLayer, PathLayer } from '@deck.gl/layers';\n/* global window */\nconst devicePixelRatio = (typeof window !== 'undefined' && window.devicePixelRatio) || 1;\n/**\n * A Deck.gl layer that renders a tile source\n * Autodiscovers type of content (vector tile, bitmap, ...)\n * Can render debug borders around tiles\n * TODO - Change debug border color based on zoom level\n */\nexport class TileSourceLayer extends CompositeLayer {\n    static layerName = 'TileSourceLayer';\n    static defaultProps = {\n        ...TileLayer.defaultProps,\n        showTileBorders: true\n    };\n    state = undefined;\n    initializeState() {\n        this.setState({\n            tileSource: null\n        });\n    }\n    updateState({ props, changeFlags }) {\n        this.setState({\n            tileSource: props.tileSource\n        });\n    }\n    renderLayers() {\n        const { tileSource, showTileBorders, metadata, onTilesLoad } = this.props;\n        const minZoom = metadata?.minZoom || 0;\n        const maxZoom = metadata?.maxZoom || 30;\n        return [\n            new TileLayer({\n                // HACK: Trigger new layer via id prop to force clear tile cache\n                id: String(tileSource.url),\n                getTileData: tileSource.getTileData,\n                // Assume the pmtiles file support HTTP/2, so we aren't limited by the browser to a certain number per domain.\n                maxRequests: 20,\n                pickable: true,\n                onViewportLoad: onTilesLoad,\n                autoHighlight: showTileBorders,\n                highlightColor: [60, 60, 60, 40],\n                minZoom,\n                maxZoom,\n                tileSize: 256,\n                // TOOD - why is this needed?\n                zoomOffset: devicePixelRatio === 1 ? -1 : 0,\n                renderSubLayers: renderSubLayers,\n                // Custom prop\n                tileSource,\n                showTileBorders\n            })\n        ];\n    }\n}\nfunction renderSubLayers(props) {\n    const { tileSource, showTileBorders, minZoom, maxZoom, tile: { index: { z: zoom }, bbox: { west, south, east, north } } } = props;\n    const layers = [];\n    const borderColor = zoom <= minZoom || zoom >= maxZoom ? [255, 0, 0, 255] : [0, 0, 255, 255];\n    switch (tileSource.mimeType) {\n        case 'application/vnd.mapbox-vector-tile':\n            layers.push(new GeoJsonLayer({\n                id: `${props.id}-geojson`,\n                data: props.data,\n                pickable: true,\n                getFillColor: [0, 190, 80, 255],\n                lineWidthScale: 500,\n                lineWidthMinPixels: 0.5\n            }));\n            break;\n        case 'image/png':\n        case 'image/jpeg':\n        case 'image/webp':\n        case 'image/avif':\n            layers.push(new BitmapLayer(props, {\n                data: null,\n                image: props.data,\n                bounds: [west, south, east, north],\n                pickable: true\n            }));\n            break;\n        default:\n            // eslint-disable-next-line no-console\n            console.error('Unknown tile mimeType', tileSource?.mimeType);\n    }\n    // Debug tile borders\n    if (showTileBorders) {\n        layers.push(new PathLayer({\n            id: `${props.id}-border`,\n            data: [\n                [\n                    [west, north],\n                    [west, south],\n                    [east, south],\n                    [east, north],\n                    [west, north]\n                ]\n            ],\n            getPath: (d) => d,\n            getColor: borderColor,\n            widthMinPixels: 4\n        }));\n    }\n    return layers;\n}\n", "// deck.gl-community\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { PathLayer } from '@deck.gl/layers';\nimport { GL } from '@luma.gl/constants';\nimport { outline } from \"./outline.js\";\n/**\n * Unit literal to shader unit number conversion.\n */\nexport const UNIT = {\n    common: 0,\n    meters: 1,\n    pixels: 2\n};\n// TODO - this should be built into assembleShaders\nfunction injectShaderCode({ source, code = '' }) {\n    const INJECT_CODE = /}[^{}]*$/;\n    return source.replace(INJECT_CODE, code.concat('\\n}\\n'));\n}\nconst VS_CODE = `\\\n  outline_setUV(gl_Position);\n  outline_setZLevel(instanceZLevel);\n`;\nconst FS_CODE = `\\\n  fragColor = outline_filterColor(fragColor);\n`;\nconst defaultProps = {\n    getZLevel: () => 0\n};\nexport class PathOutlineLayer extends PathLayer {\n    static layerName = 'PathOutlineLayer';\n    static defaultProps = defaultProps;\n    state = undefined;\n    // Override getShaders to inject the outline module\n    getShaders() {\n        const shaders = super.getShaders();\n        return Object.assign({}, shaders, {\n            modules: shaders.modules.concat([outline]),\n            vs: injectShaderCode({ source: shaders.vs, code: VS_CODE }),\n            fs: injectShaderCode({ source: shaders.fs, code: FS_CODE })\n        });\n    }\n    // @ts-expect-error PathLayer is missing LayerContext arg\n    initializeState(context) {\n        super.initializeState();\n        // Create an outline \"shadow\" map\n        // TODO - we should create a single outlineMap for all layers\n        this.setState({\n            outlineFramebuffer: context.device.createFramebuffer({}),\n            dummyTexture: context.device.createTexture({})\n        });\n        // Create an attribute manager\n        // @ts-expect-error check whether this.getAttributeManager works here\n        this.state.attributeManager.addInstanced({\n            instanceZLevel: {\n                size: 1,\n                type: 5121,\n                accessor: 'getZLevel'\n            }\n        });\n    }\n    // Override draw to add render module\n    draw({ moduleParameters = {}, parameters, uniforms, context }) {\n        // Need to calculate same uniforms as base layer\n        const { jointRounded, capRounded, billboard, miterLimit, widthUnits, widthScale, widthMinPixels, widthMaxPixels } = this.props;\n        uniforms = Object.assign({}, uniforms, {\n            jointType: Number(jointRounded),\n            capType: Number(capRounded),\n            billboard,\n            widthUnits: UNIT[widthUnits],\n            widthScale,\n            miterLimit,\n            widthMinPixels,\n            widthMaxPixels\n        });\n        // Render the outline shadowmap (based on segment z orders)\n        const { outlineFramebuffer, dummyTexture } = this.state;\n        // TODO(v9): resize, see 'sf' example.\n        // outlineFramebuffer.resize();\n        // TODO(v9) clear FBO\n        // outlineFramebuffer.clear({ color: true, depth: true, stencil: true });\n        this.state.model.updateModuleSettings({\n            outlineEnabled: true,\n            outlineRenderShadowmap: true,\n            outlineShadowmap: dummyTexture\n        });\n        this.state.model.draw({\n            uniforms: Object.assign({}, uniforms, {\n                jointType: 0,\n                widthScale: this.props.widthScale * 1.3\n            }),\n            parameters: {\n                depthTest: false,\n                // Biggest value needs to go into buffer\n                blendEquation: 32776\n            },\n            framebuffer: outlineFramebuffer\n        });\n        // Now use the outline shadowmap to render the lines (with outlines)\n        this.state.model.updateModuleSettings({\n            outlineEnabled: true,\n            outlineRenderShadowmap: false,\n            outlineShadowmap: outlineFramebuffer\n        });\n        this.state.model.draw({\n            uniforms: Object.assign({}, uniforms, {\n                jointType: Number(jointRounded),\n                capType: Number(capRounded),\n                widthScale: this.props.widthScale\n            }),\n            parameters: {\n                depthTest: false\n            }\n        });\n    }\n}\n", "// deck.gl-community\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n/* eslint-disable camelcase */\nconst INITIAL_STATE = {\n    outlineEnabled: false,\n    outlineRenderShadowmap: false,\n    outlineShadowmap: null\n};\nfunction getUniforms({ outlineEnabled, outlineRenderShadowmap, outlineShadowmap } = INITIAL_STATE) {\n    const uniforms = {};\n    if (outlineEnabled !== undefined) {\n        // ? 1.0 : 0.0;\n        uniforms.outline_uEnabled = outlineEnabled;\n    }\n    if (outlineRenderShadowmap !== undefined) {\n        // ? 1.0 : 0.0;\n        uniforms.outline_uRenderOutlines = outlineRenderShadowmap;\n    }\n    if (outlineShadowmap !== undefined) {\n        uniforms.outline_uShadowmap = outlineShadowmap;\n    }\n    return uniforms;\n}\nconst vs = `\\\n#version 300 es\nin float instanceZLevel;\nout float outline_vzLevel;\nout vec4 outline_vPosition;\n\n// Set the z level for the outline shadowmap rendering\nvoid outline_setZLevel(float zLevel) {\n  outline_vzLevel = zLevel;\n}\n\n// Store an adjusted position for texture2DProj\nvoid outline_setUV(vec4 position) {\n  // mat4(\n  //   0.5, 0.0, 0.0, 0.0,\n  //   0.0, 0.5, 0.0, 0.0,\n  //   0.0, 0.0, 0.5, 0.0,\n  //   0.5, 0.5, 0.5, 1.0\n  // ) * position;\n  outline_vPosition = vec4(position.xyz * 0.5 + position.w * 0.5, position.w);\n}\n`;\nconst fs = `\\\nuniform bool outline_uEnabled;\nuniform bool outline_uRenderOutlines;\nuniform sampler2D outline_uShadowmap;\n\nin float outline_vzLevel;\n// in vec2 outline_vUV;\nin vec4 outline_vPosition;\n\nout vec4 fragColor;\n\nconst float OUTLINE_Z_LEVEL_ERROR = 0.01;\n\n// Return a darker color in shadowmap\nvec4 outline_filterShadowColor(vec4 color) {\n  return vec4(outline_vzLevel / 255., outline_vzLevel / 255., outline_vzLevel / 255., 1.);\n}\n\n// Return a darker color if in shadowmap\nvec4 outline_filterDarkenColor(vec4 color) {\n  if (outline_uEnabled) {\n    float maxZLevel;\n    if (outline_vPosition.q > 0.0) {\n      maxZLevel = texture2DProj(outline_uShadowmap, outline_vPosition).r * 255.;\n    } else {\n      discard;\n    }\n    if (maxZLevel < outline_vzLevel + OUTLINE_Z_LEVEL_ERROR) {\n      vec4(color.rgb * 0.5, color.a);\n    } else {\n      discard;\n    }\n  }\n  return color;\n}\n\n// if enabled and rendering outlines - Render depth to shadowmap\n// if enabled and rendering colors - Return a darker color if in shadowmap\n// if disabled, just return color\nvec4 outline_filterColor(vec4 color) {\n  if (outline_uEnabled) {\n    return outline_uRenderOutlines ?\n      outline_filterShadowColor(color) :\n      outline_filterDarkenColor(color);\n  }\n  return color;\n}\n`;\nexport const outline = {\n    name: 'outline',\n    vs,\n    fs,\n    getUniforms\n};\n", "// deck.gl-community\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { CompositeLayer, COORDINATE_SYSTEM } from '@deck.gl/core';\nimport { ScatterplotLayer } from '@deck.gl/layers';\nimport { SimpleMeshLayer } from '@deck.gl/mesh-layers';\nimport { PathOutlineLayer } from \"../path-outline-layer/path-outline-layer.js\";\nimport { Arrow2DGeometry } from \"./arrow-2d-geometry.js\";\nimport { createPathMarkers } from \"./create-path-markers.js\";\nimport { getClosestPointOnPolyline } from \"./polyline.js\";\nconst DISTANCE_FOR_MULTI_ARROWS = 0.1;\nconst ARROW_HEAD_SIZE = 0.2;\nconst ARROW_TAIL_WIDTH = 0.05;\n// const ARROW_CENTER_ADJUST = -0.8;\nconst DEFAULT_MARKER_LAYER = SimpleMeshLayer;\nconst DEFAULT_MARKER_LAYER_PROPS = {\n    mesh: new Arrow2DGeometry({ headSize: ARROW_HEAD_SIZE, tailWidth: ARROW_TAIL_WIDTH })\n};\nconst defaultProps = Object.assign({}, PathOutlineLayer.defaultProps, {\n    MarkerLayer: DEFAULT_MARKER_LAYER,\n    markerLayerProps: DEFAULT_MARKER_LAYER_PROPS,\n    sizeScale: 100,\n    fp64: false,\n    highlightIndex: -1,\n    highlightPoint: null,\n    getPath: (x) => x.path,\n    getColor: (x) => x.color,\n    getMarkerColor: (x) => [0, 0, 0, 255],\n    getDirection: (x) => x.direction,\n    getMarkerPercentages: (object, { lineLength }) => lineLength > DISTANCE_FOR_MULTI_ARROWS ? [0.25, 0.5, 0.75] : [0.5]\n});\nexport class PathMarkerLayer extends CompositeLayer {\n    static layerName = 'PathMarkerLayer';\n    static defaultProps = defaultProps;\n    state = undefined;\n    initializeState() {\n        this.state = {\n            markers: [],\n            mesh: new Arrow2DGeometry({ headSize: ARROW_HEAD_SIZE, tailWidth: ARROW_TAIL_WIDTH }),\n            closestPoint: null,\n            closestPoints: []\n        };\n    }\n    projectFlat(xyz, viewport, coordinateSystem, coordinateOrigin) {\n        if (coordinateSystem === COORDINATE_SYSTEM.METER_OFFSETS) {\n            const [dx, dy] = viewport.metersToLngLatDelta(xyz);\n            const [x, y] = coordinateOrigin;\n            return viewport.projectFlat([x + dx, dy + y]);\n        }\n        else if (coordinateSystem === COORDINATE_SYSTEM.LNGLAT_OFFSETS) {\n            const [dx, dy] = xyz;\n            const [x, y] = coordinateOrigin;\n            return viewport.projectFlat([x + dx, dy + y]);\n        }\n        return viewport.projectFlat(xyz);\n    }\n    updateState({ props, oldProps, changeFlags }) {\n        if (changeFlags.dataChanged || changeFlags.updateTriggersChanged) {\n            const { data, getPath, getDirection, getMarkerColor, getMarkerPercentages, coordinateSystem, coordinateOrigin } = this.props;\n            const { viewport } = this.context;\n            const projectFlat = (o) => this.projectFlat(o, viewport, coordinateSystem, coordinateOrigin);\n            this.state.markers = createPathMarkers({\n                data,\n                getPath,\n                getDirection,\n                getColor: getMarkerColor,\n                getMarkerPercentages,\n                projectFlat\n            });\n            this._recalculateClosestPoint();\n        }\n        if (changeFlags.propsChanged) {\n            if (props.point !== oldProps.point) {\n                this._recalculateClosestPoint();\n            }\n        }\n    }\n    _recalculateClosestPoint() {\n        const { highlightPoint, highlightIndex } = this.props;\n        if (highlightPoint && highlightIndex >= 0) {\n            const object = this.props.data[highlightIndex];\n            const points = this.props.getPath(object, null);\n            const { point } = getClosestPointOnPolyline({ points, p: highlightPoint });\n            this.state.closestPoints = [{ position: point }];\n        }\n        else {\n            this.state.closestPoints = [];\n        }\n    }\n    getPickingInfo({ info }) {\n        return Object.assign(info, {\n            // override object with picked feature\n            object: (info.object && info.object.path) || info.object\n        });\n    }\n    renderLayers() {\n        return [\n            new PathOutlineLayer(this.props, this.getSubLayerProps({\n                id: 'paths',\n                // Note: data has to be passed explicitly like this to avoid being empty\n                data: this.props.data\n            })),\n            new this.props.MarkerLayer(this.getSubLayerProps(Object.assign({}, this.props.markerLayerProps, {\n                id: 'markers',\n                data: this.state.markers,\n                getOrientation: (x) => [0, -x.angle, 0],\n                getColor: (x) => x.color,\n                sizeScale: this.props.sizeScale,\n                fp64: this.props.fp64,\n                pickable: false,\n                parameters: {\n                    blend: false,\n                    depthTest: false\n                }\n            }))),\n            this.state.closestPoints &&\n                new ScatterplotLayer({\n                    id: `${this.props.id}-highlight`,\n                    data: this.state.closestPoints,\n                    fp64: this.props.fp64\n                })\n        ];\n    }\n}\n", "// deck.gl-community\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { Geometry } from '@luma.gl/engine';\nexport class Arrow2DGeometry extends Geometry {\n    constructor(opts = {}) {\n        super(Object.assign({}, opts, {\n            attributes: getArrowAttributes(opts),\n            topology: 'triangle-list'\n        }));\n    }\n}\nfunction getArrowAttributes({ length = 1, headSize = 0.2, tailWidth = 0.05, tailStart = 0.05 }) {\n    const texCoords = [\n        // HEAD\n        0.5,\n        1.0,\n        0,\n        0.5 - headSize / 2,\n        1.0 - headSize,\n        0,\n        0.5 + headSize / 2,\n        1.0 - headSize,\n        0,\n        0.5 - tailWidth / 2,\n        tailStart,\n        0,\n        0.5 + tailWidth / 2,\n        1.0 - headSize,\n        0,\n        0.5 + tailWidth / 2,\n        tailStart,\n        0,\n        0.5 - tailWidth / 2,\n        tailStart,\n        0,\n        0.5 - tailWidth / 2,\n        1.0 - headSize,\n        0,\n        0.5 + tailWidth / 2,\n        1.0 - headSize,\n        0\n    ];\n    const normals = [0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1];\n    // Center and scale\n    const positions = new Array(texCoords.length);\n    for (let i = 0; i < texCoords.length / 3; i++) {\n        const i3 = i * 3;\n        positions[i3 + 0] = (texCoords[i3 + 0] - 0.5) * length;\n        positions[i3 + 1] = (texCoords[i3 + 1] - 0.5) * length;\n        positions[i3 + 2] = 0;\n    }\n    return {\n        positions: { size: 3, value: new Float32Array(positions) },\n        normals: { size: 3, value: new Float32Array(normals) },\n        texCoords: { size: 2, value: new Float32Array(texCoords) }\n    };\n}\n", "// deck.gl-community\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { Vector2 } from '@math.gl/core';\nfunction getLineLength(vPoints) {\n    // calculate total length\n    let lineLength = 0;\n    for (let i = 0; i < vPoints.length - 1; i++) {\n        lineLength += vPoints[i].distance(vPoints[i + 1]);\n    }\n    return lineLength;\n}\nconst DEFAULT_COLOR = [0, 0, 0, 255];\nconst DEFAULT_DIRECTION = { forward: true, backward: false };\nexport function createPathMarkers({ data, getPath = (x, context) => x.path, getDirection = (x) => x.direction, getColor = (x) => DEFAULT_COLOR, getMarkerPercentages = (x, info) => [0.5], projectFlat }) {\n    const markers = [];\n    for (const object of data) {\n        const path = getPath(object, null);\n        const direction = getDirection(object) || DEFAULT_DIRECTION;\n        const color = getColor(object);\n        const vPoints = path.map((p) => new Vector2(p));\n        const vPointsReverse = vPoints.slice(0).reverse();\n        // calculate total length\n        const lineLength = getLineLength(vPoints);\n        // Ask for where to put markers\n        const percentages = getMarkerPercentages(object, { lineLength });\n        // Create the markers\n        for (const percentage of percentages) {\n            if (direction.forward) {\n                const marker = createMarkerAlongPath({\n                    path: vPoints,\n                    percentage,\n                    lineLength,\n                    color,\n                    object,\n                    projectFlat\n                });\n                markers.push(marker);\n            }\n            if (direction.backward) {\n                const marker = createMarkerAlongPath({\n                    path: vPointsReverse,\n                    percentage,\n                    lineLength,\n                    color,\n                    object,\n                    projectFlat\n                });\n                markers.push(marker);\n            }\n        }\n    }\n    return markers;\n}\nfunction createMarkerAlongPath({ path, percentage, lineLength, color, object, projectFlat }) {\n    const distanceAlong = lineLength * percentage;\n    let currentDistance = 0;\n    let previousDistance = 0;\n    let i = 0;\n    for (i = 0; i < path.length - 1; i++) {\n        currentDistance += path[i].distance(path[i + 1]);\n        if (currentDistance > distanceAlong) {\n            break;\n        }\n        previousDistance = currentDistance;\n    }\n    // If reached the end of the loop without exiting early,\n    // undo the final increment to avoid a null-pointer exception\n    if (i === path.length - 1) {\n        i -= 1;\n    }\n    const vDirection = path[i + 1].clone().subtract(path[i]).normalize();\n    const along = distanceAlong - previousDistance;\n    const vCenter = vDirection.clone().multiply(new Vector2(along, along)).add(path[i]);\n    const vDirection2 = new Vector2(projectFlat(path[i + 1])).subtract(projectFlat(path[i]));\n    const angle = (vDirection2.verticalAngle() * 180) / Math.PI;\n    return { position: [vCenter.x, vCenter.y, 0], angle, color, object };\n}\n", "// deck.gl-community\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\nimport { Vector3, clamp } from '@math.gl/core';\n// Return the closest point on a line segment\nexport function getClosestPointOnLine({ p, p1, p2, clampToLine = true }) {\n    const lineVector = new Vector3(p2).subtract(p1);\n    const pointVector = new Vector3(p).subtract(p1);\n    let dotProduct = lineVector.dot(pointVector);\n    if (clampToLine) {\n        dotProduct = clamp(dotProduct, 0, 1);\n    }\n    return lineVector.lerp(p1, p2, dotProduct);\n}\n// Return the closest point on a line segment\nexport function getClosestPointOnPolyline({ p, points }) {\n    p = new Vector3(p);\n    let pClosest = null;\n    let distanceSquared = Infinity;\n    let index = -1;\n    for (let i = 0; i < points.length - 1; ++i) {\n        const p1 = points[i];\n        const p2 = points[i + 1];\n        const pClosestOnLine = getClosestPointOnLine({ p, p1, p2 });\n        const distanceToLineSquared = p.distanceSquared(pClosestOnLine);\n        if (distanceToLineSquared < distanceSquared) {\n            distanceSquared = distanceToLineSquared;\n            pClosest = pClosestOnLine;\n            index = i;\n        }\n    }\n    return {\n        point: pClosest,\n        index,\n        p1: points[index],\n        p2: points[index + 1],\n        distanceSquared,\n        distance: Math.sqrt(distanceSquared)\n    };\n}\n"],
  "mappings": "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",
  "names": ["import_layers", "import_core", "import_layers", "import_core", "import_core", "defaultProps"]
}
