@arcgis/core 4.33.0-next.20250429 → 4.33.0-next.20250430
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/analysis/AreaMeasurementAnalysis.js +1 -1
- package/applications/Components/baUtils.js +5 -0
- package/assets/components/assets/icon/mosaicMethodBlend16.json +1 -1
- package/assets/components/assets/icon/mosaicMethodBlend24.json +1 -1
- package/assets/components/assets/icon/mosaicMethodBlend32.json +1 -1
- package/assets/components/assets/icon/mosaicMethodNorthWest32.json +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{9a1c058d3ecd1db0e996.js → 0c338364cb55afdbd580.js} +1 -1
- package/assets/esri/core/workers/chunks/{4351b3e54b309935faed.js → 173737c60fa54f7d82bb.js} +1 -1
- package/assets/esri/core/workers/chunks/{90dc783a617ff053e862.js → 181ad3cee0b30a72e7c7.js} +1 -1
- package/assets/esri/core/workers/chunks/210e057fe5e66abea984.js +1 -0
- package/assets/esri/core/workers/chunks/{9850ff14bd9c7da81c65.js → 23c76963481e38f39653.js} +1 -1
- package/assets/esri/core/workers/chunks/{b1473d15c75fc560ea4a.js → 2ad47c0ba1680f7d5e03.js} +1 -1
- package/assets/esri/core/workers/chunks/2c3920ad82b9d86c3f05.js +1 -0
- package/assets/esri/core/workers/chunks/{4da99f058cca83937e9b.js → 2c92f6f268aa2de5432c.js} +1 -1
- package/assets/esri/core/workers/chunks/{12c9dd3932218238033b.js → 3a205f87f100832ef9f5.js} +1 -1
- package/assets/esri/core/workers/chunks/543eb46b55cacd6e1dbc.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{2fd5b48976cefe7cc0ab.js → 581180668e0229dcdc14.js} +1 -1
- package/assets/esri/core/workers/chunks/5c2299f22a69e58cc4dd.js +1 -0
- package/assets/esri/core/workers/chunks/60eb6dd09080da5653a1.js +1 -0
- package/assets/esri/core/workers/chunks/6210346dc9d064ac90af.js +1 -0
- package/assets/esri/core/workers/chunks/{3cf001abca8ad933bccf.js → 670a66617249f2d15a62.js} +2 -2
- package/assets/esri/core/workers/chunks/{3cf001abca8ad933bccf.js.LICENSE.txt → 670a66617249f2d15a62.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/710e03feaa25e357f17a.js +1 -0
- package/assets/esri/core/workers/chunks/{a6de903f22f76d875005.js → 7496c4c33c2d8f60a434.js} +1 -1
- package/assets/esri/core/workers/chunks/7b4523ab392966624d97.js +2 -0
- package/assets/esri/core/workers/chunks/{30551c1d3e4fa7be86c1.js.LICENSE.txt → 7b4523ab392966624d97.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{50ffb2620cdbcfd75723.js → 81b3351ea9627bb631d4.js} +1 -1
- package/assets/esri/core/workers/chunks/84d7ed2cf5fe23a0888f.js +1 -0
- package/assets/esri/core/workers/chunks/84f972d7851d982701a0.js +319 -0
- package/assets/esri/core/workers/chunks/{f52e597dca4b32a81881.js → 867c6c5b2ee1db977c99.js} +1 -1
- package/assets/esri/core/workers/chunks/{c5d786166a5609b85276.js → 8a87c181b85d0b86b9bb.js} +2 -2
- package/assets/esri/core/workers/chunks/{c5d786166a5609b85276.js.LICENSE.txt → 8a87c181b85d0b86b9bb.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{a0c51c4c30a5f749dfc6.js → 8bf2e2fe5e3e8b4a1fa0.js} +1 -1
- package/assets/esri/core/workers/chunks/{213adc87c843d627c5d6.js → 8f2e0277c66247bd40b4.js} +1 -1
- package/assets/esri/core/workers/chunks/{a600194cfe26aedc21dd.js → 9d32f41f8f69b8a507c3.js} +1 -1
- package/assets/esri/core/workers/chunks/ac9c6779771ec855da79.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{899f197556b6ced6eddf.js → ad9b4e0164706c53b872.js} +2 -2
- package/assets/esri/core/workers/chunks/{1a6d2d090b643a87408a.js → b780c7062b1b18a5ae19.js} +1 -1
- package/assets/esri/core/workers/chunks/{72097a8247101018dcdf.js → ba4aafa8dfa76006c3e7.js} +1 -1
- package/assets/esri/core/workers/chunks/c2594024d72133d3ed7b.js +2 -0
- package/assets/esri/core/workers/chunks/{e524462c63834fae7e01.js.LICENSE.txt → c2594024d72133d3ed7b.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/{5a821b7bf58eebb9062c.js → c607d618b64d3accecc4.js} +1 -1
- package/assets/esri/core/workers/chunks/c819535525e9a27bae1f.js +39 -0
- package/assets/esri/core/workers/chunks/{c3033f148213c960b906.js → cb25b45a6b385e60c68d.js} +307 -309
- package/assets/esri/core/workers/chunks/{577f24923fa4d08360e4.js → ce9de24cb96b56d20562.js} +2 -2
- package/assets/esri/core/workers/chunks/{577f24923fa4d08360e4.js.LICENSE.txt → ce9de24cb96b56d20562.js.LICENSE.txt} +1 -1
- package/assets/esri/core/workers/chunks/d30fae6233d3426615ed.js +1 -0
- package/assets/esri/core/workers/chunks/d8dc922f7466300b668f.js.LICENSE.txt +1 -1
- package/assets/esri/core/workers/chunks/{28317c8d7fa2eeeaf997.js → d92ea6b0674f34206ab6.js} +1 -1
- package/assets/esri/core/workers/chunks/{345993291540433d3d92.js → e93222c65bd28203ddf7.js} +1 -1
- package/assets/esri/themes/base/widgets/_SelectionList.scss +5 -17
- package/assets/esri/themes/dark/main.css +1 -1
- package/assets/esri/themes/light/main.css +1 -1
- package/assets/esri/themes/light/view.css +1 -1
- package/chunks/BloomBlur.glsl.js +1 -1
- package/chunks/BloomComposition.glsl.js +2 -2
- package/chunks/ChapmanAtmosphere.glsl.js +1 -1
- package/chunks/CloudsComposition.glsl.js +1 -1
- package/chunks/ComponentShader.glsl.js +33 -33
- package/chunks/DefaultMaterial.glsl.js +22 -22
- package/chunks/Fog.glsl.js +3 -3
- package/chunks/Haze.glsl.js +1 -1
- package/chunks/Path.glsl.js +22 -18
- package/chunks/RealisticTree.glsl.js +9 -9
- package/chunks/RibbonLine.glsl.js +1 -1
- package/chunks/ShadowCastAccumulate.glsl.js +5 -5
- package/chunks/ShadowHighlight.glsl.js +3 -3
- package/chunks/Terrain.glsl.js +1 -1
- package/chunks/Viewshed.glsl.js +1 -1
- package/geometry/support/PolylineBuilder.js +1 -1
- package/geometry/support/curves/bezierCurveUtils.js +5 -0
- package/geometry/support/curves/circleUtils.js +5 -0
- package/geometry/support/curves/circularArcUtils.js +5 -0
- package/geometry/support/curves/closestPointOnCurve.js +5 -0
- package/geometry/support/curves/curveUtils.js +5 -0
- package/geometry/support/curves/densifyCurvedGeometry.js +5 -0
- package/geometry/support/curves/ellipticArc4Utils.js +5 -0
- package/geometry/support/curves/ellipticArc7Utils.js +5 -0
- package/geometry/support/curves/mathUtils.js +5 -0
- package/geometry/support/curves/splitCurveAtPoint.js +5 -0
- package/interfaces.d.ts +452 -17
- package/layers/VideoLayer.js +1 -1
- package/package.json +1 -1
- package/portal/schemas/definitions.js +1 -1
- package/rest/knowledgeGraph/GraphAddNamedTypesResult.js +5 -0
- package/rest/knowledgeGraph/GraphDeleteNamedTypeResult.js +5 -0
- package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/updateToWasmEncodedFactories.js +1 -1
- package/rest/knowledgeGraph/wasmInterface/wasmToDataModelChangeResponseFactories.js +5 -0
- package/rest/knowledgeGraph/wasmInterface/wasmUtils.js +1 -1
- package/rest/knowledgeGraphService.js +1 -1
- package/support/revision.js +1 -1
- package/symbols/cim/CIMOperators.js +1 -1
- package/symbols/cim/effects/EffectSuppress.js +5 -0
- package/symbols/cim/effects/EffectTaperedPolygon.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/VideoLayerView2D.js +1 -1
- package/views/2d/layers/graphics/GraphicStoreItem.js +1 -1
- package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
- package/views/3d/environment/ChapmanAtmosphereTechniqueConfiguration.js +1 -1
- package/views/3d/environment/EnvironmentManager.js +1 -1
- package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorker.js +1 -1
- package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
- package/views/3d/layers/graphics/pipeline/FeatureProcessingContext.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +5 -0
- package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +5 -0
- package/views/3d/layers/graphics/pipeline/symbolization/Point3DSymbolRenderer.js +5 -0
- package/views/3d/layers/graphics/pipeline/symbolization/SimpleFeatureRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/UniqueValueFeatureRenderer.js +1 -1
- package/views/3d/layers/graphics/pipeline/symbolization/factoryUtils.js +5 -0
- package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/AnalyticalSkyModel.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientOcclusion.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +15 -15
- package/views/3d/webgl-engine/core/shaderLibrary/shading/FoamRendering.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +10 -11
- package/views/3d/webgl-engine/core/shaderLibrary/shading/PiUtils.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +3 -3
- package/views/3d/webgl-engine/core/shaderLibrary/shading/Water.glsl.js +8 -8
- package/views/3d/webgl-engine/core/shaderLibrary/shading/WaterDistortion.glsl.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js +27 -0
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js +28 -0
- package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/weather/SnowCover.glsl.js +12 -0
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
- package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +9 -9
- package/views/3d/webgl-engine/shaders/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ToneMapping.glsl.js +2 -20
- package/views/VideoView.js +1 -1
- package/webscene/support/FeatureReference.d.ts +4 -0
- package/webscene/support/FeatureReference.js +5 -0
- package/webscene/support/FeatureReferenceGlobalId.d.ts +4 -0
- package/webscene/support/FeatureReferenceGlobalId.js +5 -0
- package/webscene/support/FeatureReferenceId.d.ts +4 -0
- package/webscene/support/FeatureReferenceId.js +5 -0
- package/webscene/support/FeatureReferenceObjectId.d.ts +4 -0
- package/webscene/support/FeatureReferenceObjectId.js +5 -0
- package/webscene/support/LayerReference.d.ts +4 -0
- package/webscene/support/LayerReference.js +5 -0
- package/webscene/support/SlideElements.js +1 -1
- package/webscene/support/SlidePopupInfo.d.ts +4 -0
- package/webscene/support/SlidePopupInfo.js +5 -0
- package/webscene/support/featureReferenceUtils.js +5 -0
- package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
- package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
- package/widgets/FeatureTable.js +1 -1
- package/widgets/LayerList/LayerListItem.js +1 -1
- package/widgets/LayerList/ListItemPanel.js +1 -1
- package/widgets/TableList/ListItemPanel.js +1 -1
- package/widgets/VideoPlayer.js +1 -1
- package/widgets/support/SelectionList/FeatureItem.js +1 -1
- package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
- package/widgets/support/SelectionList.js +1 -1
- package/assets/esri/core/workers/chunks/2e3019ce49e972a815ca.js +0 -1
- package/assets/esri/core/workers/chunks/30551c1d3e4fa7be86c1.js +0 -2
- package/assets/esri/core/workers/chunks/3293b4041c222299428f.js +0 -1
- package/assets/esri/core/workers/chunks/626ba3a7dee952308566.js +0 -1
- package/assets/esri/core/workers/chunks/97eedd6b90c6a9c67947.js +0 -1
- package/assets/esri/core/workers/chunks/b1e420cb425a3625170e.js +0 -319
- package/assets/esri/core/workers/chunks/bf4947fe446dcb477031.js +0 -1
- package/assets/esri/core/workers/chunks/cd2927b922444880566d.js +0 -1
- package/assets/esri/core/workers/chunks/d3a74087e076a3ae76ca.js +0 -1
- package/assets/esri/core/workers/chunks/def182fff5a0244b1c2c.js +0 -1
- package/assets/esri/core/workers/chunks/e524462c63834fae7e01.js +0 -2
- package/assets/esri/core/workers/chunks/e64e0c3240f8e577a61c.js +0 -39
- package/geometry/support/curveUtils.js +0 -5
- package/geometry/support/densifyUtils.js +0 -5
- package/views/3d/layers/graphics/pipeline/symbolization/Factory.js +0 -5
- package/views/3d/layers/graphics/pipeline/symbolization/TestObjectSymbol.js +0 -5
- package/views/3d/layers/graphics/pipeline/symbolization/TestSymbol.js +0 -5
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.js +0 -38
- package/views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadowFromDepth.js +0 -35
- package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechniqueConfiguration.js +0 -5
- package/widgets/support/InteractiveAnalysisViewModel.js +0 -5
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[1552],{10536:(e,t,r)=>{function n(e){const t={};for(const r in e){if("declaredClass"===r)continue;const i=e[r];if(null!=i&&"function"!=typeof i)if(Array.isArray(i)){t[r]=[];for(let e=0;e<i.length;e++)t[r][e]=n(i[e])}else"object"==typeof i?i.toJSON&&(t[r]=JSON.stringify(i)):t[r]=i}return t}r.d(t,{z:()=>n})},13259:(e,t,r)=>{r.d(t,{H:()=>U,b:()=>z,c:()=>B,f:()=>V,s:()=>D});var n=r(37585),i=r(48163),s=r(91829),a=r(79258),o=r(49255),l=r(76591),c=r(36782),d=r(47522),u=r(40268),h=r(63578),f=r(13755),p=r(42593),m=r(42398),g=r(63365),y=r(26835),_=r(52587),v=r(20693),b=r(47286),x=r(14314),w=r(81961),C=r(71988),S=r(33094),I=r(20304),A=r(31821),T=r(12791),O=r(63761),R=r(59643),P=r(46540),E=r(14113),M=r(49788);const D={occludedFadeFactor:1};function z(e){const t=new E.N5,{signedDistanceFieldEnabled:r,occlusionTestEnabled:i,horizonCullingEnabled:D,pixelSnappingEnabled:z,hasScreenSizePerspective:V,debugDrawLabelBorder:U,vvSize:L,vvColor:k,hasRotation:q,occludedFragmentFade:H,sampleSignedDistanceFieldTexelCenter:G}=e;t.include(u.Q,e),t.vertex.include(l.rA,e);const{occlusionPass:$,output:Y,oitPass:W}=e;if($)return t.include(h.I,e),t;const{vertex:X,fragment:Z}=t;t.include(_.Y6),t.include(m.A,e),t.include(c.g,e),i&&t.include(f.y),Z.include(y.W),Z.include(g.a),t.varyings.add("vcolor","vec4"),t.varyings.add("vtc","vec2"),t.varyings.add("vsize","vec2");const Q=Y===o.V.Highlight,J=Q&&i;J&&t.varyings.add("voccluded","float"),X.uniforms.add(new x.I("viewport",(e=>e.camera.fullViewport)),new b.G("screenOffset",((e,t)=>(0,n.hZ)(j,2*e.screenOffset[0]*t.camera.pixelRatio,2*e.screenOffset[1]*t.camera.pixelRatio))),new b.G("anchorPosition",(e=>B(e))),new C.E("materialColor",(e=>e.color)),new I.m("materialRotation",(e=>e.rotation)),new O.N("tex",(e=>e.texture))),(0,v.Nz)(X),r&&(X.uniforms.add(new C.E("outlineColor",(e=>e.outlineColor))),Z.uniforms.add(new C.E("outlineColor",(e=>F(e)?e.outlineColor:s.uY)),new I.m("outlineSize",(e=>F(e)?e.outlineSize:0)))),D&&X.uniforms.add(new w.V("pointDistanceSphere",((e,t)=>{const r=t.camera.eye,n=e.origin;return(0,s.fA)(n[0]-r[0],n[1]-r[1],n[2]-r[2],a.$O.radius)}))),z&&X.include(d.K),V&&((0,_.pM)(X),(0,_.OH)(X)),U&&t.varyings.add("debugBorderCoords","vec4"),t.attributes.add(P.r.UVI,"vec2"),t.attributes.add(P.r.COLOR,"vec4"),t.attributes.add(P.r.SIZE,"vec2"),t.attributes.add(P.r.ROTATION,"float"),t.attributes.add(P.r.FEATUREATTRIBUTE,"vec4"),X.code.add(D?A.H`bool behindHorizon(vec3 posModel) {
|
|
2
|
-
vec3 camToEarthCenter = pointDistanceSphere.xyz - localOrigin;
|
|
3
|
-
vec3 camToPos = pointDistanceSphere.xyz + posModel;
|
|
4
|
-
float earthRadius = pointDistanceSphere.w;
|
|
5
|
-
float a = dot(camToPos, camToPos);
|
|
6
|
-
float b = dot(camToPos, camToEarthCenter);
|
|
7
|
-
float c = dot(camToEarthCenter, camToEarthCenter) - earthRadius * earthRadius;
|
|
8
|
-
return b > 0.0 && b < a && b * b > a * c;
|
|
9
|
-
}`:A.H`bool behindHorizon(vec3 posModel) { return false; }`),X.main.add(A.H`
|
|
10
|
-
ProjectHUDAux projectAux;
|
|
11
|
-
vec4 posProj = projectPositionHUD(projectAux);
|
|
12
|
-
forwardObjectAndLayerIdColor();
|
|
13
|
-
|
|
14
|
-
if (rejectBySlice(projectAux.posModel)) {
|
|
15
|
-
// Project outside of clip plane
|
|
16
|
-
gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
|
|
17
|
-
return;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (behindHorizon(projectAux.posModel)) {
|
|
21
|
-
// Project outside of clip plane
|
|
22
|
-
gl_Position = vec4(1e038, 1e038, 1e038, 1.0);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
vec2 inputSize;
|
|
27
|
-
${(0,A.If)(V,A.H`
|
|
28
|
-
inputSize = screenSizePerspectiveScaleVec2(size, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);
|
|
29
|
-
vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,A.H`
|
|
30
|
-
inputSize = size;
|
|
31
|
-
vec2 screenOffsetScaled = screenOffset;`)}
|
|
32
|
-
${(0,A.If)(L,A.H`inputSize *= vvScale(featureAttribute).xx;`)}
|
|
33
|
-
|
|
34
|
-
vec2 combinedSize = inputSize * pixelRatio;
|
|
35
|
-
vec4 quadOffset = vec4(0.0);
|
|
36
|
-
|
|
37
|
-
${(0,A.If)(i,A.H`
|
|
38
|
-
bool visible = testHUDVisibility(posProj);
|
|
39
|
-
if (!visible) {
|
|
40
|
-
vtc = vec2(0.0);
|
|
41
|
-
${(0,A.If)(U,"debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);")}
|
|
42
|
-
return;
|
|
43
|
-
}`)}
|
|
44
|
-
${(0,A.If)(J,A.H`voccluded = visible ? 0.0 : 1.0;`)}
|
|
45
|
-
`);const K=A.H`
|
|
46
|
-
vec2 uvi1 = vec2(uvi.x < 0.0 ? 1.0 : 0.0, uvi.y < 0.0 ? 1.0 : 0.0);
|
|
47
|
-
vec2 uv = abs(uvi + uvi1);
|
|
48
|
-
vec2 texSize = vec2(textureSize(tex, 0));
|
|
49
|
-
uv.x = uv.x >= ${N} ? 1.0 : uv.x / texSize.x;
|
|
50
|
-
uv.y = uv.y >= ${N} ? 1.0 : uv.y / texSize.y;
|
|
51
|
-
quadOffset.xy = (uvi1 - anchorPosition) * 2.0 * combinedSize;
|
|
52
|
-
|
|
53
|
-
${(0,A.If)(q,A.H`
|
|
54
|
-
float angle = radians(materialRotation + rotation);
|
|
55
|
-
float cosAngle = cos(angle);
|
|
56
|
-
float sinAngle = sin(angle);
|
|
57
|
-
mat2 rotate = mat2(cosAngle, -sinAngle, sinAngle, cosAngle);
|
|
58
|
-
|
|
59
|
-
quadOffset.xy = rotate * quadOffset.xy;
|
|
60
|
-
`)}
|
|
61
|
-
|
|
62
|
-
quadOffset.xy = (quadOffset.xy + screenOffsetScaled) / viewport.zw * posProj.w;
|
|
63
|
-
`,ee=z?r?A.H`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:A.H`posProj += quadOffset;
|
|
64
|
-
if (inputSize.x == size.x) {
|
|
65
|
-
posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
66
|
-
}`:A.H`posProj += quadOffset;`;X.main.add(A.H`
|
|
67
|
-
${K}
|
|
68
|
-
${k?"vcolor = interpolateVVColor(featureAttribute.y) * materialColor;":"vcolor = color / 255.0 * materialColor;"}
|
|
69
|
-
|
|
70
|
-
${(0,A.If)(Y===o.V.ObjectAndLayerIdColor,A.H`vcolor.a = 1.0;`)}
|
|
71
|
-
|
|
72
|
-
bool alphaDiscard = vcolor.a < ${A.H.float(M.Q)};
|
|
73
|
-
${(0,A.If)(r,`alphaDiscard = alphaDiscard && outlineColor.a < ${A.H.float(M.Q)};`)}
|
|
74
|
-
if (alphaDiscard) {
|
|
75
|
-
// "early discard" if both symbol color (= fill) and outline color (if applicable) are transparent
|
|
76
|
-
gl_Position = vec4(1e38, 1e38, 1e38, 1.0);
|
|
77
|
-
return;
|
|
78
|
-
} else {
|
|
79
|
-
${ee}
|
|
80
|
-
gl_Position = posProj;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
vtc = uv;
|
|
84
|
-
|
|
85
|
-
${(0,A.If)(U,A.H`debugBorderCoords = vec4(uv01, 1.5 / combinedSize);`)}
|
|
86
|
-
vsize = inputSize;
|
|
87
|
-
`),Z.uniforms.add(new O.N("tex",(e=>e.texture))),H&&!Q&&Z.uniforms.add(new T.x("depthMap",(e=>e.mainDepth)),new S.U("occludedOpacity",(e=>e.hudOccludedFragmentOpacity)));const te=U?A.H`(isBorder > 0.0 ? 0.0 : ${A.H.float(M.Q)})`:A.H.float(M.Q),re=A.H`
|
|
88
|
-
${(0,A.If)(U,A.H`float isBorder = float(any(lessThan(debugBorderCoords.xy, debugBorderCoords.zw)) || any(greaterThan(debugBorderCoords.xy, 1.0 - debugBorderCoords.zw)));`)}
|
|
89
|
-
|
|
90
|
-
vec2 samplePos = vtc;
|
|
91
|
-
|
|
92
|
-
${(0,A.If)(G,A.H`
|
|
93
|
-
float txSize = float(textureSize(tex, 0).x);
|
|
94
|
-
float texelSize = 1.0 / txSize;
|
|
95
|
-
|
|
96
|
-
// Calculate how much we have to add/subtract to/from each texel to reach the size of an onscreen pixel
|
|
97
|
-
vec2 scaleFactor = (vsize - txSize) * texelSize;
|
|
98
|
-
samplePos += (vec2(1.0, -1.0) * texelSize) * scaleFactor;`)}
|
|
99
|
-
|
|
100
|
-
${r?A.H`
|
|
101
|
-
vec4 fillPixelColor = vcolor;
|
|
102
|
-
|
|
103
|
-
// Get distance and map it into [-0.5, 0.5]
|
|
104
|
-
float d = rgbaTofloat(texture(tex, samplePos)) - 0.5;
|
|
105
|
-
|
|
106
|
-
// Distance in output units (i.e. pixels)
|
|
107
|
-
float dist = d * vsize.x;
|
|
108
|
-
|
|
109
|
-
// Create smooth transition from the icon into its outline
|
|
110
|
-
float fillAlphaFactor = clamp(0.5 - dist, 0.0, 1.0);
|
|
111
|
-
fillPixelColor.a *= fillAlphaFactor;
|
|
112
|
-
|
|
113
|
-
if (outlineSize > 0.25) {
|
|
114
|
-
vec4 outlinePixelColor = outlineColor;
|
|
115
|
-
float clampedOutlineSize = min(outlineSize, 0.5*vsize.x);
|
|
116
|
-
|
|
117
|
-
// Create smooth transition around outline
|
|
118
|
-
float outlineAlphaFactor = clamp(0.5 - (abs(dist) - 0.5*clampedOutlineSize), 0.0, 1.0);
|
|
119
|
-
outlinePixelColor.a *= outlineAlphaFactor;
|
|
120
|
-
|
|
121
|
-
if (
|
|
122
|
-
outlineAlphaFactor + fillAlphaFactor < ${te} ||
|
|
123
|
-
fillPixelColor.a + outlinePixelColor.a < ${A.H.float(M.Q)}
|
|
124
|
-
) {
|
|
125
|
-
discard;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// perform un-premultiplied over operator (see https://en.wikipedia.org/wiki/Alpha_compositing#Description)
|
|
129
|
-
float compositeAlpha = outlinePixelColor.a + fillPixelColor.a * (1.0 - outlinePixelColor.a);
|
|
130
|
-
vec3 compositeColor = vec3(outlinePixelColor) * outlinePixelColor.a +
|
|
131
|
-
vec3(fillPixelColor) * fillPixelColor.a * (1.0 - outlinePixelColor.a);
|
|
132
|
-
|
|
133
|
-
${(0,A.If)(!Q,A.H`fragColor = vec4(compositeColor, compositeAlpha);`)}
|
|
134
|
-
} else {
|
|
135
|
-
if (fillAlphaFactor < ${te}) {
|
|
136
|
-
discard;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
${(0,A.If)(!Q,A.H`fragColor = premultiplyAlpha(fillPixelColor);`)}
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
// visualize SDF:
|
|
143
|
-
// fragColor = vec4(clamp(-dist/vsize.x*2.0, 0.0, 1.0), clamp(dist/vsize.x*2.0, 0.0, 1.0), 0.0, 1.0);
|
|
144
|
-
`:A.H`
|
|
145
|
-
vec4 texColor = texture(tex, samplePos, -0.5);
|
|
146
|
-
if (texColor.a < ${te}) {
|
|
147
|
-
discard;
|
|
148
|
-
}
|
|
149
|
-
${(0,A.If)(!Q,A.H`fragColor = texColor * premultiplyAlpha(vcolor);`)}
|
|
150
|
-
`}
|
|
151
|
-
|
|
152
|
-
${(0,A.If)(H&&!Q,A.H`
|
|
153
|
-
float zSample = texelFetch(depthMap, ivec2(gl_FragCoord.xy), 0).x;
|
|
154
|
-
if (zSample < gl_FragCoord.z) {
|
|
155
|
-
fragColor *= occludedOpacity;
|
|
156
|
-
}
|
|
157
|
-
`)}
|
|
158
|
-
|
|
159
|
-
${(0,A.If)(!Q&&U,A.H`fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`)}
|
|
160
|
-
`;switch(Y){case o.V.Color:case o.V.ColorEmission:t.outputs.add("fragColor","vec4",0),Y===o.V.ColorEmission&&t.outputs.add("fragEmission","vec4",1),W===R.Y.ColorAlpha&&t.outputs.add("fragAlpha","float",Y===o.V.ColorEmission?2:1),Z.main.add(A.H`
|
|
161
|
-
${re}
|
|
162
|
-
${(0,A.If)(W===R.Y.FrontFace,A.H`fragColor.rgb /= fragColor.a;`)}
|
|
163
|
-
${(0,A.If)(Y===o.V.ColorEmission,A.H`fragEmission = vec4(0.0);`)}
|
|
164
|
-
${(0,A.If)(W===R.Y.ColorAlpha,A.H`fragAlpha = fragColor.a;`)}`);break;case o.V.ObjectAndLayerIdColor:Z.main.add(A.H`
|
|
165
|
-
${re}
|
|
166
|
-
outputObjectAndLayerIdColor();`);break;case o.V.Highlight:t.include(p.Q,e),Z.main.add(A.H`
|
|
167
|
-
${re}
|
|
168
|
-
outputHighlight(${(0,A.If)(J,A.H`voccluded == 1.0`,A.H`false`)});`)}return t}function F(e){return e.outlineColor[3]>0&&e.outlineSize>0}function B(e){return e.textureIsSignedDistanceField?(t=e.anchorPosition,r=e.distanceFieldBoundingBox,i=j,(0,n.hZ)(i,t[0]*(r[2]-r[0])+r[0],t[1]*(r[3]-r[1])+r[1])):(0,n.C)(j,e.anchorPosition),j;var t,r,i}const j=(0,i.vt)(),V=32e3,N=A.H.float(V),U=Object.freeze(Object.defineProperty({__proto__:null,build:z,calculateAnchorPosition:B,fullUV:V,shaderSettings:D},Symbol.toStringTag,{value:"Module"}))},13755:(e,t,r)=>{r.d(t,{y:()=>c});var n,i=r(47522);!function(e){e[e.Occluded=0]="Occluded",e[e.NotOccluded=1]="NotOccluded",e[e.Both=2]="Both",e[e.COUNT=3]="COUNT"}(n||(n={}));var s=r(14314),a=r(33094),o=r(31821),l=r(12791);function c(e){e.vertex.uniforms.add(new a.U("renderTransparentlyOccludedHUD",(e=>e.hudRenderStyle===n.Occluded?1:e.hudRenderStyle===n.NotOccluded?0:.75)),new s.I("viewport",(e=>e.camera.fullViewport)),new l.x("hudVisibilityTexture",(e=>e.hudVisibility?.getTexture()))),e.vertex.include(i.K),e.vertex.code.add(o.H`bool testHUDVisibility(vec4 posProj) {
|
|
169
|
-
vec4 posProjCenter = alignToPixelCenter(posProj, viewport.zw);
|
|
170
|
-
vec4 occlusionPixel = texture(hudVisibilityTexture, .5 + .5 * posProjCenter.xy / posProjCenter.w);
|
|
171
|
-
if (renderTransparentlyOccludedHUD > 0.5) {
|
|
172
|
-
return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g * renderTransparentlyOccludedHUD < 1.0;
|
|
173
|
-
}
|
|
174
|
-
return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g == 1.0;
|
|
175
|
-
}`)}},18251:(e,t,r)=>{r.d(t,{A:()=>u});var n=r(90237),i=r(69540),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(93223)),l=r(40608),c=r(51850);let d=class extends(i.A.ClonableMixin(s.A)){constructor(e){super(e),this.type="local",this.origin=(0,c.vt)()}};(0,n._)([(0,o.e)({local:"local"},{readOnly:!0})],d.prototype,"type",void 0),(0,n._)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"origin",void 0),d=(0,n._)([(0,l.$)("esri.geometry.support.MeshLocalVertexSpace")],d);const u=d},19742:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Kr});var n=r(90237),i=r(65529),s=r(74887),a=r(36708),o=r(10107),l=r(44208),c=(r(53966),r(87811),r(40608)),d=r(5443),u=r(80586),h=r(16930),f=r(68298),p=r(61956);class m{constructor(e,t,r){this.renderCommandContext=e,this.renderCommandBuffer=t,this.pipelineStateCommands=r}append(e){this.appendRenderCommands(e.renderCommandBuffer),this.appendPipelineStateCommands(e.pipelineStateCommands)}appendRenderCommands(e){this.renderCommandBuffer.commands.push(...e.commands),this.renderCommandBuffer.transferList.push(...e.transferList)}appendPipelineStateCommand(e){this.pipelineStateCommands.push(e)}appendPipelineStateCommands(e){for(const t of e)this.appendPipelineStateCommand(t)}async execute(){for(const e of this.pipelineStateCommands)e();await this.renderCommandContext.dispatchRenderCommands(this.renderCommandBuffer)}static create(e,t=[]){return new m(e,e.createRenderCommandBuffer(),t)}}function g(e){return 0===e.length?null:e.reduce(((e,t)=>(e.append(t),e)))}class y{constructor(e,t,r,n,i,s){this.viewSpatialReference=e,this.renderSpatialReference=t,this.mainThreadDelegate=r,this.renderCoordsHelper=n,this.renderCommandContext=i,this.elevationInfo=s}createPipelineCommand(e=this.renderCommandContext.createRenderCommandBuffer(),t=[]){return new m(this.renderCommandContext,e,t)}joinPipelineCommands(e){return 0===e.length?this.createPipelineCommand():e.filter((e=>null!=e)).reduce(((e,t)=>(e.append(t),e)))}}var _,v,b,x=r(69622),w=r(60999),C=r(32587),S=r(19419),I=r(4576);class A{constructor(e,t){this._joinCommands=e,this._createCommand=t,this._executing=new Set,this._nextEvents=new Map}async enqueueActions(e){const{_executing:t}=this;return e.every((e=>!t.has(e.tileId)))?await this._executeActions(e):await this._scheduleActions(e)}async _scheduleActions(e){const{_nextEvents:t}=this,r=new Set(e.map((e=>t.get(e.tileId))).filter(I.Ru));let n;if(0!==r.size){const i=new Array,s=new Array;for(const e of r)i.push(e.actions),s.push(e.resolver);i.push(e);for(const e of i)for(const r of e)t.delete(r.tileId);const a=i.reduce(R);n=new T(a),n.resolver.promise.then((()=>{for(const e of s)e.resolve()}),(e=>{for(const t of s)t.reject(e)}))}else n=new T(e);for(const e of n.actions)t.set(e.tileId,n);return this._validate(),await n.resolver.promise}async _executeActions(e){const t=e.map((e=>e.tileId)),{_executing:r}=this;for(const e of t)r.add(e);this._validate();try{const t=(await Promise.allSettled(e.map(this._createCommand))).map((e=>"fulfilled"===e.status?e.value:null)).filter(I.Ru);if(0===t.length)return;const r=this._joinCommands(t);await(r?.execute())}finally{for(const e of t)r.delete(e);this._executeTails(t)}}_executeTails(e){const{_nextEvents:t}=this,r=new Set(e.map((e=>t.get(e))).filter(I.Ru));if(0===r.size)return;const{_executing:n}=this;for(const e of r)if(!e.actions.some((e=>n.has(e.tileId)))){for(const r of e.actions)t.delete(r.tileId);this._executeActions(e.actions).then((()=>{e.resolver.resolve()}),(t=>{e.resolver.reject(t)}))}}_validate(){const{_nextEvents:e}=this,t=Array.from(new Set(e.values()));if(0!==t.length&&t.some((t=>t.actions.some((({tileId:r})=>e.get(r)!==t)))))throw new Error("Mismatch between map and event")}}class T{constructor(e){this.actions=e,this.resolver=(0,s.Tw)()}}class O{constructor(e,t,r){this.tileId=e,this.type=t,this.data=r}toString(){return`${this.tileId}: ${this.type}`}}function R(e,t){const r=new Array(e.length).fill(!0),n=new Array(t.length).fill(!0);e:for(let i=0;i<e.length;++i){const s=e[i];for(let e=0;e<t.length;++e)if(n[e])switch(P(s,t[e])){case v.NONE:break;case v.OVERWRITE:r[i]=!1;continue e;case v.REDUNDANT:n[e]=!1;break;case v.ANNIHILATE:r[i]=!1,n[e]=!1;continue e}}const i=new Array;for(let t=0;t<e.length;++t)r[t]&&i.push(e[t]);for(let e=0;e<t.length;++e)n[e]&&i.push(t[e]);return i}function P(e,t){if(e.tileId!==t.tileId)return v.NONE;if(e.type===_.ADD&&t.type===_.REMOVE)return v.ANNIHILATE;if(e.type===_.ADD&&t.type===_.UPDATE_VISIBILITY)return v.REDUNDANT;if(e.type===_.REMOVE&&t.type===_.ADD)return v.ANNIHILATE;if(e.type===_.UPDATE_VISIBILITY&&t.type===_.REMOVE)return v.OVERWRITE;if(e.type===_.UPDATE_VISIBILITY&&t.type===_.UPDATE_VISIBILITY)return v.OVERWRITE;throw new Error("Impossible sequence of actions")}(b=_||(_={})).ADD="ADD",b.REMOVE="REMOVE",b.UPDATE_VISIBILITY="UPDATE_VISIBILITY",function(e){e.NONE="NONE",e.ANNIHILATE="ANNIHILATE",e.OVERWRITE="OVERWRITE",e.REDUNDANT="REDUNDANT"}(v||(v={}));var E=r(69397),M=r(24326);function D(e=""){return`${e}${(0,M.c)()}`}r(37539),new Float64Array(3);class z{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=D(`featureDataSubset-${e.id}-`)}get extent(){return this._parent.extent}get featureCount(){return this._subsetIndices.length}get usedMemory(){return this._parent.usedMemory+E.qK+this._subsetIndices.byteLength}get isFullyEnabled(){for(const e of this._subsetIndices)if(!this._parent.getEnabled(e))return!1;return!0}getObjectId(e){return this._parent.getObjectId(this._subsetIndices[e])}getAttribute(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributeAsTimestamp(e,t){return this._parent.getAttribute(this._subsetIndices[e],t)}getAttributes(e){return this._parent.getAttributes(this._subsetIndices[e])}getCoordinates(e,t,r){return this._parent.getCoordinates(this._subsetIndices[e],t,r)}getOptimizedGeometry(e){return this._parent.getOptimizedGeometry(this._subsetIndices[e])}getCentroid(e,t){return this._parent.getCentroid(this._subsetIndices[e],t)}getBounds(e){return this._parent.getBounds(this._subsetIndices[e])}getBoundingBox(e){return this._parent.getBoundingBox(this._subsetIndices[e])}getObjectIdsArray(e,t,r){return this._parent.getObjectIdsArray(e,this._translatedIndices(t),r)}getCoordinatesArray(e,t,r){return this._parent.getCoordinatesArray(e,this._translatedIndices(t),r)}objectIds(e){return this._parent.objectIds(this._translatedIndices(e))}subset(e){const{_subsetIndices:t}=this,r=new Uint32Array(e.length);for(let n=0;n<r.length;++n)r[n]=t[e[n]];return new z(this._parent,r)}disableObjectIds(e){if(0===e.size)return;const{featureCount:t}=this,r=new Array;for(let n=0;n<t;++n)this.getEnabled(n)&&e.has(this.getObjectId(n))&&r.push(n);if(0!==r.length)for(const e of r)this.setEnabled(e,!1)}setEnabled(e,t){this._parent.setEnabled(this._subsetIndices[e],t)}getEnabled(e){return this._parent.getEnabled(this._subsetIndices[e])}enableAll(){const{_subsetIndices:e,_parent:t}=this;for(const r of e)t.setEnabled(r,!0)}getVisibilityArray(e,t,r){return this._parent.getVisibilityArray(e,this._translatedIndices(t),r)}enabledObjectIds(e){return this._parent.enabledObjectIds(this._translatedIndices(e))}*_translatedIndices(e){const{_subsetIndices:t}=this;if(null!=e)for(const r of e)yield t[r];else yield*t}}class F{constructor(e){this._tile=e,this.id=D(`featureData-${e.id}-`),this._enabled=new Array(e.featureCount).fill(!0)}get featureCount(){return this._tile.featureCount}get usedMemory(){return E.qK+(0,E.$B)(this.id)}get extent(){return this._tile.descriptor.extent}get isFullyEnabled(){return this._enabled.every((e=>e))}getObjectId(e){return this._tile.getObjectId(e)}getAttribute(e,t){return this._tile.getAttribute(e,t)}getAttributeAsTimestamp(e,t){return this._tile.getAttribute(e,t)}getAttributes(e){return this._tile.getAttributes(e)}getCoordinates(e,t,r){return this._tile.getCoordinates(e,t,r)}getOptimizedGeometry(e){return this._tile.getOptimizedGeometry(e)}getCentroid(e,t){return this._tile.getCentroid(e,t)}getBounds(e){return this._tile.getBounds(e)}getBoundingBox(e){return this._tile.getBoundingBox(e)}getObjectIdsArray(e,t,r){return this._tile.getObjectIdsArray(e,t,r)}getCoordinatesArray(e,t,r){return this._tile.getCoordinatesArray(e,t,r)}objectIds(e){return this._tile.objectIds(e)}subset(e){return new z(this,e)}disableObjectIds(e){if(0===e.size)return;const{_enabled:t}=this,r=new Array;for(const n of this._allFeatureIndices())t[n]&&e.has(this.getObjectId(n))&&r.push(n);if(0!==r.length)for(const e of r)t[e]=!1}setEnabled(e,t){this._enabled[e]=t}getEnabled(e){return this._enabled[e]}enableAll(){this._enabled.fill(!0)}getVisibilityArray(e,t=this._allFeatureIndices(),r=0){const{_enabled:n}=this;for(const i of t)e[r++]=Number(n[i]);return r}*enabledObjectIds(e=this._allFeatureIndices()){const{_enabled:t}=this;for(const r of e)t[r]&&(yield this.getObjectId(r))}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}}let B=class extends x.A{constructor(e){super(e),this._updatingCount=0,this.extent=null,this._tileHandles=new C.A,this._wanted=new C.A}destroy(){this._tileHandles.clear(),this._wanted.clear()}get updating(){return this._updatingCount>0}get _boundingRect(){const{extent:e}=this;return null==e?null:(0,S.VY)(e)}get _missingTiles(){const e=new Array,t=this._wanted,r=this._tileHandles;for(const n of t.values())null==r.get(n.id)?.featureData&&e.push(n);return e}async onTileTreeChange(e){++this._updatingCount;try{const{added:t,removed:r}=e,n=this._tileHandles,{_boundingRect:i}=this,s=null!=i?t.filter((e=>(0,S.HY)(i,e.extent))):t,a=this._wanted,o=new Array;for(const{id:e}of r)a.delete(e);for(const e of s)a.set(e.id,e);const l=this._missingTiles;for(const e of r){const{id:t}=e;if(l.some((t=>j(t,e)||j(e,t))))continue;const r=n.get(t);null!=r&&o.push(this._removeTile(r))}for(const e of s)o.push(this._addTile(e));const c=await Promise.allSettled(o);for(const e of c)"rejected"===e.status&&console.error(e.reason)}finally{--this._updatingCount}}forEachTile(e){for(const t of this._tileHandles.values()){const r=t.featureData;null!=r&&e(r)}}async _removeTile(e){e.loadTask.abort(),this._tileHandles.delete(e.id),this._validate();const{featureData:t}=e;null!=t&&await this.synchronizer.enqueueActions([new O(e.id,_.REMOVE,t)])}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!N(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const n=new V(e,(0,w.UT)((async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new F(r)})));this._tileHandles.set(n.id,n);try{await n.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!N(e))throw new Error})(n),await this._onTileLoad(n)}async _onTileLoad(e){const{_wanted:t,_tileHandles:r,_missingTiles:n}=this,i=e.descriptor,s=new Array,a=new Set;for(const o of r.values()){if(o===e)continue;const{descriptor:l,id:c}=o;if(t.has(c)||n.some((e=>j(e,l)||j(l,e)))){if(N(o)){if(j(i,l)){const e=o.featureData;for(const t of e.objectIds())a.add(t)}if(j(l,i)){const t=e.featureData,r=new Set(t.objectIds()),{featureData:n}=o;n.disableObjectIds(r),s.push(new O(c,_.UPDATE_VISIBILITY,n)),this._validateRemoval(n,r)}}}else{r.delete(c),o.loadTask.abort();const{featureData:e}=o;null!=e&&s.push(new O(c,_.REMOVE,e))}}a.size>0&&(e.featureData.disableObjectIds(a),this._validateRemoval(e.featureData,a)),this._validate(),s.push(new O(e.id,_.ADD,e.featureData)),await this.synchronizer.enqueueActions(s)}_validate(){if(!(0,l.A)("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!N(t))continue;const{featureData:r}=t;e.push({featureData:r,objectIds:new Set(r.enabledObjectIds())})}for(let t=0;t<e.length;++t){const{featureData:r,objectIds:n}=e[t];for(let i=t+1;i<e.length;++i){const{featureData:t,objectIds:s}=e[i];for(const e of s)if(n.has(e))throw new Error(`${r.id} and ${t.id} both contain ${e}.`)}}}_validateRemoval(e,t){if((0,l.A)("feature-pipeline-3d-test-validation"))for(const r of e.enabledObjectIds())if(t.has(r))throw new Error(`Failed to remove ${r} from ${e.id}!`)}};function j({lij:[e,t,r]},{lij:[n,i,s]}){const a=n-e;return a>=0&&t===i>>a&&r===s>>a}(0,n._)([(0,o.MZ)()],B.prototype,"updating",null),(0,n._)([(0,o.MZ)({constructOnly:!0})],B.prototype,"loadTile",void 0),(0,n._)([(0,o.MZ)({constructOnly:!0})],B.prototype,"synchronizer",void 0),(0,n._)([(0,o.MZ)()],B.prototype,"_updatingCount",void 0),(0,n._)([(0,o.MZ)()],B.prototype,"extent",void 0),(0,n._)([(0,o.MZ)()],B.prototype,"_boundingRect",null),(0,n._)([(0,o.MZ)()],B.prototype,"_missingTiles",null),B=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],B);class V{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function N(e){return null!=e.featureData}var U=r(75503),L=r(27647),k=r(92722);class q{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return E.qK+E.RS}getObjectId(){return this._view.getObjectId(this._index)}getAttribute(e){return this._view.getAttribute(this._index,e)}getAttributeAsTimestamp(e){return this._view.getAttributeAsTimestamp(this._index,e)}getAttributes(){return this._view.getAttributes(this._index)}getOptimizedGeometry(){return this._view.getOptimizedGeometry(this._index)}getCentroid(e){return this._view.getCentroid(this._index,e)}getBounds(){return this._view.getBounds(this._index)}getBoundingBox(){return this._view.getBoundingBox(this._index)}cloneWithGeometry(e){return new H(this._index,this._view,e)}}class H extends q{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,L.Q)(new k.A,this._geometryOverride,e.hasZ,e.hasM)}}class G{constructor(e,t){this.featureData=e,this.bounds=t}}class ${constructor(){this._tileBounds=new Map,this.events=new i.A,this.featureAdapter=Y.shared}get usedMemory(){return E.qK+E.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new U.w(9,(t=>e.getBounds(t))),n=new Array;for(let e=0;e<t;++e)n[e]=e;r.load(n),this._tileBounds.set(e.id,new G(e,r)),this.events.emit("changed")}removeTile(e){this._tileBounds.delete(e),this.events.emit("changed")}clear(){this._tileBounds.clear(),this.events.emit("changed")}forEach(e){for(const{featureData:t,bounds:r}of this._tileBounds.values())r.all((r=>{t.getEnabled(r)&&e(new q(r,t))}))}forEachInBounds(e,t){W.minX=e[0],W.minY=e[1],W.maxX=e[2],W.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(W,(r=>{e.getEnabled(r)&&t(new q(r,e))}))}forEachBounds(e,t){for(const r of e)t(r.getBoundingBox())}getFullExtent(e){let t=1/0,r=1/0,n=-1/0,i=-1/0;for(const{bounds:e}of this._tileBounds.values()){const{minX:s,minY:a,maxX:o,maxY:l}=e.toJSON();t=Math.min(t,s),r=Math.min(r,a),n=Math.min(n,o),i=Math.min(i,l)}return{xmin:t,ymin:r,xmax:n,ymax:i,spatialReference:e}}}class Y{static{this.shared=new Y}getObjectId(e){return e.getObjectId()}getAttribute(e,t){return e.getAttribute(t)}getAttributeAsTimestamp(e,t){return e.getAttributeAsTimestamp(t)}getAttributes(e){return e.getAttributes()}getGeometry(e){return e.getOptimizedGeometry()}getCentroid(e,t){return e.getCentroid(t)}cloneWithGeometry(e,t){return e.cloneWithGeometry(t)}}const W=new U.E;var X=r(80893);class Z{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const n=E.ez+t.reduce(((e,{usedMemory:t})=>e+t),0),i=3*E.RS;this.usedMemory=E.qK+n+i,this.featureCount=t.reduce(((e,t)=>e+t.featureCount),0)}get id(){return this.descriptor.id}getObjectId(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getObjectId(r)}getAttribute(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getAttribute(n,t)}getAttributeAsTimestamp(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getAttributeAsTimestamp(n,t)}getAttributes(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getAttributes(r)}getCoordinates(e,t,r){const{pageIndex:n,featurePageIndex:i}=this._translateIndex(e);this._pages[n].getCoordinates(i,t,r)}getOptimizedGeometry(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getOptimizedGeometry(r)}getCentroid(e,t){const{pageIndex:r,featurePageIndex:n}=this._translateIndex(e);return this._pages[r].getCentroid(n,t)}getBounds(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBounds(r)}getBoundingBox(e){const{pageIndex:t,featurePageIndex:r}=this._translateIndex(e);return this._pages[t].getBoundingBox(r)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){let n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getObjectIdsArray(e,i,n);return n}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){let n=r;for(const{page:r,indices:i}of this._batchPageIndices(t))n=r.getCoordinatesArray(e,i,n);return n}*objectIds(e=this._allFeatureIndices()){for(const{page:t,indices:r}of this._batchPageIndices(e))for(const e of t.objectIds(r))yield e}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_translateIndex(e){const{_pageSize:t}=this;return{pageIndex:Math.floor(e/t),featurePageIndex:e%t}}*_batchPageIndices(e){const t=new Array;{let r=0,n=new Array;for(const i of e){const{pageIndex:e,featurePageIndex:s}=this._translateIndex(i);r!==e&&(0!==n.length&&t.push({pageIndex:r,indices:n}),r=e,n=[]),n.push(s)}0!==n.length&&t.push({pageIndex:r,indices:n})}const{_pages:r}=this;for(const{pageIndex:e,indices:n}of t)yield{page:r[e],indices:n}}}var Q=r(49186),J=r(51624),K=r(51850),ee=r(70328),te=r(62577),re=r(95466),ne=r(53655);class ie{constructor(e){this._reader=new J.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return se(e.getMessage());e.skip()}oe()}(this._reader)}get featureCount(){return this._index.featureIndices.length}get exceededTransferLimit(){return this._index.exceededTransferLimit}get usedMemory(){return this._reader.usedMemory}getObjectId(e){return this.getAttribute(e,this._index.objectIdFieldName)}getAttribute(e,t){const{_index:{fieldsIndex:r,attributeIndices:n}}=this,i=r.get(t)?.index;if(null==i)return;const s=n[e*r.fields.length+i],a=this._reader;return a.move(s),le(a)}getAttributeAsTimestamp(e,t){const r=this.getAttribute(e,t);return"string"==typeof r?new Date(r).getTime():"number"==typeof r||null==r?r:null}getAttributes(e){const{_index:{fieldsIndex:t,attributeIndices:r}}=this,n=e*t.fields.length,i=this._reader,s={};for(const e of t.fields){const t=r[n+e.index];i.move(t),s[e.name]=le(i)}return s}getCoordinates(e,t,r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:a,translate:o}=i;n.move(s[e]),this._readCoordinates(a,o,t,r)}getOptimizedGeometry(e){const t=(0,K.vt)();return this.getCoordinates(e,t),new k.A([],t)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,ce);const[n,i,s]=ce,a=[n,i];return t&&(a[3]=s),r&&(a[t?4:3]=0),new k.A([],a)}getBounds(e){this.getCoordinates(e,ce);const[t,r]=ce,n=new U.E;return n.minX=t,n.minY=r,n.maxX=t,n.maxY=r,n}getBoundingBox(e){this.getCoordinates(e,ce);const[t,r,n]=ce;return(0,ee.fA)(t,r,n,t,r,n)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{objectIdFieldName:i,attributeIndices:s,fieldsIndex:a}=this._index,o=a.get(i).index,l=a.fields.length;for(const i of t){const t=s[i*l+o];n.move(t),e[r++]=le(n)}return r}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:a,translate:o}=i;for(const i of t){const t=s[i];n.move(t),r=this._readCoordinates(a,o,e,r)}return r}*objectIds(e=this._allFeatureIndices()){const t=this._reader,{objectIdFieldName:r,attributeIndices:n,fieldsIndex:i}=this._index,s=i.get(r).index,a=i.fields.length;for(const r of e){const e=n[r*a+s];t.move(e),yield le(t)}}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_readCoordinates([e,t,r],[n,i,s],a,o){const l=this._reader,c=l.getLength(),d=l.pos()+c;for(;l.pos()<d&&l.next();)switch(l.tag()){case 2:{const c=l.getLength(),d=l.pos()+c;for(;l.pos()<d&&l.next();)3===l.tag()?(l.getUInt32(),a[o++]=n+e*l.getSInt64(),a[o++]=i+t*l.getSInt64(),a[o++]=s+r*l.getSInt64()):l.skip();break}default:l.skip()}return o}}function se(e){for(;e.next();){if(1===e.tag())return ae(e.getMessage());e.skip()}oe()}function ae(e){let t,r,n=!1,i=!1,s=0;const a=new Array,o=new Array,l=new Array;for(;e.next();)switch(e.tag()){case 1:r=e.getString();break;case 7:0!==e.getEnum()&&oe();break;case 9:n=e.getBool()??!1;break;case 12:t=(0,te.Q1)(e.processMessage(ne.ae));break;case 13:{const t=e.processMessage(ne.cn);t.index=s++,a.push(t);break}case 15:{o.push(e.pos());const t=e.getUInt32(),r=e.pos()+t;for(;e.pos()<r&&e.next();)1===e.tag()?(l.push(e.pos()),e.skip()):e.skip();break}case 10:i=e.getBool()??!1;break;default:e.skip()}const c=new re.A(a);return null!=t&&i&&null!=r&&c.has(r)||oe(),{transform:t,exceededTransferLimit:n,fieldsIndex:c,objectIdFieldName:r,featureIndices:o,attributeIndices:l}}function oe(){const e=new Q.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function le(e){const t=e.getLength(),r=e.pos()+t;for(;e.pos()<r&&e.next();)switch(e.tag()){case 1:return e.getString();case 2:return e.getFloat();case 3:return e.getDouble();case 4:return e.getSInt32();case 5:return e.getUInt32();case 6:return e.getInt64();case 7:return e.getUInt64();case 8:return e.getSInt64();case 9:return e.getBool();default:return e.skip(),null}return null}const ce=(0,K.vt)();class de{constructor(e,t,r,n,i){this.spatialReference=e,this.url=r,this.objectIdField=n,this.capabilities=i;const{supportsMaxRecordCountFactor:s,maxRecordCount:a}=this.capabilities.query,o=s?4:1,l=(a??8e3)*o;this._pageSize=Math.min(8e3,l);const c=t.clone();c.cacheHint=!0,c.resultType="tile",c.outSpatialReference=e,c.returnGeometry=!0,c.returnZ=!0,c.maxRecordCountFactor=o,c.num=this._pageSize,c.outFields=[n],this._baseQuery=c}async fetch(e,t){const{spatialReference:r,_pageSize:n}=this,i=(0,S.w1)(e.extent,r),a=this._baseQuery.clone();a.geometry=i;const o=new Array;let l=0,c=!1,d=1;for(;!c;){const e=[];for(let r=0;r<d;++r)e.push(this._fetchPage(a,l++,t));const r=await Promise.all(e);(0,s.Te)(t);for(const e of r){const t=0!==e.featureCount;c||=!e.exceededTransferLimit||!t,t&&o.push(e)}d=Math.min(d+1,4)}return new Z(e,o,n)}async _fetchPage(e,t,r){const n=e.clone();n.start=t*this._pageSize;const i=(await(0,X.kS)(this.url,n,{signal:r})).data;return(0,s.Te)(r),new ie(i)}}var ue=r(58083),he=r(9093),fe=r(97146),pe=r(24151),me=r(29920),ge=r(46540),ye=r(51768),_e=r(34727),ve=r(77690),be=r(29242),xe=r(37585),we=r(48163),Ce=r(38954),Se=r(91829);var Ie=r(13030),Ae=r(78662),Te=r(26857),Oe=r(1843),Re=r(49255),Pe=r(40268),Ee=r(16943),Me=r(25634),De=r(11725),ze=r(13464),Fe=r(77194),Be=r(620);class je{constructor(){this.scale=0,this.factor=0,this.minScaleFactor=0}}var Ve=r(59907),Ne=r(43616),Ue=r(13259),Le=r(97220),ke=r(98958),qe=r(59643),He=r(33524),Ge=r(63907),$e=r(90644);class Ye extends ke.w{constructor(e,t){super(e,t,new Le.$(Ue.H,(()=>r.e(8241).then(r.bind(r,48241))))),this.primitiveType=t.occlusionPass?Ge.WR.POINTS:Ge.WR.TRIANGLES}initializePipeline(e){const{oitPass:t,hasPolygonOffset:r,draped:n,output:i,depthTestEnabled:s,occlusionPass:a}=e,o=t===qe.Y.NONE,l=t===qe.Y.ColorAlpha,c=i===Re.V.Highlight,d=s&&!n&&!l&&!a&&!c;return(0,$e.Ey)({blending:(0,Re.RN)(i)?o?$e.RC:(0,He.ez)(t):null,depthTest:s&&!n?{func:Ge.MT.LEQUAL}:null,depthWrite:d?$e.Uy:null,drawBuffers:(0,He.m6)(t,i),colorWrite:$e.kn,polygonOffset:r?We:null})}}const We={factor:0,units:-4};var Xe=r(53466),Ze=r(22911),Qe=r(51976),Je=r(35256);class Ke extends Je.E{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.vvSize=!1,this.vvColor=!1,this.hasVerticalOffset=!1,this.hasScreenSizePerspective=!1,this.hasRotation=!1,this.debugDrawLabelBorder=!1,this.hasPolygonOffset=!1,this.depthTestEnabled=!0,this.pixelSnappingEnabled=!0,this.draped=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.occludedFragmentFade=!1,this.objectAndLayerIdColorInstanced=!1,this.horizonCullingEnabled=!0,this.isFocused=!0,this.textureCoordinateType=Xe.I.None,this.emissionSource=Ze.ZX.None,this.discardInvisibleFragments=!0,this.hasVvInstancing=!1}}(0,n._)([(0,Qe.W)()],Ke.prototype,"screenCenterOffsetUnitsEnabled",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"occlusionTestEnabled",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"signedDistanceFieldEnabled",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"vvSize",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"vvColor",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"hasVerticalOffset",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"hasScreenSizePerspective",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"hasRotation",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"debugDrawLabelBorder",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"hasPolygonOffset",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"depthTestEnabled",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"pixelSnappingEnabled",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"draped",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"terrainDepthTest",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"cullAboveTerrain",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"occlusionPass",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"occludedFragmentFade",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"objectAndLayerIdColorInstanced",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"horizonCullingEnabled",void 0),(0,n._)([(0,Qe.W)()],Ke.prototype,"isFocused",void 0);var et=r(49788);class tt extends De.im{constructor(e,t){super(e,It),this.produces=new Map([[ze.N.HUD_MATERIAL,e=>(0,Re.Mb)(e)&&!this.parameters.drawAsLabel],[ze.N.LABEL_MATERIAL,e=>(0,Re.Mb)(e)&&this.parameters.drawAsLabel],[ze.N.OCCLUSION_PIXELS,()=>this.parameters.occlusionTest],[ze.N.DRAPED_MATERIAL,e=>this.parameters.draped&&(0,Re.Mb)(e)]]),this._visible=!0,this._configuration=new Ke(t)}getConfiguration(e,t){const r=this.parameters.draped;return super.getConfiguration(e,t,this._configuration),this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.hasVerticalOffset=!!this.parameters.verticalOffset,this._configuration.hasScreenSizePerspective=!!this.parameters.screenSizePerspective,this._configuration.screenCenterOffsetUnitsEnabled="screen"===this.parameters.centerOffsetUnits,this._configuration.hasPolygonOffset=this.parameters.polygonOffset,this._configuration.draped=r,this._configuration.occlusionTestEnabled=this.parameters.occlusionTest,this._configuration.pixelSnappingEnabled=this.parameters.pixelSnappingEnabled,this._configuration.signedDistanceFieldEnabled=this.parameters.textureIsSignedDistanceField,this._configuration.sampleSignedDistanceFieldTexelCenter=this.parameters.sampleSignedDistanceFieldTexelCenter,this._configuration.hasRotation=this.parameters.hasRotation,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.occlusionPass=t.slot===ze.N.OCCLUSION_PIXELS,this._configuration.occludedFragmentFade=!r&&this.parameters.occludedFragmentFade,this._configuration.horizonCullingEnabled=this.parameters.horizonCullingEnabled,this._configuration.isFocused=this.parameters.isFocused,this._configuration.depthTestEnabled=this.parameters.depthEnabled||t.slot===ze.N.OCCLUSION_PIXELS,(0,Re.RN)(e)&&(this._configuration.debugDrawLabelBorder=!!Te.b.LABELS_SHOW_BORDER),this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest,this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}intersect(e,t,r,n,i,s){const{options:{selectionMode:a,hud:o,excludeLabels:l},point:c,camera:d}=r,{parameters:u}=this;if(!a||!o||l&&u.isLabel||!e.visible||!c)return;const h=e.attributes.get(ge.r.FEATUREATTRIBUTE),f=null==h?null:(0,Se.ci)(h.data,vt),{scaleX:p,scaleY:m}=Rt(f,u,d.pixelRatio);(0,ve.z0)(ft,t),e.attributes.has(ge.r.FEATUREATTRIBUTE)&&function(e){const t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],a=e[5],o=e[6],l=e[7],c=e[8],d=1/Math.sqrt(t*t+r*r+n*n),u=1/Math.sqrt(i*i+s*s+a*a),h=1/Math.sqrt(o*o+l*l+c*c);e[0]=t*d,e[1]=r*d,e[2]=n*d,e[3]=i*u,e[4]=s*u,e[5]=a*u,e[6]=o*h,e[7]=l*h,e[8]=c*h}(ft);const g=e.attributes.get(ge.r.POSITION),y=e.attributes.get(ge.r.SIZE),_=e.attributes.get(ge.r.NORMAL),v=e.attributes.get(ge.r.ROTATION),b=e.attributes.get(ge.r.CENTEROFFSETANDDISTANCE);(0,Be.vA)(g.size>=3);const x=(0,Ue.c)(u),w="screen"===this.parameters.centerOffsetUnits;for(let e=0;e<g.data.length/g.size;e++){const n=e*g.size;(0,Ce.i)(at,g.data[n],g.data[n+1],g.data[n+2]),(0,Ce.t)(at,at,t),(0,Ce.t)(at,at,d.viewMatrix);const i=e*b.size;if((0,Ce.i)(yt,b.data[i],b.data[i+1],b.data[i+2]),!w&&(at[0]+=yt[0],at[1]+=yt[1],0!==yt[2])){const e=yt[2];(0,Ce.n)(yt,at),(0,Ce.d)(at,at,(0,Ce.h)(yt,yt,e))}const a=e*_.size;if((0,Ce.i)(ot,_.data[a],_.data[a+1],_.data[a+2]),nt(ot,ft,d,bt),Pt(this.parameters,at,bt,d,st),d.applyProjection(at,lt),lt[0]>-1){w&&(yt[0]||yt[1])&&(lt[0]+=yt[0]*d.pixelRatio,0!==yt[1]&&(lt[1]+=(0,Fe.m0)(yt[1],st.factorAlignment)*d.pixelRatio),d.unapplyProjection(lt,at)),lt[0]+=this.parameters.screenOffset[0]*d.pixelRatio,lt[1]+=this.parameters.screenOffset[1]*d.pixelRatio,lt[0]=Math.floor(lt[0]),lt[1]=Math.floor(lt[1]);const t=e*y.size;Ct[0]=y.data[t],Ct[1]=y.data[t+1],(0,Fe.MD)(Ct,st.factor,Ct);const n=xt*d.pixelRatio;let i=0;u.textureIsSignedDistanceField&&(i=Math.min(u.outlineSize,.5*Ct[0])*d.pixelRatio/2),Ct[0]*=p,Ct[1]*=m;const a=e*v.size,o=u.rotation+v.data[a];if(it(c,lt[0],lt[1],Ct,n,i,o,u,x)){const e=r.ray;if((0,Ce.t)(dt,at,(0,ue.B8)(mt,d.viewMatrix)),lt[0]=c[0],lt[1]=c[1],d.unprojectFromRenderScreen(lt,at)){const t=(0,K.vt)();(0,Ce.c)(t,e.direction);const r=1/(0,Ce.l)(t);(0,Ce.h)(t,t,r),s((0,Ce.j)(e.origin,at)*r,t,-1,!0,1,dt)}}}}}intersectDraped(e,t,r,n,i,s){const a=e.attributes.get(ge.r.POSITION),o=e.attributes.get(ge.r.SIZE),l=e.attributes.get(ge.r.ROTATION),c=this.parameters,d=(0,Ue.c)(c),u=e.attributes.get(ge.r.FEATUREATTRIBUTE),h=null==u?null:(0,Se.ci)(u.data,vt),{scaleX:f,scaleY:p}=Rt(h,c,e.screenToWorldRatio),m=wt*e.screenToWorldRatio;for(let t=0;t<a.data.length/a.size;t++){const r=t*a.size,u=a.data[r],h=a.data[r+1],g=t*o.size;Ct[0]=o.data[g],Ct[1]=o.data[g+1];let y=0;c.textureIsSignedDistanceField&&(y=Math.min(c.outlineSize,.5*Ct[0])*e.screenToWorldRatio/2),Ct[0]*=f,Ct[1]*=p;const _=t*l.size,v=c.rotation+l.data[_];it(n,u,h,Ct,m,y,v,c,d)&&i(s.dist,s.normal,-1,!1)}}createBufferWriter(){return new Ot}applyShaderOffsetsView(e,t,r,n,i,s,a){const o=nt(t,r,i,bt);return this._applyVerticalGroundOffsetView(e,o,i,a),Pt(this.parameters,a,o,i,s),this._applyPolygonOffsetView(a,o,n[3],i,a),this._applyCenterOffsetView(a,n,a),a}applyShaderOffsetsNDC(e,t,r,n,i){return this._applyCenterOffsetNDC(e,t,r,n),null!=i&&(0,Ce.c)(i,n),this._applyPolygonOffsetNDC(n,t,r,n),n}_applyPolygonOffsetView(e,t,r,n,i){const s=n.aboveGround?1:-1;let a=Math.sign(r);0===a&&(a=s);const o=s*a;if(this.parameters.shaderPolygonOffset<=0)return(0,Ce.c)(i,e);const l=(0,_e.qE)(Math.abs(t.cosAngle),.01,1),c=1-Math.sqrt(1-l*l)/l/n.viewport[2];return(0,Ce.h)(i,e,o>0?c:1/c),i}_applyVerticalGroundOffsetView(e,t,r,n){const i=(0,Ce.l)(e),s=r.aboveGround?1:-1,a=r.computeRenderPixelSizeAtDist(i)*Pe.R,o=(0,Ce.h)(at,t.normal,s*a);return(0,Ce.g)(n,e,o),n}_applyCenterOffsetView(e,t,r){const n="screen"!==this.parameters.centerOffsetUnits;return r!==e&&(0,Ce.c)(r,e),n&&(r[0]+=t[0],r[1]+=t[1],t[2]&&((0,Ce.n)(ot,r),(0,Ce.g)(r,r,(0,Ce.h)(ot,ot,t[2])))),r}_applyCenterOffsetNDC(e,t,r,n){const i="screen"!==this.parameters.centerOffsetUnits;return n!==e&&(0,Ce.c)(n,e),i||(n[0]+=t[0]/r.fullWidth*2,n[1]+=t[1]/r.fullHeight*2),n}_applyPolygonOffsetNDC(e,t,r,n){const i=this.parameters.shaderPolygonOffset;if(e!==n&&(0,Ce.c)(n,e),i){const e=r.aboveGround?1:-1,s=e*Math.sign(t[3]);n[2]-=(s||e)*i}return n}set visible(e){this._visible=e}get visible(){const{color:e,outlineSize:t,outlineColor:r}=this.parameters,n=e[3]>=et.Q||t>=et.Q&&r[3]>=et.Q;return this._visible&&n}createGLMaterial(e){return new rt(e)}calculateRelativeScreenBounds(e,t,r=(0,S.vt)()){return function(e,t,r,n){n[0]=e.anchorPosition[0]*-t[0]+e.screenOffset[0]*r,n[1]=e.anchorPosition[1]*-t[1]+e.screenOffset[1]*r}(this.parameters,e,t,r),r[2]=r[0]+e[0],r[3]=r[1]+e[1],r}}class rt extends Me.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(Ye,e)}}function nt(e,t,r,n){return function(e){return(t=e)instanceof Float32Array&&t.length>=16||function(e){return Array.isArray(e)&&e.length>=16}(e);var t}(t)&&(t=(0,ve.z0)(pt,t)),(0,Ce.q)(n.normal,e,t),(0,Ce.t)(n.normal,n.normal,r.viewInverseTransposeMatrix),n.cosAngle=(0,Ce.f)(ct,St),n}function it(e,t,r,n,i,s,a,o,l){let c=t-i-n[0]*l[0],d=c+n[0]+2*i,u=r-i-n[1]*l[1],h=u+n[1]+2*i;const f=o.distanceFieldBoundingBox;return o.textureIsSignedDistanceField&&null!=f&&(c+=n[0]*f[0],u+=n[1]*f[1],d-=n[0]*(1-f[2]),h-=n[1]*(1-f[3]),c-=s,d+=s,u-=s,h+=s),(0,xe.hZ)(ht,t,r),(0,xe.e$)(ut,e,ht,(0,_e.kU)(a)),ut[0]>c&&ut[0]<d&&ut[1]>u&&ut[1]<h}const st=new class{constructor(){this.factor=new je,this.factorAlignment=new je}},at=(0,K.vt)(),ot=(0,K.vt)(),lt=(0,Se.vt)(),ct=(0,K.vt)(),dt=(0,K.vt)(),ut=(0,we.vt)(),ht=(0,we.vt)(),ft=(0,be.vt)(),pt=(0,be.vt)(),mt=(0,he.vt)(),gt=(0,Se.vt)(),yt=(0,K.vt)(),_t=(0,K.vt)(),vt=(0,Se.vt)(),bt={normal:ct,cosAngle:0},xt=1,wt=2,Ct=(0,we.fA)(0,0),St=(0,K.fA)(0,0,1);class It extends Me.NV{constructor(){super(...arguments),this.renderOccluded=De.m$.Occlude,this.isDecoration=!1,this.color=(0,Se.CN)(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=(0,we.fA)(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=(0,Se.CN)(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=(0,Se.vt)(),this.rotation=0,this.hasRotation=!1,this.vvSizeEnabled=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.hasSlicePlane=!1,this.pixelSnappingEnabled=!0,this.occlusionTest=!0,this.occludedFragmentFade=!1,this.horizonCullingEnabled=!1,this.centerOffsetUnits="world",this.drawAsLabel=!1,this.depthEnabled=!0,this.isFocused=!0,this.focusEffect="none",this.draped=!1,this.isLabel=!1}}const At=(0,Oe.BP)().vec3f(ge.r.POSITION).vec3f(ge.r.NORMAL).vec2i16(ge.r.UVI).vec4u8(ge.r.COLOR).vec2f(ge.r.SIZE).f32(ge.r.ROTATION).vec4f(ge.r.CENTEROFFSETANDDISTANCE).vec4f(ge.r.FEATUREATTRIBUTE),Tt=At.clone().vec4u8(ge.r.OLIDCOLOR);class Ot{constructor(){this.vertexBufferLayout=(0,Ee.E)()?Tt:At}elementCount(e){return 6*e.get(ge.r.POSITION).indices.length}write(e,t,r,n,i,s){const{position:a,normal:o,uvi:l,color:c,size:d,rotation:u,centerOffsetAndDistance:h,featureAttribute:f}=i;(0,Ve.Hk)(r.get(ge.r.POSITION),e,a,s,6),(0,Ve.p1)(r.get(ge.r.NORMAL),t,o,s,6);const p=r.get(ge.r.UVI)?.data;let m=0,g=0,y=-1-Ue.f,_=-1-Ue.f;p&&p.length>=4&&(m=p[0],g=p[1],y=-1-p[2],_=-1-p[3]);let v=r.get(ge.r.POSITION).indices.length,b=s;for(let e=0;e<v;++e)l.set(b,0,m),l.set(b,1,g),b++,l.set(b,0,y),l.set(b,1,g),b++,l.set(b,0,y),l.set(b,1,_),b++,l.set(b,0,y),l.set(b,1,_),b++,l.set(b,0,m),l.set(b,1,_),b++,l.set(b,0,m),l.set(b,1,g),b++;(0,Ve.tb)(r.get(ge.r.COLOR),4,c,s,6);const{data:x,indices:w}=r.get(ge.r.SIZE);v=w.length,b=s;for(let e=0;e<v;++e){const t=x[2*w[e]],r=x[2*w[e]+1];for(let e=0;e<6;++e)d.set(b,0,t),d.set(b,1,r),b++}if((0,Ve.uO)(r.get(ge.r.ROTATION),u,s,6),r.get(ge.r.CENTEROFFSETANDDISTANCE)?(0,Ve.Ut)(r.get(ge.r.CENTEROFFSETANDDISTANCE),h,s,6):(0,Ve.Pq)(h,s,6*v),r.get(ge.r.FEATUREATTRIBUTE)?(0,Ve.Ut)(r.get(ge.r.FEATUREATTRIBUTE),f,s,6):(0,Ve.Pq)(f,s,6*v),null!=n){const e=r.get(ge.r.POSITION)?.indices;if(e){const t=e.length,r=i.getField(ge.r.OLIDCOLOR,Ie.XP);(0,Ve.vx)(n,r,t,s,6)}}return{numVerticesPerItem:6,numItems:v}}intersect(e,t,r,n,i,s,a){const{options:{selectionMode:o,hud:l,excludeLabels:c},point:d,camera:u}=n;if(!o||!l||c&&t.isLabel||!d)return;const h=this.vertexBufferLayout.createView(e),f=h.getField(ge.r.POSITION,Ie.xs),p=h.getField(ge.r.NORMAL,Ie.xs),m=h.getField(ge.r.ROTATION,Ie.Y$),g=h.getField(ge.r.SIZE,Ie.gH),y=h.getField(ge.r.FEATUREATTRIBUTE,Ie.Eq),_=h.getField(ge.r.CENTEROFFSETANDDISTANCE,Ie.Eq),v="screen"===t.centerOffsetUnits,b=(0,Ue.c)(t);if(null==f||null==p||null==m||null==g||null==_)return;const x=null==y?null:y.getVec(0,vt),{scaleX:w,scaleY:C}=Rt(x,t,u.pixelRatio),S=f.count/6;for(let e=0;e<S;e++){const i=6*e;if(f.getVec(i,at),null!=r&&(0,Ce.g)(at,at,r),(0,Ce.t)(at,at,u.viewMatrix),_.getVec(i,gt),(0,Ce.i)(yt,gt[0],gt[1],gt[2]),!v&&(at[0]+=yt[0],at[1]+=yt[1],0!==yt[2])){const e=yt[2];(0,Ce.n)(yt,at),(0,Ce.d)(at,at,(0,Ce.h)(yt,yt,e))}if(p.getVec(i,ot),nt(ot,ft,u,bt),Pt(t,at,bt,u,st),u.applyProjection(at,lt),lt[0]>-1){v&&(yt[0]||yt[1])&&(lt[0]+=yt[0]*u.pixelRatio,0!==yt[1]&&(lt[1]+=(0,Fe.m0)(yt[1],st.factorAlignment)*u.pixelRatio),u.unapplyProjection(lt,at)),lt[0]+=t.screenOffset[0]*u.pixelRatio,lt[1]+=t.screenOffset[1]*u.pixelRatio,lt[0]=Math.floor(lt[0]),lt[1]=Math.floor(lt[1]),g.getVec(i,Ct),(0,Fe.MD)(Ct,st.factor,Ct);const r=xt*u.pixelRatio;let s=0;t.textureIsSignedDistanceField&&(s=Math.min(t.outlineSize,.5*Ct[0])*u.pixelRatio/2),Ct[0]*=w,Ct[1]*=C;const o=m.get(i),l=t.rotation+o;if(it(d,lt[0],lt[1],Ct,r,s,l,t,b)){const t=n.ray;if((0,Ce.t)(dt,at,(0,ue.B8)(mt,u.viewMatrix)),lt[0]=d[0],lt[1]=d[1],u.unprojectFromRenderScreen(lt,at)){const r=(0,K.vt)();(0,Ce.c)(r,t.direction);const n=1/(0,Ce.l)(r);(0,Ce.h)(r,r,n),a((0,Ce.j)(t.origin,at)*n,r,e,!0,1,dt)}}}}}}function Rt(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,Ae.VC)(_t,t,e),{scaleX:_t[0]*r,scaleY:_t[1]*r})}function Pt(e,t,r,n,i){if(!e.verticalOffset?.screenLength)return e.screenSizePerspective||e.screenSizePerspectiveAlignment?Et(e,i,(0,Ce.l)(t),r.cosAngle):(i.factor.scale=1,i.factorAlignment.scale=1),t;const s=(0,Ce.l)(t),a=e.screenSizePerspectiveAlignment??e.screenSizePerspective,o=(0,Ne.kE)(n,s,e.verticalOffset,r.cosAngle,a);return Et(e,i,s,r.cosAngle),(0,Ce.h)(r.normal,r.normal,o),(0,Ce.g)(t,t,r.normal)}function Et(e,t,r,n){null!=e.screenSizePerspective?(0,Fe.cJ)(n,r,e.screenSizePerspective,t.factor):(t.factor.scale=1,t.factor.factor=0,t.factor.minScaleFactor=0),null!=e.screenSizePerspectiveAlignment?(0,Fe.cJ)(n,r,e.screenSizePerspectiveAlignment,t.factorAlignment):(t.factorAlignment.factor=t.factor.factor,t.factorAlignment.scale=t.factor.scale,t.factorAlignment.minScaleFactor=t.factor.minScaleFactor)}class Mt{constructor(e,t){this._mainThreadDelegate=t,this._bufferWriters=new Map,this._sharedTextures=new Map,this.globalViewingMode=e===pe.RT.Global}createRenderCommandBuffer(e=[],t=[]){return{commands:e,transferList:t}}mergeRenderCommandBuffers(e){const t=this.createRenderCommandBuffer();for(const r of e)null!=r&&(t.commands.push(...r.commands),t.transferList.push(...r.transferList));return t}async getOrCreateSharedTexture(e,t){const{data:r,parameters:n}=t(),i=await this._mainThreadDelegate.createTexture(r,n);return this._sharedTextures.set(e,i),i}async releaseSharedTexture(e){const t=this._sharedTextures,r=t.get(e);if(null==r)return m.create(this);const n=this._destroyTexture(r);return new m(this,n,[()=>t.delete(e)])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:t,parameters:r}=e,n=D("material");let i,s;switch(t){case"default":i=new ye.$U(e.parameters,{spherical:this.globalViewingMode}),s={type:t,materialId:n,parameters:e.parameters};break;case"hud":i=new tt(r,this.globalViewingMode),s={type:t,materialId:n,parameters:e.parameters}}return this._bufferWriters.set(n,i.createBufferWriter()),await this._mainThreadDelegate.createMaterial(s),n}destroyMaterial(e){return{commands:[{id:"destroy-material",materialId:e}],transferList:[]}}updateMaterial(e){return{commands:[{...e,id:"update-material"}],transferList:[]}}async createDirectRenderer(e){return await this._mainThreadDelegate.createDirectRenderer(e),e}async destroyDirectRenderer(e){await this._mainThreadDelegate.destroyDirectRenderer(e)}addDirectRendererGeometry(e,t,r){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.addDirectRendererGeometryBuffer(n,e,i,s,r)}updateDirectRendererGeometry(e,t,r){const{materialId:n}=t;if(null==this._bufferWriters.get(n))throw new Error(`no bufferwriter found for material ${n}`);const{renderGeometryBuffer:i,renderGeometryBufferItems:s}=this.createRenderGeometryBuffer(t,r);return this.updateDirectRendererGeometryBuffer(n,e,i,s,r)}addDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:a}=n;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,a.buffer]}}updateDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:a}=n;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,a.buffer]}}removeDirectRendererGeometryBuffer(e,t){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:t}],transferList:[]}}async createLodRenderer(e){const t=D("lod-renderer"),r=new Set,n={levels:e.levels.map((e=>({components:e.components.map((e=>{const t=e.attributes.get(ge.r.POSITION);if(!t||0===t.indices.length)throw new Error("positions attribute expected");const n=(0,fe.tM)(t.indices.length/3),i=new me.j(n,3,t);if(null==this._bufferWriters.get(e.materialId))throw new Error("writer not found");const{renderGeometryBuffer:s}=this.createRenderGeometryBuffer(e,null);return r.add(s.data),{materialId:e.materialId,renderGeometryBuffer:s,boundingInfo:{bbMax:i.bbMax,bbMin:i.bbMin}}})),minScreenSpaceRadius:e.minScreenSpaceRadius})))};return await this._mainThreadDelegate.createLodRenderer(t,n,Array.from(r)),t}destroyLodRenderer(e){return{commands:[{id:"destroy-lod-renderer",rendererId:e}],transferList:[]}}addLodInstances(e,t,r){return{commands:[{id:"add-lod-instances",rendererId:e,groupId:t,data:r}],transferList:[r.featureIds.buffer,r.globalTransforms.buffer,r.localTransforms.buffer,r.visibility.buffer]}}removeLodInstances(e,t){return{commands:[{id:"remove-lod-instances",rendererId:e,groupId:t}],transferList:[]}}updateLodInstancesData(e,t,r){return{commands:[{id:"update-lod-instance-data",rendererId:e,groupId:t,globalTransforms:r}],transferList:[r.buffer]}}updateVisibility(e,t,r){return{commands:[{id:"update-visibility",rendererId:e,groupId:t,visibility:r}],transferList:[r.buffer]}}async dispatchRenderCommands(e){0!==e.commands.length&&await this._mainThreadDelegate.executeRenderCommands(e)}createRenderGeometryBuffer(e,t){const{materialId:r,visibilities:n,objectIds:i}=e,s=this._bufferWriters.get(r);if(null==s)throw new Error("no registered bufferWriter for material found");let a=null;if(e.transformation&&t)(0,ue.C)(Dt,e.transformation),Dt[12]-=t[0],Dt[13]-=t[1],Dt[14]-=t[2],a=Dt;else{if(t)throw new Error("not implemented");e.transformation&&(a=e.transformation)}let o=null;a&&((0,ue.B8)(zt,Dt),(0,ue.mg)(zt,zt),o=zt);const l=e.attributes,c=s.elementCount(l),d=s.vertexBufferLayout.stride/4;c>Math.floor(Ft/d)&&console.warn("geometry with very large number of elements encountered");const u=s.vertexBufferLayout.createBuffer(c),h=s.write(a,o,l,e.objectAndLayerIdColor,u,0);if(null==h)throw new Error("Bufferwriter.write does not provide item information.");if(n.length!==h.numItems||i.length!==h.numItems)throw new Error("Unexpected mismatch between number of RenderGeometryBufferItems and provided objectIds/visibility flags.");return{renderGeometryBuffer:{data:u.buffer,elementCount:c},renderGeometryBufferItems:{objectIds:i,visibilities:n,ranges:{numVertices:h.numVerticesPerItem,numItems:h.numItems}}}}}const Dt=(0,he.vt)(),zt=(0,he.vt)(),Ft=4194304;new Map,(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t)})();const Bt=[];{const e=16;for(let t=0;t<360;t+=360/e)Bt.push([Math.cos(Math.PI*t/180),Math.sin(Math.PI*t/180)])}var jt,Vt;(Vt=jt||(jt={}))[Vt.Left=0]="Left",Vt[Vt.Center=1]="Center",Vt[Vt.Right=2]="Right",Object.freeze({left:0,center:.5,right:1});const Nt=Object.freeze({"bottom-left":(0,we.fA)(0,0),bottom:(0,we.fA)(.5,0),"bottom-right":(0,we.fA)(1,0),left:(0,we.fA)(0,.5),center:(0,we.fA)(.5,.5),right:(0,we.fA)(1,.5),"top-left":(0,we.fA)(0,1),top:(0,we.fA)(.5,1),"top-right":(0,we.fA)(1,1)});var Ut=r(9762),Lt=r(27993);function kt(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function qt(e){const{featureCount:t}=e;if(0===t)return new Float64Array;const r=new Float64Array(3*t);return e.getCoordinatesArray(r),r}function Ht(e,t){const r=t.viewSpatialReference,n=t.renderSpatialReference,{extent:i}=e,s=(0,S.gX)(i),a=(0,K.vt)();return(0,Lt.F)([s[0],s[1],0],r,a,n),a}function Gt(e){const t=new Map;for(const[r,n]of e)t.set(r,{...n,indices:(0,fe.Dg)(n.indices)});return t}var $t=r(40804);r(31006);const Yt=(0,Se.CN)(.25,.25,.75,.75);function Wt(e){return"cross"===e||"x"===e}function Xt(e,t=128,r=.5*t,n=0){switch(e){case"circle":default:return function(e,t){const r=e/2-.5;return er(e,Jt(r,r,t/2))}(t,r);case"square":return function(e,t){return Zt(e,t,!1)}(t,r);case"cross":return function(e,t,r=0){return Qt(e,t,!1,r)}(t,r,n);case"x":return function(e,t,r=0){return Qt(e,t,!0,r)}(t,r,n);case"kite":return function(e,t){return Zt(e,t,!0)}(t,r);case"triangle":return function(e,t){return er(e,Kt(e/2,t,t/2))}(t,r);case"arrow":return function(e,t){const r=t,n=t/2,i=e/2,s=.8*r,a=Jt(i,(e-t)/2-s,Math.sqrt(s*s+n*n)),o=Kt(i,r,n);return er(e,((e,t)=>Math.max(o(e,t),-a(e,t))))}(t,r)}}function Zt(e,t,r){return r&&(t/=Math.SQRT2),er(e,((n,i)=>{let s=n-.5*e+.25,a=.5*e-i-.75;if(r){const e=(s+a)/Math.SQRT2;a=(a-s)/Math.SQRT2,s=e}return Math.max(Math.abs(s),Math.abs(a))-.5*t}))}function Qt(e,t,r,n=0){t-=n,r&&(t*=Math.SQRT2);const i=.5*t;return er(e,((t,s)=>{let a,o=t-.5*e,l=.5*e-s-1;if(r){const e=(o+l)/Math.SQRT2;l=(l-o)/Math.SQRT2,o=e}return o=Math.abs(o),l=Math.abs(l),a=o>l?o>i?Math.sqrt((o-i)*(o-i)+l*l):l:l>i?Math.sqrt(o*o+(l-i)*(l-i)):o,a-=n/2,a}))}function Jt(e,t,r){return(n,i)=>{const s=n-e,a=i-t;return Math.sqrt(s*s+a*a)-r}}function Kt(e,t,r){const n=Math.sqrt(t*t+r*r);return(i,s)=>{const a=Math.abs(i-e)-r,o=s-e+t/2+.75,l=(t*a+r*o)/n,c=-o;return Math.max(l,c)}}function er(e,t){const r=new Uint8Array(4*e*e);for(let n=0;n<e;n++)for(let i=0;i<e;i++){const s=i+e*n;let a=t(i,n);a=a/e+.5,(0,$t.U)(a,r,4*s)}return r}var tr=r(46610);class rr{constructor(e){this._context=e,this.materialId=null,this._loaded=!1,this._loadingPromise=null,this._iconTextureID=null}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}_destroy(){this._iconTextureID=null}async _load(){const e=this._context.renderCommandContext,t=await e.getOrCreateSharedTexture("circle-icon",(()=>function(e,t=128,r=.5*t,n=0){return{data:Xt(e,t,r,n),parameters:{mipmap:!1,wrap:{s:Ge.pF.CLAMP_TO_EDGE,t:Ge.pF.CLAMP_TO_EDGE},width:t,height:t,components:4,noUnpackFlip:!0,reloadable:!0}}}("circle")));this._iconTextureID=t;const r={anchorPosition:Nt.center,occlusionTest:!0,hasSlicePlane:!1,color:[1,0,0,1],outlineColor:[0,0,0,1],outlineSize:1,distanceFieldBoundingBox:Yt,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:Wt("circle")};this.materialId=await e.createMaterial({type:"hud",parameters:r}),await e.createDirectRenderer(this.materialId),this._loaded=!0}async createAddCommand(e){const{materialId:t,_context:r}=this,{renderCommandContext:n}=r;if(null==t)throw new Error("expected material not to be null");const i=await this._createGeometry(e);if(null==i)return r.createPipelineCommand();const s=Ht(e,r);return r.createPipelineCommand(n.addDirectRendererGeometry(e.id,i,s))}async _createGeometry(e){const{materialId:t,_context:r}=this,{mainThreadDelegate:n}=r,{featureCount:i}=e;if(0===i||null==t)return null;const s=kt(e),a=qt(e),o=function(e,t){const r=e.length/3,n=t.viewSpatialReference,i=t.renderSpatialReference,s=new Float64Array(3*r);if(!(0,Ut.projectBuffer)(e,n,0,s,i,0,r))throw new Error("Failed to project coordinates");return s}(await n.applyElevationAlignmentTo(a),r),l=new Float64Array([0,0,1]),c=new Float64Array([255,255,255,255]),d=new Float64Array([24,24]),u=new Float64Array([0,0,0,1]),h=new Float64Array([0,0]),f=new Float64Array([0]),p=new Uint32Array(i);for(let e=0;e<i;++e)p[e]=e;const m=new Uint32Array(i);for(let e=0;e<i;++e)m[e]=0;const g=new tr.n(o,p,3,!0),y=new tr.n(l,m,3,!0),_=new tr.n(h,m,2,!0),v=new tr.n(c,m,4,!0),b=new tr.n(f,m,1,!0),x=new tr.n(d,m,2,!0),w=new tr.n(u,m,4,!0),C=[[ge.r.POSITION,g],[ge.r.NORMAL,y],[ge.r.UV0,_],[ge.r.COLOR,v],[ge.r.ROTATION,b],[ge.r.SIZE,x],[ge.r.CENTEROFFSETANDDISTANCE,w]],S=new Uint8Array(i);return e.getVisibilityArray(S),{attributes:Gt(C),objectAndLayerIdColor:void 0,transformation:(0,he.vt)(),materialId:t,objectIds:s,visibilities:S}}async createRemoveCommand(e){const{materialId:t,_context:r}=this,n=r.renderCommandContext;return null==t?r.createPipelineCommand():r.createPipelineCommand(n.removeDirectRendererGeometryBuffer(t,e))}async createUpdateVisibilityCommand(e){const{materialId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerOpacityCommand(e){const{_context:t}=this;return t.createPipelineCommand()}async createUpdateElevationCommand(e){const{materialId:t,_context:r}=this,{renderCommandContext:n}=r,{featureCount:i,id:s}=e;if(null==t||0===i)return r.createPipelineCommand();const a=await this._createGeometry(e);if(null==a)return r.createPipelineCommand();const o=Ht(e,r);return r.createPipelineCommand(n.updateDirectRendererGeometry(s,a,o))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let n;return n=null!=e?await r.releaseSharedTexture("circle-icon"):m.create(r),n.appendPipelineStateCommand((()=>this._destroy())),n}}class nr{constructor(e){this._symbol=null,this._featureData=new Map,this._context=e}async load(){this._symbol=new rr(this._context)}async createAddCommand(e){const t=this._context,r=await this._provisionSymbol(),n=null==r?t.createPipelineCommand():await r.createAddCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.set(e.id,e))),n}async createRemoveCommand(e){const t=this._context,r=await this._provisionSymbol(),n=null==r?t.createPipelineCommand():await r.createRemoveCommand(e);return n.appendPipelineStateCommand((()=>this._featureData.delete(e))),n}async createUpdateVisibilityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateVisibilityCommand(e)}async createUpdateLayerOpacityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateLayerOpacityCommand(e)}async createUpdateElevationCommand(){const{_featureData:e,_context:t}=this,r=await this._provisionSymbol();if(null==r)return t.createPipelineCommand();const n=[];for(const t of e.values())n.push(r.createUpdateElevationCommand(t));const i=await Promise.all(n);return t.joinPipelineCommands(i)}async createDestroyCommand(){const{_symbol:e,_context:t,_featureData:r}=this;if(!e)return t.createPipelineCommand();const n=[];for(const e of r.keys())n.push(this.createRemoveCommand(e));n.push(e.createDestroyCommand());const i=await Promise.all(n);return t.joinPipelineCommands(i)}async _provisionSymbol(){const e=this._symbol;return e?(e.loaded||await e.load(),e):null}}var ir=r(48353),sr=r(8887),ar=r(83047);r(87317),r(12359),r(95108),r(27615),r(52106),r(4718),r(34275),r(65864);var or,lr,cr=r(57917),dr=r(72385),ur=(r(4197),r(11868)),hr=r(240);r(71351),(lr=or||(or={})).length=function(e,t){const r=e[t],n=e[t+1],i=e[t+2];return Math.sqrt(r*r+n*n+i*i)},lr.normalize=function(e,t){const r=e[t],n=e[t+1],i=e[t+2],s=1/Math.sqrt(r*r+n*n+i*i);e[t]*=s,e[t+1]*=s,e[t+2]*=s},lr.scale=function(e,t,r){e[t]*=r,e[t+1]*=r,e[t+2]*=r},lr.add=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]+r[n],i[s+1]=e[t+1]+r[n+1],i[s+2]=e[t+2]+r[n+2]},lr.subtract=function(e,t,r,n,i,s=t){(i=i||e)[s]=e[t]-r[n],i[s+1]=e[t+1]-r[n+1],i[s+2]=e[t+2]-r[n+2]},r(87170),r(75039);const fr=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)fr[6*e+t]=e;const pr=new Array(36);for(let e=0;e<6;e++)pr[6*e]=0,pr[6*e+1]=1,pr[6*e+2]=2,pr[6*e+3]=2,pr[6*e+4]=3,pr[6*e+5]=0;const mr=(0,dr.fA)(-.5,0,-.5),gr=(0,dr.fA)(.5,0,-.5),yr=(0,dr.fA)(0,0,.5),_r=(0,dr.fA)(0,.5,0),vr=(0,dr.vt)(),br=(0,dr.vt)(),xr=(0,dr.vt)(),wr=(0,dr.vt)(),Cr=(0,dr.vt)();function Sr(e,t){switch(e){case"cone":return((e,r,n=!1)=>({levels:e.map((e=>{const i=Gt(r(e.tesselation));return n&&function(e){const t=e,r=t.get(ge.r.POSITION).data,n=t.get(ge.r.NORMAL).data;if(n){const t=Ir(e,ge.r.NORMAL).data;for(let e=0;e<n.length;e+=3){const r=n[e+1];t[e+1]=-n[e+2],t[e+2]=r}}if(r){const t=Ir(e,ge.r.POSITION).data;for(let e=0;e<r.length;e+=3){const n=r[e+1];t[e+1]=-r[e+2],t[e+2]=n}}}(i),{components:[{attributes:i,objectAndLayerIdColor:void 0,transformation:null,materialId:t,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:e.minScreenSpaceRadius}}))}))(Ar,(e=>function(e,t,r,n,i=!0,s=!0){let a=0;const o=t,l=e;let c=(0,dr.fA)(0,a,0),d=(0,dr.fA)(0,a+l,0),u=(0,dr.fA)(0,-1,0),h=(0,dr.fA)(0,1,0);n&&(a=l,d=(0,dr.fA)(0,0,0),c=(0,dr.fA)(0,a,0),u=(0,dr.fA)(0,1,0),h=(0,dr.fA)(0,-1,0));const f=[d,c],p=[u,h],m=r+2,g=Math.sqrt(l*l+o*o);if(n)for(let e=r-1;e>=0;e--){const t=e*(2*Math.PI/r),n=(0,dr.fA)(Math.cos(t)*o,a,Math.sin(t)*o);f.push(n);const i=(0,dr.fA)(l*Math.cos(t)/g,-o/g,l*Math.sin(t)/g);p.push(i)}else for(let e=0;e<r;e++){const t=e*(2*Math.PI/r),n=(0,dr.fA)(Math.cos(t)*o,a,Math.sin(t)*o);f.push(n);const i=(0,dr.fA)(l*Math.cos(t)/g,o/g,l*Math.sin(t)/g);p.push(i)}const y=new Array,_=new Array;if(i){for(let e=3;e<f.length;e++)y.push(1),y.push(e-1),y.push(e),_.push(0),_.push(0),_.push(0);y.push(f.length-1),y.push(2),y.push(1),_.push(0),_.push(0),_.push(0)}if(s){for(let e=3;e<f.length;e++)y.push(e),y.push(e-1),y.push(0),_.push(e),_.push(e-1),_.push(1);y.push(0),y.push(2),y.push(f.length-1),_.push(1),_.push(2),_.push(p.length-1)}const v=(0,ur.oe)(3*m);for(let e=0;e<m;e++)v[3*e]=f[e][0],v[3*e+1]=f[e][1],v[3*e+2]=f[e][2];const b=(0,ur.oe)(3*m);for(let e=0;e<m;e++)b[3*e]=p[e][0],b[3*e+1]=p[e][1],b[3*e+2]=p[e][2];return[[ge.r.POSITION,new tr.n(v,y,3,!0)],[ge.r.NORMAL,new tr.n(b,_,3,!0)]]}(1,.5,e,!1)),!0);case"sphere":case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function Ir(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,cr.S)(r.data)},e.set(t,r)),r}(0,Ce.d)(vr,mr,_r),(0,Ce.d)(br,mr,gr),(0,Ce.e)(xr,vr,br),(0,Ce.n)(xr,xr),(0,Ce.d)(vr,gr,_r),(0,Ce.d)(br,gr,yr),(0,Ce.e)(wr,vr,br),(0,Ce.n)(wr,wr),(0,Ce.d)(vr,yr,_r),(0,Ce.d)(br,yr,mr),(0,Ce.e)(Cr,vr,br),(0,Ce.n)(Cr,Cr),xr[0],xr[1],xr[2],wr[0],wr[1],wr[2],Cr[0],Cr[1],Cr[2],(0,K.vt)();const Ar=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var Tr=r(74810);class Or{constructor(e){this._context=e,this._loaded=!1,this._loadingPromise=null,this._primitive="cone",this._primitiveMaterialId=null,this._lodRendererId=null}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t={usePBR:!0,isSchematic:!0,mrrFactors:Tr.Bt,ambient:K.Un,diffuse:K.Un,hasSlicePlane:!1,castShadows:!0,offsetTransparentBackfaces:!1,screenSizePerspective:{}};t.externalColor=Se.Un,t.isInstanced=!0;const r=await e.createMaterial({type:"default",parameters:t}),n=Sr(this._primitive,r);this._lodRendererId=await e.createLodRenderer(n),this._primitiveMaterialId=r,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,n=r.renderCommandContext,i=[];return null!=e&&i.push(n.destroyLodRenderer(e)),null!=t&&i.push(n.destroyMaterial(t)),new m(n,n.mergeRenderCommandBuffers(i),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:n}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:i}=e;if(0===i)return t.createPipelineCommand();const s=(0,ee.vt)((0,sr.Fq)(this._primitive)),a=(0,K.ci)((0,ee.Ej)(s)),o=(0,K.ci)((0,sr.Bb)(a,{isPrimitive:!0,width:100,depth:null,height:null})),l=new Float64Array(16*i),c=new Float64Array(16*i),d=qt(e),u=await n.applyElevationAlignmentTo(d);for(let e=0;e<i;++e){const t=e,r=u[3*e+0],n=u[3*e+1],i=u[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,Er),d=this._computeLocalTransform(o,a,Pr);this._writeMatrixToTypedBuffer(l,t,d),this._writeMatrixToTypedBuffer(c,t,s)}const h=kt(e),f=new Uint8Array(i);e.getVisibilityArray(f);const p={featureIds:new Uint32Array(h),visibility:f,localTransforms:l,globalTransforms:c};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,p))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,n=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const i=new Uint8Array(e.featureCount);return e.getVisibilityArray(i),r.createPipelineCommand(n.updateVisibility(t,e.id,i))}async createUpdateLayerOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,n=this._primitiveMaterialId;return null==n?t.createPipelineCommand():t.createPipelineCommand(r.updateMaterial({type:"default",materialId:n,parameters:{opacity:e}}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:n,mainThreadDelegate:i}=t,{featureCount:s,id:a}=e;if(null==r||0===s)return t.createPipelineCommand();const o=new Float64Array(16*s),l=qt(e),c=await i.applyElevationAlignmentTo(l);for(let e=0;e<s;++e){const t=e,r=c[3*e+0],n=c[3*e+1],i=c[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,Er);this._writeMatrixToTypedBuffer(o,t,s)}return t.createPipelineCommand(n.updateLodInstancesData(r,a,o))}_writeMatrixToTypedBuffer(e,t,r){let n=16*t;for(let t=0;t<16;t++)e[n++]=r[t]}_computeGlobalTransform(e,t,r,n,i){return Rr[0]=e,Rr[1]=t,Rr[2]=r,(0,ir.l)(n,Rr,i,this._context.renderSpatialReference),i}_computeLocalTransform(e,t,r){return(0,ue.D_)(r),this._applyObjectScale(e,t,r),r}_applyObjectScale(e,t,r){const n=function(e=K.Un,t,r,n=1){const i=new Array(3);if(null==t||null==r)i[0]=1,i[1]=1,i[2]=1;else{let n,s=0;for(let a=2;a>=0;a--){const o=e[a],l=null!=o,c=0===a&&!n&&!l,d=r[a];let u;"symbol-value"===o||c?u=0!==d?t[a]/d:1:l&&"proportional"!==o&&isFinite(o)&&(u=0!==d?o/d:1),null!=u&&(i[a]=u,n=u,s=Math.max(s,Math.abs(u)))}for(let e=2;e>=0;e--)null==i[e]?i[e]=n:0===i[e]&&(i[e]=.001*s)}for(let e=2;e>=0;e--)i[e]/=n;return(0,K.ci)(i)}(e,e,t,this._context.renderCoordsHelper.unitInMeters);1===n[0]&&1===n[1]&&1===n[2]||(0,ue.hs)(r,r,n)}}const Rr=(0,K.vt)(),Pr=(0,he.vt)(),Er=(0,he.vt)();class Mr{constructor(e){this._symbols=new Array,this._featureDataPartitioning=new Map,this._context=e}async load(){this._symbols[0]=new rr(this._context),this._symbols[1]=new Or(this._context)}async createAddCommand(e){const t=this._context,r=this._partition(e),n=await Promise.all(r.map((async({index:e,features:t})=>{const r=await this._provisionSymbol(e);return await(r?.createAddCommand(t))}))),i=t.joinPipelineCommands(n);return i.appendPipelineStateCommand((()=>this._featureDataPartitioning.set(e.id,r))),i}async createRemoveCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e);if(null==i)return new m(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createRemoveCommand(t.id))}))),a=r.joinPipelineCommands(s);return a.appendPipelineStateCommand((()=>t.delete(e))),a}async createUpdateVisibilityCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e.id);if(null==i)return new m(n,n.createRenderCommandBuffer(),[]);const s=await Promise.all(i.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateVisibilityCommand(t))})));return r.joinPipelineCommands(s)}async createUpdateLayerOpacityCommand(e){const t=this._context,r=[];for(let t=0;t<this._symbols.length;++t){const n=this._symbols[t];null!=n&&n.loaded&&r.push(n.createUpdateLayerOpacityCommand(e))}const n=await Promise.all(r);return t.joinPipelineCommands(n)}async createUpdateElevationCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.values()){const e=t.map((async({index:e,features:t})=>{const r=this._getLoadedSymbol(e);return await(r?.createUpdateElevationCommand(t))}));r.push(...e)}const n=await Promise.all(r);return t.joinPipelineCommands(n)}async createDestroyCommand(){const{_featureDataPartitioning:e,_context:t}=this,r=[];for(const t of e.keys())r.push(this.createRemoveCommand(t));for(const e of this._symbols)r.push(e.createDestroyCommand());const n=await Promise.all(r);return t.joinPipelineCommands(n)}async _provisionSymbol(e){if(null==e)return null;const t=this._symbols[e];return t?(t.loaded||await t.load(),t):null}_getLoadedSymbol(e){if(null==e)return null;const t=this._symbols[e];return null!=t&&t.loaded?t:null}_partition(e){const t=kt(e);if(null==t)throw new Error("unable to fetch objectIds");const{featureCount:r}=e,n=[[],[]];for(let e=0;e<r;++e)n[t[e]%2].push(e);return n.map(((t,r)=>new Dr(r,e.subset(new Uint32Array(t))))).filter((e=>e.features.featureCount>0))}}class Dr{constructor(e,t){this.index=e,this.features=t}}function zr(e,t){const r=e?.type;switch(r){case"simple":return new nr(t);case"uniqueValue":return new Mr(t);default:return zr(Fr,t)}}const Fr={type:"simple"};var Br=r(73941),jr=r(98764),Vr=r(65806);const Nr=(0,K.vt)();var Ur=r(88582),Lr=r(17352),kr=r(97937);function qr(e,t,r=function(e){return{operations:e,value:e.create()}}(e)){return r.operations=e,e.copy(t,r.value),r}const Hr=2**50;function Gr(e,t,r,n){return e.operations.setAltitudeAt(e.value,t,r,n)}function $r(e,t,r){return e.operations.elevate(e.value,t,r.value)}const Yr=(0,K.vt)();(0,K.vt)();var Wr=r(44280),Xr=r(32114);function Zr(e){return"point"===e.type}class Qr{constructor(e,t,r,n){this.viewingMode=e,this.spatialReference=t,this.unitInMeters=r,this._coordinateSystem=n,this._tmpCoordinateSystem=function(e){const{value:t,operations:r}=e;return{operations:r,value:r.create(t)}}(n),this.referenceEllipsoid=(0,Br.tO)(t),this.sphericalPCPF=(0,jr.lO)(t)}set extent(e){e&&function(e,t,r){e.operations.setExtent(e.value,t,r.value)}(this._coordinateSystem,e,this._coordinateSystem)}get extent(){return function(e,t){return e.operations.getExtent(e.value,t),t}(this._coordinateSystem,(0,S.vt)())}getAltitude(e){return function(e,t){return e.operations.altitudeAt(e.value,t)}(this._coordinateSystem,e)}setAltitude(e,t,r=e){return Gr(this._coordinateSystem,r,t,e)}setAltitudeOfTransformation(e,t){!function(e,t,r,n){t!==n&&(0,ue.C)(n,t),(0,Ce.i)(Yr,n[12],n[13],n[14]),Gr(e,Yr,r,Yr),n[12]=Yr[0],n[13]=Yr[1],n[14]=Yr[2]}(this._coordinateSystem,t,e,t)}worldUpAtPosition(e,t){return function(e,t,r){return e.operations.axisAt(e.value,t,Ur._.Z,r)}(this._coordinateSystem,e,t)}worldBasisAtPosition(e,t,r){return function(e,t,r,n){return e.operations.axisAt(e.value,t,r,n)}(this._coordinateSystem,e,t,r)}basisMatrixAtPosition(e,t){const r=this.worldBasisAtPosition(e,Ur._.X,Xr.rq.get()),n=this.worldBasisAtPosition(e,Ur._.Y,Xr.rq.get()),i=this.worldBasisAtPosition(e,Ur._.Z,Xr.rq.get());return(0,ue.hZ)(t,r[0],r[1],r[2],0,n[0],n[1],n[2],0,i[0],i[1],i[2],0,0,0,0,1),t}headingAtPosition(e,t){const r=this.worldUpAtPosition(e,Xr.rq.get()),n=this.worldBasisAtPosition(e,Ur._.Y,Xr.rq.get()),i=(0,Wr.EJ)(t,n,r);return(0,_e.KJ)(i)}intersectManifoldClosestSilhouette(e,t,r){return $r(this._coordinateSystem,t,this._tmpCoordinateSystem),function(e,t,r){e.operations.intersectRayClosestSilhouette(e.value,t,r)}(this._tmpCoordinateSystem,e,r),r}intersectManifold(e,t,r){$r(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=Xr.rq.get();return function(e,t,r){return e.operations.intersectRay(e.value,t,r)}(this._tmpCoordinateSystem,e,n)?(0,Ce.c)(r,n):null}intersectInfiniteManifold(e,t,r){if(this.viewingMode===pe.RT.Global)return this.intersectManifold(e,t,r);$r(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=this._tmpCoordinateSystem.value,i=Xr.rq.get();return(0,hr.Ui)(n.plane,e,i)?(0,Ce.c)(r,i):null}toRenderCoords(e,t,r){return Zr(e)?(0,Vr.g)(e,t,this.spatialReference):(0,Lt.F)(e,t,r,this.spatialReference)}fromRenderCoords(e,t,r=null){return Zr(t)?(null!=r&&(t.spatialReference=r),function(e,t,r){return!!(0,Lt.F)(e,t,Nr,r.spatialReference)&&(r.x=Nr[0],r.y=Nr[1],r.z=Nr[2],!0)}(e,this.spatialReference,t)?t:null):(0,Lt.F)(e,this.spatialReference,t,r)?t:null}static create(e,t){switch(e){case pe.RT.Local:return new Qr(pe.RT.Local,t,(0,ar.GA)(t),qr(Lr.b,(0,Lr.f)([0,0,0],[Hr,0,0],[0,Hr,0])));case pe.RT.Global:return new Qr(pe.RT.Global,t,1,function(e){return qr(kr.s,(0,kr.f)(0,0,0,(0,Br.tO)(e).radius))}(t))}}static renderUnitScaleFactor(e,t){return(0,ar.KX)(e)/(0,ar.KX)(t)}}let Jr=class extends i.A.EventedAccessor{constructor(){super(...arguments),this.remoteClient=null,this._featureStore=new $,this._actionSynchronizer=new A(g,(e=>this._createCommand(e))),this._tileManager=null,this._renderer=null,this._fetcher=null,this._queryEngine=null,this._defaultQueryJSON=null,this._mainThreadDelegate=null,this._viewSpatialReference=null,this._renderCommandContext=null,this._context=null}get updating(){return this._tileManager.updating}destroy(){this._featureStore.clear(),this._tileManager?.destroy()}async setup({viewSpatialReference:e,renderSpatialReference:t,viewingMode:r,baseQuery:n,url:i,objectIdField:s,capabilities:o,fieldsIndex:l,timeInfo:c,elevationInfoJSON:m,fullExtent:g}){const _=h.A.fromJSON(e);this._viewSpatialReference=_;const v=h.A.fromJSON(t);this._fetcher=new de(this._viewSpatialReference,p.A.fromJSON(n),i,s,o),this._queryEngine=new f.do({hasZ:!0,hasM:!1,geometryType:"esriGeometryPoint",objectIdField:s,fieldsIndex:l,availableFields:[s],spatialReference:e,featureStore:this._featureStore,timeInfo:c}),this._mainThreadDelegate={createTexture:async(e,t)=>{const r={data:e,parameters:t};return await this.remoteClient.invoke("createTexture",r,{transferList:[e.buffer]})},releaseTexture:async e=>{const t={uid:e};await this.remoteClient.invoke("releaseTexture",t)},createMaterial:async e=>{const t={materialJSON:e};await this.remoteClient.invoke("createMaterial",t)},destroyMaterial:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyMaterial",t)},createDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("createDirectRenderer",t)},destroyDirectRenderer:async e=>{const t={materialId:e};await this.remoteClient.invoke("destroyDirectRenderer",t)},createLodRenderer:async(e,t,r)=>{const n={rendererId:e,lodRenderGeometry:t};await this.remoteClient.invoke("createLoDRenderer",n,{transferList:r})},destroyLodRenderer:async e=>{const t={rendererId:e};await this.remoteClient.invoke("destroyLoDRenderer",t)},executeRenderCommands:async e=>{const t={commands:e.commands};await this.remoteClient.invoke("dispatchRenderCommands",t,{transferList:e.transferList})},applyElevationAlignmentTo:async e=>{const t={mapPoints:e};return await this.remoteClient.invoke("applyElevationAlignment",t,{transferList:[e.buffer]})}};const b=Qr.create(r,v),x=new Mt(r,this._mainThreadDelegate);this._renderCommandContext=x;const w=m??{},C=new y(_,v,this._mainThreadDelegate,b,x,w);this._context=C,this._renderer=zr(null,C),this._defaultQueryJSON=new p.A({outSpatialReference:_}).toJSON();let S=null;if(null!=g){const e=d.A.fromJSON(g);await(0,u.initializeProjection)(e.spatialReference,_),S=(0,u.project)(e,_)}return this._tileManager=new B({loadTile:(e,t)=>this._fetcher.fetch(e,t),synchronizer:this._actionSynchronizer,extent:S}),this.addHandles((0,a.wB)((()=>this.updating),(e=>{this.emit("notify-updating",{updating:e})})),a.Vh),null!=this._renderer&&await this._renderer.load(),en}async executeQuery(e,t){return{result:await this._queryEngine.executeQuery(this._ensureQuery(e),t)}}async executeQueryForIds(e,t){const r=await this._queryEngine.executeQueryForIdSet(this._ensureQuery(e),t);return{result:Array.from(r)}}async executeQueryForCount(e,t){return{result:await this._queryEngine.executeQueryForCount(this._ensureQuery(e),t)}}async executeQueryForExtent(e,t){return{result:await this._queryEngine.executeQueryForExtent(this._ensureQuery(e),t)}}async executeQueryForLatestObservations(e,t){return{result:await this._queryEngine.executeQueryForLatestObservations(this._ensureQuery(e),t)}}async onTileTreeChange(e){return await this._tileManager.onTileTreeChange(e),en}async onElevationChange(e){return en}async onLayerOpacityChange(e){const t=this._renderer;if(null==t)return en;const r=await t.createUpdateLayerOpacityCommand(e);return await r.execute(),en}async onRendererChange(e){const{_context:t}=this,r=await this._createDestroyRendererCommand();await r.execute();const n=zr(e,t);this._renderer=n,await this._renderer.load();const i=[];this._tileManager.forEachTile((e=>{i.push(n.createAddCommand(e))}));const s=await Promise.all(i),a=t.joinPipelineCommands(s);return await a.execute(),en}async _createDestroyRendererCommand(){const e=this._renderer;if(null==e)return m.create(this._renderCommandContext);const t=await e.createDestroyCommand();return t.appendPipelineStateCommand((()=>{(0,Be.vA)(this._renderer===e),this._renderer=null})),t}async _createAddFeatureDataCommand(e,t){const r=this._featureStore,n=this._renderer;let i;return i=null!=n?await n.createAddCommand(e):m.create(this._renderCommandContext),(0,s.Te)(t),i.appendPipelineStateCommand((()=>{r.addTile(e)})),i}async _createRemoveFeatureDataCommand(e){const t=this._featureStore,r=this._renderer;let n;return n=null!=r?await r.createRemoveCommand(e):m.create(this._renderCommandContext),n.appendPipelineStateCommand((()=>{t.removeTile(e)})),n}async _createUpdateFeatureDataVisibilityCommand(e,t){const r=this._renderer;let n;return n=null!=r?await r.createUpdateVisibilityCommand(e):m.create(this._renderCommandContext),(0,s.Te)(t),n}_ensureQuery(e){return e??this._defaultQueryJSON}async _createCommand(e){switch(e.type){case _.ADD:return await this._createAddFeatureDataCommand(e.data);case _.REMOVE:return await this._createRemoveFeatureDataCommand(e.data.id);case _.UPDATE_VISIBILITY:return await this._createUpdateFeatureDataVisibilityCommand(e.data)}}};(0,n._)([(0,o.MZ)()],Jr.prototype,"updating",null),Jr=(0,n._)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorker")],Jr);const Kr=Jr,en={result:void 0}},20437:(e,t,r)=>{r.d(t,{A:()=>g});var n,i=r(90237),s=r(66552),a=r(25482),o=r(10107),l=r(56507),c=(r(44208),r(87811),r(93223)),d=r(36005),u=r(40608),h=r(80451),f=r(98453);const p=new s.J({binary:"binary",coordinate:"coordinate",countOrAmount:"count-or-amount",dateAndTime:"date-and-time",description:"description",locationOrPlaceName:"location-or-place-name",measurement:"measurement",nameOrTitle:"name-or-title",none:"none",orderedOrRanked:"ordered-or-ranked",percentageOrRatio:"percentage-or-ratio",typeOrCategory:"type-or-category",uniqueIdentifier:"unique-identifier"});let m=class extends a.A{static{n=this}constructor(e){super(e),this.alias=null,this.defaultValue=void 0,this.description=null,this.domain=null,this.editable=!0,this.length=void 0,this.name=null,this.nullable=!0,this.type=null,this.valueType=null,this.visible=!0}readDescription(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?.value??null}readValueType(e,{description:t}){let r=null;try{r=t?JSON.parse(t):null}catch(e){}return r?p.fromJSON(r.fieldValueType):null}clone(){return new n({alias:this.alias,defaultValue:this.defaultValue,description:this.description,domain:this.domain?.clone()??null,editable:this.editable,length:this.length,name:this.name,nullable:this.nullable,type:this.type,valueType:this.valueType,visible:this.visible})}};(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],m.prototype,"alias",void 0),(0,i._)([(0,o.MZ)({type:[String,Number],json:{write:{allowNull:!0}}})],m.prototype,"defaultValue",void 0),(0,i._)([(0,o.MZ)()],m.prototype,"description",void 0),(0,i._)([(0,d.w)("description")],m.prototype,"readDescription",null),(0,i._)([(0,o.MZ)({types:h.gK,json:{read:{reader:h.rS},write:!0}})],m.prototype,"domain",void 0),(0,i._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"editable",void 0),(0,i._)([(0,o.MZ)({type:l.jz,json:{write:{overridePolicy:e=>({enabled:Number.isFinite(e)})}}})],m.prototype,"length",void 0),(0,i._)([(0,o.MZ)({type:String,json:{write:!0}})],m.prototype,"name",void 0),(0,i._)([(0,o.MZ)({type:Boolean,json:{write:!0}})],m.prototype,"nullable",void 0),(0,i._)([(0,c.e)(f.m)],m.prototype,"type",void 0),(0,i._)([(0,o.MZ)()],m.prototype,"valueType",void 0),(0,i._)([(0,d.w)("valueType",["description"])],m.prototype,"readValueType",null),(0,i._)([(0,o.MZ)({type:Boolean,json:{read:!1}})],m.prototype,"visible",void 0),m=n=(0,i._)([(0,u.$)("esri.layers.support.Field")],m);const g=m},27615:(e,t,r)=>{r.d(t,{CK:()=>l,Hq:()=>o,MW:()=>c,TE:()=>d,yJ:()=>u});var n=r(38954),i=r(86738),s=r(95696),a=r(18251);function o(e){return null!=e.origin}function l(e){return o(e.vertexSpace)}function c(e,t){if(!o(e))return null;const[r,n,s]=e.origin;return new i.A({x:r,y:n,z:s,spatialReference:t})}function d(e,t){const{x:r,y:n,z:i,spatialReference:o}=e,l=[r,n,i??0];return"local"===(t?.vertexSpace??function(e){return e.isGeographic||e.isWebMercator?"local":"georeferenced"}(o))?new a.A({origin:l}):new s.A({origin:l})}function u(e,t){return e.type===t.type&&(e.origin===t.origin||null!=e.origin&&null!=t.origin&&(0,n.p)(e.origin,t.origin))}},31756:(e,t,r)=>{r.d(t,{j:()=>s});var n=r(83047),i=r(79258);const s={unknown:1,inches:(0,n.oU)(1,"meters","inches"),feet:(0,n.oU)(1,"meters","feet"),"us-feet":(0,n.oU)(1,"meters","us-feet"),yards:(0,n.oU)(1,"meters","yards"),miles:(0,n.oU)(1,"meters","miles"),"nautical-miles":(0,n.oU)(1,"meters","nautical-miles"),millimeters:(0,n.oU)(1,"meters","millimeters"),centimeters:(0,n.oU)(1,"meters","centimeters"),decimeters:(0,n.oU)(1,"meters","decimeters"),meters:(0,n.oU)(1,"meters","meters"),kilometers:(0,n.oU)(1,"meters","kilometers"),"decimal-degrees":1/(0,n.vl)(1,"meters",i.$O.radius)}},32587:(e,t,r)=>{r.d(t,{A:()=>s});var n=r(62788),i=r(95488);class s{constructor(e){this._observable=new i.I,this._map=new Map(e)}get size(){return(0,n.gc)(this._observable),this._map.size}clear(){this._map.size>0&&(this._map.clear(),this._observable.notify())}delete(e){const t=this._map.delete(e);return t&&this._observable.notify(),t}entries(){return(0,n.gc)(this._observable),this._map.entries()}forEach(e,t){(0,n.gc)(this._observable),this._map.forEach(((r,n)=>e.call(t,r,n,this)),t)}get(e){return(0,n.gc)(this._observable),this._map.get(e)}has(e){return(0,n.gc)(this._observable),this._map.has(e)}keys(){return(0,n.gc)(this._observable),this._map.keys()}set(e,t){return this._map.set(e,t),this._observable.notify(),this}values(){return(0,n.gc)(this._observable),this._map.values()}[Symbol.iterator](){return(0,n.gc)(this._observable),this._map[Symbol.iterator]()}[Symbol.dispose](){this._observable.destroy()}get[Symbol.toStringTag](){return this._map[Symbol.toStringTag]}}},36708:(e,t,r)=>{r.d(t,{C_:()=>h,OH:()=>m,Vh:()=>g,on:()=>u,pc:()=>y,wB:()=>l,z7:()=>c});var n=r(37955),i=r(36563),s=r(97768),a=r(74887),o=r(14012);function l(e,t,r={}){return d(e,t,r,f)}function c(e,t,r={}){return d(e,t,r,p)}function d(e,t,r={},n){let i=null;const a=r.once?(e,r)=>{n(e)&&((0,s.xt)(i),t(e,r))}:(e,r)=>{n(e)&&t(e,r)};if(i=(0,o.Cn)(e,a,r.sync,r.equals),r.initial){const t=e();a(t,t)}return i}function u(e,t,r,a={}){let o=null,c=null,d=null;function u(){o&&c&&(c.remove(),a.onListenerRemove?.(o),o=null,c=null)}function h(e){a.once&&a.once&&(0,s.xt)(d),r(e)}const f=l(e,((e,r)=>{u(),(0,n.wb)(e)&&(o=e,c=(0,n.on)(e,t,h),a.onListenerAdd?.(e))}),{sync:a.sync,initial:!0});return d=(0,i.hA)((()=>{f.remove(),u()})),d}function h(e,t){return function(e,t,r){if((0,a.G4)(r))return Promise.reject((0,a.NK)());const n=e();if(t?.(n))return Promise.resolve(n);let o=null;function l(){o=(0,s.xt)(o)}return new Promise(((n,s)=>{o=(0,i.vE)([(0,a.u7)(r,(()=>{l(),s((0,a.NK)())})),d(e,(e=>{l(),n(e)}),{sync:!1,once:!0},t??f)])}))}(e,p,t)}function f(e){return!0}function p(e){return!!e}r(80559);const m={sync:!0},g={initial:!0},y={sync:!0,initial:!0}},39357:(e,t,r)=>{r.d(t,{H:()=>l});var n,i=r(90237),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(40608));let l=n=class extends s.A{constructor(e){super(e),this.name=null,this.code=null}clone(){return new n({name:this.name,code:this.code})}};(0,i._)([(0,a.MZ)({type:String,json:{write:{isRequired:!0}}})],l.prototype,"name",void 0),(0,i._)([(0,a.MZ)({type:[String,Number],json:{write:{isRequired:!0}}})],l.prototype,"code",void 0),l=n=(0,i._)([(0,o.$)("esri.layers.support.CodedValue")],l)},40268:(e,t,r)=>{r.d(t,{Q:()=>h,R:()=>u});var n=r(35640),i=r(52587),s=r(20693),a=r(14314),o=r(33094),l=r(20304),c=r(31821),d=r(46540);const u=.5;function h(e,t){e.include(i.Y6),e.attributes.add(d.r.POSITION,"vec3"),e.attributes.add(d.r.NORMAL,"vec3"),e.attributes.add(d.r.CENTEROFFSETANDDISTANCE,"vec4");const r=e.vertex;(0,s.NB)(r,t),(0,s.yu)(r,t),r.uniforms.add(new a.I("viewport",(e=>e.camera.fullViewport)),new l.m("polygonOffset",(e=>e.shaderPolygonOffset)),new o.U("cameraGroundRelative",(e=>e.camera.aboveGround?1:-1))),t.hasVerticalOffset&&(0,n.V)(r),r.code.add(c.H`struct ProjectHUDAux {
|
|
176
|
-
vec3 posModel;
|
|
177
|
-
vec3 posView;
|
|
178
|
-
vec3 vnormal;
|
|
179
|
-
float distanceToCamera;
|
|
180
|
-
float absCosAngle;
|
|
181
|
-
};`),r.code.add(c.H`
|
|
182
|
-
float applyHUDViewDependentPolygonOffset(float pointGroundDistance, float absCosAngle, inout vec3 posView) {
|
|
183
|
-
float pointGroundSign = ${t.terrainDepthTest?c.H.float(0):c.H`sign(pointGroundDistance)`};
|
|
184
|
-
if (pointGroundSign == 0.0) {
|
|
185
|
-
pointGroundSign = cameraGroundRelative;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
// cameraGroundRelative is -1 if camera is below ground, 1 if above ground
|
|
189
|
-
// groundRelative is 1 if both camera and symbol are on the same side of the ground, -1 otherwise
|
|
190
|
-
float groundRelative = cameraGroundRelative * pointGroundSign;
|
|
191
|
-
|
|
192
|
-
// view angle dependent part of polygon offset emulation: we take the absolute value because the sign that is
|
|
193
|
-
// dropped is instead introduced using the ground-relative position of the symbol and the camera
|
|
194
|
-
if (polygonOffset > .0) {
|
|
195
|
-
float cosAlpha = clamp(absCosAngle, 0.01, 1.0);
|
|
196
|
-
float tanAlpha = sqrt(1.0 - cosAlpha * cosAlpha) / cosAlpha;
|
|
197
|
-
float factor = (1.0 - tanAlpha / viewport[2]);
|
|
198
|
-
|
|
199
|
-
// same side of the terrain
|
|
200
|
-
if (groundRelative > 0.0) {
|
|
201
|
-
posView *= factor;
|
|
202
|
-
}
|
|
203
|
-
// opposite sides of the terrain
|
|
204
|
-
else {
|
|
205
|
-
posView /= factor;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
return groundRelative;
|
|
210
|
-
}
|
|
211
|
-
`),t.draped&&!t.hasVerticalOffset||(0,s.S7)(r),t.draped||(r.uniforms.add(new o.U("perDistancePixelRatio",(e=>Math.tan(e.camera.fovY/2)/(e.camera.fullViewport[2]/2)))),r.code.add(c.H`
|
|
212
|
-
void applyHUDVerticalGroundOffset(vec3 normalModel, inout vec3 posModel, inout vec3 posView) {
|
|
213
|
-
float distanceToCamera = length(posView);
|
|
214
|
-
|
|
215
|
-
// Compute offset in world units for a half pixel shift
|
|
216
|
-
float pixelOffset = distanceToCamera * perDistancePixelRatio * ${c.H.float(u)};
|
|
217
|
-
|
|
218
|
-
// Apply offset along normal in the direction away from the ground surface
|
|
219
|
-
vec3 modelOffset = normalModel * cameraGroundRelative * pixelOffset;
|
|
220
|
-
|
|
221
|
-
// Apply the same offset also on the view space position
|
|
222
|
-
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
223
|
-
|
|
224
|
-
posModel += modelOffset;
|
|
225
|
-
posView += viewOffset;
|
|
226
|
-
}
|
|
227
|
-
`)),t.screenCenterOffsetUnitsEnabled&&(0,s.Nz)(r),t.hasScreenSizePerspective&&(0,i.OH)(r),r.code.add(c.H`
|
|
228
|
-
vec4 projectPositionHUD(out ProjectHUDAux aux) {
|
|
229
|
-
vec3 centerOffset = centerOffsetAndDistance.xyz;
|
|
230
|
-
float pointGroundDistance = centerOffsetAndDistance.w;
|
|
231
|
-
|
|
232
|
-
aux.posModel = position;
|
|
233
|
-
aux.posView = (view * vec4(aux.posModel, 1.0)).xyz;
|
|
234
|
-
aux.vnormal = normal;
|
|
235
|
-
${t.draped?"":"applyHUDVerticalGroundOffset(aux.vnormal, aux.posModel, aux.posView);"}
|
|
236
|
-
|
|
237
|
-
// Screen sized offset in world space, used for example for line callouts
|
|
238
|
-
// Note: keep this implementation in sync with the CPU implementation, see
|
|
239
|
-
// - MaterialUtil.verticalOffsetAtDistance
|
|
240
|
-
// - HUDMaterial.applyVerticalOffsetTransformation
|
|
241
|
-
|
|
242
|
-
aux.distanceToCamera = length(aux.posView);
|
|
243
|
-
|
|
244
|
-
vec3 viewDirObjSpace = normalize(cameraPosition - aux.posModel);
|
|
245
|
-
float cosAngle = dot(aux.vnormal, viewDirObjSpace);
|
|
246
|
-
|
|
247
|
-
aux.absCosAngle = abs(cosAngle);
|
|
248
|
-
|
|
249
|
-
${t.hasScreenSizePerspective&&(t.hasVerticalOffset||t.screenCenterOffsetUnitsEnabled)?"vec3 perspectiveFactor = screenSizePerspectiveScaleFactor(aux.absCosAngle, aux.distanceToCamera, screenSizePerspectiveAlignment);":""}
|
|
250
|
-
|
|
251
|
-
${t.hasVerticalOffset?t.hasScreenSizePerspective?"float verticalOffsetScreenHeight = applyScreenSizePerspectiveScaleFactorFloat(verticalOffset.x, perspectiveFactor);":"float verticalOffsetScreenHeight = verticalOffset.x;":""}
|
|
252
|
-
|
|
253
|
-
${t.hasVerticalOffset?c.H`
|
|
254
|
-
float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * aux.distanceToCamera, verticalOffset.z, verticalOffset.w);
|
|
255
|
-
vec3 modelOffset = aux.vnormal * worldOffset;
|
|
256
|
-
aux.posModel += modelOffset;
|
|
257
|
-
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
258
|
-
aux.posView += viewOffset;
|
|
259
|
-
// Since we elevate the object, we need to take that into account
|
|
260
|
-
// in the distance to ground
|
|
261
|
-
pointGroundDistance += worldOffset;`:""}
|
|
262
|
-
|
|
263
|
-
float groundRelative = applyHUDViewDependentPolygonOffset(pointGroundDistance, aux.absCosAngle, aux.posView);
|
|
264
|
-
|
|
265
|
-
${t.screenCenterOffsetUnitsEnabled?"":c.H`
|
|
266
|
-
// Apply x/y in view space, but z in screen space (i.e. along posView direction)
|
|
267
|
-
aux.posView += vec3(centerOffset.x, centerOffset.y, 0.0);
|
|
268
|
-
|
|
269
|
-
// Same material all have same z != 0.0 condition so should not lead to
|
|
270
|
-
// branch fragmentation and will save a normalization if it's not needed
|
|
271
|
-
if (centerOffset.z != 0.0) {
|
|
272
|
-
aux.posView -= normalize(aux.posView) * centerOffset.z;
|
|
273
|
-
}
|
|
274
|
-
`}
|
|
275
|
-
|
|
276
|
-
vec4 posProj = proj * vec4(aux.posView, 1.0);
|
|
277
|
-
|
|
278
|
-
${t.screenCenterOffsetUnitsEnabled?t.hasScreenSizePerspective?"float centerOffsetY = applyScreenSizePerspectiveScaleFactorFloat(centerOffset.y, perspectiveFactor);":"float centerOffsetY = centerOffset.y;":""}
|
|
279
|
-
|
|
280
|
-
${t.screenCenterOffsetUnitsEnabled?"posProj.xy += vec2(centerOffset.x, centerOffsetY) * pixelRatio * 2.0 / viewport.zw * posProj.w;":""}
|
|
281
|
-
|
|
282
|
-
// constant part of polygon offset emulation
|
|
283
|
-
posProj.z -= groundRelative * polygonOffset * posProj.w;
|
|
284
|
-
return posProj;
|
|
285
|
-
}
|
|
286
|
-
`)}},47522:(e,t,r)=>{r.d(t,{K:()=>s});var n=r(32976),i=r(31821);function s(e){e.uniforms.add(new n.o("alignPixelEnabled",(e=>e.alignPixelEnabled))),e.code.add(i.H`vec4 alignToPixelCenter(vec4 clipCoord, vec2 widthHeight) {
|
|
287
|
-
if (!alignPixelEnabled)
|
|
288
|
-
return clipCoord;
|
|
289
|
-
vec2 xy = vec2(0.500123) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
290
|
-
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
291
|
-
vec2 ij = (floor(xy * widthHeight) + vec2(0.5)) * pixelSz;
|
|
292
|
-
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
293
|
-
return vec4(result, clipCoord.zw);
|
|
294
|
-
}`),e.code.add(i.H`vec4 alignToPixelOrigin(vec4 clipCoord, vec2 widthHeight) {
|
|
295
|
-
if (!alignPixelEnabled)
|
|
296
|
-
return clipCoord;
|
|
297
|
-
vec2 xy = vec2(0.5) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
298
|
-
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
299
|
-
vec2 ij = floor((xy + 0.5 * pixelSz) * widthHeight) * pixelSz;
|
|
300
|
-
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
301
|
-
return vec4(result, clipCoord.zw);
|
|
302
|
-
}`)}},51624:(e,t,r)=>{r.d(t,{A:()=>u});var n,i,s=r(44208),a=r(69397),o=r(93687);(i=n||(n={}))[i.varint=0]="varint",i[i.fixed64=1]="fixed64",i[i.delimited=2]="delimited",i[i.fixed32=5]="fixed32",i[i.unknown=99]="unknown";const l=4294967296,c=new TextDecoder("utf-8"),d=(0,s.A)("safari")||(0,s.A)("ios")?6:(0,s.A)("ff")?12:32;class u{constructor(e,t,r=0,i=(e?e.byteLength:0)){this._tag=0,this._dataType=n.unknown,this._init(e,t,r,i)}_init(e,t,r,n){this._data=e,this._dataView=t,this._pos=r,this._end=n}get usedMemory(){return 64+(0,a.Qf)(this._data)}asUnsafe(){return this}clone(){return new u(this._data,this._dataView,this._pos,this._end)}pos(){return this._pos}move(e){this._pos=e}nextTag(e){for(;;){if(this._pos===this._end)return!1;const t=this._decodeVarint();if(this._tag=t>>3,this._dataType=7&t,!e||e===this._tag)break;this.skip()}return!0}next(){if(this._pos===this._end)return!1;const e=this._decodeVarint();return this._tag=e>>3,this._dataType=7&e,!0}empty(){return this._pos>=this._end}tag(){return this._tag}getInt32(){return this._decodeVarint()}getInt64(){return this._decodeVarint()}getUInt32(){let e=4294967295;if(e=(127&this._data[this._pos])>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<7)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<14)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(127&this._data[this._pos])<<21)>>>0,this._data[this._pos++]<128)return e;if(e=(e|(15&this._data[this._pos])<<28)>>>0,this._data[this._pos++]<128)return e;throw new Error("Varint overflow")}getUInt64(){return this._decodeVarint()}getSInt32(){const e=this.getUInt32();return e>>>1^-(1&e)}getSInt64(){return this._decodeSVarint()}getBool(){const e=0!==this._data[this._pos];return this._skip(1),e}getEnum(){return this._decodeVarint()}getFixed64(){const e=this._dataView,t=this._pos,r=e.getUint32(t,!0)+e.getUint32(t+4,!0)*l;return this._skip(8),r}getSFixed64(){const e=this._dataView,t=this._pos,r=e.getUint32(t,!0)+e.getInt32(t+4,!0)*l;return this._skip(8),r}getDouble(){const e=this._dataView.getFloat64(this._pos,!0);return this._skip(8),e}getFixed32(){const e=this._dataView.getUint32(this._pos,!0);return this._skip(4),e}getSFixed32(){const e=this._dataView.getInt32(this._pos,!0);return this._skip(4),e}getFloat(){const e=this._dataView.getFloat32(this._pos,!0);return this._skip(4),e}getString(){const e=this._getLength(),t=this._pos,r=this._toString(this._data,t,t+e);return this._skip(e),r}getBytes(){const e=this._getLength(),t=this._pos,r=this._toBytes(this._data,t,t+e);return this._skip(e),r}getLength(){return this._getLengthUnsafe()}processMessageWithArgs(e,t,r,n){const i=this.getMessage(),s=e(i,t,r,n);return i.release(),s}processMessage(e){const t=this.getMessage(),r=e(t);return t.release(),r}getMessage(){const e=this._getLength(),t=u.pool.acquire();return t._init(this._data,this._dataView,this._pos,this._pos+e),this._skip(e),t}release(){u.pool.release(this)}dataType(){return this._dataType}skip(){switch(this._dataType){case n.varint:this._decodeVarint();break;case n.fixed64:this._skip(8);break;case n.delimited:this._skip(this._getLength());break;case n.fixed32:this._skip(4);break;default:throw new Error("Invalid data type!")}}skipLen(e){this._skip(e)}_skip(e){if(this._pos+e>this._end)throw new Error("Attempt to skip past the end of buffer!");this._pos+=e}_decodeVarint(){const e=this._data;let t=this._pos,r=0,n=0;if(this._end-t>=10)do{if(n=e[t++],r|=127&n,!(128&n))break;if(n=e[t++],r|=(127&n)<<7,!(128&n))break;if(n=e[t++],r|=(127&n)<<14,!(128&n))break;if(n=e[t++],r|=(127&n)<<21,!(128&n))break;if(n=e[t++],r+=268435456*(127&n),!(128&n))break;if(n=e[t++],r+=34359738368*(127&n),!(128&n))break;if(n=e[t++],r+=4398046511104*(127&n),!(128&n))break;if(n=e[t++],r+=562949953421312*(127&n),!(128&n))break;if(n=e[t++],r+=72057594037927940*(127&n),!(128&n))break;if(n=e[t++],r+=0x8000000000000000*(127&n),!(128&n))break;throw new Error("Varint too long!")}while(0);else{let i=1;for(;t!==this._end&&(n=e[t],128&n);)++t,r+=(127&n)*i,i*=128;if(t===this._end)throw new Error("Varint overrun!");++t,r+=n*i}return this._pos=t,r}_decodeSVarint(){const e=this._data;let t,r=0,n=0;const i=1&e[this._pos];if(n=e[this._pos++],r|=127&n,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<7,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<14,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r|=(127&n)<<21,!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=268435456*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=34359738368*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(n=e[this._pos++],r+=4398046511104*(127&n),!(128&n))return i?-(r+1)/2:r/2;if(t=BigInt(r),n=e[this._pos++],t+=0x2000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);if(n=e[this._pos++],t+=0x100000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);if(n=e[this._pos++],t+=0x8000000000000000n*BigInt(127&n),!(128&n))return Number(i?-(t+1n)/2n:t/2n);throw new Error("Varint too long!")}_getLength(){if(this._dataType!==n.delimited)throw new Error("Not a delimited data type!");return this._decodeVarint()}_getLengthUnsafe(){return this.getUInt32()}_toString(e,t,r){if((r=Math.min(this._end,r))-t>d){const n=e.subarray(t,r);return c.decode(n)}let n="",i="";for(let s=t;s<r;++s){const t=e[s];128&t?i+="%"+t.toString(16):(n+=decodeURIComponent(i)+String.fromCharCode(t),i="")}return i.length&&(n+=decodeURIComponent(i)),n}_toBytes(e,t,r){return r=Math.min(this._end,r),new Uint8Array(e.buffer,t,r-t)}static{this.pool=new o.A(u,void 0,(e=>{e._data=null,e._dataView=null}))}}},53177:(e,t,r)=>{r.d(t,{A:()=>h});var n,i=r(90237),s=r(4718),a=r(10107),o=(r(44208),r(53966),r(93223)),l=r(40608),c=r(39357),d=r(76357);let u=class extends d.A{static{n=this}constructor(e){super(e),this.codedValues=null,this.type="coded-value"}getName(e){let t=null;if(this.codedValues){const r=String(e);this.codedValues.some((e=>(String(e.code)===r&&(t=e.name),!!t)))}return t}clone(){return new n({codedValues:(0,s.o8)(this.codedValues),name:this.name})}};(0,i._)([(0,a.MZ)({type:[c.H],json:{write:{isRequired:!0}}})],u.prototype,"codedValues",void 0),(0,i._)([(0,o.e)({codedValue:"coded-value"})],u.prototype,"type",void 0),u=n=(0,i._)([(0,l.$)("esri.layers.support.CodedValueDomain")],u);const h=u},53655:(e,t,r)=>{r.d(t,{SH:()=>O,ae:()=>C,cn:()=>_});var n=r(49186),i=r(51624),s=r(92722),a=r(69418);const o=["esriFieldTypeSmallInteger","esriFieldTypeInteger","esriFieldTypeSingle","esriFieldTypeDouble","esriFieldTypeString","esriFieldTypeDate","esriFieldTypeOID","esriFieldTypeGeometry","esriFieldTypeBlob","esriFieldTypeRaster","esriFieldTypeGUID","esriFieldTypeGlobalID","esriFieldTypeXML","esriFieldTypeBigInteger","esriFieldTypeDateOnly","esriFieldTypeTimeOnly","esriFieldTypeTimestampOffset"],l=["sqlTypeBigInt","sqlTypeBinary","sqlTypeBit","sqlTypeChar","sqlTypeDate","sqlTypeDecimal","sqlTypeDouble","sqlTypeFloat","sqlTypeGeometry","sqlTypeGUID","sqlTypeInteger","sqlTypeLongNVarchar","sqlTypeLongVarbinary","sqlTypeLongVarchar","sqlTypeNChar","sqlTypeNVarchar","sqlTypeOther","sqlTypeReal","sqlTypeSmallInt","sqlTypeSqlXml","sqlTypeTime","sqlTypeTimestamp","sqlTypeTimestamp2","sqlTypeTinyInt","sqlTypeVarbinary","sqlTypeVarchar"],c=["upperLeft","lowerLeft"];function d(e){return e>=o.length?null:o[e]}function u(e){return e>=l.length?null:l[e]}function h(e){return e>=c.length?null:c[e]}function f(e,t){return t>=e.geometryTypes.length?null:e.geometryTypes[t]}function p(e,t,r){const n=e.asUnsafe(),i=t.createPointGeometry(r);for(;n.next();)switch(n.tag()){case 3:{const e=n.getUInt32(),r=n.pos()+e;let s=0;for(;n.pos()<r;)t.addCoordinatePoint(i,n.getSInt64(),s++);break}default:n.skip()}return i}function m(e,t,r){const n=e.asUnsafe(),i=t.createGeometry(r),s=2+(r.hasZ?1:0)+(r.hasM?1:0);for(;n.next();)switch(n.tag()){case 2:{const e=n.getUInt32(),r=n.pos()+e;let s=0;for(;n.pos()<r;)t.addLength(i,n.getUInt32(),s++);break}case 3:{const e=n.getUInt32(),r=n.pos()+e;let a=0;for(t.allocateCoordinates(i);n.pos()<r;)t.addCoordinate(i,n.getSInt64(),a),a++,a===s&&(a=0);break}default:n.skip()}return i}function g(e){const t=e.asUnsafe(),r=new s.A;let n="esriGeometryPoint";for(;t.next();)switch(t.tag()){case 2:{const e=t.getUInt32(),n=t.pos()+e;for(;t.pos()<n;)r.lengths.push(t.getUInt32());break}case 3:{const e=t.getUInt32(),n=t.pos()+e;for(;t.pos()<n;)r.coords.push(t.getSInt64());break}case 1:n=a.z[t.getEnum()];break;default:t.skip()}return{queryGeometry:r,queryGeometryType:n}}function y(e){const t=e.asUnsafe();for(;t.next();)switch(t.tag()){case 1:return t.getString();case 2:return t.getFloat();case 3:return t.getDouble();case 4:return t.getSInt32();case 5:return t.getUInt32();case 6:return t.getInt64();case 7:return t.getUInt64();case 8:return t.getSInt64();case 9:return t.getBool();default:return t.skip(),null}return null}function _(e){const t=e.asUnsafe(),r={type:d(0)};for(;t.next();)switch(t.tag()){case 1:r.name=t.getString();break;case 2:r.type=d(t.getEnum());break;case 3:r.alias=t.getString();break;case 4:r.sqlType=u(t.getEnum());break;case 5:default:t.skip();break;case 6:r.defaultValue=t.getString()}return r}function v(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.name=r.getString();break;case 2:t.isSystemMaintained=r.getBool();break;default:r.skip()}return t}function b(e,t,r,n){const i=t.createFeature(r);let s=0;for(;e.next();)switch(e.tag()){case 1:{const t=n[s++].name;i.attributes[t]=e.processMessage(y);break}case 2:i.geometry=e.processMessageWithArgs(m,t,r);break;case 4:i.centroid=e.processMessageWithArgs(p,t,r);break;default:e.skip()}return i}function x(e){const t=[1,1,1,1],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function w(e){const t=[0,0,0,0],r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t[0]=r.getDouble();break;case 2:t[1]=r.getDouble();break;case 4:t[2]=r.getDouble();break;case 3:t[3]=r.getDouble();break;default:r.skip()}return t}function C(e){const t={originPosition:h(0)},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.originPosition=h(r.getEnum());break;case 2:t.scale=r.processMessage(x);break;case 3:t.translate=r.processMessage(w);break;default:r.skip()}return t}function S(e){const t={},r=e.asUnsafe();for(;r.next();)switch(r.tag()){case 1:t.shapeAreaFieldName=r.getString();break;case 2:t.shapeLengthFieldName=r.getString();break;case 3:t.units=r.getString();break;default:r.skip()}return t}function I(e,t){const r=t.createSpatialReference();for(;e.next();)switch(e.tag()){case 1:r.wkid=e.getUInt32();break;case 5:r.wkt=e.getString();break;case 2:r.latestWkid=e.getUInt32();break;case 3:r.vcsWkid=e.getUInt32();break;case 4:r.latestVcsWkid=e.getUInt32();break;default:e.skip()}return r}function A(e,t){const r=t.createFeatureResult(),n=e.asUnsafe();r.geometryType=f(t,0);let i=!1;for(;n.next();)switch(n.tag()){case 1:r.objectIdFieldName=n.getString();break;case 3:r.globalIdFieldName=n.getString();break;case 4:r.geohashFieldName=n.getString();break;case 5:r.geometryProperties=n.processMessage(S);break;case 7:r.geometryType=f(t,n.getEnum());break;case 8:r.spatialReference=n.processMessageWithArgs(I,t);break;case 10:r.hasZ=n.getBool();break;case 11:r.hasM=n.getBool();break;case 12:r.transform=n.processMessage(C);break;case 9:r.exceededTransferLimit=n.getBool();break;case 13:t.addField(r,n.processMessage(_));break;case 15:i||(t.prepareFeatures(r),i=!0),t.addFeature(r,n.processMessageWithArgs(b,t,r,r.fields));break;case 2:r.uniqueIdField=n.processMessage(v);break;default:n.skip()}return t.finishFeatureResult(r),r}function T(e,t){const r={};let n=null;for(;e.next();)switch(e.tag()){case 4:n=e.processMessageWithArgs(g);break;case 1:r.featureResult=e.processMessageWithArgs(A,t);break;default:e.skip()}return null!=n&&r.featureResult&&t.addQueryGeometry(r,n),r}function O(e,t){try{const r=2,n=new i.A(new Uint8Array(e),new DataView(e)),s={};for(;n.next();)n.tag()===r?s.queryResult=n.processMessageWithArgs(T,t):n.skip();return s}catch(e){throw new n.A("query:parsing-pbf","Error while parsing FeatureSet PBF payload",{error:e})}}},58501:(e,t,r)=>{r.d(t,{q:()=>i});var n=r(62815);function i(e,t,r){if(!r?.features||!r.hasZ)return;const i=(0,n.N)(r.geometryType,t,e.outSpatialReference);if(null!=i)for(const e of r.features)i(e.geometry)}},60999:(e,t,r)=>{r.d(t,{DZ:()=>p,Ke:()=>f,Tj:()=>d,UT:()=>m,jJ:()=>c});var n=r(90237),i=r(69622),s=r(97768),a=r(74887),o=r(10107),l=r(40608);function c(e,t,r){return(0,a.Lx)(e.map(((e,n)=>t.apply(r,[e,n]))))}async function d(e,t,r){return(await(0,a.Lx)(e.map(((e,n)=>t.apply(r,[e,n]))))).map((e=>e.value))}function u(e){return{ok:!0,value:e}}function h(e){return{ok:!1,error:e}}async function f(e){if(null==e)return{ok:!1,error:new Error("no promise provided")};try{return u(await e)}catch(e){return h(e)}}async function p(e){try{return u(await e)}catch(e){return(0,a.QP)(e),h(e)}}function m(e,t){return new g(e,t)}let g=class extends i.A{get value(){return null!=(e=this._result)&&!0===e.ok?e.value:null;var e}get error(){return null!=(e=this._result)&&!1===e.ok?e.error:null;var e}get finished(){return null!=this._result}constructor(e,t){super({}),this._result=null,this._abortHandle=null,this.abort=()=>{this._abortController=(0,s.DC)(this._abortController)},this.remove=this.abort,this._abortController=new AbortController;const{signal:r}=this._abortController;this.promise=e(r),this.promise.then((e=>{this._result=u(e),this._cleanup()}),(e=>{this._result=h(e),this._cleanup()})),this._abortHandle=(0,a.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,n._)([(0,o.MZ)()],g.prototype,"value",null),(0,n._)([(0,o.MZ)()],g.prototype,"error",null),(0,n._)([(0,o.MZ)()],g.prototype,"finished",null),(0,n._)([(0,o.MZ)()],g.prototype,"promise",void 0),(0,n._)([(0,o.MZ)()],g.prototype,"_result",void 0),g=(0,n._)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],g)},63578:(e,t,r)=>{r.d(t,{I:()=>a});var n=r(47522),i=r(96598),s=r(31821);function a(e,t){const{vertex:r,fragment:a}=e;e.include(i.Z,t),r.include(n.K),r.main.add(s.H`vec4 posProjCenter;
|
|
303
|
-
if (dot(position, position) > 0.0) {
|
|
304
|
-
ProjectHUDAux projectAux;
|
|
305
|
-
vec4 posProj = projectPositionHUD(projectAux);
|
|
306
|
-
posProjCenter = alignToPixelCenter(posProj, viewport.zw);
|
|
307
|
-
forwardViewPosDepth(projectAux.posView);
|
|
308
|
-
vec3 vpos = projectAux.posModel;
|
|
309
|
-
if (rejectBySlice(vpos)) {
|
|
310
|
-
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
311
|
-
}
|
|
312
|
-
} else {
|
|
313
|
-
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
314
|
-
}
|
|
315
|
-
gl_Position = posProjCenter;
|
|
316
|
-
gl_PointSize = 1.0;`),a.main.add(s.H`fragColor = vec4(1);
|
|
317
|
-
if(discardByTerrainDepth()) {
|
|
318
|
-
fragColor.g = 0.5;
|
|
319
|
-
}`)}},66208:(e,t,r)=>{r.d(t,{m:()=>i});var n=r(53655);function i(e,t){const r=(0,n.SH)(e,t),i=r.queryResult.featureResult,s=r.queryResult.queryGeometry,a=r.queryResult.queryGeometryType;if(i&&i.features&&i.features.length&&i.objectIdFieldName){const e=i.objectIdFieldName;for(const t of i.features)t.attributes&&(t.objectId=t.attributes[e])}return i&&(i.queryGeometry=s,i.queryGeometryType=a),i}},66344:(e,t,r)=>{var n,i;r.d(t,{q:()=>l}),(i=n||(n={}))[i.ALL=0]="ALL",i[i.SOME=1]="SOME",Symbol.iterator;class s{get size(){return this._size}constructor(e=10485760){this._maxSize=e,this._db=new Map,this._size=0,this._hit=0,this._miss=0,this._users=new Map,this._sizeLimits=new Map}destroy(){this.clearAll(),this._sizeLimits.clear(),this._users.clear()}register(e){this._users.set(e.id.slice(0,-1),e)}deregister(e){this.clear(e),this._sizeLimits.delete(e),this._users.delete(e.id.slice(0,-1))}get maxSize(){return this._maxSize}set maxSize(e){this._maxSize=Math.max(e,-1),this._checkSize()}getSize(e,t){const r=this._db.get(e.id+t);return r?.size??0}put(e,t,r,i,s){t=e.id+t;const o=this._db.get(t);if(o&&(this._size-=o.size,e.size-=o.size,this._db.delete(t),o.entry!==r&&this._notifyRemove(t,o.entry,o.size,n.ALL)),i>this._maxSize)return void this._notifyRemove(t,r,i,n.ALL);if(void 0===r)return void console.warn("Refusing to cache undefined entry ");if(!i||i<0)return console.warn(`Refusing to cache entry with size ${i} for key ${t}`),void this._notifyRemove(t,r,0,n.ALL);const l=1+Math.max(s,-4)- -3;this._db.set(t,new a(r,i,l)),this._size+=i,e.size+=i,this._checkSize()}updateSize(e,t,r,i){t=e.id+t;const s=this._db.get(t);if(s&&s.entry===r){for(this._size-=s.size,e.size-=s.size;i>this._maxSize;){const e=this._notifyRemove(t,r,i,n.SOME);if(!(null!=e&&e>0))return void this._db.delete(t);i=e}s.size=i,this._size+=i,e.size+=i,this._checkSize()}}pop(e,t){t=e.id+t;const r=this._db.get(t);if(r)return this._size-=r.size,e.size-=r.size,this._db.delete(t),++this._hit,r.entry;++this._miss}get(e,t){t=e.id+t;const r=this._db.get(t);if(void 0!==r)return this._db.delete(t),r.lives=r.lifetime,this._db.set(t,r),++this._hit,r.entry;++this._miss}peek(e,t){const r=this._db.get(e.id+t);return r?++this._hit:++this._miss,r?.entry}get performanceInfo(){const e={Size:Math.round(this._size/1048576)+"/"+Math.round(this._maxSize/1048576)+"MB","Hit rate":Math.round(100*this._getHitRate())+"%",Entries:this._db.size.toString()},t={},r=new Array;this._db.forEach(((e,n)=>{const i=e.lifetime;r[i]=(r[i]||0)+e.size,this._users.forEach((r=>{const{id:i,name:s}=r;if(n.startsWith(i)){const r=t[s]||0;t[s]=r+e.size}}))}));const n={};this._users.forEach((e=>{const r=e.name;if("hitRate"in e&&"number"==typeof e.hitRate&&!isNaN(e.hitRate)&&e.hitRate>0){const i=t[r]||0;t[r]=i,n[r]=Math.round(100*e.hitRate)+"%"}else n[r]="0%"}));const i=Object.keys(t);i.sort(((e,r)=>t[r]-t[e])),i.forEach((r=>e[r]=Math.round(t[r]/2**20)+"MB / "+n[r]));for(let t=r.length-1;t>=0;--t){const n=r[t];n&&(e["Priority "+(t+-3-1)]=Math.round(n/this._size*100)+"%")}return e}resetStats(){this._hit=this._miss=0,this._users.forEach((e=>e.resetHitRate()))}clear(e){const t=e.id;this._db.forEach(((e,r)=>{r.startsWith(t)&&(this._size-=e.size,this._db.delete(r),this._notifyRemove(r,e.entry,e.size,n.ALL))})),e.size=0}clearAll(){this._db.forEach(((e,t)=>this._notifyRemove(t,e.entry,e.size,n.ALL))),this._users.forEach((e=>e.size=0)),this._size=0,this._db.clear()}*values(e){for(const[t,r]of this._db)t.startsWith(e.id)&&(yield r.entry)}_getHitRate(){return this._hit/(this._hit+this._miss)}_notifyRemove(e,t,r,n){const i=this._users.get(e.split(o)[0])?.removeFunc,s=i?.(t,n,r);return"number"==typeof s?s:null}_checkSize(){this._sizeLimits.forEach(((e,t)=>this._checkSizeLimits(e,t))),this._checkSizeLimits(this.maxSize)}setMaxSize(e,t){null==t||t<=0?this._sizeLimits.delete(e):this._sizeLimits.set(e,t)}_checkSizeLimits(e,t){const r=t??this;if(r.size<=e)return;const n=t?.id;let i=!0;for(;i;){i=!1;for(const[s,a]of this._db)if(0===a.lifetime&&(!n||s.startsWith(n))){const n=t??this._users.get(s.split(o)[0]);if(this._purgeItem(s,a,n),r.size<=.9*e)return;i||=this._db.has(s)}}for(const[i,s]of this._db)if(!n||i.startsWith(n)){const n=t??this._users.get(i.split(o)[0]);if(this._purgeItem(i,s,n),r.size<=.9*e)return}}_purgeItem(e,t,r){if(this._db.delete(e),t.lives<=1){this._size-=t.size,r&&(r.size-=t.size);const i=this._notifyRemove(e,t.entry,t.size,n.SOME);null!=i&&i>0&&(this._size+=i,r&&(r.size+=i),t.lives=t.lifetime,t.size=i,this._db.set(e,t))}else--t.lives,this._db.set(e,t)}}class a{constructor(e,t,r){this.entry=e,this.size=t,this.lifetime=r,this.lives=r}}const o=":";class l{constructor(e,t){this.removeFunc=t,this._storage=new s,this.id="",this.name="",this.size=0,this._storage.maxSize=e,this._storage.register(this)}destroy(){this._storage.deregister(this),this._storage.destroy()}put(e,t,r=1){this._storage.put(this,e,t,r,1)}pop(e){return this._storage.pop(this,e)}get(e){return this._storage.get(this,e)}clear(){this._storage.clearAll()}get maxSize(){return this._storage.maxSize}set maxSize(e){this._storage.maxSize=e}resetHitRate(){}}},69418:(e,t,r)=>{r.d(t,{S:()=>c,z:()=>l});var n=r(83047),i=r(21325),s=r(43334),a=r(58512),o=r(92722);const l=["esriGeometryPoint","esriGeometryMultipoint","esriGeometryPolyline","esriGeometryPolygon"];class c{constructor(e){this._options=e,this.geometryTypes=l,this._coordinatePtr=0,this._vertexDimension=0}createFeatureResult(){return new a.A}prepareFeatures(e){this._vertexDimension=2,e.hasZ&&this._vertexDimension++,e.hasM&&this._vertexDimension++}finishFeatureResult(e){if(!e?.features||!e.hasZ||!this._options.sourceSpatialReference||!e.spatialReference||(0,i.aI)(e.spatialReference,this._options.sourceSpatialReference)||e.spatialReference.vcsWkid)return;const t=(0,n.G9)(this._options.sourceSpatialReference)/(0,n.G9)(e.spatialReference);if(1!==t)for(const r of e.features){if(!(0,s.N3)(r))continue;const e=r.geometry.coords;for(let r=2;r<e.length;r+=3)e[r]*=t}}addFeature(e,t){e.features.push(t)}createFeature(){return new s.Om(null,{},null,0)}createSpatialReference(){return{wkid:0}}createGeometry(){return new o.A}addField(e,t){e.fields.push(t)}allocateCoordinates(e){e.coords.length=e.lengths.reduce(((e,t)=>e+t),0)*this._vertexDimension,this._coordinatePtr=0}addCoordinate(e,t){e.coords[this._coordinatePtr++]=t}addCoordinatePoint(e,t){e.coords.push(t)}addLength(e,t){e.lengths.push(t)}addQueryGeometry(e,t){e.queryGeometry=t.queryGeometry,e.queryGeometryType=t.queryGeometryType}createPointGeometry(){return new o.A}}},72385:(e,t,r)=>{function n(){return new Float32Array(3)}function i(e){const t=new Float32Array(3);return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function s(e,t,r){const n=new Float32Array(3);return n[0]=e,n[1]=t,n[2]=r,n}function a(){return n()}function o(){return s(1,1,1)}function l(){return s(1,0,0)}function c(){return s(0,1,0)}function d(){return s(0,0,1)}r.d(t,{fA:()=>s,o8:()=>i,vt:()=>n});const u=a(),h=o(),f=l(),p=c(),m=d();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:f,UNIT_Y:p,UNIT_Z:m,ZEROS:u,clone:i,create:n,fromValues:s,ones:o,unitX:l,unitY:c,unitZ:d,zeros:a},Symbol.toStringTag,{value:"Module"}))},75503:(e,t,r)=>{r.d(t,{E:()=>I,w:()=>o});var n=r(4576),i=r(21818),s=(r(44208),r(3694)),a=r(11006);class o{constructor(e=9,t){this._compareMinX=h,this._compareMinY=f,this._toBBox=e=>e,this._maxEntries=Math.max(4,e||9),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),t&&("function"==typeof t?this._toBBox=t:this._initFormat(t)),this.clear()}destroy(){this.clear(),x.prune(),w.prune(),C.prune(),S.prune()}all(e){l(this._data,e)}search(e,t){let r=this._data;const n=this._toBBox;if(v(e,r))for(x.clear();r;){for(let i=0,s=r.children.length;i<s;i++){const s=r.children[i],a=r.leaf?n(s):s;v(e,a)&&(r.leaf?t(s):_(e,a)?l(s,t):x.push(s))}r=x.pop()}}collides(e){let t=this._data;const r=this._toBBox;if(!v(e,t))return!1;for(x.clear();t;){for(let n=0,i=t.children.length;n<i;n++){const i=t.children[n],s=t.leaf?r(i):i;if(v(e,s)){if(t.leaf||_(e,s))return!0;x.push(i)}}t=x.pop()}return!1}load(e){if(!e.length)return this;if(e.length<this._minEntries){for(let t=0,r=e.length;t<r;t++)this.insert(e[t]);return this}let t=this._build(e.slice(),0,e.length-1,0);if(this._data.children.length)if(this._data.height===t.height)this._splitRoot(this._data,t);else{if(this._data.height<t.height){const e=this._data;this._data=t,t=e}this._insert(t,this._data.height-t.height-1,!0)}else this._data=t;return this}insert(e){return e&&this._insert(e,this._data.height-1),this}clear(){return this._data=new T([]),this}remove(e){if(!e)return this;let t,r=this._data,s=null,a=0,o=!1;const l=this._toBBox(e);for(C.clear(),S.clear();r||C.length>0;){if(r||(r=C.pop(),s=C.data[C.length-1],a=S.pop()??0,o=!0),r.leaf&&(t=(0,n.qh)(r.children,(0,i.zI)(e),r.children.length,r.indexHint),-1!==t))return r.children.splice(t,1),C.push(r),this._condense(C),this;o||r.leaf||!_(r,l)?s?(a++,r=s.children[a],o=!1):r=null:(C.push(r),S.push(a),a=0,s=r,r=r.children[0])}return this}toJSON(){return this._data}fromJSON(e){return this._data=e,this}_build(e,t,r,n){const i=r-t+1;let s=this._maxEntries;if(i<=s){const n=new T(e.slice(t,r+1));return c(n,this._toBBox),n}n||(n=Math.ceil(Math.log(i)/Math.log(s)),s=Math.ceil(i/s**(n-1)));const a=new O([]);a.height=n;const o=Math.ceil(i/s),l=o*Math.ceil(Math.sqrt(s));b(e,t,r,l,this._compareMinX);for(let i=t;i<=r;i+=l){const t=Math.min(i+l-1,r);b(e,i,t,o,this._compareMinY);for(let r=i;r<=t;r+=o){const i=Math.min(r+o-1,t);a.children.push(this._build(e,r,i,n-1))}}return c(a,this._toBBox),a}_insert(e,t,r){const n=this._toBBox,i=r?e:n(e);C.clear();const s=function(e,t,r,n){for(;n.push(t),!0!==t.leaf&&n.length-1!==r;){let r,n=1/0,i=1/0;for(let s=0,a=t.children.length;s<a;s++){const a=t.children[s],o=p(a),l=g(e,a)-o;l<i?(i=l,n=o<n?o:n,r=a):l===i&&o<n&&(n=o,r=a)}t=r||t.children[0]}return t}(i,this._data,t,C);for(s.children.push(e),u(s,i);t>=0&&C.data[t].children.length>this._maxEntries;)this._split(C,t),t--;!function(e,t,r){for(let n=r;n>=0;n--)u(t.data[n],e)}(i,C,t)}_split(e,t){const r=e.data[t],n=r.children.length,i=this._minEntries;this._chooseSplitAxis(r,i,n);const s=this._chooseSplitIndex(r,i,n);if(!s)return;const a=r.children.splice(s,r.children.length-s),o=r.leaf?new T(a):new O(a);o.height=r.height,c(r,this._toBBox),c(o,this._toBBox),t?e.data[t-1].children.push(o):this._splitRoot(r,o)}_splitRoot(e,t){this._data=new O([e,t]),this._data.height=e.height+1,c(this._data,this._toBBox)}_chooseSplitIndex(e,t,r){let n,i,s;n=i=1/0;for(let a=t;a<=r-t;a++){const t=d(e,0,a,this._toBBox),o=d(e,a,r,this._toBBox),l=y(t,o),c=p(t)+p(o);l<n?(n=l,s=a,i=c<i?c:i):l===n&&c<i&&(i=c,s=a)}return s}_chooseSplitAxis(e,t,r){const n=e.leaf?this._compareMinX:h,i=e.leaf?this._compareMinY:f;this._allDistMargin(e,t,r,n)<this._allDistMargin(e,t,r,i)&&e.children.sort(n)}_allDistMargin(e,t,r,n){e.children.sort(n);const i=this._toBBox,s=d(e,0,t,i),a=d(e,r-t,r,i);let o=m(s)+m(a);for(let n=t;n<r-t;n++){const t=e.children[n];u(s,e.leaf?i(t):t),o+=m(s)}for(let n=r-t-1;n>=t;n--){const t=e.children[n];u(a,e.leaf?i(t):t),o+=m(a)}return o}_condense(e){for(let t=e.length-1;t>=0;t--){const r=e.data[t];if(0===r.children.length)if(t>0){const i=e.data[t-1],s=i.children;s.splice((0,n.qh)(s,r,s.length,i.indexHint),1)}else this.clear();else c(r,this._toBBox)}}_initFormat(e){const t=["return a"," - b",";"];this._compareMinX=new Function("a","b",t.join(e[0])),this._compareMinY=new Function("a","b",t.join(e[1])),this._toBBox=new Function("a","return {minX: a"+e[0]+", minY: a"+e[1]+", maxX: a"+e[2]+", maxY: a"+e[3]+"};")}}function l(e,t){let r=e;for(w.clear();r;){if(!0===r.leaf)for(const e of r.children)t((0,i.zI)(e));else w.pushArray(r.children);r=w.pop()??null}}function c(e,t){d(e,0,e.children.length,t,e)}function d(e,t,r,n,i){i||(i=new T([])),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(let s,a=t;a<r;a++)s=e.children[a],u(i,e.leaf?n(s):s);return i}function u(e,t){e.minX=Math.min(e.minX,t.minX),e.minY=Math.min(e.minY,t.minY),e.maxX=Math.max(e.maxX,t.maxX),e.maxY=Math.max(e.maxY,t.maxY)}function h(e,t){return e.minX-t.minX}function f(e,t){return e.minY-t.minY}function p(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function m(e){return e.maxX-e.minX+(e.maxY-e.minY)}function g(e,t){return(Math.max(t.maxX,e.maxX)-Math.min(t.minX,e.minX))*(Math.max(t.maxY,e.maxY)-Math.min(t.minY,e.minY))}function y(e,t){const r=Math.max(e.minX,t.minX),n=Math.max(e.minY,t.minY),i=Math.min(e.maxX,t.maxX),s=Math.min(e.maxY,t.maxY);return Math.max(0,i-r)*Math.max(0,s-n)}function _(e,t){return e.minX<=t.minX&&e.minY<=t.minY&&t.maxX<=e.maxX&&t.maxY<=e.maxY}function v(e,t){return t.minX<=e.maxX&&t.minY<=e.maxY&&t.maxX>=e.minX&&t.maxY>=e.minY}function b(e,t,r,n,i){const s=[t,r];for(;s.length;){const t=s.pop(),r=s.pop();if(t-r<=n)continue;const o=r+Math.ceil((t-r)/n/2)*n;(0,a.q)(e,o,r,t,i),s.push(r,o,o,t)}}const x=new s.A,w=new s.A,C=new s.A,S=new s.A({deallocator:void 0});class I{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class A extends I{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class T extends A{constructor(e){super(),this.children=e,this.leaf=!0}}class O extends A{constructor(e){super(),this.children=e,this.leaf=!1}}},76357:(e,t,r)=>{r.d(t,{A:()=>u});var n=r(90237),i=r(66552),s=r(25482),a=r(10107),o=(r(44208),r(53966),r(87811),r(93223)),l=r(40608);const c=new i.J({inherited:"inherited",codedValue:"coded-value",range:"range"});let d=class extends s.A{constructor(e){super(e),this.name=null,this.type=null}};(0,n._)([(0,a.MZ)({type:String,json:{write:!0}})],d.prototype,"name",void 0),(0,n._)([(0,o.e)(c),(0,a.MZ)({json:{write:{isRequired:!0}}})],d.prototype,"type",void 0),d=(0,n._)([(0,l.$)("esri.layers.support.Domain")],d);const u=d},79677:(e,t,r)=>{r.d(t,{A:()=>f});var n,i=r(90237),s=r(25482),a=r(88930),o=r(10107),l=(r(44208),r(53966),r(87811),r(36005)),c=r(40608),d=r(43937),u=r(98623);let h=class extends s.A{static{n=this}static get allTime(){return p}static get empty(){return m}static fromArray(e){return new n({start:null!=e[0]?new Date(e[0]):e[0],end:null!=e[1]?new Date(e[1]):e[1]})}constructor(e){super(e),this.end=null,this.start=null}readEnd(e,t){return null!=t.end?new Date(t.end):null}writeEnd(e,t){t.end=e?.getTime()??null}get isAllTime(){return this.equals(n.allTime)}get isEmpty(){return this.equals(n.empty)}readStart(e,t){return null!=t.start?new Date(t.start):null}writeStart(e,t){t.start=e?.getTime()??null}clone(){return new n({end:this.end,start:this.start})}equals(e){if(!e)return!1;const t=this.start?.getTime()??this.start,r=this.end?.getTime()??this.end,n=e.start?.getTime()??e.start,i=e.end?.getTime()??e.end;return t===n&&r===i}expandTo(e,t=u.qU){if(this.isEmpty||this.isAllTime)return this.clone();let r=this.start;r&&(r=(0,a.lL)(r,e,t));let i=this.end;if(i){const r=(0,a.lL)(i,e,t);i=i.getTime()===r.getTime()?r:(0,a.S1)(r,1,e,t)}return new n({start:r,end:i})}intersection(e){if(!e)return this.clone();if(this.isEmpty||e.isEmpty)return n.empty;if(this.isAllTime)return e.clone();if(e.isAllTime)return this.clone();const t=this.start?.getTime()??-1/0,r=this.end?.getTime()??1/0,i=e.start?.getTime()??-1/0,s=e.end?.getTime()??1/0;let a,o;return i>=t&&i<=r?a=i:t>=i&&t<=s&&(a=t),r>=i&&r<=s?o=r:s>=t&&s<=r&&(o=s),null==a||null==o||isNaN(a)||isNaN(o)?n.empty:new n({start:a===-1/0?null:new Date(a),end:o===1/0?null:new Date(o)})}offset(e,t,r=u.qU){if(this.isEmpty||this.isAllTime)return this.clone();const i=new n,{start:s,end:o}=this;return null!=s&&(i.start=(0,a.S1)(s,e,t,r)),null!=o&&(i.end=(0,a.S1)(o,e,t,r)),i}toArray(){return this.isEmpty?[void 0,void 0]:[this.start?.getTime()??null,this.end?.getTime()??null]}union(e){if(!e||e.isEmpty)return this.clone();if(this.isEmpty)return e.clone();if(this.isAllTime||e.isAllTime)return p.clone();const t=null!=this.start&&null!=e.start?new Date(Math.min(this.start.getTime(),e.start.getTime())):null,r=null!=this.end&&null!=e.end?new Date(Math.max(this.end.getTime(),e.end.getTime())):null;return new n({start:t,end:r})}};(0,i._)([(0,o.MZ)({type:Date,json:{write:{allowNull:!0}}})],h.prototype,"end",void 0),(0,i._)([(0,l.w)("end")],h.prototype,"readEnd",null),(0,i._)([(0,d.K)("end")],h.prototype,"writeEnd",null),(0,i._)([(0,o.MZ)({readOnly:!0,json:{read:!1}})],h.prototype,"isAllTime",null),(0,i._)([(0,o.MZ)({readOnly:!0,json:{read:!1}})],h.prototype,"isEmpty",null),(0,i._)([(0,o.MZ)({type:Date,json:{write:{allowNull:!0}}})],h.prototype,"start",void 0),(0,i._)([(0,l.w)("start")],h.prototype,"readStart",null),(0,i._)([(0,d.K)("start")],h.prototype,"writeStart",null),h=n=(0,i._)([(0,c.$)("esri.time.TimeExtent")],h);const f=h,p=new h,m=new h({start:void 0,end:void 0})},80451:(e,t,r)=>{r.d(t,{rS:()=>g,gK:()=>m}),r(44208);var n,i=r(53177),s=r(76357),a=r(90237),o=(r(53966),r(87811),r(49186),r(93223)),l=r(40608);let c=class extends s.A{static{n=this}constructor(e){super(e),this.type="inherited"}clone(){return new n}};(0,a._)([(0,o.e)({inherited:"inherited"})],c.prototype,"type",void 0),c=n=(0,a._)([(0,l.$)("esri.layers.support.InheritedDomain")],c);const d=c;var u,h=r(10107);let f=class extends s.A{static{u=this}constructor(e){super(e),this.maxValue=null,this.minValue=null,this.type="range"}clone(){return new u({maxValue:this.maxValue,minValue:this.minValue,name:this.name})}};(0,a._)([(0,h.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[1]},write:{enabled:!1,overridePolicy(){return{enabled:null!=this.maxValue&&null==this.minValue}},target:"range",writer(e,t,r){t[r]=[this.minValue||0,e]},isRequired:!0}}})],f.prototype,"maxValue",void 0),(0,a._)([(0,h.MZ)({json:{type:[Number],read:{source:"range",reader:(e,t)=>t.range?.[0]},write:{target:"range",writer(e,t,r){t[r]=[e,this.maxValue||0]},isRequired:!0}}})],f.prototype,"minValue",void 0),(0,a._)([(0,o.e)({range:"range"})],f.prototype,"type",void 0),f=u=(0,a._)([(0,l.$)("esri.layers.support.RangeDomain")],f);const p=f,m={key:"type",base:s.A,typeMap:{range:p,"coded-value":i.A,inherited:d}};function g(e){if(!e?.type)return null;switch(e.type){case"range":return p.fromJSON(e);case"codedValue":return i.A.fromJSON(e);case"inherited":return d.fromJSON(e)}return null}},80893:(e,t,r)=>{r.d(t,{IJ:()=>p,Jf:()=>_,Pk:()=>g,eW:()=>f,gW:()=>y,kS:()=>m});var n=r(78888),i=r(84952),s=r(65864),a=r(17136),o=r(21325),l=r(10536),c=r(66208),d=r(58501);const u="Layer does not support extent calculation.";function h(e,t){const r=e.geometry,n=e.toJSON();delete n.compactGeometryEnabled,delete n.defaultSpatialReferenceEnabled;const i=n;let a,l,c;if(null!=r&&(l=r.spatialReference,c=(0,o.YX)(l),i.geometryType=(0,s.$B)(r),i.geometry=function(e,t){if(t&&"extent"===e.type)return`${e.xmin},${e.ymin},${e.xmax},${e.ymax}`;if(t&&"point"===e.type)return`${e.x},${e.y}`;const r=e.toJSON();return delete r.spatialReference,JSON.stringify(r)}(r,e.compactGeometryEnabled),i.inSR=c),n.groupByFieldsForStatistics&&(i.groupByFieldsForStatistics=n.groupByFieldsForStatistics.join(",")),n.objectIds&&(i.objectIds=n.objectIds.join(",")),n.orderByFields&&(i.orderByFields=n.orderByFields.join(",")),!n.outFields||!n.returnDistinctValues&&(t?.returnCountOnly||t?.returnExtentOnly||t?.returnIdsOnly)?delete i.outFields:n.outFields.includes("*")?i.outFields="*":i.outFields=n.outFields.join(","),n.outSR?(i.outSR=(0,o.YX)(n.outSR),a=e.outSpatialReference):r&&(n.returnGeometry||n.returnCentroid)&&(i.outSR=i.inSR,a=l),n.returnGeometry&&delete n.returnGeometry,n.outStatistics&&(i.outStatistics=JSON.stringify(n.outStatistics)),n.fullText&&(i.fullText=JSON.stringify(n.fullText)),n.pixelSize&&(i.pixelSize=JSON.stringify(n.pixelSize)),n.quantizationParameters&&(e.defaultSpatialReferenceEnabled&&null!=l&&null!=e.quantizationParameters?.extent&&l.equals(e.quantizationParameters.extent.spatialReference)&&delete n.quantizationParameters.extent.spatialReference,i.quantizationParameters=JSON.stringify(n.quantizationParameters)),n.parameterValues&&(i.parameterValues=JSON.stringify(n.parameterValues)),n.rangeValues&&(i.rangeValues=JSON.stringify(n.rangeValues)),n.dynamicDataSource&&(i.layer=JSON.stringify({source:n.dynamicDataSource}),delete n.dynamicDataSource),n.timeExtent){const e=n.timeExtent,{start:t,end:r}=e;null==t&&null==r||(i.time=t===r?t:`${t??"null"},${r??"null"}`),delete n.timeExtent}return e.defaultSpatialReferenceEnabled&&null!=l&&null!=a&&l.equals(a)&&(i.defaultSR=i.inSR,delete i.inSR,delete i.outSR),i}async function f(e,t,r,n){const i=null!=t.timeExtent&&t.timeExtent.isEmpty?{data:{features:[]}}:await v(e,t,"json",n);return(0,d.q)(t,r,i.data),i}async function p(e,t,r,n){if(null!=t.timeExtent&&t.timeExtent.isEmpty)return{data:r.createFeatureResult()};const i=await m(e,t,n),s=i;return s.data=(0,c.m)(i.data,r),s}function m(e,t,r){return v(e,t,"pbf",r)}function g(e,t,r){return null!=t.timeExtent&&t.timeExtent.isEmpty?Promise.resolve({data:{objectIds:[]}}):v(e,t,"json",r,{returnIdsOnly:!0})}function y(e,t,r){return null!=t.timeExtent&&t.timeExtent.isEmpty?Promise.resolve({data:{count:0}}):v(e,t,"json",r,{returnIdsOnly:!0,returnCountOnly:!0})}async function _(e,t,r){if(null!=t.timeExtent&&t.timeExtent.isEmpty)return{data:{count:0,extent:null}};const n=await v(e,t,"json",r,{returnExtentOnly:!0,returnCountOnly:!0}),i=n.data;if(i.hasOwnProperty("extent"))return n;if(i.features)throw new Error(u);if(i.hasOwnProperty("count"))throw new Error(u);return n}async function v(e,t,r,s={},o={}){const c="string"==typeof e?(0,i.An)(e):e,d=t.geometry?[t.geometry]:[],u=await(0,a.el)(d,null,{signal:s.signal}),f=u?.[0];null!=f&&((t=t.clone()).geometry=f);const p=(0,l.z)({...c.query,f:r,...o,...h(t,o)});return(0,n.A)((0,i.fj)(c.path,(m=o,null==t.formatOf3DObjects||m.returnCountOnly||m.returnExtentOnly||m.returnIdsOnly?"query":"query3d")),{...s,responseType:"pbf"===r?"array-buffer":"json",query:{...p,...s.query}});var m}},95696:(e,t,r)=>{r.d(t,{A:()=>u});var n,i=r(90237),s=r(69540),a=r(25482),o=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),c=r(40608);let d=class extends(s.A.ClonableMixin(a.A)){static{n=this}constructor(e){super(e),this.type="georeferenced",this.origin=null}static{this.absolute=new n}};(0,i._)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],d.prototype,"type",void 0),(0,i._)([(0,o.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],d.prototype,"origin",void 0),d=n=(0,i._)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],d);const u=d}}]);
|