@arcgis/core 4.34.0-next.40 → 4.34.0-next.42
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/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/016d421114118307d4dd.js +1 -0
- package/assets/esri/core/workers/chunks/1a2278b9fe9666342728.js +1 -0
- package/assets/esri/core/workers/chunks/250b1629becca0410f2a.js +1 -0
- package/assets/esri/core/workers/chunks/3245d20ea4bb779f87ef.js +1 -0
- package/assets/esri/core/workers/chunks/6b73926feb5c5d957062.js +1 -0
- package/assets/esri/core/workers/chunks/{6269c4bbf0f224a954e9.js → 6f4079b7a2b45f304ee6.js} +1 -1
- package/assets/esri/core/workers/chunks/{4e6e5677b90b00622146.js → 7ef7f3925495b9ade88c.js} +1 -1
- package/assets/esri/core/workers/chunks/82955562805ad5514ed8.js +346 -0
- package/assets/esri/core/workers/chunks/{5fe3c279d57f44416c28.js → a1d3f1c221389eb6090c.js} +1 -1
- package/assets/esri/core/workers/chunks/{306a68137e62656b0f05.js → d5d2d4df407cf078bb81.js} +1 -1
- package/assets/esri/core/workers/chunks/{94850c094e076d81a016.js → dca2b487152cde45fb65.js} +1 -1
- package/assets/esri/core/workers/chunks/{31ad9949b08a5b07218c.js → eea3e0bd17479a767160.js} +2 -2
- package/assets/esri/core/workers/chunks/fe6fa1f2c2d54d41645e.js +1 -0
- package/config.js +1 -1
- package/core/workers/registry.js +1 -1
- package/editing/sharedTemplates/executor/support/createFeatureServiceEdit.js +1 -1
- package/geometry/support/curves/closestPointOnCurve.js +1 -1
- package/geometry/support/curves/curveExtent.js +1 -1
- package/geometry/support/curves/curveLength.js +1 -1
- package/geometry/support/curves/curveUtils.js +1 -1
- package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
- package/geometry/support/curves/ellipticArc7Utils.js +1 -1
- package/geometry/support/curves/splitCurveAtPoint.js +1 -1
- package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
- package/interfaces.d.ts +24 -2
- package/kernel.js +1 -1
- package/layers/Lyr3DWasmPerSceneView.js +1 -1
- package/layers/PointCloudLayer.js +1 -1
- package/package.json +1 -1
- package/rest/networks/support/CircuitPath.js +1 -1
- package/smartMapping/raster/support/adapters/ImageryLayerAdapter.js +1 -1
- package/support/revision.js +1 -1
- package/views/2d/engine/flow/styles/Imagery.js +1 -1
- package/views/2d/engine/flow/styles/Particles.js +1 -1
- package/views/2d/engine/flow/styles/Streamlines.js +1 -1
- package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
- package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
- package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
- package/views/2d/engine/webgl/Mesh2D.js +1 -1
- package/views/2d/engine/webgl/VertexStream.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
- package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
- package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +1 -1
- package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
- package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
- package/views/2d/engine/webgl/meshing/SimpleMesh.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
- package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
- package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
- package/views/2d/interactive/editingTools/TransformTool.js +1 -1
- package/views/2d/layers/BaseDynamicLayerView2D.js +1 -1
- package/views/2d/layers/FeatureLayerView2D.js +1 -1
- package/views/2d/layers/KMLLayerView2D.js +1 -1
- package/views/2d/layers/MapImageLayerView2D.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/2d/layers/WMSLayerView2D.js +1 -1
- package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
- package/views/2d/layers/features/sources/FeatureSource.js +1 -1
- package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
- package/views/2d/layers/support/DebugOverlay.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
- package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/CutFillVolumeMeasurementController.js +1 -1
- package/views/3d/environment/LocalAtmosphere.js +1 -1
- package/views/3d/environment/MarsAtmosphere.js +1 -1
- package/views/3d/environment/Precipitation.js +1 -1
- package/views/3d/interactive/editingTools/media/MediaElementControllerControlPoints.js +1 -1
- package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
- package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
- package/views/3d/layers/FlowSubView3D.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
- package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
- package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
- package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/support/FlowTileTree3DDebugger.js +1 -1
- package/views/3d/support/GaussianSplatSortWorker.js +5 -0
- package/views/3d/support/GaussianSplatWorkerHandle.js +5 -0
- package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
- package/views/3d/support/flow/geometryUtils.js +1 -1
- package/views/3d/support/flow/loadUtils.js +1 -1
- package/views/3d/support/intersectionUtils.js +1 -1
- package/views/3d/terrain/PatchGeometryFactory.js +1 -1
- package/views/3d/terrain/PatchRenderData.js +1 -1
- package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
- package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
- package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
- package/views/3d/webgl-engine/lib/edgeRendering/edgeBufferWriters.js +1 -1
- package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/BackedBufferObject.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +5 -0
- package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +5 -0
- package/views/PopupView.js +1 -1
- package/views/VideoView.js +1 -1
- package/views/draw/DrawAction.js +1 -1
- package/views/draw/DrawOperation.js +1 -1
- package/views/draw/SegmentDrawAction.js +1 -1
- package/views/draw/support/Reshape.js +1 -1
- package/views/interactive/SegmentLabels.js +1 -1
- package/views/interactive/editGeometry/EditGeometry.js +1 -1
- package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
- package/views/interactive/editGeometry/operations/AppendVertex.js +1 -1
- package/views/interactive/editGeometry/operations/ClosePart.js +5 -0
- package/views/interactive/editGeometry/operations/MoveMesh.js +1 -1
- package/views/interactive/editGeometry/operations/MoveVertex.js +1 -1
- package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
- package/views/interactive/editGeometry/operations/RemoveVertices.js +1 -1
- package/views/interactive/editGeometry/operations/RotateVertex.js +1 -1
- package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
- package/views/interactive/editGeometry/operations/SetAllVertexPositions.js +1 -1
- package/views/interactive/editGeometry/operations/SetVertexPosition.js +1 -1
- package/views/interactive/editGeometry/operations/SplitSegment.js +5 -0
- package/views/interactive/editGeometry/operations/UpdateVertices.js +1 -1
- package/views/interactive/editGeometry/operations/curveOperationUtils.js +5 -0
- package/views/interactive/editGeometry/operations.js +1 -1
- package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
- package/views/interactive/snapping/LineSnapper.js +1 -1
- package/views/interactive/snapping/ParallelLineSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleSnapper.js +1 -1
- package/views/interactive/snapping/RightAngleTriangleSnapper.js +1 -1
- package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
- package/views/layers/support/MapServiceLayerViewHelper.js +1 -1
- package/views/support/TileTreeDebugger.js +1 -1
- package/views/webgl/BufferObject.js +1 -1
- package/views/webgl/Util.js +1 -1
- package/views/webgl/VertexArrayObject.js +1 -1
- package/views/webgl/VertexBuffer.js +1 -1
- package/views/webgl/testFloatBufferBlend.js +1 -1
- package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
- package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
- package/widgets/Editor/AddAssociationWorkflow.js +1 -1
- package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
- package/widgets/Editor/EditorViewModel.js +1 -1
- package/widgets/Editor/support/SketchController.js +1 -1
- package/widgets/Feature/FeatureMedia.js +1 -1
- package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
- package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
- package/widgets/FeatureTable/Grid/Grid.js +1 -1
- package/widgets/FeatureTable/Grid/GridViewModel.js +1 -1
- package/widgets/FeatureTable/support/FeatureStore.js +1 -1
- package/widgets/FeatureTemplates/FeatureTemplatesViewModel.js +1 -1
- package/widgets/Features.js +1 -1
- package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
- package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
- package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
- package/widgets/PanoramicViewer/support/PanoramicMeshManager.js +5 -0
- package/widgets/PanoramicViewer/support/PanoramicMeshWorker.js +5 -0
- package/widgets/Spinner.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
- package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
- package/widgets/UtilityNetworkTrace.js +1 -1
- package/widgets/UtilityNetworkTraceAnalysis/UtilityNetworkTraceAnalysisViewModel.js +1 -1
- package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.js +1 -1
- package/assets/esri/core/workers/chunks/01bd8f90e55081e65b38.js +0 -1
- package/assets/esri/core/workers/chunks/0a27f9b11d03874809ee.js +0 -346
- package/assets/esri/core/workers/chunks/34f677e8c1691c10e4e9.js +0 -1
- package/assets/esri/core/workers/chunks/e95a8c988ef822723503.js +0 -1
- package/assets/esri/core/workers/chunks/fd3009164d5e38fda85f.js +0 -1
- package/views/interactive/editGeometry/operations/CloseComponent.js +0 -5
- package/views/interactive/editGeometry/operations/SplitEdge.js +0 -5
|
@@ -1,346 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6544],{13259:(e,t,r)=>{r.d(t,{H:()=>B,b:()=>R,c:()=>F,f:()=>D});var n=r(37585),i=r(48163),s=r(91829),o=r(79258),a=r(76591),l=r(36782),c=r(47522),d=r(40268),u=r(63578),h=r(50832),f=r(42593),m=r(42398),p=r(63365),g=r(26835),y=r(52587),_=r(25178),v=r(47286),b=r(14314),x=r(81961),C=r(71988),w=r(33094),A=r(20304),S=r(31821),I=r(12791),P=r(63761),O=r(14113),M=r(49788);function R(e){const t=new O.N5,{signedDistanceFieldEnabled:r,occlusionTestEnabled:i,horizonCullingEnabled:R,pixelSnappingEnabled:D,hasScreenSizePerspective:B,debugDrawLabelBorder:E,hasVVSize:V,hasVVColor:L,hasRotation:U,occludedFragmentFade:H,sampleSignedDistanceFieldTexelCenter:G}=e;t.include(d.Q,e),t.vertex.include(a.rA,e);const{occlusionPass:k,output:q,oitPass:$}=e;if(k)return t.include(u.I,e),t;const{vertex:N,fragment:Y}=t;t.include(y.Y6),t.include(m.A,e),t.include(l.g,e),i&&t.include(h.y),Y.include(g.W),Y.include(p.a),t.varyings.add("vcolor","vec4"),t.varyings.add("vtc","vec2"),t.varyings.add("vsize","vec2");const X=8===q,W=X&&i;W&&t.varyings.add("voccluded","float"),N.uniforms.add(new b.I("viewport",e=>e.camera.fullViewport),new v.G("screenOffset",(e,t)=>(0,n.hZ)(z,2*e.screenOffset[0]*t.camera.pixelRatio,2*e.screenOffset[1]*t.camera.pixelRatio)),new v.G("anchorPosition",e=>F(e)),new C.E("materialColor",e=>e.color),new A.m("materialRotation",e=>e.rotation),new P.N("tex",e=>e.texture)),(0,_.Nz)(N),r&&(N.uniforms.add(new C.E("outlineColor",e=>e.outlineColor)),Y.uniforms.add(new C.E("outlineColor",e=>T(e)?e.outlineColor:s.uY),new A.m("outlineSize",e=>T(e)?e.outlineSize:0))),R&&N.uniforms.add(new x.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],o.$O.radius)})),D&&N.include(c.K),B&&((0,y.pM)(N),(0,y.OH)(N)),E&&t.varyings.add("debugBorderCoords","vec4"),t.attributes.add("uvi","vec2"),t.attributes.add("color","vec4"),t.attributes.add("size","vec2"),t.attributes.add("rotation","float"),(V||L)&&t.attributes.add("featureAttribute","vec4"),N.code.add(R?S.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
|
-
}`:S.H`bool behindHorizon(vec3 posModel) { return false; }`),N.main.add(S.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,S.If)(B,S.H`
|
|
28
|
-
inputSize = screenSizePerspectiveScaleVec2(size, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspective);
|
|
29
|
-
vec2 screenOffsetScaled = screenSizePerspectiveScaleVec2(screenOffset, projectAux.absCosAngle, projectAux.distanceToCamera, screenSizePerspectiveAlignment);`,S.H`
|
|
30
|
-
inputSize = size;
|
|
31
|
-
vec2 screenOffsetScaled = screenOffset;`)}
|
|
32
|
-
${(0,S.If)(V,S.H`inputSize *= vvScale(featureAttribute).xx;`)}
|
|
33
|
-
|
|
34
|
-
vec2 combinedSize = inputSize * pixelRatio;
|
|
35
|
-
vec4 quadOffset = vec4(0.0);
|
|
36
|
-
|
|
37
|
-
${(0,S.If)(i,S.H`
|
|
38
|
-
bool visible = testHUDVisibility(posProj);
|
|
39
|
-
if (!visible) {
|
|
40
|
-
vtc = vec2(0.0);
|
|
41
|
-
${(0,S.If)(E,"debugBorderCoords = vec4(0.5, 0.5, 1.5 / combinedSize);")}
|
|
42
|
-
return;
|
|
43
|
-
}`)}
|
|
44
|
-
${(0,S.If)(W,S.H`voccluded = visible ? 0.0 : 1.0;`)}
|
|
45
|
-
`);const Z=S.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 >= ${j} ? 1.0 : uv.x / texSize.x;
|
|
50
|
-
uv.y = uv.y >= ${j} ? 1.0 : uv.y / texSize.y;
|
|
51
|
-
quadOffset.xy = (uvi1 - anchorPosition) * 2.0 * combinedSize;
|
|
52
|
-
|
|
53
|
-
${(0,S.If)(U,S.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
|
-
`,Q=D?r?S.H`posProj = alignToPixelOrigin(posProj, viewport.zw) + quadOffset;`:S.H`posProj += quadOffset;
|
|
64
|
-
if (inputSize.x == size.x) {
|
|
65
|
-
posProj = alignToPixelOrigin(posProj, viewport.zw);
|
|
66
|
-
}`:S.H`posProj += quadOffset;`;N.main.add(S.H`
|
|
67
|
-
${Z}
|
|
68
|
-
${L?"vcolor = interpolateVVColor(featureAttribute.y) * materialColor;":"vcolor = color / 255.0 * materialColor;"}
|
|
69
|
-
|
|
70
|
-
${(0,S.If)(9===q,S.H`vcolor.a = 1.0;`)}
|
|
71
|
-
|
|
72
|
-
bool alphaDiscard = vcolor.a < ${S.H.float(M.Q)};
|
|
73
|
-
${(0,S.If)(r,`alphaDiscard = alphaDiscard && outlineColor.a < ${S.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
|
-
${Q}
|
|
80
|
-
gl_Position = posProj;
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
vtc = uv;
|
|
84
|
-
|
|
85
|
-
${(0,S.If)(E,S.H`debugBorderCoords = vec4(uv01, 1.5 / combinedSize);`)}
|
|
86
|
-
vsize = inputSize;
|
|
87
|
-
`),Y.uniforms.add(new P.N("tex",e=>e.texture)),H&&!X&&Y.uniforms.add(new I.x("depthMap",e=>e.mainDepth),new w.U("occludedOpacity",e=>e.hudOccludedFragmentOpacity));const J=E?S.H`(isBorder > 0.0 ? 0.0 : ${S.H.float(M.Q)})`:S.H.float(M.Q),K=S.H`
|
|
88
|
-
${(0,S.If)(E,S.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,S.If)(G,S.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?S.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 < ${J} ||
|
|
123
|
-
fillPixelColor.a + outlinePixelColor.a < ${S.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,S.If)(!X,S.H`fragColor = vec4(compositeColor, compositeAlpha);`)}
|
|
134
|
-
} else {
|
|
135
|
-
if (fillAlphaFactor < ${J}) {
|
|
136
|
-
discard;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
${(0,S.If)(!X,S.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
|
-
`:S.H`
|
|
145
|
-
vec4 texColor = texture(tex, samplePos, -0.5);
|
|
146
|
-
if (texColor.a < ${J}) {
|
|
147
|
-
discard;
|
|
148
|
-
}
|
|
149
|
-
${(0,S.If)(!X,S.H`fragColor = texColor * premultiplyAlpha(vcolor);`)}
|
|
150
|
-
`}
|
|
151
|
-
|
|
152
|
-
${(0,S.If)(H&&!X,S.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,S.If)(!X&&E,S.H`fragColor = mix(fragColor, vec4(1.0, 0.0, 1.0, 1.0), isBorder * 0.5);`)}
|
|
160
|
-
`;switch(q){case 0:case 1:t.outputs.add("fragColor","vec4",0),1===q&&t.outputs.add("fragEmission","vec4",1),1===$&&t.outputs.add("fragAlpha","float",1===q?2:1),Y.main.add(S.H`
|
|
161
|
-
${K}
|
|
162
|
-
${(0,S.If)(2===$,S.H`fragColor.rgb /= fragColor.a;`)}
|
|
163
|
-
${(0,S.If)(1===q,S.H`fragEmission = vec4(0.0);`)}
|
|
164
|
-
${(0,S.If)(1===$,S.H`fragAlpha = fragColor.a;`)}`);break;case 9:Y.main.add(S.H`
|
|
165
|
-
${K}
|
|
166
|
-
outputObjectAndLayerIdColor();`);break;case 8:t.include(f.Q,e),Y.main.add(S.H`
|
|
167
|
-
${K}
|
|
168
|
-
outputHighlight(${(0,S.If)(W,S.H`voccluded == 1.0`,S.H`false`)});`)}return t}function T(e){return e.outlineColor[3]>0&&e.outlineSize>0}function F(e){return e.textureIsSignedDistanceField?(t=e.anchorPosition,r=e.distanceFieldBoundingBox,i=z,(0,n.hZ)(i,t[0]*(r[2]-r[0])+r[0],t[1]*(r[3]-r[1])+r[1])):(0,n.C)(z,e.anchorPosition),z;var t,r,i}const z=(0,i.vt)(),D=32e3,j=S.H.float(D),B=Object.freeze(Object.defineProperty({__proto__:null,build:R,calculateAnchorPosition:F,fullUV:D},Symbol.toStringTag,{value:"Module"}))},18251:(e,t,r)=>{r.d(t,{A:()=>d});var n=r(31635),i=r(69540),s=r(25482),o=r(10107),a=(r(44208),r(53966),r(87811),r(93223)),l=r(40608),c=r(51850);let d=class extends((0,i.O)(s.o)){constructor(e){super(e),this.type="local",this.origin=(0,c.vt)()}};(0,n.Cg)([(0,a.e)({local:"local"},{readOnly:!0})],d.prototype,"type",void 0),(0,n.Cg)([(0,o.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],d.prototype,"origin",void 0),d=(0,n.Cg)([(0,l.$)("esri.geometry.support.MeshLocalVertexSpace")],d)},26835:(e,t,r)=>{r.d(t,{W:()=>i});var n=r(31821);function i(e){e.code.add(n.H`const float MAX_RGBA_FLOAT =
|
|
169
|
-
255.0 / 256.0 +
|
|
170
|
-
255.0 / 256.0 / 256.0 +
|
|
171
|
-
255.0 / 256.0 / 256.0 / 256.0 +
|
|
172
|
-
255.0 / 256.0 / 256.0 / 256.0 / 256.0;
|
|
173
|
-
const vec4 FIXED_POINT_FACTORS = vec4(1.0, 256.0, 256.0 * 256.0, 256.0 * 256.0 * 256.0);
|
|
174
|
-
vec4 float2rgba(const float value) {
|
|
175
|
-
float valueInValidDomain = clamp(value, 0.0, MAX_RGBA_FLOAT);
|
|
176
|
-
vec4 fixedPointU8 = floor(fract(valueInValidDomain * FIXED_POINT_FACTORS) * 256.0);
|
|
177
|
-
const float toU8AsFloat = 1.0 / 255.0;
|
|
178
|
-
return fixedPointU8 * toU8AsFloat;
|
|
179
|
-
}`),e.code.add(n.H`const vec4 RGBA_TO_FLOAT_FACTORS = vec4(
|
|
180
|
-
255.0 / (256.0),
|
|
181
|
-
255.0 / (256.0 * 256.0),
|
|
182
|
-
255.0 / (256.0 * 256.0 * 256.0),
|
|
183
|
-
255.0 / (256.0 * 256.0 * 256.0 * 256.0)
|
|
184
|
-
);
|
|
185
|
-
float rgbaTofloat(vec4 rgba) {
|
|
186
|
-
return dot(rgba, RGBA_TO_FLOAT_FACTORS);
|
|
187
|
-
}`),e.code.add(n.H`const vec4 uninterpolatedRGBAToFloatFactors = vec4(
|
|
188
|
-
1.0 / 256.0,
|
|
189
|
-
1.0 / 256.0 / 256.0,
|
|
190
|
-
1.0 / 256.0 / 256.0 / 256.0,
|
|
191
|
-
1.0 / 256.0 / 256.0 / 256.0 / 256.0
|
|
192
|
-
);
|
|
193
|
-
float uninterpolatedRGBAToFloat(vec4 rgba) {
|
|
194
|
-
return (dot(round(rgba * 255.0), uninterpolatedRGBAToFloatFactors) - 0.5) * 2.0;
|
|
195
|
-
}`)}},27615:(e,t,r)=>{r.d(t,{CK:()=>l,Hq:()=>a,MW:()=>c,TE:()=>d,yJ:()=>u});var n=r(38954),i=r(86738),s=r(95696),o=r(18251);function a(e){return null!=e.origin}function l(e){return a(e.vertexSpace)}function c(e,t){if(!a(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:a}=e,l=[r,n,i??0];return"local"===(t?.vertexSpace??function(e){return e.isGeographic||e.isWebMercator?"local":"georeferenced"}(a))?new o.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.q)(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)}},40268:(e,t,r)=>{r.d(t,{Q:()=>u,R:()=>d});var n=r(35640),i=r(52587),s=r(25178),o=r(14314),a=r(33094),l=r(20304),c=r(31821);const d=.5;function u(e,t){e.include(i.Y6),e.attributes.add("position","vec3"),e.attributes.add("normal","vec3"),e.attributes.add("centerOffsetAndDistance","vec4");const r=e.vertex;(0,s.NB)(r,t),(0,s.yu)(r,t),r.uniforms.add(new o.I("viewport",e=>e.camera.fullViewport),new l.m("polygonOffset",e=>e.shaderPolygonOffset),new a.U("cameraGroundRelative",e=>e.camera.aboveGround?1:-1)),t.hasVerticalOffset&&(0,n.VQ)(r),r.code.add(c.H`struct ProjectHUDAux {
|
|
196
|
-
vec3 posModel;
|
|
197
|
-
vec3 posView;
|
|
198
|
-
vec3 vnormal;
|
|
199
|
-
float distanceToCamera;
|
|
200
|
-
float absCosAngle;
|
|
201
|
-
};`),r.code.add(c.H`
|
|
202
|
-
float applyHUDViewDependentPolygonOffset(float pointGroundDistance, float absCosAngle, inout vec3 posView) {
|
|
203
|
-
float pointGroundSign = ${t.terrainDepthTest?c.H.float(0):c.H`sign(pointGroundDistance)`};
|
|
204
|
-
if (pointGroundSign == 0.0) {
|
|
205
|
-
pointGroundSign = cameraGroundRelative;
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
// cameraGroundRelative is -1 if camera is below ground, 1 if above ground
|
|
209
|
-
// groundRelative is 1 if both camera and symbol are on the same side of the ground, -1 otherwise
|
|
210
|
-
float groundRelative = cameraGroundRelative * pointGroundSign;
|
|
211
|
-
|
|
212
|
-
// view angle dependent part of polygon offset emulation: we take the absolute value because the sign that is
|
|
213
|
-
// dropped is instead introduced using the ground-relative position of the symbol and the camera
|
|
214
|
-
if (polygonOffset > .0) {
|
|
215
|
-
float cosAlpha = clamp(absCosAngle, 0.01, 1.0);
|
|
216
|
-
float tanAlpha = sqrt(1.0 - cosAlpha * cosAlpha) / cosAlpha;
|
|
217
|
-
float factor = (1.0 - tanAlpha / viewport[2]);
|
|
218
|
-
|
|
219
|
-
// same side of the terrain
|
|
220
|
-
if (groundRelative > 0.0) {
|
|
221
|
-
posView *= factor;
|
|
222
|
-
}
|
|
223
|
-
// opposite sides of the terrain
|
|
224
|
-
else {
|
|
225
|
-
posView /= factor;
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
return groundRelative;
|
|
230
|
-
}
|
|
231
|
-
`),t.draped&&!t.hasVerticalOffset||(0,s.S7)(r),t.draped||(r.uniforms.add(new a.U("perDistancePixelRatio",e=>Math.tan(e.camera.fovY/2)/(e.camera.fullViewport[2]/2))),r.code.add(c.H`
|
|
232
|
-
void applyHUDVerticalGroundOffset(vec3 normalModel, inout vec3 posModel, inout vec3 posView) {
|
|
233
|
-
float distanceToCamera = length(posView);
|
|
234
|
-
|
|
235
|
-
// Compute offset in world units for a half pixel shift
|
|
236
|
-
float pixelOffset = distanceToCamera * perDistancePixelRatio * ${c.H.float(d)};
|
|
237
|
-
|
|
238
|
-
// Apply offset along normal in the direction away from the ground surface
|
|
239
|
-
vec3 modelOffset = normalModel * cameraGroundRelative * pixelOffset;
|
|
240
|
-
|
|
241
|
-
// Apply the same offset also on the view space position
|
|
242
|
-
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
243
|
-
|
|
244
|
-
posModel += modelOffset;
|
|
245
|
-
posView += viewOffset;
|
|
246
|
-
}
|
|
247
|
-
`)),t.screenCenterOffsetUnitsEnabled&&(0,s.Nz)(r),t.hasScreenSizePerspective&&(0,i.OH)(r),r.code.add(c.H`
|
|
248
|
-
vec4 projectPositionHUD(out ProjectHUDAux aux) {
|
|
249
|
-
vec3 centerOffset = centerOffsetAndDistance.xyz;
|
|
250
|
-
float pointGroundDistance = centerOffsetAndDistance.w;
|
|
251
|
-
|
|
252
|
-
aux.posModel = position;
|
|
253
|
-
aux.posView = (view * vec4(aux.posModel, 1.0)).xyz;
|
|
254
|
-
aux.vnormal = normal;
|
|
255
|
-
${t.draped?"":"applyHUDVerticalGroundOffset(aux.vnormal, aux.posModel, aux.posView);"}
|
|
256
|
-
|
|
257
|
-
// Screen sized offset in world space, used for example for line callouts
|
|
258
|
-
// Note: keep this implementation in sync with the CPU implementation, see
|
|
259
|
-
// - MaterialUtil.verticalOffsetAtDistance
|
|
260
|
-
// - HUDMaterial.applyVerticalOffsetTransformation
|
|
261
|
-
|
|
262
|
-
aux.distanceToCamera = length(aux.posView);
|
|
263
|
-
|
|
264
|
-
vec3 viewDirObjSpace = normalize(cameraPosition - aux.posModel);
|
|
265
|
-
float cosAngle = dot(aux.vnormal, viewDirObjSpace);
|
|
266
|
-
|
|
267
|
-
aux.absCosAngle = abs(cosAngle);
|
|
268
|
-
|
|
269
|
-
${t.hasScreenSizePerspective&&(t.hasVerticalOffset||t.screenCenterOffsetUnitsEnabled)?"vec3 perspectiveFactor = screenSizePerspectiveScaleFactor(aux.absCosAngle, aux.distanceToCamera, screenSizePerspectiveAlignment);":""}
|
|
270
|
-
|
|
271
|
-
${t.hasVerticalOffset?t.hasScreenSizePerspective?"float verticalOffsetScreenHeight = applyScreenSizePerspectiveScaleFactorFloat(verticalOffset.x, perspectiveFactor);":"float verticalOffsetScreenHeight = verticalOffset.x;":""}
|
|
272
|
-
|
|
273
|
-
${t.hasVerticalOffset?c.H`
|
|
274
|
-
float worldOffset = clamp(verticalOffsetScreenHeight * verticalOffset.y * aux.distanceToCamera, verticalOffset.z, verticalOffset.w);
|
|
275
|
-
vec3 modelOffset = aux.vnormal * worldOffset;
|
|
276
|
-
aux.posModel += modelOffset;
|
|
277
|
-
vec3 viewOffset = (viewNormal * vec4(modelOffset, 1.0)).xyz;
|
|
278
|
-
aux.posView += viewOffset;
|
|
279
|
-
// Since we elevate the object, we need to take that into account
|
|
280
|
-
// in the distance to ground
|
|
281
|
-
pointGroundDistance += worldOffset;`:""}
|
|
282
|
-
|
|
283
|
-
float groundRelative = applyHUDViewDependentPolygonOffset(pointGroundDistance, aux.absCosAngle, aux.posView);
|
|
284
|
-
|
|
285
|
-
${t.screenCenterOffsetUnitsEnabled?"":c.H`
|
|
286
|
-
// Apply x/y in view space, but z in screen space (i.e. along posView direction)
|
|
287
|
-
aux.posView += vec3(centerOffset.x, centerOffset.y, 0.0);
|
|
288
|
-
|
|
289
|
-
// Same material all have same z != 0.0 condition so should not lead to
|
|
290
|
-
// branch fragmentation and will save a normalization if it's not needed
|
|
291
|
-
if (centerOffset.z != 0.0) {
|
|
292
|
-
aux.posView -= normalize(aux.posView) * centerOffset.z;
|
|
293
|
-
}
|
|
294
|
-
`}
|
|
295
|
-
|
|
296
|
-
vec4 posProj = proj * vec4(aux.posView, 1.0);
|
|
297
|
-
|
|
298
|
-
${t.screenCenterOffsetUnitsEnabled?t.hasScreenSizePerspective?"float centerOffsetY = applyScreenSizePerspectiveScaleFactorFloat(centerOffset.y, perspectiveFactor);":"float centerOffsetY = centerOffset.y;":""}
|
|
299
|
-
|
|
300
|
-
${t.screenCenterOffsetUnitsEnabled?"posProj.xy += vec2(centerOffset.x, centerOffsetY) * pixelRatio * 2.0 / viewport.zw * posProj.w;":""}
|
|
301
|
-
|
|
302
|
-
// constant part of polygon offset emulation
|
|
303
|
-
posProj.z -= groundRelative * polygonOffset * posProj.w;
|
|
304
|
-
return posProj;
|
|
305
|
-
}
|
|
306
|
-
`)}},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) {
|
|
307
|
-
if (!alignPixelEnabled)
|
|
308
|
-
return clipCoord;
|
|
309
|
-
vec2 xy = vec2(0.500123) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
310
|
-
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
311
|
-
vec2 ij = (floor(xy * widthHeight) + vec2(0.5)) * pixelSz;
|
|
312
|
-
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
313
|
-
return vec4(result, clipCoord.zw);
|
|
314
|
-
}`),e.code.add(i.H`vec4 alignToPixelOrigin(vec4 clipCoord, vec2 widthHeight) {
|
|
315
|
-
if (!alignPixelEnabled)
|
|
316
|
-
return clipCoord;
|
|
317
|
-
vec2 xy = vec2(0.5) + 0.5 * clipCoord.xy / clipCoord.w;
|
|
318
|
-
vec2 pixelSz = vec2(1.0) / widthHeight;
|
|
319
|
-
vec2 ij = floor((xy + 0.5 * pixelSz) * widthHeight) * pixelSz;
|
|
320
|
-
vec2 result = (ij * 2.0 - vec2(1.0)) * clipCoord.w;
|
|
321
|
-
return vec4(result, clipCoord.zw);
|
|
322
|
-
}`)}},50832:(e,t,r)=>{r.d(t,{y:()=>l});var n=r(47522),i=r(14314),s=r(33094),o=r(31821),a=r(12791);function l(e){e.vertex.uniforms.add(new s.U("renderTransparentlyOccludedHUD",e=>0===e.hudRenderStyle?1:1===e.hudRenderStyle?0:.75),new i.I("viewport",e=>e.camera.fullViewport),new a.x("hudVisibilityTexture",e=>e.hudVisibility?.getTexture())),e.vertex.include(n.K),e.vertex.code.add(o.H`bool testHUDVisibility(vec4 posProj) {
|
|
323
|
-
vec4 posProjCenter = alignToPixelCenter(posProj, viewport.zw);
|
|
324
|
-
vec4 occlusionPixel = texture(hudVisibilityTexture, .5 + .5 * posProjCenter.xy / posProjCenter.w);
|
|
325
|
-
if (renderTransparentlyOccludedHUD > 0.5) {
|
|
326
|
-
return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g * renderTransparentlyOccludedHUD < 1.0;
|
|
327
|
-
}
|
|
328
|
-
return occlusionPixel.r * occlusionPixel.g > 0.0 && occlusionPixel.g == 1.0;
|
|
329
|
-
}`)}},52106:(e,t,r)=>{r.d(t,{A:()=>b});var n,i=r(31635),s=r(13874),o=r(69540),a=r(51447),l=r(25482),c=r(53966),d=r(36708),u=r(24326),h=r(10107),f=(r(44208),r(87811),r(40608)),m=r(12195),p=r(65864),g=r(50498),y=r(54339),_=r(33910);function v(e){if(null==e)return null;const t={};for(const r in e){const n=e[r];n&&(t[r]=n.toJSON())}return 0!==Object.keys(t).length?t:null}let b=class extends((0,o.O)(l.o)){static{n=this}constructor(e){super(e),this.isAggregate=!1,this.layer=null,this.origin=null,this.sourceLayer=null,this._version=0,Object.defineProperty(this,"uid",{value:(0,u.c)(),configurable:!0}),Object.defineProperty(this,"_lastMeshTransform",{value:{},configurable:!0,writable:!0,enumerable:!1}),arguments.length>1&&(0,a.eF)(c.A.getLogger(this),"Graphic",{version:"4.30"})}initialize(){this._watchMeshGeometryChanges()}set aggregateGeometries(e){const t=this._get("aggregateGeometries");JSON.stringify(t)!==JSON.stringify(e)&&this._set("aggregateGeometries",e)}set attributes(e){const t=this._get("attributes");t!==e&&(this._set("attributes",e),this._notifyLayer("attributes",t,e))}set geometry(e){const t=this._get("geometry");t!==e&&(this._set("geometry",e),"mesh"!==e?.type&&this._notifyLayer("geometry",t,e))}set popupTemplate(e){const t=this._get("popupTemplate");t!==e&&(this._set("popupTemplate",e),this._notifyLayer("popupTemplate",t,e))}set symbol(e){const t=this._get("symbol");t!==e&&(this._set("symbol",e),this._notifyLayer("symbol",t,e))}get version(){return this._version}set visible(e){const t=this._get("visible");t!==e&&(this._set("visible",e),this._notifyLayer("visible",t,e))}cloneShallow(){return new n({aggregateGeometries:this.aggregateGeometries,attributes:this.attributes,geometry:this.geometry,isAggregate:this.isAggregate,layer:this.layer,popupTemplate:this.popupTemplate,sourceLayer:this.sourceLayer,symbol:this.symbol,visible:this.visible,origin:this.origin})}getEffectivePopupTemplate(e=!1){if(this.popupTemplate)return this.popupTemplate;const t=this.origin&&"layer"in this.origin?this.origin.layer:null;for(const r of[t,this.sourceLayer,this.layer])if(r&&"object"==typeof r){if("popupTemplate"in r&&r.popupTemplate)return r.popupTemplate;if(e&&"defaultPopupTemplate"in r&&null!=r.defaultPopupTemplate)return r.defaultPopupTemplate}return null}getAttribute(e){return this.attributes?.[e]}setAttribute(e,t){if(this.attributes){const r=this.getAttribute(e);this.attributes[e]=t,this._notifyLayer("attributes",r,t,e)}else this.attributes={[e]:t}}getObjectId(){const e=this.sourceLayer??this.layer;return e?(0,y.r)(this,e):null}getGlobalId(){const e=this.sourceLayer??this.layer;return e&&"globalIdField"in e&&e.globalIdField?this.getAttribute(e.globalIdField):null}toJSON(){return{aggregateGeometries:v(this.aggregateGeometries),geometry:null!=this.geometry?this.geometry.toJSON():null,symbol:null!=this.symbol?this.symbol.toJSON():null,attributes:(0,m.W)(this.attributes)?this.attributes.toJSON():{...this.attributes},popupTemplate:this.popupTemplate?.toJSON()??null}}notifyMeshTransformChanged(e={}){const{geometry:t}=this;if("mesh"===t?.type){const r={origin:t.origin,transform:t.transform};this._notifyLayer("origin-transform",r,r,e.action)}}_notifyLayer(e,t,r,n){if(this._version++,!this.layer||!("graphicChanged"in this.layer))return;const i={graphic:this,property:e,oldValue:t,newValue:r};"origin-transform"===e&&(i.action=n),"attributes"===e&&(i.attributeName=n),this.layer.graphicChanged(i)}_watchMeshGeometryChanges(){this.addHandles([(0,d.z7)(()=>"mesh"===this.geometry?.type&&this.geometry.vertexSpace.origin?{localMatrix:this.geometry.transform?.localMatrix,origin:this.geometry.vertexSpace.origin}:void 0,({localMatrix:e,origin:t})=>{this._lastMeshTransform.localMatrix===e&&this._lastMeshTransform.origin===t||(this._lastMeshTransform.localMatrix=e,this._lastMeshTransform.origin=t,this.notifyMeshTransformChanged())}),(0,d.z7)(()=>"mesh"===this.geometry?.type?{vertexAttributes:this.geometry.vertexAttributes}:void 0,()=>{const e=this.geometry;"mesh"===e?.type&&e.vertexSpace.origin?(this._lastMeshTransform.localMatrix=e.transform?.localMatrix,this._lastMeshTransform.origin=e.vertexSpace.origin):(this._lastMeshTransform.localMatrix=void 0,this._lastMeshTransform.origin=void 0),this._notifyLayer("geometry",this.geometry,this.geometry)},{equals:(e,t)=>e===t,sync:!0})])}};(0,i.Cg)([(0,h.MZ)({value:null,json:{read:function(e){if(!e)return null;const t={};for(const r in e){const n=(0,p.rS)(e[r]);n&&(t[r]=n)}return 0!==Object.keys(t).length?t:null}}})],b.prototype,"aggregateGeometries",null),(0,i.Cg)([(0,h.MZ)({value:null})],b.prototype,"attributes",null),(0,i.Cg)([(0,h.MZ)({value:null,types:g.yR,json:{read:p.rS}})],b.prototype,"geometry",null),(0,i.Cg)([(0,h.MZ)({type:Boolean})],b.prototype,"isAggregate",void 0),(0,i.Cg)([(0,h.MZ)({clonable:!1})],b.prototype,"layer",void 0),(0,i.Cg)([(0,h.MZ)({clonable:"reference"})],b.prototype,"origin",void 0),(0,i.Cg)([(0,h.MZ)({type:s.A,value:null})],b.prototype,"popupTemplate",null),(0,i.Cg)([(0,h.MZ)({clonable:"reference"})],b.prototype,"sourceLayer",void 0),(0,i.Cg)([(0,h.MZ)({value:null,types:_.Es})],b.prototype,"symbol",null),(0,i.Cg)([(0,h.MZ)({clonable:!1,json:{read:!1,write:!1}})],b.prototype,"_version",void 0),(0,i.Cg)([(0,h.MZ)({type:Boolean,value:!0})],b.prototype,"visible",null),b=n=(0,i.Cg)([(0,f.$)("esri.Graphic")],b)},60999:(e,t,r)=>{r.d(t,{DZ:()=>m,Ke:()=>f,Tj:()=>d,UT:()=>p,jJ:()=>c});var n=r(31635),i=r(65008),s=r(97768),o=r(74887),a=r(10107),l=r(40608);function c(e,t,r){return(0,o.Lx)(e.map((e,n)=>t.apply(r,[e,n])))}async function d(e,t,r){return(await(0,o.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 m(e){try{return u(await e)}catch(e){return(0,o.QP)(e),h(e)}}function p(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,o.u7)(t,this.abort)}normalizeCtorArgs(){return{}}destroy(){this.abort()}_cleanup(){this._abortHandle=(0,s.xt)(this._abortHandle),this._abortController=null}};(0,n.Cg)([(0,a.MZ)()],g.prototype,"value",null),(0,n.Cg)([(0,a.MZ)()],g.prototype,"error",null),(0,n.Cg)([(0,a.MZ)()],g.prototype,"finished",null),(0,n.Cg)([(0,a.MZ)()],g.prototype,"promise",void 0),(0,n.Cg)([(0,a.MZ)()],g.prototype,"_result",void 0),g=(0,n.Cg)([(0,l.$)("esri.core.asyncUtils.ReactiveTask")],g)},63578:(e,t,r)=>{r.d(t,{I:()=>o});var n=r(47522),i=r(96598),s=r(31821);function o(e,t){const{vertex:r,fragment:o}=e;e.include(i.Z,t),r.include(n.K),r.main.add(s.H`vec4 posProjCenter;
|
|
330
|
-
if (dot(position, position) > 0.0) {
|
|
331
|
-
ProjectHUDAux projectAux;
|
|
332
|
-
vec4 posProj = projectPositionHUD(projectAux);
|
|
333
|
-
posProjCenter = alignToPixelCenter(posProj, viewport.zw);
|
|
334
|
-
forwardViewPosDepth(projectAux.posView);
|
|
335
|
-
vec3 vpos = projectAux.posModel;
|
|
336
|
-
if (rejectBySlice(vpos)) {
|
|
337
|
-
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
338
|
-
}
|
|
339
|
-
} else {
|
|
340
|
-
posProjCenter = vec4(1e038, 1e038, 1e038, 1.0);
|
|
341
|
-
}
|
|
342
|
-
gl_Position = posProjCenter;
|
|
343
|
-
gl_PointSize = 1.0;`),o.main.add(s.H`fragColor = vec4(1);
|
|
344
|
-
if(discardByTerrainDepth()) {
|
|
345
|
-
fragColor.g = 0.5;
|
|
346
|
-
}`)}},65215:(e,t,r)=>{r.d(t,{H:()=>n,R:()=>i});class n{constructor(e){this.layerViewUid=e}}class i extends n{constructor(e,t){super(e),this.graphicUid=t}}},65494:(e,t,r)=>{r.d(t,{L:()=>l,r:()=>o});var n=r(67076),i=r(90360),s=r(41214);function o(e,t){return l(e,null,t)}const a=(0,i.C)({types:s.Hg});function l(e,t,r){return e?e&&(e.styleName||e.styleUrl)&&"uniqueValue"!==e.type?(r?.messages&&r.messages.push(new n.A("renderer:unsupported","Only UniqueValueRenderer can be referenced from a web style, but found '"+e.type+"'",{definition:e,context:r})),null):a(e,t,r):null}},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 o(){return n()}function a(){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=o(),h=a(),f=l(),m=c(),p=d();Object.freeze(Object.defineProperty({__proto__:null,ONES:h,UNIT_X:f,UNIT_Y:m,UNIT_Z:p,ZEROS:u,clone:i,create:n,fromValues:s,ones:a,unitX:l,unitY:c,unitZ:d,zeros:o},Symbol.toStringTag,{value:"Module"}))},75503:(e,t,r)=>{r.d(t,{EC:()=>S,wq:()=>a});var n=r(4576),i=r(21818),s=(r(44208),r(15142)),o=r(11006);class a{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(),C.prune(),w.prune(),A.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],o=r.leaf?n(s):s;v(e,o)&&(r.leaf?t(s):_(e,o)?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 P([]),this}remove(e){if(!e)return this;let t,r=this._data,s=null,o=0,a=!1;const l=this._toBBox(e);for(w.clear(),A.clear();r||w.length>0;){if(r||(r=w.pop(),s=w.data[w.length-1],o=A.pop()??0,a=!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),w.push(r),this._condense(w),this;a||r.leaf||!_(r,l)?s?(o++,r=s.children[o],a=!1):r=null:(w.push(r),A.push(o),o=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 P(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 o=new O([]);o.height=n;const a=Math.ceil(i/s),l=a*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,a,this._compareMinY);for(let r=i;r<=t;r+=a){const i=Math.min(r+a-1,t);o.children.push(this._build(e,r,i,n-1))}}return c(o,this._toBBox),o}_insert(e,t,r){const n=this._toBBox,i=r?e:n(e);w.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,o=t.children.length;s<o;s++){const o=t.children[s],a=m(o),l=g(e,o)-a;l<i?(i=l,n=a<n?a:n,r=o):l===i&&a<n&&(n=a,r=o)}t=r||t.children[0]}return t}(i,this._data,t,w);for(s.children.push(e),u(s,i);t>=0&&w.data[t].children.length>this._maxEntries;)this._split(w,t),t--;!function(e,t,r){for(let n=r;n>=0;n--)u(t.data[n],e)}(i,w,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 o=r.children.splice(s,r.children.length-s),a=r.leaf?new P(o):new O(o);a.height=r.height,c(r,this._toBBox),c(a,this._toBBox),t?e.data[t-1].children.push(a):this._splitRoot(r,a)}_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 o=t;o<=r-t;o++){const t=d(e,0,o,this._toBBox),a=d(e,o,r,this._toBBox),l=y(t,a),c=m(t)+m(a);l<n?(n=l,s=o,i=c<i?c:i):l===n&&c<i&&(i=c,s=o)}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),o=d(e,r-t,r,i);let a=p(s)+p(o);for(let n=t;n<r-t;n++){const t=e.children[n];u(s,e.leaf?i(t):t),a+=p(s)}for(let n=r-t-1;n>=t;n--){const t=e.children[n];u(o,e.leaf?i(t):t),a+=p(o)}return a}_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(C.clear();r;){if(!0===r.leaf)for(const e of r.children)t((0,i.zI)(e));else C.pushArray(r.children);r=C.pop()??null}}function c(e,t){d(e,0,e.children.length,t,e)}function d(e,t,r,n,i){i||(i=new P([])),i.minX=1/0,i.minY=1/0,i.maxX=-1/0,i.maxY=-1/0;for(let s,o=t;o<r;o++)s=e.children[o],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 m(e){return(e.maxX-e.minX)*(e.maxY-e.minY)}function p(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 a=r+Math.ceil((t-r)/n/2)*n;(0,o.q)(e,a,r,t,i),s.push(r,a,a,t)}}const x=new s.A,C=new s.A,w=new s.A,A=new s.A({deallocator:void 0});class S{constructor(){this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0}}class I extends S{constructor(){super(...arguments),this.height=1,this.indexHint=new n.vW}}class P extends I{constructor(e){super(),this.children=e,this.leaf=!0}}class O extends I{constructor(e){super(),this.children=e,this.leaf=!1}}},77121:(e,t,r)=>{r.r(t),r.d(t,{default:()=>Jr});var n=r(31635),i=r(65529),s=r(74887),o=r(36708),a=r(10107),l=r(44208),c=(r(53966),r(87811),r(40608)),d=r(5443),u=r(98988),h=r(16930),f=r(95422),m=r(61956),p=r(65494);class g{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 g(e,e.createRenderCommandBuffer(),t)}}var y=r(68197),_=r(18574),v=r(87403),b=r(28975);function x(){return new _.A({material:new b.N({color:new y.A("red")})})}var C=r(9093),w=r(51850),A=r(91829),S=r(6847),I=r(83047),P=r(58083),O=r(87317),M=r(70328),R=r(19419);r(12359),r(95108),r(27615),r(52106),r(4718),r(34275),r(65864);var T=r(37585),F=r(48163),z=r(34727),D=r(26857);new Map,(()=>{let e="";for(let t=32;t<127;t++)e+=String.fromCharCode(t)})();const j=[];{const e=16;for(let t=0;t<360;t+=360/e)j.push([Math.cos(Math.PI*t/180),Math.sin(Math.PI*t/180)])}Object.freeze({left:0,center:.5,right:1});const B=Object.freeze({"bottom-left":(0,F.fA)(0,0),bottom:(0,F.fA)(.5,0),"bottom-right":(0,F.fA)(1,0),left:(0,F.fA)(0,.5),center:(0,F.fA)(.5,.5),right:(0,F.fA)(1,.5),"top-left":(0,F.fA)(0,1),top:(0,F.fA)(.5,1),"top-right":(0,F.fA)(1,1)});var E=r(9762),V=r(27993);function L(e){const{featureCount:t}=e;if(0===t)return new Uint32Array;const r=new Uint32Array(t);return e.getObjectIdsArray(r),r}function U(e){const{featureCount:t}=e;if(0===t)return new Float64Array;const r=new Float64Array(3*t);return e.getCoordinatesArray(r),r}function H(e,t){const r=t.viewSpatialReference,n=t.renderSpatialReference,{extent:i}=e,s=(0,R.gX)(i),o=(0,w.vt)();return(0,V.F)([s[0],s[1],0],r,o,n),o}var G=r(97146);function k(e){const t=new Map;for(const[r,n]of e)t.set(r,{...n,indices:(0,G.Dg)(n.indices)});return t}var q=r(40804);r(48833);const $=(0,A.CN)(.25,.25,.75,.75);function N(e){return"cross"===e||"x"===e}function Y(e,t=128,r=.5*t,n=0){switch(e){case"circle":default:return function(e,t){const r=e/2-.5;return J(e,Z(r,r,t/2))}(t,r);case"square":return function(e,t){return X(e,t,!1)}(t,r);case"cross":return function(e,t,r=0){return W(e,t,!1,r)}(t,r,n);case"x":return function(e,t,r=0){return W(e,t,!0,r)}(t,r,n);case"kite":return function(e,t){return X(e,t,!0)}(t,r);case"triangle":return function(e,t){return J(e,Q(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,o=Z(i,(e-t)/2-s,Math.sqrt(s*s+n*n)),a=Q(i,r,n);return J(e,(e,t)=>Math.max(a(e,t),-o(e,t)))}(t,r)}}function X(e,t,r){return r&&(t/=Math.SQRT2),J(e,(n,i)=>{let s=n-.5*e+.25,o=.5*e-i-.75;if(r){const e=(s+o)/Math.SQRT2;o=(o-s)/Math.SQRT2,s=e}return Math.max(Math.abs(s),Math.abs(o))-.5*t})}function W(e,t,r,n=0){t-=n,r&&(t*=Math.SQRT2);const i=.5*t;return J(e,(t,s)=>{let o,a=t-.5*e,l=.5*e-s-1;if(r){const e=(a+l)/Math.SQRT2;l=(l-a)/Math.SQRT2,a=e}return a=Math.abs(a),l=Math.abs(l),o=a>l?a>i?Math.sqrt((a-i)*(a-i)+l*l):l:l>i?Math.sqrt(a*a+(l-i)*(l-i)):a,o-=n/2,o})}function Z(e,t,r){return(n,i)=>{const s=n-e,o=i-t;return Math.sqrt(s*s+o*o)-r}}function Q(e,t,r){const n=Math.sqrt(t*t+r*r);return(i,s)=>{const o=Math.abs(i-e)-r,a=s-e+t/2+.75,l=(t*o+r*a)/n,c=-a;return Math.max(l,c)}}function J(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 o=t(i,n);o=o/e+.5,(0,q.U)(o,r,4*s)}return r}var K=r(46610);class ee{constructor(e,t){this._context=null,this._symbolLayer=null,this._draped=!1,this._loaded=!1,this._loadingPromise=null,this._iconTextureID=null,this._materialId=null,this._context=t,this._symbolLayer=e}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.createTexture(()=>function(e,t=128,r=.5*t,n=0){return{data:Y(e,t,r,n),parameters:{mipmap:!1,wrap:{s:33071,t:33071},width:t,height:t,components:4,noUnpackFlip:!0,reloadable:!0}}}("circle"));this._iconTextureID=t;const r={anchorPosition:B.center,occlusionTest:!0,hasSlicePlane:!1,color:this._getFillColor(),outlineColor:this._getOutlineColor(),outlineSize:1,distanceFieldBoundingBox:$,textureId:t,textureIsSignedDistanceField:!0,sampleSignedDistanceFieldTexelCenter:N("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=H(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=L(e),o=U(e),a=function(e,t){const r=e.length/3,n=t.viewSpatialReference,i=t.renderSpatialReference,s=new Float64Array(3*r);if(!(0,E.projectBuffer)(e,n,0,s,i,0,r))throw new Error("Failed to project coordinates");return s}(await n.applyElevationAlignmentTo(o),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]),m=new Uint32Array(i);for(let e=0;e<i;++e)m[e]=e;const p=new Uint32Array(i);for(let e=0;e<i;++e)p[e]=0;const g=[["position",new K.n(a,m,3,!0)],["normal",new K.n(l,p,3,!0)],["uv0",new K.n(h,p,2,!0)],["color",new K.n(c,p,4,!0)],["rotation",new K.n(f,p,1,!0)],["size",new K.n(d,p,2,!0)],["centerOffsetAndDistance",new K.n(u,p,4,!0)]],y=new Uint8Array(i);return e.getVisibilityArray(y),{attributes:k(g),olidColor:void 0,transformation:(0,C.vt)(),materialId:t,objectIds:s,visibilities:y}}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 createUpdateLayerViewOpacityCommand(e){const{_context:t,_materialId:r}=this,n=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(n.updateMaterial({type:"hud",materialId:r,parameters:{color:this._getFillColor(),outlineColor:this._getOutlineColor()}}))}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 o=await this._createGeometry(e);if(null==o)return r.createPipelineCommand();const a=H(e,r);return r.createPipelineCommand(n.updateDirectRendererGeometry(s,o,a))}async createDestroyCommand(){const{_iconTextureID:e,_context:t}=this,r=t.renderCommandContext;let n;return n=null!=e?await r.releaseTexture(e):g.create(r),n.appendPipelineStateCommand(()=>this._destroy()),n}_getOutlineColor(){const e=this._getLayerOpacity(),t=this._symbolLayer,r=t?.outline?.color;if(null!=r){const t=y.A.toUnitRGB(r),n=r.a*e;return[t[0],t[1],t[2],n]}return[0,0,0,0]}_getFillColor(){if(function(e){return null!=e&&("cross"===e||"x"===e)}(this._getPrimitive()))return re;const e=null==this._getPrimitive(),t=this._symbolLayer?.material?.color;return this._getCombinedOpacityAndColor(t,{hasIntrinsicColor:e})}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}_getCombinedOpacity(e,t=te){const r=this._draped?1:this._getLayerOpacity();return e?r*e.a:t.hasIntrinsicColor?r:0}_getCombinedOpacityAndColor(e,t=te){const r=this._getCombinedOpacity(e,t);return function(e,t,r=null){const n=(0,A.o8)(A.Un);return null!=e&&(n[0]=e[0],n[1]=e[1],n[2]=e[2],e.length>3&&(n[3]=e[3])),null!=t&&(n[3]=t),r&&(0,O.d)(n,n,r),n}(null!=e?y.A.toUnitRGB(e):w.Un,r)}_getPrimitive(){return e=this._symbolLayer,e.resource?.href?null:e.resource?.primitive??S.r;var e}}const te={hasIntrinsicColor:!1},re=A.uY;class ne{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._context=null,this._symbol=null,this._symbolLayerRenderers=[],this._context=t,this._symbol=e}_destroy(){}get loaded(){return this._loaded}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_context:e,_symbol:t,_symbolLayerRenderers:r}=this,n=[];for(const i of t.symbolLayers){const t=e.symbolRendererFactory.createSymbolRendererFromSymbolLayer(i);null!=t&&(n.push(t.load()),r.push(t))}await Promise.all(n),this._loaded=!0}async createDestroyCommand(){const{_context:e,_symbolLayerRenderers:t}=this,r=[];for(const e of t)r.push(e.createDestroyCommand());const n=e.joinPipelineCommands(await Promise.all(r));return n.appendPipelineStateCommand(()=>this._destroy()),n}async createAddCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createAddCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createRemoveCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createRemoveCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateVisibilityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateVisibilityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateLayerViewOpacityCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateLayerViewOpacityCommand(e));return t.joinPipelineCommands(await Promise.all(n))}async createUpdateElevationCommand(e){const{_context:t,_symbolLayerRenderers:r}=this,n=[];for(const t of r)n.push(t.createUpdateElevationCommand(e));return t.joinPipelineCommands(await Promise.all(n))}}class ie{constructor(e,t){this._symbol=null,this._featureData=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const{_renderer:e,_context:t}=this;this._symbol=t.symbolRendererFactory.createSymbolRendererFromSymbol(e.symbol),this._loaded=!0}get loaded(){return this._loaded}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 createUpdateLayerViewOpacityCommand(e){const t=this._context,r=await this._provisionSymbol();return null==r?t.createPipelineCommand():await r.createUpdateLayerViewOpacityCommand(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 se=r(48353),oe=r(30809),ae=r(8887),le=r(38954),ce=r(72385),de=(r(4197),r(11868)),ue=r(27921),he=(r(71351),r(73941));function fe(e,t){const r=e[t],n=e[t+1],i=e[t+2];return Math.sqrt(r*r+n*n+i*i)}function me(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}function pe(e,t,r){e[t]*=r,e[t+1]*=r,e[t+2]*=r}r(37539),r(20498),r(87170),(0,F.vt)(),(0,F.vt)();var ge=r(620);const ye=new Array(36);for(let e=0;e<6;e++)for(let t=0;t<6;t++)ye[6*e+t]=e;const _e=new Array(36);for(let e=0;e<6;e++)_e[6*e]=0,_e[6*e+1]=1,_e[6*e+2]=2,_e[6*e+3]=2,_e[6*e+4]=3,_e[6*e+5]=0;const ve=(0,ce.fA)(-.5,0,-.5),be=(0,ce.fA)(.5,0,-.5),xe=(0,ce.fA)(0,0,.5),Ce=(0,ce.fA)(0,.5,0),we=(0,ce.vt)(),Ae=(0,ce.vt)(),Se=(0,ce.vt)(),Ie=(0,ce.vt)(),Pe=(0,ce.vt)();(0,le.d)(we,ve,Ce),(0,le.d)(Ae,ve,be),(0,le.h)(Se,we,Ae),(0,le.n)(Se,Se),(0,le.d)(we,be,Ce),(0,le.d)(Ae,be,xe),(0,le.h)(Ie,we,Ae),(0,le.n)(Ie,Ie),(0,le.d)(we,xe,Ce),(0,le.d)(Ae,xe,ve),(0,le.h)(Pe,we,Ae),(0,le.n)(Pe,Pe),Se[0],Se[1],Se[2],Ie[0],Ie[1],Ie[2],Pe[0],Pe[1],Pe[2],(0,w.vt)();var Oe=r(4576),Me=r(69397);r(6867),r(87582);var Re=r(57917);function Te(e,t){const r=(e,r,n=!1)=>({levels:e.map(e=>{const i=k(r(e.tesselation));return n&&function(e){const t=e,r=t.get("position").data,n=t.get("normal").data;if(n){const t=Fe(e,"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=Fe(e,"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,olidColor:void 0,transformation:null,materialId:t,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:e.minScreenSpaceRadius}})});switch(e){case"cone":return r(ze,e=>function(e,t,r,n,i=!0,s=!0){let o=0;const a=t,l=e;let c=(0,ce.fA)(0,o,0),d=(0,ce.fA)(0,o+l,0),u=(0,ce.fA)(0,-1,0),h=(0,ce.fA)(0,1,0);n&&(o=l,d=(0,ce.fA)(0,0,0),c=(0,ce.fA)(0,o,0),u=(0,ce.fA)(0,1,0),h=(0,ce.fA)(0,-1,0));const f=[d,c],m=[u,h],p=r+2,g=Math.sqrt(l*l+a*a);if(n)for(let e=r-1;e>=0;e--){const t=e*(2*Math.PI/r),n=(0,ce.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(n);const i=(0,ce.fA)(l*Math.cos(t)/g,-a/g,l*Math.sin(t)/g);m.push(i)}else for(let e=0;e<r;e++){const t=e*(2*Math.PI/r),n=(0,ce.fA)(Math.cos(t)*a,o,Math.sin(t)*a);f.push(n);const i=(0,ce.fA)(l*Math.cos(t)/g,a/g,l*Math.sin(t)/g);m.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(m.length-1)}const v=(0,de.oe)(3*p);for(let e=0;e<p;e++)v[3*e]=f[e][0],v[3*e+1]=f[e][1],v[3*e+2]=f[e][2];const b=(0,de.oe)(3*p);for(let e=0;e<p;e++)b[3*e]=m[e][0],b[3*e+1]=m[e][1],b[3*e+2]=m[e][2];return[["position",new K.n(v,y,3,!0)],["normal",new K.n(b,_,3,!0)]]}(1,.5,e,!1),!0);case"sphere":return r([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],e=>function(e,t,r){const n=e;let i,s;if(r)i=[0,-1,0,1,0,0,0,0,1,-1,0,0,0,0,-1,0,1,0],s=[0,1,2,0,2,3,0,3,4,0,4,1,1,5,2,2,5,3,3,5,4,4,5,1];else{const e=n*(1+Math.sqrt(5))/2;i=[-n,e,0,n,e,0,-n,-e,0,n,-e,0,0,-n,e,0,n,e,0,-n,-e,0,n,-e,e,0,-n,e,0,n,-e,0,-n,-e,0,n],s=[0,11,5,0,5,1,0,1,7,0,7,10,0,10,11,1,5,9,5,11,4,11,10,2,10,7,6,7,1,8,3,9,4,3,4,2,3,2,6,3,6,8,3,8,9,4,9,5,2,4,11,6,2,10,8,6,7,9,8,1]}for(let t=0;t<i.length;t+=3)pe(i,t,e/fe(i,t));let o={};function a(t,r){t>r&&([t,r]=[r,t]);const n=t.toString()+"."+r.toString();if(o[n])return o[n];let s=i.length;return i.length+=3,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]}(i,3*t,i,3*r,i,s),pe(i,s,e/fe(i,s)),s/=3,o[n]=s,s}for(let e=0;e<t;e++){const e=s.length,t=new Array(4*e);for(let r=0;r<e;r+=3){const e=s[r],n=s[r+1],i=s[r+2],o=a(e,n),l=a(n,i),c=a(i,e),d=4*r;t[d]=e,t[d+1]=o,t[d+2]=c,t[d+3]=n,t[d+4]=l,t[d+5]=o,t[d+6]=i,t[d+7]=c,t[d+8]=l,t[d+9]=o,t[d+10]=l,t[d+11]=c}s=t,o={}}const l=(0,de.Wz)(i);for(let e=0;e<l.length;e+=3)me(l,e);return[["position",new K.n((0,de.Wz)(i),s,3,!0)],["normal",new K.n(l,s,3,!0)]]}(.5,e,!0));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function Fe(e,t){let r=e.get(t);return r&&!r.exclusive&&(r={...r,exclusive:!0,data:(0,Re.S)(r.data)},e.set(t,r)),r}const ze=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];var De=r(63573),je=r(74810);class Be{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t=this._getLayerOpacity();let r={usePBR:!0,isSchematic:!0,mrrFactors:je.Bt,ambient:w.Un,diffuse:w.Un,hasSlicePlane:!1,castShadows:!0,layerOpacity:t,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(r.externalColor=A.Un,r.instanced=!0,this._isPrimitive){const e=new De.fs;e.layerOpacity=t,r={...r,cullFace:Ee((0,De.ty)(e))}}const n=await e.createMaterial({type:"default",parameters:r}),i=this._symbolLayer.resource;this._primitive=i&&function(e){switch(e){case"sphere":case"cube":case"diamond":case"cylinder":case"cone":case"inverted-cone":case"tetrahedron":return!0}return!1}(i?.primitive)?i.primitive:oe.r;const s=Te(this._primitive,n);this._lodRendererId=await e.createLodRenderer(s),this._primitiveMaterialId=n,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 g(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=this._isPrimitive,o=this._primitive||oe.r,a=(0,M.vt)((0,ae.Fq)(o)),l=(0,w.ci)((0,M.Ej)(a)),c=(0,w.ci)((0,ae.Bb)(l,{isPrimitive:s,width:100,depth:null,height:null})),d=new Float64Array(16*i),u=new Float64Array(16*i),h=U(e),f=await n.applyElevationAlignmentTo(h);for(let e=0;e<i;++e){const t=e,r=f[3*e+0],n=f[3*e+1],i=f[3*e+2],s=this._computeGlobalTransform(r,n,i,this._context.viewSpatialReference,Ue),o=this._computeLocalTransform(c,l,Le);this._writeMatrixToTypedBuffer(d,t,o),this._writeMatrixToTypedBuffer(u,t,s)}const m=L(e),p=new Uint8Array(i);e.getVisibilityArray(p);const g={featureIds:new Uint32Array(m),visibility:p,localTransforms:d,globalTransforms:u};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,g))}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 createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,n=this._primitiveMaterialId;if(null==n)return t.createPipelineCommand();const i=this._getLayerOpacity();let s={layerOpacity:i};if(this._isPrimitive){const e=new De.fs;e.layerOpacity=i,s={...s,cullFace:Ee((0,De.ty)(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:n,parameters:s}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:n,mainThreadDelegate:i}=t,{featureCount:s,id:o}=e;if(null==r||0===s)return t.createPipelineCommand();const a=new Float64Array(16*s),l=U(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,Ue);this._writeMatrixToTypedBuffer(a,t,s)}return t.createPipelineCommand(n.updateLodInstancesData(r,o,a))}_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 Ve[0]=e,Ve[1]=t,Ve[2]=r,(0,se.l)(n,Ve,i,this._context.renderSpatialReference),i}_computeLocalTransform(e,t,r){return(0,P.D_)(r),this._applyObjectScale(e,t,r),r}_applyObjectScale(e,t,r){const n=function(e=w.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 o=2;o>=0;o--){const a=e[o],l=null!=a,c=0===o&&!n&&!l,d=r[o];let u;"symbol-value"===a||c?u=0!==d?t[o]/d:1:l&&"proportional"!==a&&isFinite(a)&&(u=0!==d?a/d:1),null!=u&&(i[o]=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,w.ci)(i)}(e,e,t,this._context.renderCoordsHelper.unitInMeters);1===n[0]&&1===n[1]&&1===n[2]||(0,P.hs)(r,r,n)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function Ee(e){return e?0:2}const Ve=(0,w.vt)(),Le=(0,C.vt)(),Ue=(0,C.vt)();class He{constructor(e,t){this._symbols=new Array,this._featureDataPartitioning=new Map,this._loaded=!1,this._loadingPromise=null,this._renderer=null,this._context=t,this._renderer=e}async load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){this._symbols[0]=new ee(x(),this._context),this._symbols[1]=new Be(new v.A,this._context),this._loaded=!0}get loaded(){return this._loaded}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 g(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))})),o=r.joinPipelineCommands(s);return o.appendPipelineStateCommand(()=>t.delete(e)),o}async createUpdateVisibilityCommand(e){const{_featureDataPartitioning:t,_context:r}=this,n=r.renderCommandContext,i=t.get(e.id);if(null==i)return new g(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 createUpdateLayerViewOpacityCommand(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.createUpdateLayerViewOpacityCommand(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=L(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 Ge(r,e.subset(new Uint32Array(t)))).filter(e=>e.features.featureCount>0)}}class Ge{constructor(e,t){this.index=e,this.features=t}}class ke{constructor(e,t,r,n,i,s,o){this.viewSpatialReference=e,this.renderSpatialReference=t,this.mainThreadDelegate=r,this.renderCoordsHelper=n,this.renderCommandContext=i,this.layerInfo=s,this.layerViewInfo=o,this.symbolRendererFactory=new qe(this)}createPipelineCommand(e=this.renderCommandContext.createRenderCommandBuffer(),t=[]){return new g(this.renderCommandContext,e,t)}joinPipelineCommands(e){return 0===e.length?this.createPipelineCommand():e.filter(e=>null!=e).reduce((e,t)=>(e.append(t),e))}}class qe{constructor(e){this.context=e}createSymbolRendererFromJSON(e){const t=(0,p.L)(e??$e)??void 0;if(!t)throw new Error("Failed to create renderer");const r=t.type;switch(r){case"simple":return new ie(t,this.context);case"unique-value":return new He(t,this.context);default:return console.warn(`Unable to create symbolrenderer for renderer of ${r}`),this.createSymbolRendererFromJSON($e)}}createSymbolRendererFromSymbol(e){const t=e?.type;switch(t){case"point-3d":return new ne(e,this.context);case"picture-marker":case"simple-marker":return new ee(x(),this.context);default:return console.warn(`Unable to create symbolrenderer for symbol of ${t}`),null}}createSymbolRendererFromSymbolLayer(e){const t=e.type;return"icon"===t?new ee(e,this.context):(console.warn(`Unable to create symbolrenderer for symbolLayer of ${t}`),null)}}const $e={type:"simple"};var Ne=r(65008),Ye=r(60999),Xe=r(32587),We=r(96211),Ze=r(24326);function Qe(e=""){return`${e}${(0,Ze.c)()}`}new Float64Array(3);class Je{constructor(e,t){this._parent=e,this._subsetIndices=t,this.id=Qe(`featureDataSubset-${e.id}-`)}get tileId(){return this._parent.tileId}get extent(){return this._parent.extent}get featureCount(){return this._subsetIndices.length}get usedMemory(){return this._parent.usedMemory+Me.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 Je(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 Ke{constructor(e){this._tile=e,this.id=Qe(`featureData-${e.id}-`),this._enabled=new Array(e.featureCount).fill(!0)}get tileId(){return this._tile.id}get featureCount(){return this._tile.featureCount}get usedMemory(){return Me.qK+(0,Me.$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 Je(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 et=class extends Ne.A{constructor(e){super(e),this.extent=null,this._tileHandles=new Xe.A,this._wanted=new Xe.A,this._updateRequested=!1,this._synchronizationTask=null,this._requestedTiles=new Array}destroy(){this._tileHandles.clear(),this._wanted.clear()}get updating(){return this._updateRequested||!(this._synchronizationTask?.finished??1)}get _boundingRect(){const{extent:e}=this;return null==e?null:(0,R.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}onTileTreeChange({tiles:e}){this._requestedTiles=e,this._scheduleTilesSync()}_scheduleTilesSync(){if(this._updateRequested)return;this._updateRequested=!0;const e=this._synchronizationTask,t=(0,Ye.UT)(async()=>{try{await(0,o.C_)(()=>e?.finished??!0),await(0,We.NO)(),this._updateRequested=!1,await this._synchronizeTiles()}finally{this._synchronizationTask===t&&(this._synchronizationTask=null)}});this._synchronizationTask=t}async _synchronizeTiles(){const e=this._requestedTiles,t=this._tileHandles,r=new Array;for(const n of e)t.has(n.id)||r.push(n);const n=new Array;for(const r of t.values()){const{id:t}=r;e.every(e=>e.id!==t)&&n.push(r.descriptor)}const i=this._tileHandles,{_boundingRect:s}=this,o=null!=s?r.filter(e=>!e.extent||(0,R.HY)(s,e.extent)):r,a=this._wanted,l=new Array;for(const{id:e}of n)a.delete(e);for(const e of o)a.set(e.id,e);const c=this._missingTiles;for(const e of n){const{id:t}=e;if(c.some(t=>tt(t,e)||tt(e,t)))continue;const r=i.get(t);null!=r&&l.push(this._removeTile(r))}for(const e of o)l.push(this._addTile(e));const d=await Promise.allSettled(l);for(const e of d)"rejected"===e.status&&console.error(e.reason)}forEachTile(e){for(const t of this._tileHandles.values()){const r=t.featureData;null!=r&&e(r)}}*loadedTiles(){for(const e of this._tileHandles.values()){const t=e.featureData;null!=t&&(yield t)}}async _removeTile(e){e.loadTask.abort(),this._tileHandles.delete(e.id),this._validate();const{featureData:t}=e;if(null!=t){const e={stack:[],error:void 0,hasError:!1};try{(0,n.mS)(e,await this.tileLocks.lock([t.tileId]),!1);const r=await this.createRemoveCommand(t.id);await(r?.execute())}catch(t){e.error=t,e.hasError=!0}finally{(0,n.hk)(e)}}}async _addTile(e){const{_tileHandles:t}=this,r=t.get(e.id);if(null!=r){if(!nt(r)||r.featureData.isFullyEnabled)return;return r.featureData.enableAll(),void await this._onTileLoad(r)}const n=new rt(e,(0,Ye.UT)(async t=>{const r=await this.loadTile(e,t);return(0,s.Te)(t),new Ke(r)}));this._tileHandles.set(n.id,n);try{await n.loadTask.promise}catch(e){return void(0,s.jH)(e)}(function(e){if(!nt(e))throw new Error})(n),await this._onTileLoad(n)}async _onTileLoad(e){const t={stack:[],error:void 0,hasError:!1};try{const{_wanted:r,_tileHandles:i,_missingTiles:s}=this,o=e.descriptor,a=new Array,l=new Array,c=new Array,d=new Set;for(const t of i.values()){if(t===e)continue;const{descriptor:n,id:c}=t;if(!r.has(c)&&!s.some(e=>tt(e,n)||tt(n,e))){i.delete(c),t.loadTask.abort();const{featureData:e}=t;null!=e&&a.push(e);continue}if(nt(t)){if(tt(o,n)){const e=t.featureData;for(const t of e.objectIds())d.add(t)}if(tt(n,o)){const{featureData:e}=t;l.push(e)}}}d.size>0&&(e.featureData.disableObjectIds(d),this._validateRemoval(e.featureData,d)),this._validate(),c.push(e.featureData);const u=[...c,...a,...l].map(e=>e.tileId);if((0,n.mS)(t,await this.tileLocks.lock(u),!1),0!==l.length){const t=e.featureData,r=new Set(t.objectIds());for(const e of l)e.disableObjectIds(r),this._validateRemoval(e,r)}const h=a.map(e=>this.createRemoveCommand(e.id)),f=c.map(e=>this.createAddCommand(e)),m=l.map(e=>this.createUpdateCommand(e)),p=function(e){return 0===e.length?null:e.reduce((e,t)=>(e.append(t),e))}((await Promise.all([...h,...f,...m])).filter(Oe.Ru));await(p?.execute())}catch(e){t.error=e,t.hasError=!0}finally{(0,n.hk)(t)}}_validate(){if(!(0,l.A)("feature-pipeline-3d-test-validation"))return;const e=new Array;for(const t of this._tileHandles.values()){if(!nt(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 tt({lij:[e,t,r]},{lij:[n,i,s]}){const o=n-e;return o>=0&&t===i>>o&&r===s>>o}(0,n.Cg)([(0,a.MZ)()],et.prototype,"updating",null),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"loadTile",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"createAddCommand",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"createRemoveCommand",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"createUpdateCommand",void 0),(0,n.Cg)([(0,a.MZ)({constructOnly:!0})],et.prototype,"tileLocks",void 0),(0,n.Cg)([(0,a.MZ)()],et.prototype,"extent",void 0),(0,n.Cg)([(0,a.MZ)()],et.prototype,"_boundingRect",null),(0,n.Cg)([(0,a.MZ)()],et.prototype,"_missingTiles",null),(0,n.Cg)([(0,a.MZ)()],et.prototype,"_updateRequested",void 0),(0,n.Cg)([(0,a.MZ)()],et.prototype,"_synchronizationTask",void 0),et=(0,n.Cg)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Tile3DManager")],et);class rt{constructor(e,t){this.descriptor=e,this.loadTask=t}get id(){return this.descriptor.id}get featureData(){return this.loadTask.value}}function nt(e){return null!=e.featureData}var it=r(36563);class st{constructor(){this._previousActions=new Map}async lock(e){const{_previousActions:t}=this,r=e.map(e=>t.get(e)).filter(Oe.Ru),n=Promise.allSettled(r),i=(0,s.Tw)(),o=(0,it.hA)(()=>i.resolve()),a=i.promise.finally(()=>{for(const r of e)t.get(r)===a&&t.delete(r)});for(const r of e)t.set(r,a);return await n,(0,it.Bf)(o)}}var ot=r(75503),at=r(27647),lt=r(92722);class ct{constructor(e,t){this._index=e,this._view=t}get usedMemory(){return Me.qK+Me.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 dt(this._index,this._view,e)}}class dt extends ct{constructor(e,t,r){super(e,t),this._geometryOverride=r}getOptimizedGeometry(){return this._geometryOverride}getCentroid(e){return(0,at.Q)(new lt.A,this._geometryOverride,e.hasZ,e.hasM)}}class ut{constructor(e,t){this.featureData=e,this.bounds=t}}class ht{constructor(){this._tileBounds=new Map,this.events=new i.bk,this.featureAdapter=ft.shared}get usedMemory(){return Me.qK+Me.qK*this._tileBounds.size}addTile(e){const{featureCount:t}=e;if(0===t)return;const r=new ot.wq(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 ut(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 ct(r,t))})}forEachInBounds(e,t){mt.minX=e[0],mt.minY=e[1],mt.maxX=e[2],mt.maxY=e[3];for(const{featureData:e,bounds:r}of this._tileBounds.values())r.search(mt,r=>{e.getEnabled(r)&&t(new ct(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:o,maxX:a,maxY:l}=e.toJSON();t=Math.min(t,s),r=Math.min(r,o),n=Math.min(n,a),i=Math.min(i,l)}return{xmin:t,ymin:r,xmax:n,ymax:i,spatialReference:e}}}class ft{static{this.shared=new ft}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 mt=new ot.EC;var pt=r(80893);class gt{constructor(e,t,r){this.descriptor=e,this._pages=t,this._pageSize=r;const n=Me.ez+t.reduce((e,{usedMemory:t})=>e+t,0),i=3*Me.RS;this.usedMemory=Me.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 yt=r(49186),_t=r(51624),vt=r(62577),bt=r(95466),xt=r(53655);class Ct{constructor(e){this._reader=new _t.A(new Uint8Array(e),new DataView(e)),this._index=function(e){for(;e.next();){if(2===e.tag())return wt(e.getMessage());e.skip()}St()}(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],o=this._reader;return o.move(s),It(o)}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]=It(i)}return s}getCoordinates(e,t,r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:o,translate:a}=i;n.move(s[e]),this._readCoordinates(o,a,t,r)}getOptimizedGeometry(e){const t=(0,w.vt)();return this.getCoordinates(e,t),new lt.A([],t)}getCentroid(e,{hasZ:t,hasM:r}){this.getCoordinates(e,Pt);const[n,i,s]=Pt,o=[n,i];return t&&(o[3]=s),r&&(o[t?4:3]=0),new lt.A([],o)}getBounds(e){this.getCoordinates(e,Pt);const[t,r]=Pt,n=new ot.EC;return n.minX=t,n.minY=r,n.maxX=t,n.maxY=r,n}getBoundingBox(e){this.getCoordinates(e,Pt);const[t,r,n]=Pt;return(0,M.fA)(t,r,n,t,r,n)}getObjectIdsArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{objectIdFieldName:i,attributeIndices:s,fieldsIndex:o}=this._index,a=o.get(i).index,l=o.fields.length;for(const i of t){const t=s[i*l+a];n.move(t),e[r++]=It(n)}return r}getCoordinatesArray(e,t=this._allFeatureIndices(),r=0){const n=this._reader,{transform:i,featureIndices:s}=this._index,{scale:o,translate:a}=i;for(const i of t){const t=s[i];n.move(t),r=this._readCoordinates(o,a,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,o=i.fields.length;for(const r of e){const e=n[r*o+s];t.move(e),yield It(t)}}*_allFeatureIndices(){const{featureCount:e}=this;for(let t=0;t<e;++t)yield t}_readCoordinates([e,t,r],[n,i,s],o,a){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(),o[a++]=n+e*l.getSInt64(),o[a++]=i+t*l.getSInt64(),o[a++]=s+r*l.getSInt64()):l.skip();break}default:l.skip()}return a}}function wt(e){for(;e.next();){if(1===e.tag())return At(e.getMessage());e.skip()}St()}function At(e){let t,r,n=!1,i=!1,s=0;const o=new Array,a=new Array,l=new Array;for(;e.next();)switch(e.tag()){case 1:r=e.getString();break;case 7:0!==e.getEnum()&&St();break;case 9:n=e.getBool()??!1;break;case 12:t=(0,vt.Q1)(e.processMessage(xt.ae));break;case 13:{const t=e.processMessage(xt.cn);t.index=s++,o.push(t);break}case 15:{a.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 bt.A(o);return null!=t&&i&&null!=r&&c.has(r)||St(),{transform:t,exceededTransferLimit:n,fieldsIndex:c,objectIdFieldName:r,featureIndices:a,attributeIndices:l}}function St(){const e=new yt.A("pbf-parsing-failed","Error while parsing PBF",new Error);throw console.error(e),e}function It(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 Pt=(0,w.vt)();class Ot{constructor(e,t,r,n,i){this.spatialReference=e,this.url=r,this.objectIdField=n,this.capabilities=i;const{supportsMaxRecordCountFactor:s,maxRecordCount:o}=this.capabilities.query,a=s?4:1,l=(o??8e3)*a;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=a,c.num=this._pageSize,c.outFields=[n],this._baseQuery=c}async fetch(e,t){const{spatialReference:r,_pageSize:n}=this,i=(0,R.w1)(e.extent,r),o=this._baseQuery.clone();o.geometry=i;const a=new Array;let l=0,c=!1,d=1;for(;!c;){const e=[];for(let r=0;r<d;++r)e.push(this._fetchPage(o,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&&a.push(e)}d=Math.min(d+1,4)}return new gt(e,a,n)}async _fetchPage(e,t,r){const n=e.clone();n.start=t*this._pageSize;const i=(await(0,pt.kS)(this.url,n,{signal:r})).data;return(0,s.Te)(r),new Ct(i)}}var Mt=r(29920),Rt=r(77690),Tt=r(29242);var Ft=r(13030),zt=r(78662),Dt=r(49255),jt=r(40268),Bt=r(16943),Et=r(25634),Vt=r(11725),Lt=r(77194);class Ut{constructor(){this.scale=0,this.factor=0,this.minScaleFactor=0}}var Ht=r(59907),Gt=r(43616),kt=r(13259),qt=r(1843),$t=r(97220),Nt=r(98958),Yt=r(33524),Xt=r(63907),Wt=r(90644);class Zt extends Nt.w{constructor(e,t){super(e,t,new $t.$(kt.H,()=>r.e(8241).then(r.bind(r,48241))),((0,Bt.E)()?Kt:Jt).locations),this.primitiveType=t.occlusionPass?Xt.WR.POINTS:Xt.WR.TRIANGLES}initializePipeline(e){const{oitPass:t,hasPolygonOffset:r,draped:n,output:i,depthTestEnabled:s,occlusionPass:o}=e,a=0===t,l=s&&!n&&!(1===t)&&!o&&!(8===i);return(0,Wt.Ey)({blending:(0,Dt.RN)(i)?a?Wt.RC:(0,Yt.ez)(t):null,depthTest:s&&!n?{func:515}:null,depthWrite:l?Wt.Uy:null,drawBuffers:(0,Yt.m6)(t,i),colorWrite:Wt.kn,polygonOffset:r?Qt:null})}}const Qt={factor:0,units:-4},Jt=(0,qt.BP)().vec3f("position").vec3f("normal").vec2i16("uvi").vec4u8("color").vec2f("size").f32("rotation").vec4f("centerOffsetAndDistance").vec4f("featureAttribute"),Kt=Jt.clone().vec4u8("olidColor");var er=r(51976),tr=r(35256);class rr extends tr.E{constructor(e){super(),this.spherical=e,this.screenCenterOffsetUnitsEnabled=!1,this.occlusionTestEnabled=!0,this.signedDistanceFieldEnabled=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.hasVVSize=!1,this.hasVVColor=!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.horizonCullingEnabled=!0,this.isFocused=!0,this.olidColorInstanced=!1,this.textureCoordinateType=0,this.emissionSource=0,this.discardInvisibleFragments=!0,this.hasVVInstancing=!1,this.snowCover=!1}}(0,n.Cg)([(0,er.W)()],rr.prototype,"screenCenterOffsetUnitsEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"occlusionTestEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"signedDistanceFieldEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"sampleSignedDistanceFieldTexelCenter",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasVVSize",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasVVColor",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasVerticalOffset",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasScreenSizePerspective",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasRotation",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"debugDrawLabelBorder",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"hasPolygonOffset",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"depthTestEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"pixelSnappingEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"draped",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"terrainDepthTest",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"cullAboveTerrain",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"occlusionPass",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"occludedFragmentFade",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"horizonCullingEnabled",void 0),(0,n.Cg)([(0,er.W)()],rr.prototype,"isFocused",void 0);var nr=r(49788);class ir extends Vt.i{constructor(e,t){super(e,Or),this.produces=new Map([[12,e=>(0,Dt.Mb)(e)&&!this.parameters.drawAsLabel],[13,e=>(0,Dt.Mb)(e)&&this.parameters.drawAsLabel],[11,()=>this.parameters.occlusionTest],[17,e=>this.parameters.draped&&(0,Dt.Mb)(e)]]),this._visible=!0,this._configuration=new rr(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.hasVVSize=!!this.parameters.vvSize,this._configuration.hasVVColor=!!this.parameters.vvColor,this._configuration.occlusionPass=11===t.slot,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||11===t.slot,(0,Dt.RN)(e)&&(this._configuration.debugDrawLabelBorder=!!D.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:o,hud:a,excludeLabels:l},point:c,camera:d}=r,{parameters:u}=this;if(!o||!a||l&&u.isLabel||!e.visible||!c||!d)return;const h=e.attributes.get("featureAttribute"),f=null==h?null:(0,A.ci)(h.data,Cr),{scaleX:m,scaleY:p}=Rr(f,u,d.pixelRatio);(0,Rt.z0)(gr,t),e.attributes.has("featureAttribute")&&function(e){const t=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],a=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+o*o),h=1/Math.sqrt(a*a+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]=o*u,e[6]=a*h,e[7]=l*h,e[8]=c*h}(gr);const g=e.attributes.get("position"),y=e.attributes.get("size"),_=e.attributes.get("normal"),v=e.attributes.get("rotation"),b=e.attributes.get("centerOffsetAndDistance");(0,ge.vA)(g.size>=3);const x=(0,kt.c)(u),C="screen"===this.parameters.centerOffsetUnits;for(let e=0;e<g.data.length/g.size;e++){const n=e*g.size;(0,le.i)(cr,g.data[n],g.data[n+1],g.data[n+2]),(0,le.t)(cr,cr,t),(0,le.t)(cr,cr,d.viewMatrix);const i=e*b.size;if((0,le.i)(br,b.data[i],b.data[i+1],b.data[i+2]),!C&&(cr[0]+=br[0],cr[1]+=br[1],0!==br[2])){const e=br[2];(0,le.n)(br,cr),(0,le.d)(cr,cr,(0,le.g)(br,br,e))}const o=e*_.size;if((0,le.i)(dr,_.data[o],_.data[o+1],_.data[o+2]),or(dr,gr,d,wr),Tr(this.parameters,cr,wr,d,lr),d.applyProjection(cr,ur),ur[0]>-1){C&&(br[0]||br[1])&&(ur[0]+=br[0]*d.pixelRatio,0!==br[1]&&(ur[1]+=(0,Lt.m0)(br[1],lr.factorAlignment)*d.pixelRatio),d.unapplyProjection(ur,cr)),ur[0]+=this.parameters.screenOffset[0]*d.pixelRatio,ur[1]+=this.parameters.screenOffset[1]*d.pixelRatio,ur[0]=Math.floor(ur[0]),ur[1]=Math.floor(ur[1]);const t=e*y.size;Ir[0]=y.data[t],Ir[1]=y.data[t+1],(0,Lt.MD)(Ir,lr.factor,Ir);const n=Ar*d.pixelRatio;let i=0;u.textureIsSignedDistanceField&&(i=Math.min(u.outlineSize,.5*Ir[0])*d.pixelRatio/2),Ir[0]*=m,Ir[1]*=p;const o=e*v.size,a=u.rotation+v.data[o];if(ar(c,ur[0],ur[1],Ir,n,i,a,u,x)){const e=r.ray;if((0,le.t)(fr,cr,(0,P.B8)(_r,d.viewMatrix)),ur[0]=c[0],ur[1]=c[1],d.unprojectFromRenderScreen(ur,cr)){const t=(0,w.vt)();(0,le.c)(t,e.direction);const r=1/(0,le.l)(t);(0,le.g)(t,t,r),s((0,le.j)(e.origin,cr)*r,t,-1,fr)}}}}}intersectDraped(e,t,r,n,i){const s=e.attributes.get("position"),o=e.attributes.get("size"),a=e.attributes.get("rotation"),l=this.parameters,c=(0,kt.c)(l),d=e.attributes.get("featureAttribute"),u=null==d?null:(0,A.ci)(d.data,Cr),{scaleX:h,scaleY:f}=Rr(u,l,e.screenToWorldRatio),m=Sr*e.screenToWorldRatio;for(let t=0;t<s.data.length/s.size;t++){const d=t*s.size,u=s.data[d],p=s.data[d+1],g=t*o.size;Ir[0]=o.data[g],Ir[1]=o.data[g+1];let y=0;l.textureIsSignedDistanceField&&(y=Math.min(l.outlineSize,.5*Ir[0])*e.screenToWorldRatio/2),Ir[0]*=h,Ir[1]*=f;const _=t*a.size,v=l.rotation+a.data[_];ar(r,u,p,Ir,m,y,v,l,c)&&n(i.distance,i.normal,-1)}}createBufferWriter(){return new Mr}applyShaderOffsetsView(e,t,r,n,i,s,o){const a=or(t,r,i,wr);return this._applyVerticalGroundOffsetView(e,a,i,o),Tr(this.parameters,o,a,i,s),this._applyPolygonOffsetView(o,a,n[3],i,o),this._applyCenterOffsetView(o,n,o),o}applyShaderOffsetsNDC(e,t,r,n,i){return this._applyCenterOffsetNDC(e,t,r,n),null!=i&&(0,le.c)(i,n),this._applyPolygonOffsetNDC(n,t,r,n),n}_applyPolygonOffsetView(e,t,r,n,i){const s=n.aboveGround?1:-1;let o=Math.sign(r);0===o&&(o=s);const a=s*o;if(this.parameters.shaderPolygonOffset<=0)return(0,le.c)(i,e);const l=(0,z.qE)(Math.abs(t.cosAngle),.01,1),c=1-Math.sqrt(1-l*l)/l/n.viewport[2];return(0,le.g)(i,e,a>0?c:1/c),i}_applyVerticalGroundOffsetView(e,t,r,n){const i=(0,le.l)(e),s=r.aboveGround?1:-1,o=r.computeRenderPixelSizeAtDist(i)*jt.R,a=(0,le.g)(cr,t.normal,s*o);return(0,le.f)(n,e,a),n}_applyCenterOffsetView(e,t,r){const n="screen"!==this.parameters.centerOffsetUnits;return r!==e&&(0,le.c)(r,e),n&&(r[0]+=t[0],r[1]+=t[1],t[2]&&((0,le.n)(dr,r),(0,le.a)(r,r,(0,le.g)(dr,dr,t[2])))),r}_applyCenterOffsetNDC(e,t,r,n){const i="screen"!==this.parameters.centerOffsetUnits;return n!==e&&(0,le.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,le.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]>=nr.Q||t>=nr.Q&&r[3]>=nr.Q;return this._visible&&n}createGLMaterial(e){return new sr(e)}calculateRelativeScreenBounds(e,t,r=(0,R.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 sr extends Et.m8{constructor(e){super({...e,...e.material.parameters})}beginSlot(e){return this.updateTexture(this._material.parameters.textureId),this._material.setParameters(this.textureBindParameters),this.getTechnique(Zt,e)}}function or(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,Rt.z0)(yr,t)),(0,le.o)(n.normal,e,t),(0,le.t)(n.normal,n.normal,r.viewInverseTransposeMatrix),n.cosAngle=(0,le.e)(hr,Pr),n}function ar(e,t,r,n,i,s,o,a,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=a.distanceFieldBoundingBox;return a.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,T.hZ)(pr,t,r),(0,T.e$)(mr,e,pr,(0,z.kU)(o)),mr[0]>c&&mr[0]<d&&mr[1]>u&&mr[1]<h}const lr=new class{constructor(){this.factor=new Ut,this.factorAlignment=new Ut}},cr=(0,w.vt)(),dr=(0,w.vt)(),ur=(0,A.vt)(),hr=(0,w.vt)(),fr=(0,w.vt)(),mr=(0,F.vt)(),pr=(0,F.vt)(),gr=(0,Tt.vt)(),yr=(0,Tt.vt)(),_r=(0,C.vt)(),vr=(0,A.vt)(),br=(0,w.vt)(),xr=(0,w.vt)(),Cr=(0,A.vt)(),wr={normal:hr,cosAngle:0},Ar=1,Sr=2,Ir=(0,F.fA)(0,0),Pr=(0,w.fA)(0,0,1);class Or extends Et.NV{constructor(){super(...arguments),this.renderOccluded=1,this.isDecoration=!1,this.color=(0,A.CN)(1,1,1,1),this.polygonOffset=!1,this.anchorPosition=(0,F.fA)(.5,.5),this.screenOffset=[0,0],this.shaderPolygonOffset=1e-5,this.textureIsSignedDistanceField=!1,this.sampleSignedDistanceFieldTexelCenter=!1,this.outlineColor=(0,A.CN)(1,1,1,1),this.outlineSize=0,this.distanceFieldBoundingBox=(0,A.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.focusStyle="bright",this.draped=!1,this.isLabel=!1}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}class Mr{constructor(){this.layout=(0,Bt.E)()?Kt:Jt}elementCount(e){return 6*e.get("position").indices.length}write(e,t,r,n,i,s){const{position:o,normal:a,uvi:l,color:c,size:d,rotation:u,centerOffsetAndDistance:h,featureAttribute:f}=i;(0,Ht.Hk)(r.get("position"),e,o,s,6),(0,Ht.p1)(r.get("normal"),t,a,s,6);const m=r.get("uvi")?.data;let p=0,g=0,y=-1-kt.f,_=-1-kt.f;m&&m.length>=4&&(p=m[0],g=m[1],y=-1-m[2],_=-1-m[3]);let v=r.get("position").indices.length,b=s;for(let e=0;e<v;++e)l.set(b,0,p),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,p),l.set(b,1,_),b++,l.set(b,0,p),l.set(b,1,g),b++;(0,Ht.tb)(r.get("color"),4,c,s,6);const{data:x,indices:C}=r.get("size");v=C.length,b=s;for(let e=0;e<v;++e){const t=x[2*C[e]],r=x[2*C[e]+1];for(let e=0;e<6;++e)d.set(b,0,t),d.set(b,1,r),b++}if((0,Ht.uO)(r.get("rotation"),u,s,6),r.get("centerOffsetAndDistance")?(0,Ht.Ut)(r.get("centerOffsetAndDistance"),h,s,6):(0,Ht.Pq)(h,s,6*v),r.get("featureAttribute")?(0,Ht.Ut)(r.get("featureAttribute"),f,s,6):(0,Ht.Pq)(f,s,6*v),null!=n){const e=r.get("position")?.indices;if(e){const t=e.length,r=i.getField("olidColor",Ft.XP);(0,Ht.vx)(n,r,t,s,6)}}return{numVerticesPerItem:6,numItems:v}}intersect(e,t,r,n,i,s,o){const{options:{selectionMode:a,hud:l,excludeLabels:c},point:d,camera:u}=n;if(!a||!l||c&&t.isLabel||!d)return;const h=this.layout.createView(e),f=h.getField("position",Ft.xs),m=h.getField("normal",Ft.xs),p=h.getField("rotation",Ft.Y$),g=h.getField("size",Ft.gH),y=h.getField("featureAttribute",Ft.Eq),_=h.getField("centerOffsetAndDistance",Ft.Eq),v="screen"===t.centerOffsetUnits,b=(0,kt.c)(t);if(null==f||null==m||null==p||null==g||null==_||null==u)return;const x=null==y?null:y.getVec(0,Cr),{scaleX:C,scaleY:A}=Rr(x,t,u.pixelRatio),S=f.count/6;for(let e=0;e<S;e++){const i=6*e;if(f.getVec(i,cr),null!=r&&(0,le.f)(cr,cr,r),(0,le.t)(cr,cr,u.viewMatrix),_.getVec(i,vr),(0,le.i)(br,vr[0],vr[1],vr[2]),!v&&(cr[0]+=br[0],cr[1]+=br[1],0!==br[2])){const e=br[2];(0,le.n)(br,cr),(0,le.d)(cr,cr,(0,le.g)(br,br,e))}if(m.getVec(i,dr),or(dr,gr,u,wr),Tr(t,cr,wr,u,lr),u.applyProjection(cr,ur),ur[0]>-1){v&&(br[0]||br[1])&&(ur[0]+=br[0]*u.pixelRatio,0!==br[1]&&(ur[1]+=(0,Lt.m0)(br[1],lr.factorAlignment)*u.pixelRatio),u.unapplyProjection(ur,cr)),ur[0]+=t.screenOffset[0]*u.pixelRatio,ur[1]+=t.screenOffset[1]*u.pixelRatio,ur[0]=Math.floor(ur[0]),ur[1]=Math.floor(ur[1]),g.getVec(i,Ir),(0,Lt.MD)(Ir,lr.factor,Ir);const r=Ar*u.pixelRatio;let s=0;t.textureIsSignedDistanceField&&(s=Math.min(t.outlineSize,.5*Ir[0])*u.pixelRatio/2),Ir[0]*=C,Ir[1]*=A;const a=p.get(i),l=t.rotation+a;if(ar(d,ur[0],ur[1],Ir,r,s,l,t,b)){const t=n.ray;if((0,le.t)(fr,cr,(0,P.B8)(_r,u.viewMatrix)),ur[0]=d[0],ur[1]=d[1],u.unprojectFromRenderScreen(ur,cr)){const r=(0,w.vt)();(0,le.c)(r,t.direction);const n=1/(0,le.l)(r);(0,le.g)(r,r,n),o((0,le.j)(t.origin,cr)*n,r,e,fr)}}}}}}function Rr(e,t,r){return null==e||null==t.vvSize?{scaleX:r,scaleY:r}:((0,zt.VC)(xr,t,e),{scaleX:xr[0]*r,scaleY:xr[1]*r})}function Tr(e,t,r,n,i){if(!e.verticalOffset?.screenLength)return e.screenSizePerspective||e.screenSizePerspectiveAlignment?Fr(e,i,(0,le.l)(t),r.cosAngle):(i.factor.scale=1,i.factorAlignment.scale=1),t;const s=(0,le.l)(t),o=e.screenSizePerspectiveAlignment??e.screenSizePerspective,a=(0,Gt.kE)(n,s,e.verticalOffset,r.cosAngle,o);return Fr(e,i,s,r.cosAngle),(0,le.g)(r.normal,r.normal,a),(0,le.f)(t,t,r.normal)}function Fr(e,t,r,n){null!=e.screenSizePerspective?(0,Lt.cJ)(n,r,e.screenSizePerspective,t.factor):(t.factor.scale=1,t.factor.factor=0,t.factor.minScaleFactor=0),null!=e.screenSizePerspectiveAlignment?(0,Lt.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 zr{constructor(e,t){this._mainThreadDelegate=t,this._bufferWriters=new Map,this.globalViewingMode=1===e}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 createTexture(e){const{data:t,parameters:r}=e();return await this._mainThreadDelegate.createTexture(t,r)}async releaseTexture(e){const t=this._destroyTexture(e);return new g(this,t,[])}_destroyTexture(e){return{commands:[{id:"destroy-texture",textureId:e}],transferList:[]}}async createMaterial(e){const{type:t,parameters:r}=e,n=Qe("material");let i,s;switch(t){case"default":i=new De.$U(e.parameters,{spherical:this.globalViewingMode}),s={type:t,materialId:n,parameters:e.parameters};break;case"hud":i=new ir(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:o}=n;return{commands:[{id:"add-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,o.buffer]}}updateDirectRendererGeometryBuffer(e,t,r,n,i){const{objectIds:s,visibilities:o}=n;return{commands:[{id:"update-direct-renderer-geometry-buffer",rendererId:e,groupId:t,renderGeometryBuffer:r,renderGeometryBufferItems:n,localOrigin:i}],transferList:[r.data,s.buffer,o.buffer]}}removeDirectRendererGeometryBuffer(e,t){return{commands:[{id:"remove-direct-renderer-geometry-buffer",rendererId:e,groupId:t}],transferList:[]}}async createLodRenderer(e){const t=Qe("lod-renderer"),r=new Set,n={levels:e.levels.map(e=>({components:e.components.map(e=>{const t=e.attributes.get("position");if(!t||0===t.indices.length)throw new Error("positions attribute expected");const n=(0,G.tM)(t.indices.length/3),i=new Mt.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 o=null;if(e.transformation&&t)(0,P.C)(Dr,e.transformation),Dr[12]-=t[0],Dr[13]-=t[1],Dr[14]-=t[2],o=Dr;else{if(t)throw new Error("not implemented");e.transformation&&(o=e.transformation)}let a=null;o&&((0,P.B8)(jr,Dr),(0,P.mg)(jr,jr),a=jr);const l=e.attributes,c=s.elementCount(l),d=s.layout.stride/4;c>Math.floor(Br/d)&&console.warn("geometry with very large number of elements encountered");const u=s.layout.createBuffer(c),h=s.write(o,a,l,e.olidColor,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 Dr=(0,C.vt)(),jr=(0,C.vt)(),Br=4194304;var Er=r(98764),Vr=r(65806);const Lr=(0,w.vt)();var Ur=r(17352),Hr=r(97937);function Gr(e,t,r=function(e){return{operations:e,value:e.create()}}(e)){return r.operations=e,e.copy(t,r.value),r}const kr=2**50;function qr(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 Nr=(0,w.vt)();(0,w.vt)();var Yr=r(44280),Xr=r(32114);function Wr(e){return"point"===e.type}class Zr{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,he.tO)(t),this.sphericalPCPF=(0,Er.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 e=this._coordinateSystem,t=(0,R.vt)(),e.operations.getExtent(e.value,t),t;var e,t}getAltitude(e){return function(e,t){return e.operations.altitudeAt(e.value,t)}(this._coordinateSystem,e)}setAltitude(e,t,r=e){return qr(this._coordinateSystem,r,t,e)}setAltitudeOfTransformation(e,t){var r,n,i,s;r=this._coordinateSystem,i=e,(n=t)!==(s=t)&&(0,P.C)(s,n),(0,le.i)(Nr,s[12],s[13],s[14]),qr(r,Nr,i,Nr),s[12]=Nr[0],s[13]=Nr[1],s[14]=Nr[2]}worldUpAtPosition(e,t){return function(e,t,r){return e.operations.axisAt(e.value,t,2,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,0,Xr.rq.get()),n=this.worldBasisAtPosition(e,1,Xr.rq.get()),i=this.worldBasisAtPosition(e,2,Xr.rq.get());return(0,P.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,1,Xr.rq.get()),i=(0,Yr.EJ)(t,n,r);return(0,z.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,le.c)(r,n):null}intersectInfiniteManifold(e,t,r){if(1===this.viewingMode)return this.intersectManifold(e,t,r);$r(this._coordinateSystem,t,this._tmpCoordinateSystem);const n=this._tmpCoordinateSystem.value,i=Xr.rq.get();return(0,ue.Ui)(n.plane,e,i)?(0,le.c)(r,i):null}toRenderCoords(e,t,r){return Wr(e)?(0,Vr.g)(e,t,this.spatialReference):(0,V.F)(e,t,r,this.spatialReference)}fromRenderCoords(e,t,r=null){return Wr(t)?(null!=r&&(t.spatialReference=r),function(e,t,r){return!!(0,V.F)(e,t,Lr,r.spatialReference)&&(r.x=Lr[0],r.y=Lr[1],r.z=Lr[2],!0)}(e,this.spatialReference,t)?t:null):(0,V.F)(e,this.spatialReference,t,r)?t:null}static create(e,t){switch(e){case 2:return new Zr(2,t,(0,I.GA)(t),Gr(Ur.b,(0,Ur.f)([0,0,0],[kr,0,0],[0,kr,0])));case 1:return new Zr(1,t,1,function(e){return Gr(Hr.s,(0,Hr.f)(0,0,0,(0,he.tO)(e).radius))}(t))}}static renderUnitScaleFactor(e,t){return(0,I.KX)(e)/(0,I.KX)(t)}}let Qr=class extends i.nJ{constructor(){super(...arguments),this.remoteClient=null,this._featureStore=new ht,this._tileLocks=new st,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,layerInfo:n,layerViewInfo:i}){const s=h.A.fromJSON(e);this._viewSpatialReference=s;const a=h.A.fromJSON(t);this._fetcher=new Ot(this._viewSpatialReference,m.A.fromJSON(n.baseQuery),n.url,n.objectIdField,n.capabilities),this._queryEngine=new f.do({hasZ:!0,hasM:!1,geometryType:"esriGeometryPoint",featureIdInfo:{type:"object-id",fieldName:n.objectIdField},fieldsIndex:n.fieldIndex,availableFields:[n.objectIdField],spatialReference:e,featureStore:this._featureStore,timeInfo:n.timeInfo}),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 l=Zr.create(r,a),c=new zr(r,this._mainThreadDelegate);this._renderCommandContext=c;const p=new ke(s,a,this._mainThreadDelegate,l,c,n,i);this._context=p,this._renderer=p.symbolRendererFactory.createSymbolRendererFromJSON(n.renderer),this._defaultQueryJSON=new m.A({outSpatialReference:s}).toJSON();let g=null;if(null!=n.fullExtent){const e=d.A.fromJSON(n.fullExtent);await(0,u.initializeProjection)(e.spatialReference,s),g=(0,u.project)(e,s)}return this._tileManager=new et({loadTile:(e,t)=>this._fetcher.fetch(e,t),createAddCommand:(e,t)=>this._createAddFeatureDataCommand(e,t),createRemoveCommand:e=>this._createRemoveFeatureDataCommand(e),createUpdateCommand:(e,t)=>this._createUpdateFeatureDataVisibilityCommand(e,t),tileLocks:this._tileLocks,extent:g}),this.addHandles((0,o.wB)(()=>this.updating,e=>{this.emit("notify-updating",{updating:e})}),o.Vh),null!=this._renderer&&await this._renderer.load(),Kr}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)}}onTileTreeChange(e){return this._tileManager.onTileTreeChange(e),Promise.resolve(Kr)}async onElevationChange(e){return Kr}async onLayerViewOpacityChange(e){const{_context:t,_renderer:r}=this;if(t.layerViewInfo.fullOpacity=e,null==r)return Kr;const n=await r.createUpdateLayerViewOpacityCommand(e);return await n.execute(),Kr}async onRendererChange(e){const{_context:t}=this,r=t.symbolRendererFactory.createSymbolRendererFromJSON(e);await r.load();const i=this._renderer;this._renderer=r;const s=[...this._tileManager.loadedTiles()],o=s.map(e=>e.tileId);{const e={stack:[],error:void 0,hasError:!1};try{(0,n.mS)(e,await this._tileLocks.lock(o),!1);const a=s.flatMap(e=>[i.createRemoveCommand(e.id),r.createAddCommand(e)]),l=await Promise.all(a),c=t.joinPipelineCommands(l);await c.execute()}catch(t){e.error=t,e.hasError=!0}finally{(0,n.hk)(e)}}const a=await i.createDestroyCommand();return await a.execute(),Kr}async _createAddFeatureDataCommand(e,t){const r=this._featureStore,n=this._renderer;let i;return i=null!=n?await n.createAddCommand(e):g.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):g.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):g.create(this._renderCommandContext),(0,s.Te)(t),n}_ensureQuery(e){return e??this._defaultQueryJSON}};(0,n.Cg)([(0,a.MZ)()],Qr.prototype,"updating",null),Qr=(0,n.Cg)([(0,c.$)("esri.views.3d.layers.graphics.pipeline.Feature3DPipelineWorker")],Qr);const Jr=Qr,Kr={result:void 0}},77548:(e,t,r)=>{r.d(t,{Gh:()=>p,tk:()=>u,BR:()=>d,wI:()=>c,G$:()=>f,$x:()=>h,Ov:()=>a,W_:()=>l,OP:()=>m,TU:()=>o,XX:()=>s});var n=r(70333),i=r(78888);r(7762),r(84952),r(36563),r(36708),new WeakMap;const s={Point:"SceneLayer","3DObject":"SceneLayer",IntegratedMesh:"IntegratedMeshLayer",PointCloud:"PointCloudLayer",Building:"BuildingSceneLayer"};function o(e){const t=e?.type;return"building-scene"===t||"integrated-mesh"===t||"point-cloud"===t||"scene"===t}function a(e){return"feature"===e?.type&&!e.url&&"memory"===e.source?.type}function l(e){const t=e?.type;return("feature"===t||"subtype-group"===t||"oriented-imagery"===t)&&"feature-layer"===e?.source?.type}async function c(e,t){const r=n.id?.findServerInfo(e);if(null!=r?.currentVersion)return r.owningSystemUrl||null;const s=e.toLowerCase().indexOf("/rest/services");if(-1===s)return null;const o=`${e.slice(0,s)}/rest/info`,a=null!=t?t.signal:null,{data:l}=await(0,i.A)(o,{query:{f:"json"},responseType:"json",signal:a});return l?.owningSystemUrl||null}function d(e){return function(e){if(!("capabilities"in e))return!1;switch(e.type){case"catalog":case"catalog-footprint":case"csv":case"feature":case"geojson":case"imagery":case"knowledge-graph-sublayer":case"ogc-feature":case"oriented-imagery":case"scene":case"sublayer":case"subtype-group":case"subtype-sublayer":case"wfs":return!0;default:return!1}}(e)?"effectiveCapabilities"in e?e.effectiveCapabilities:e.capabilities:null}function u(e){return!!function(e){if(!("editingEnabled"in e))return!1;switch(e.type){case"csv":case"feature":case"geojson":case"oriented-imagery":case"scene":case"subtype-group":case"subtype-sublayer":return!0;default:return!1}}(e)&&("effectiveEditingEnabled"in e?e.effectiveEditingEnabled:e.editingEnabled)}function h(e,t){return null}function f(e){return null}function m(e){return!e||"Feature Service"===e.type&&!e.sourceUrl}function p(e,t){if(!t||!m(e))return;const r=(e.url,null);r&&(e.url=r)}},81961:(e,t,r)=>{r.d(t,{V:()=>i});var n=r(74333);class i extends n.n{constructor(e,t,r){super(e,"vec4",2,(n,i,s)=>n.setUniform4fv(e,t(i,s),r))}}},87582:(e,t,r)=>{r(6867),r(65215).R},95696:(e,t,r)=>{r.d(t,{A:()=>d});var n,i=r(31635),s=r(69540),o=r(25482),a=r(10107),l=(r(44208),r(53966),r(87811),r(93223)),c=r(40608);let d=class extends((0,s.O)(o.o)){static{n=this}constructor(e){super(e),this.type="georeferenced",this.origin=null}static{this.absolute=new n}};(0,i.Cg)([(0,l.e)({georeferenced:"georeferenced"},{readOnly:!0})],d.prototype,"type",void 0),(0,i.Cg)([(0,a.MZ)({type:[Number],nonNullable:!1,json:{write:!0}})],d.prototype,"origin",void 0),d=n=(0,i.Cg)([(0,c.$)("esri.geometry.support.MeshGeoreferencedVertexSpace")],d)},96576:(e,t,r)=>{r.d(t,{A:()=>h});var n,i=r(31635),s=r(4718),o=r(10107),a=(r(44208),r(53966),r(93223)),l=r(40608),c=r(92438),d=r(63988),u=r(49849);let h=n=class extends((0,d.h)(c.A)){constructor(e){super(e),this.description=null,this.label=null,this.symbol=null,this.type="simple"}async collectRequiredFields(e,t){await Promise.all([this.collectSymbolFields(e,t),this.collectVVRequiredFields(e,t)])}async collectSymbolFields(e,t){await Promise.all(this.symbols.map(r=>r.collectRequiredFields(e,t)))}getSymbol(e,t){return this.symbol}async getSymbolAsync(e,t){return this.symbol}get symbols(){return this.symbol?[this.symbol]:[]}getAttributeHash(){return this.visualVariables?.reduce((e,t)=>e+t.getAttributeHash(),"")??""}getMeshHash(){return this.symbols.reduce((e,t)=>e+JSON.stringify(t),"")}get arcadeRequired(){return this.arcadeRequiredForVisualVariables}clone(){return new n({description:this.description,label:this.label,symbol:(0,s.o8)(this.symbol),visualVariables:(0,s.o8)(this.visualVariables),authoringInfo:(0,s.o8)(this.authoringInfo)})}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"description",void 0),(0,i.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],h.prototype,"label",void 0),(0,i.Cg)([(0,o.MZ)(u.Wp)],h.prototype,"symbol",void 0),(0,i.Cg)([(0,a.e)({simple:"simple"})],h.prototype,"type",void 0),h=n=(0,i.Cg)([(0,l.$)("esri.renderers.SimpleRenderer")],h)}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[431],{431:(t,e,n)=>{n.d(e,{o6:()=>U,HY:()=>b,hx:()=>G,Jb:()=>M});var r=n(9318);function i(t,e,n){const r=e/3,i=new Uint32Array(n+1),s=new Uint32Array(n+1),o=(t,e)=>{t<e?i[t+1]++:s[e+1]++};for(let e=0;e<r;e++){const n=t[3*e],r=t[3*e+1],i=t[3*e+2];o(n,r),o(r,i),o(i,n)}let a=0,c=0;for(let t=0;t<n;t++){const e=i[t+1],n=s[t+1];i[t+1]=a,s[t+1]=c,a+=e,c+=n}const u=new Uint32Array(6*r),f=i[n],l=(t,e,n)=>{if(t<e){const r=i[t+1]++;u[2*r]=e,u[2*r+1]=n}else{const r=s[e+1]++;u[2*f+2*r]=t,u[2*f+2*r+1]=n}};for(let e=0;e<r;e++){const n=t[3*e],r=t[3*e+1],i=t[3*e+2];l(n,r,e),l(r,i,e),l(i,n,e)}const h=(t,e)=>{const n=2*t,r=e-t;for(let t=1;t<r;t++){const e=u[n+2*t],r=u[n+2*t+1];let i=t-1;for(;i>=0&&u[n+2*i]>e;i--)u[n+2*i+2]=u[n+2*i],u[n+2*i+3]=u[n+2*i+1];u[n+2*i+2]=e,u[n+2*i+3]=r}};for(let t=0;t<n;t++)h(i[t],i[t+1]),h(f+s[t],f+s[t+1]);const d=new Int32Array(3*r),_=(e,n)=>e===t[3*n]?0:e===t[3*n+1]?1:e===t[3*n+2]?2:-1,p=(t,e)=>{const n=_(t,e);d[3*e+n]=-1},E=(t,e,n,r)=>{const i=_(t,e);d[3*e+i]=r;const s=_(n,r);d[3*r+s]=e};for(let t=0;t<n;t++){let e=i[t];const n=i[t+1];let r=s[t];const o=s[t+1];for(;e<n&&r<o;){const n=u[2*e],i=u[2*f+2*r];n===i?(E(t,u[2*e+1],i,u[2*f+2*r+1]),e++,r++):n<i?(p(t,u[2*e+1]),e++):(p(i,u[2*f+2*r+1]),r++)}for(;e<n;)p(t,u[2*e+1]),e++;for(;r<o;)p(u[2*f+2*r],u[2*f+2*r+1]),r++}return d}var s=n(1843),o=n(3055),a=n(87811),c=n(38954),u=n(51850),f=n(4431),l=n(34727);function h(t,e,n,r,i,s=2){const o=1/(Math.abs(n)+Math.abs(r)+Math.abs(i)),a=n*o,c=r*o,u=i<=0?(a>=0?1:-1)*(1-Math.abs(c)):a,f=i<=0?(c>=0?1:-1)*(1-Math.abs(a)):c,l=e*s;t[l]=d(u),t[l+1]=d(f)}function d(t){return(0,l.qE)(Math.round(32767*t),-32767,32767)}n(11868),n(34275);class _{updateSettings(t){this.settings=t,this._edgeHashFunction=t.reducedPrecision?m:A}write(t,e,n){T.seed=this._edgeHashFunction(n);const r=T.getIntRange(0,255),i=T.getIntRange(0,this.settings.variants-1),s=T.getFloat(),o=255*(.5*function(t){return Math.abs(t)**1.2*Math.sign(t)}(-(1-Math.min(s/.7,1))+Math.max(0,s-.7)/(1-.7))+.5);t.position0.setVec(e,n.position0),t.position1.setVec(e,n.position1),t.componentIndex.set(e,n.componentIndex),t.variantOffset.set(e,r),t.variantStroke.set(e,i),t.variantExtension.set(e,o)}}const p=new Float32Array(6),E=new Uint32Array(p.buffer),g=new Uint32Array(1);function A(t){return p[0]=t.position0[0],p[1]=t.position0[1],p[2]=t.position0[2],p[3]=t.position1[0],p[4]=t.position1[1],p[5]=t.position1[2],g[0]=31*(31*(31*(31*(31*(166811+E[0])+E[1])+E[2])+E[3])+E[4])+E[5],g[0]}function m(t){const e=p;e[0]=S(t.position0[0]),e[1]=S(t.position0[1]),e[2]=S(t.position0[2]),e[3]=S(t.position1[0]),e[4]=S(t.position1[1]),e[5]=S(t.position1[2]),g[0]=5381;for(let t=0;t<E.length;t++)g[0]=31*g[0]+E[t];return g[0]}const N=1e4;function S(t){return Math.round(t*N)/N}class R{constructor(){this._commonWriter=new _}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return o.gr.createBuffer(t)}write(t,e,n){this._commonWriter.write(t,e,n),(0,c.f)(I,n.faceNormal0,n.faceNormal1),(0,c.n)(I,I);const{typedBuffer:r,typedBufferStride:i}=t.normalCompressed;h(r,e,I[0],I[1],I[2],i)}static{this.Layout=o.gr}static{this.glLayout=(0,f.U)(o.gr,1)}}class y{constructor(){this._commonWriter=new _}updateSettings(t){this._commonWriter.updateSettings(t)}allocate(t){return o.In.createBuffer(t)}write(t,e,n){this._commonWriter.write(t,e,n);{const{typedBuffer:r,typedBufferStride:i}=t.normalCompressed;h(r,e,n.faceNormal0[0],n.faceNormal0[1],n.faceNormal0[2],i)}{const{typedBuffer:r,typedBufferStride:i}=t.normal2Compressed;h(r,e,n.faceNormal1[0],n.faceNormal1[1],n.faceNormal1[2],i)}}static{this.Layout=o.In}static{this.glLayout=(0,f.U)(o.In,1)}}const I=(0,u.vt)(),T=new a.A;var w=n(93406);function U(t){const e=G(t.data,t.skipDeduplicate,t.indices,t.indicesLength);return B.updateSettings(t.writerSettings),v.updateSettings(t.writerSettings),(0,w.K)(e,B,v)}function G(t,e,n,s){if(e){const e=i(n,s,t.count);return new F(n,s,e,t)}const a=(0,r.b)(t.buffer,t.stride/4,{originalIndices:n}),c=i(a.indices,s,a.uniqueCount);return{faces:a.indices,facesLength:a.indices.length,neighbors:c,vertices:o.I$.createView(a.buffer)}}class F{constructor(t,e,n,r){this.faces=t,this.facesLength=e,this.neighbors=n,this.vertices=r}}const B=new R,v=new y,M=(0,s.BP)().vec3f("position0").vec3f("position1"),b=(0,s.BP)().vec3f("position0").vec3f("position1").u16("componentIndex")},1843:(t,e,n)=>{n.d(e,{BP:()=>l,l5:()=>h});var r=n(20498),i=n(13030),s=n(90239),o=n(4431),a=n(620),c=n(85079);class u{constructor(t,e){this.layout=t,this.buffer="number"==typeof e?new ArrayBuffer(e*t.stride):e;for(const e of t.fields.keys()){const n=t.fields.get(e);this[e]=new n.constructor(this.buffer,n.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.buffer.byteLength/this.stride}get byteLength(){return this.buffer.byteLength}getField(t,e){const n=this[t];return n&&n.elementCount===e.ElementCount&&n.elementType===e.ElementType?n:null}slice(t,e){return new u(this.layout,this.buffer.slice(t*this.stride,e*this.stride))}copyFrom(t,e=0,n=0,r=t.count){const i=this.stride;if(i%4==0){const s=new Uint32Array(t.buffer,e*i,r*i/4);new Uint32Array(this.buffer,n*i,r*i/4).set(s)}else{const s=new Uint8Array(t.buffer,e*i,r*i);new Uint8Array(this.buffer,n*i,r*i).set(s)}return this}get cachedMemory(){return this.byteLength}dispose(){}}class f{constructor(t){this._stride=0,this._fields=new Map,t&&(this._stride=t.stride,t.fields.forEach(t=>this._fields.set(t[0],{...t[1],constructor:p(t[1].constructor)})))}freeze(){return this}get locations(){return(0,c.Xk)((0,o.U)(this))}vec2f16(t,e){return this._appendField(t,r.SX?i.ZD:i.gH,e),this}vec2f(t,e){return this._appendField(t,i.gH,e),this}vec2f64(t,e){return this._appendField(t,i.si,e),this}vec3f16(t,e){return this._appendField(t,r.SX?i.EC:i.xs,e),this}vec3f(t,e){return this._appendField(t,i.xs,e),this}vec3f64(t,e){return this._appendField(t,i.Xm,e),this}vec4f16(t,e){return this._appendField(t,r.SX?i.jz:i.Eq,e),this}vec4f(t,e){return this._appendField(t,i.Eq,e),this}vec4f64(t,e){return this._appendField(t,i.Aj,e),this}mat3f(t,e){return this._appendField(t,i.jZ,e),this}mat3f64(t,e){return this._appendField(t,i.j0,e),this}mat4f(t,e){return this._appendField(t,i.Sx,e),this}mat4f64(t,e){return this._appendField(t,i.E$,e),this}vec4u8(t,e){return this._appendField(t,i.XP,e),this}f16(t,e){return this._appendField(t,r.SX?i.XW:i.Y$,e),this}f32(t,e){return this._appendField(t,i.Y$,e),this}f64(t,e){return this._appendField(t,i.qB,e),this}u8(t,e){return this._appendField(t,i.SL,e),this}u16(t,e){return this._appendField(t,i.h,e),this}i8(t,e){return this._appendField(t,i.bf,e),this}vec2i8(t,e){return this._appendField(t,i.D6,e),this}vec2i16(t,e){return this._appendField(t,i.mJ,e),this}vec2u8(t,e){return this._appendField(t,i.LC,e),this}vec2u16(t,e){return this._appendField(t,i.Yi,e),this}vec4u16(t,e){return this._appendField(t,i.Uz,e),this}u32(t,e){return this._appendField(t,i.P,e),this}_appendField(t,e,n){this._fields.has(t)&&(0,a.vA)(!1,`${t} already added to vertex buffer layout`);const r=e.ElementCount*(0,s.GJ)(e.ElementType),i=this._stride;this._fields.set(t,{constructor:e,size:r,offset:i,optional:n}),this._alignFields()}_alignFields(){let t=0,e=1;this._fields.forEach(n=>{const r=(0,s.GJ)(n.constructor.ElementType);t=Math.floor((t+r-1)/r)*r,n.offset=t,t+=n.size,e=Math.max(e,r)}),t=Math.floor((t+e-1)/e)*e,this._stride=t}createBuffer(t){return new u(this,t)}createView(t){return new u(this,t)}clone(){const t=new f;return t._stride=this._stride,t._fields=new Map,this._fields.forEach((e,n)=>t._fields.set(n,e)),t.BufferType=this.BufferType,t}get stride(){return this._stride}get fields(){return this._fields}}function l(){return new f}class h{constructor(t){this.fields=new Array,t.fields.forEach((t,e)=>{const n={...t,constructor:_(t.constructor)};this.fields.push([e,n])}),this.stride=t.stride}}const d=[i.Y$,i.gH,i.xs,i.Eq,i.jZ,i.Sx,i.qB,i.si,i.Xm,i.Aj,i.j0,i.E$,i.SL,i.LC,i.eI,i.XP,i.h,i.Yi,i.nS,i.Uz,i.P,i.An,i.H$,i.ml,i.bf,i.D6,i.m8,i.TX,i.Qt,i.mJ,i.Vp,i.E7,i.My,i.UL,i.zD,i.Y4];function _(t){return`${t.ElementType}_${t.ElementCount}`}function p(t){return E.get(t)}const E=new Map;d.forEach(t=>E.set(_(t),t))},3055:(t,e,n)=>{n.d(e,{I$:()=>o,In:()=>f,gr:()=>u});var r=n(4431),i=n(1843),s=n(85079);const o=(0,i.BP)().vec3f("position").u16("componentIndex").freeze(),a=(0,i.BP)().vec2u8("sideness").freeze(),c=(0,r.U)(a),u=(0,i.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").u16("componentIndex").u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze(),f=(0,i.BP)().vec3f("position0").vec3f("position1").vec2i16("normalCompressed").vec2i16("normal2Compressed").u16("componentIndex").u8("variantOffset",{glNormalized:!0}).u8("variantStroke").u8("variantExtension",{glNormalized:!0}).freeze();(0,s._u)([c,(0,r.U)(u)]),(0,s._u)([c,(0,r.U)(f)])},4431:(t,e,n)=>{n.d(e,{U:()=>s}),n(44208);var r=n(63907),i=n(74038);function s(t,e=0){const n=t.stride;return Array.from(t.fields.keys()).map(s=>{const o=t.fields.get(s),a=o.constructor.ElementCount,c=function(t){switch(t){case"u8":return r.pe.UNSIGNED_BYTE;case"u16":return r.pe.UNSIGNED_SHORT;case"u32":return r.pe.UNSIGNED_INT;case"i8":return r.pe.BYTE;case"i16":return r.pe.SHORT;case"i32":return r.pe.INT;case"f16":return r.pe.HALF_FLOAT;case"f32":return r.pe.FLOAT;default:throw new Error("BufferType not supported in WebGL")}}(o.constructor.ElementType),u=o.offset,f=o.optional?.glNormalized??!1;return new i._(s,a,c,u,n,f,e)})}},9318:(t,e,n)=>{n.d(e,{b:()=>s});var r=n(34727),i=n(97146);function s(t,e,n){const s=Array.isArray(t),f=s?t.length/e:t.byteLength/(4*e),l=s?t:new Uint32Array(t,0,f*e),h=n?.minReduction??0,d=n?.originalIndices||null,_=d?d.length:0,p=n?.componentOffsets||null;let E=0;if(p)for(let t=0;t<p.length-1;t++){const e=p[t+1]-p[t];e>E&&(E=e)}else E=f;const g=Math.floor(1.1*E)+1;(null==u||u.length<2*g)&&(u=new Uint32Array((0,r.cU)(2*g)));for(let t=0;t<2*g;t++)u[t]=0;let A=0;const m=!!p&&!!d,N=m?_:f;let S=(0,i.my)(f);const R=new Uint32Array(_),y=1.96;let I=0!==h?Math.ceil(4*y*y/(h*h)*h*(1-h)):N,T=1,w=p?p[1]:N;for(let t=0;t<N;t++){if(t===I){const e=1-A/t;if(e+y*Math.sqrt(e*(1-e)/t)<h)return null;I*=2}if(t===w){for(let t=0;t<2*g;t++)u[t]=0;if(d)for(let t=p[T-1];t<p[T];t++)R[t]=S[d[t]];w=p[++T]}const n=m?d[t]:t,r=n*e,i=c(l,r,e);let s=i%g,a=A;for(;0!==u[2*s+1];){if(u[2*s]===i){const t=u[2*s+1]-1;if(o(l,r,t*e,e)){a=S[t];break}}s++,s>=g&&(s-=g)}a===A&&(u[2*s]=i,u[2*s+1]=n+1,A++),S[n]=a}if(0!==h&&1-A/f<h)return null;if(m){for(let t=p[T-1];t<R.length;t++)R[t]=S[d[t]];S=(0,i.uW)(R)}const U=s?new Array(A):new Uint32Array(A*e);A=0;for(let t=0;t<N;t++)S[t]===A&&(a(l,(m?d[t]:t)*e,U,A*e,e),A++);if(d&&!m){const t=new Uint32Array(_);for(let e=0;e<t.length;e++)t[e]=S[d[e]];S=(0,i.uW)(t)}return{buffer:Array.isArray(U)?U:U.buffer,indices:S,uniqueCount:A}}function o(t,e,n,r){for(let i=0;i<r;i++)if(t[e+i]!==t[n+i])return!1;return!0}function a(t,e,n,r,i){for(let s=0;s<i;s++)n[r+s]=t[e+s]}function c(t,e,n){let r=0;for(let i=0;i<n;i++)r=t[e+i]+r|0,r=r+(r<<11)+(r>>>2)|0;return r>>>0}let u=null},11868:(t,e,n)=>{n.d(e,{Wz:()=>s,oe:()=>i});var r=n(34275);function i(t,e=!1){return t<=r.y9?e?new Array(t).fill(0):new Array(t):new Float32Array(t)}function s(t){return(Array.isArray(t)?t.length:t.byteLength/8)<=r.y9?Array.from(t):new Float32Array(t)}},34727:(t,e,n)=>{n.d(e,{$8:()=>R,Cc:()=>o,Hx:()=>p,Io:()=>S,KJ:()=>u,Sp:()=>h,XM:()=>f,YN:()=>l,ZH:()=>_,cU:()=>i,gg:()=>d,hs:()=>a,kU:()=>c,or:()=>I,pF:()=>w,pq:()=>T,qE:()=>s});const r=new Float32Array(1);function i(t){--t;for(let e=1;e<32;e<<=1)t|=t>>e;return t+1}function s(t,e,n){return Math.min(Math.max(t,e),n)}function o(t,e,n){return t+(e-t)*n}function a(t,e,n,r,i){return o(r,i,(t-e)/(n-e))}function c(t){return t*Math.PI/180}function u(t){return 180*t/Math.PI}function f(t){return Math.acos(s(t,-1,1))}function l(t){return Math.asin(s(t,-1,1))}function h(t,e,n=1e-6){return t===e||!(!Number.isFinite(t)||!Number.isFinite(e))&&(t>e?t-e:e-t)<=n}function d(t,e,n=1e-6){return!h(t,e,n)&&t>e}function _(t,e,n=1e-6){return!h(t,e,n)&&t<e}function p(t,e,n=1e-6){return h(t,e,n)||t>e}const E=new DataView(new ArrayBuffer(Float64Array.BYTES_PER_ELEMENT));function g(t){return E.setFloat64(0,t),E.getBigInt64(0)}const A=1000000n,m=N(1);function N(t){const e=g(t=Math.abs(t)),n=function(t){return E.setBigInt64(0,t),E.getFloat64(0)}(e<=A?A:e-A);return Math.abs(t-n)}function S(t,e,n=m){if(t===e)return!0;if(!Number.isFinite(t)||!Number.isFinite(e))return!1;if(null!=n&&N(Math.min(Math.abs(t),Math.abs(e)))<n)return Math.abs(t-e)<=n;const r=g(t),i=g(e);return r<0==i<0&&!((r<i?i-r:r-i)>A)}function R(t){return y(Math.max(-T,Math.min(t,T)))}function y(t){return r[0]=t,r[0]}function I(t){const e=t[0]*t[0]+t[1]*t[1]+t[2]*t[2],n=t[3]*t[3]+t[4]*t[4]+t[5]*t[5],r=t[6]*t[6]+t[7]*t[7]+t[8]*t[8];return!(h(e,1)&&h(n,1)&&h(r,1))}const T=y(34028234663852886e22);function w(t,e,n){if(void 0===n||0===+n)return Math[t](e);if(e=+e,n=+n,isNaN(e)||"number"!=typeof n||n%1!=0)return NaN;let r=e.toString().split("e");return r=(e=Math[t](+(r[0]+"e"+(r[1]?+r[1]-n:-n)))).toString().split("e"),+(r[0]+"e"+(r[1]?+r[1]+n:n))}},51850:(t,e,n)=>{function r(){return[0,0,0]}function i(t){return[t[0],t[1],t[2]]}function s(t,e,n){return[t,e,n]}function o(t,e,n){return[t,e,n]}function a(t,e=[0,0,0]){const n=Math.min(3,t.length);for(let r=0;r<n;++r)e[r]=t[r];return e}function c(){return s(1,1,1)}function u(){return s(1,0,0)}function f(){return s(0,1,0)}function l(){return s(0,0,1)}n.d(e,{CN:()=>o,Cb:()=>E,Cw:()=>_,JP:()=>p,Un:()=>d,ci:()=>a,fA:()=>s,o8:()=>i,uY:()=>h,vt:()=>r});const h=[0,0,0],d=c(),_=u(),p=f(),E=l();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_X:_,UNIT_Y:p,UNIT_Z:E,ZEROS:h,clone:i,create:r,freeze:o,fromArray:a,fromValues:s,ones:c,unitX:u,unitY:f,unitZ:l,zeros:function(){return[0,0,0]}},Symbol.toStringTag,{value:"Module"}))},63907:(t,e,n)=>{n.d(e,{CQ:()=>p,Fq:()=>d,H0:()=>s,SB:()=>c,WR:()=>r,XN:()=>o,iE:()=>a,ld:()=>u,nI:()=>_,pe:()=>i,r6:()=>l,vt:()=>f,yI:()=>h});const r={POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},i={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},s={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},o=Object.values(s),a={DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},c={DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},u={FLOAT:i.FLOAT,UNSIGNED_BYTE:i.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:i.BYTE,UNSIGNED_SHORT:i.UNSIGNED_SHORT,SHORT:i.SHORT,UNSIGNED_INT:i.UNSIGNED_INT,INT:i.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269},f={Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12},l=36064,h=36065,d=36066,_=33306,p={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497}},74038:(t,e,n)=>{n.d(e,{_:()=>r});class r{constructor(t,e,n,r,i,s=!1,o=0){this.name=t,this.count=e,this.type=n,this.offset=r,this.stride=i,this.normalized=s,this.divisor=o}}},85079:(t,e,n)=>{function r(t){let e=0;return new Map(t.map(({name:t,count:n})=>{const r=[t,e];return 16===n?e+=4:9===n?e+=3:++e,r}))}function i(t){const e=new Map;let n=0;return t.forEach(t=>t.forEach(({name:t,count:r})=>{e.set(t,n),16===r?n+=4:9===r?n+=3:++n})),e}n.d(e,{Xk:()=>r,_u:()=>i})},90239:(t,e,n)=>{function r(t){switch(t){case"u8":case"i8":return 1;case"u16":case"i16":case"f16":return 2;case"u32":case"i32":case"f32":return 4;case"f64":return 8}}n.d(e,{GJ:()=>r})},93406:(t,e,n)=>{n.d(e,{K:()=>c});var r=n(34727),i=n(15142),s=n(38954),o=n(51850);const a=-1;function c(t,e,n){const r=t.vertices.position,i=t.vertices.componentIndex,o=p.position0,c=p.position1,l=p.faceNormal0,d=p.faceNormal1,{edges:_,normals:E}=f(t),g=_.length/4,A=e.allocate(g);let m=0;const N=g,y=n?.allocate(N);let T=0,w=0,U=0;h.length=0;for(let t=0;t<g;++t){const e=4*t;r.getVec(_.data[e],o),r.getVec(_.data[e+1],c);const n=h.pushNew();n.index=4*t,n.length=(0,s.j)(o,c)}h.sort((t,e)=>e.length-t.length);const G=new Array,F=new Array;h.forAll(({length:t,index:f})=>{const h=_.data[f],g=_.data[f+1],N=_.data[f+2],B=_.data[f+3],v=B===a;if(r.getVec(h,o),r.getVec(g,c),v){const t=3*N;(0,s.i)(l,E.data[t],E.data[t+1],E.data[t+2]),(0,s.c)(d,l),p.componentIndex=i.get(h),p.cosAngle=(0,s.e)(l,d)}else{let t=3*N;if((0,s.i)(l,E.data[t],E.data[t+1],E.data[t+2]),t=3*B,(0,s.i)(d,E.data[t],E.data[t+1],E.data[t+2]),p.componentIndex=i.get(h),p.cosAngle=(0,s.e)(l,d),function(t,e){return t.cosAngle>e}(p,R))return;p.cosAngle<-.9999&&(0,s.c)(d,l)}w+=t,U++,v||function(t,e){return t.cosAngle<e}(p,I)?(e.write(A,m++,p),G.push(t)):u(p,S)&&(y&&n&&n.write(y,T++,p),F.push(t))});const B=new Float32Array(G.reverse()),v=new Float32Array(F.reverse()),M=y&&n?{instancesData:y.slice(0,T),lodInfo:{lengths:v}}:void 0;return{regular:{instancesData:A.slice(0,m),lodInfo:{lengths:B}},silhouette:M,averageEdgeLength:w/U}}function u(t,e){const n=(0,r.XM)(t.cosAngle);return(0,s.E)(g,t.position1,t.position0),n*((0,s.e)((0,s.h)(E,t.faceNormal0,t.faceNormal1),g)>0?-1:1)>e}function f(t){const e=t.faces.length/3,n=t.faces,r=t.neighbors,i=t.vertices.position;d.length=_.length=0;for(let t=0;t<e;t++){const e=3*t,o=r[e],c=r[e+1],u=r[e+2],f=n[e],l=n[e+1],h=n[e+2];i.getVec(f,A),i.getVec(l,m),i.getVec(h,N),(0,s.d)(m,m,A),(0,s.d)(N,N,A),(0,s.h)(A,m,N),(0,s.n)(A,A),_.pushArray(A),(o===a||f<l)&&(d.push(f),d.push(l),d.push(t),d.push(o)),(c===a||l<h)&&(d.push(l),d.push(h),d.push(t),d.push(c)),(u===a||h<f)&&(d.push(h),d.push(f),d.push(t),d.push(u))}return{edges:d,normals:_}}class l{constructor(){this.index=0,this.length=0}}const h=new i.A({allocator:t=>t||new l,deallocator:null}),d=new i.A({deallocator:null}),_=new i.A({deallocator:null}),p=new class{constructor(){this.position0=(0,o.vt)(),this.position1=(0,o.vt)(),this.faceNormal0=(0,o.vt)(),this.faceNormal1=(0,o.vt)(),this.componentIndex=0,this.cosAngle=0}},E=(0,o.vt)(),g=(0,o.vt)(),A=(0,o.vt)(),m=(0,o.vt)(),N=(0,o.vt)(),S=(0,r.kU)(4),R=Math.cos(S),y=(0,r.kU)(35),I=Math.cos(y)},97146:(t,e,n)=>{n.d(e,{Dg:()=>s,my:()=>o,tM:()=>f,uW:()=>i});var r=n(34275);function i(t){return s(t,!0)}function s(t,e){if(Array.isArray(t)){if(t.length<r.y9)return t}else if(t.length<r.y9)return Array.from(t);let n=!0,i=!0;return t.some((t,e)=>(n=n&&0===t,i=i&&t===e,!n&&!i)),n?function(t){if(1===t)return c;if(t<r.y9)return new Array(t).fill(0);if(t>h.length){const e=Math.max(2*h.length,t);h=new Uint8Array(e)}return new Uint8Array(h.buffer,0,t)}(t.length):i?f(t.length):(0,r.iu)(t)&&t.BYTES_PER_ELEMENT===Uint16Array.BYTES_PER_ELEMENT?t:function(t,e){for(const n of t){if(n>=65536)return(0,r.iu)(t)?t:new Uint32Array(t);n>=256&&(e=!1)}return e?new Uint8Array(t):new Uint16Array(t)}(t,!e)}function o(t){return t<=r.y9?new Array(t):t<=65536?new Uint16Array(t):new Uint32Array(t)}let a=l(131072);const c=[0],u=(()=>{const t=new Uint16Array(65536);for(let e=0;e<t.length;++e)t[e]=e;return t})();function f(t){return 1===t?c:t<r.y9?Array.from(new Uint16Array(u.buffer,0,t)):t<u.length?new Uint16Array(u.buffer,0,t):(t>a.length&&(a=l(Math.max(2*a.length,t))),new Uint32Array(a.buffer,0,t))}function l(t){const e=new Uint32Array(t);for(let t=0;t<e.length;t++)e[t]=t;return e}let h=new Uint8Array(65536)}}]);
|