@arcgis/core 5.1.0-next.35 → 5.1.0-next.37
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/applications/Components/analysisUtils.js +1 -1
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/{e09722903e63f6cc2540.js → 03894992558d063d0d5e.js} +1 -1
- package/assets/esri/core/workers/chunks/13838b6c045425e73cf8.js +1 -0
- package/assets/esri/core/workers/chunks/1d54b71c43d9d6a5f713.js +1 -0
- package/assets/esri/core/workers/chunks/29ff5325e604dd0adc37.js +1 -0
- package/assets/esri/core/workers/chunks/34f79355145c8e4c59dd.js +1 -0
- package/assets/esri/core/workers/chunks/3be111488365768fd917.js +1 -0
- package/assets/esri/core/workers/chunks/448620052233e51b496c.js +1 -0
- package/assets/esri/core/workers/chunks/{973e3743cb7fdaa27f80.js → 4e07827ab870c65377d3.js} +1 -1
- package/assets/esri/core/workers/chunks/{2d49a611ad3441d7e759.js → 64450e280d602c5b0863.js} +5 -5
- package/assets/esri/core/workers/chunks/{eb811adbc5243d293ef5.js → 653d61aaaacb169b9418.js} +1 -1
- package/assets/esri/core/workers/chunks/{64e1273e4e79c73ed579.js → 8346c342b822487a5477.js} +1 -1
- package/assets/esri/core/workers/chunks/{a7a9716582b256d76e5b.js → 873c1b705ac3d4e6c384.js} +1 -1
- package/assets/esri/core/workers/chunks/{527547fa10d52cb3a7b1.js → 888f6387e795d45a7ad3.js} +2 -2
- package/assets/esri/core/workers/chunks/{7c16493ea34c49a6291e.js → 8ed7ff651241f8adc4bf.js} +1 -1
- package/assets/esri/core/workers/chunks/{bd902ae413887082b453.js → 9360a24ba765742f4e81.js} +1 -1
- package/assets/esri/core/workers/chunks/{2128a66f522d15493ce2.js → 98a84dc2988297bd6ab1.js} +1 -1
- package/assets/esri/core/workers/chunks/b396b5186d618fad1cee.js +1 -0
- package/assets/esri/core/workers/chunks/{a35d1be700ebd3109397.js → b5403c8b5099179dc16d.js} +2 -2
- package/assets/esri/core/workers/chunks/{f5144e570952ca62a1b0.js → b98c24229463029504e8.js} +1 -1
- package/assets/esri/core/workers/chunks/{19955d064c17ba2fd9ad.js → ba4e018492bd3327cd95.js} +1 -1
- package/assets/esri/core/workers/chunks/{0e78678281bcb888964d.js → c2e4cf3a277a6f40c7c2.js} +1 -1
- package/assets/esri/core/workers/chunks/d42d670edfae902c677b.js +2 -0
- package/assets/esri/core/workers/chunks/d6c2c9fedde498ad1a8c.js +2 -0
- package/assets/esri/core/workers/chunks/{e8ae71e482b8d5f54a72.js → dec51409372764e7093d.js} +1 -1
- package/assets/esri/core/workers/chunks/{6f1c590abd0e3adeb8fc.js → e011318fb8f8e59bc1f1.js} +1 -1
- package/assets/esri/core/workers/chunks/{b859d98fa1c39f8e4099.js → e0a63b5861e8c975097e.js} +1 -1
- package/assets/esri/core/workers/chunks/{04094d576bfa11d90f73.js → ebcfc20c1d92d90bf661.js} +1 -1
- package/assets/esri/core/workers/chunks/{2f20a21db44bd8448e9e.js → ecddd8c7593d3483ed09.js} +1 -1
- package/assets/esri/core/workers/chunks/{eaeb95be8d4032513247.js → fbada7f029b293d934ac.js} +2 -2
- package/assets/esri/core/workers/chunks/{67de5225b2c66c9c7bc9.js → ffc87a038712a4c9d2cb.js} +1 -1
- package/chunks/ChapmanAtmosphere.glsl.js +4 -4
- package/chunks/Clouds.glsl.js +14 -14
- package/chunks/ComponentShader.glsl.js +1 -1
- package/chunks/DefaultMaterial.glsl.js +1 -1
- package/chunks/GaussianSplat.glsl.js +2 -2
- package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
- package/chunks/GeodeticUtils.js +1 -1
- package/chunks/Haze.glsl.js +4 -4
- package/chunks/MultiPathImpl.js +1 -1
- package/chunks/NoiseTextureAtlas.glsl.js +34 -34
- package/chunks/OperatorGeodesicBuffer.js +1 -1
- package/chunks/OperatorGeodeticArea.js +1 -1
- package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
- package/chunks/OperatorGeodeticLength.js +1 -1
- package/chunks/OperatorProximityGeodesic.js +1 -1
- package/chunks/OperatorShapePreservingLength.js +1 -1
- package/chunks/OperatorShapePreservingProject.js +1 -1
- package/chunks/Path.glsl.js +2 -2
- package/chunks/Point2D.js +1 -1
- package/chunks/RealisticTree.glsl.js +1 -1
- package/chunks/SlicePlaneMaterial.glsl.js +6 -5
- package/chunks/SpatialReference.js +1 -1
- package/config.js +1 -1
- package/geometry/operators/gx/operatorAlphaShape.js +1 -1
- package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
- package/intl.js +1 -1
- package/kernel.js +1 -1
- package/layers/graphics/dehydratedPoint.js +1 -1
- package/layers/video/VideoController.js +1 -1
- package/package.json +4 -4
- package/support/revision.js +1 -1
- package/views/2d/layers/MediaLayerView2D.js +1 -1
- package/views/2d/layers/TileLayerView2D.js +1 -1
- package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
- package/views/3d/analysis/Dimension/DimensionController.js +1 -1
- package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
- package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
- package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
- package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
- package/views/3d/environment/EnvironmentRenderer.js +1 -1
- package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
- package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
- package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
- package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
- package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
- package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
- package/views/3d/state/NearFarHeuristic.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianTile.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentShader.glsl.js +1 -1
- package/views/3d/{environment → webgl-engine/effects/atmosphere}/ChapmanApproximation.glsl.js +3 -3
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphereTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphereTechniqueConfiguration.js +2 -0
- package/views/3d/{environment → webgl-engine/effects/atmosphere}/ChapmanRaymarching.glsl.js +5 -5
- package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphereTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphereTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/atmosphereUtils.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/Clouds.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsCompositionTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsParameters.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/CloudsTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasDimensions.js +2 -0
- package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/fog/Fog.js +2 -0
- package/views/3d/webgl-engine/effects/fog/FogTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/fog/FogTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/effects/haze/Haze.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
- package/views/3d/webgl-engine/effects/precipitation/Precipitation.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/precipitation/Precipitation.js +2 -0
- package/views/3d/webgl-engine/effects/precipitation/PrecipitationTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/precipitation/PrecipitationTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
- package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
- package/views/3d/webgl-engine/materials/Path.glsl.js +1 -1
- package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
- package/views/3d/webgl-engine/materials/renderers/VaoRenderer.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechniqueConfiguration.js +2 -0
- package/views/VideoView.js +1 -1
- package/views/interactive/sketch/normalizedPoint.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/SelfSnappingEngine.js +1 -1
- package/views/interactive/snapping/SnappingAlgorithm.js +1 -1
- package/views/interactive/snapping/SnappingManager.js +1 -1
- package/views/interactive/snapping/candidates/dehydrated/DehydratedVertexSnappingCandidate.js +1 -1
- package/views/interactive/tooltip/infos/TooltipInfoWithCoordinates.js +1 -1
- package/views/support/MeasurementWorker.js +1 -1
- package/views/support/MeasurementWorkerHandle.js +1 -1
- package/views/support/measurementWorkerUtils.js +1 -1
- package/views/webgl/WebGLDriverTest.js +1 -1
- package/widgets/OrientedImageryViewer.js +1 -1
- package/assets/esri/core/workers/chunks/144acac9bb1aa78f1170.js +0 -1
- package/assets/esri/core/workers/chunks/4490f8eeeb2ee04daa9d.js +0 -2
- package/assets/esri/core/workers/chunks/63722607fbf8d411188d.js +0 -1
- package/assets/esri/core/workers/chunks/6ac84e6d33104e74398d.js +0 -1
- package/assets/esri/core/workers/chunks/a53979c45ee429e21b99.js +0 -2
- package/assets/esri/core/workers/chunks/b1ddc837a6805a09d0da.js +0 -1
- package/assets/esri/core/workers/chunks/ce3e192fbb53a9c6eb3b.js +0 -1
- package/assets/esri/core/workers/chunks/de5719ef663224860af5.js +0 -1
- package/assets/esri/core/workers/chunks/f7506c9d57b2ae0c5fd3.js +0 -1
- package/views/3d/environment/ChapmanAtmosphere.glsl.js +0 -2
- package/views/3d/environment/ChapmanAtmosphere.js +0 -2
- package/views/3d/environment/ChapmanAtmosphereTechnique.js +0 -2
- package/views/3d/environment/ChapmanAtmosphereTechniqueConfiguration.js +0 -2
- package/views/3d/environment/Clouds.glsl.js +0 -2
- package/views/3d/environment/CloudsComposition.glsl.js +0 -2
- package/views/3d/environment/CloudsComposition.js +0 -2
- package/views/3d/environment/CloudsCompositionTechnique.js +0 -2
- package/views/3d/environment/CloudsParameters.js +0 -2
- package/views/3d/environment/CloudsRenderer.js +0 -2
- package/views/3d/environment/CloudsTechnique.js +0 -2
- package/views/3d/environment/CloudsTechniqueConfiguration.js +0 -2
- package/views/3d/environment/Fog.glsl.js +0 -2
- package/views/3d/environment/Fog.js +0 -2
- package/views/3d/environment/FogTechnique.js +0 -2
- package/views/3d/environment/FogTechniqueConfiguration.js +0 -2
- package/views/3d/environment/LocalAtmosphere.js +0 -2
- package/views/3d/environment/MarsAtmosphere.js +0 -2
- package/views/3d/environment/NoiseTextureAtlas.glsl.js +0 -2
- package/views/3d/environment/NoiseTextureAtlas.js +0 -2
- package/views/3d/environment/NoiseTextureAtlasConfiguration.js +0 -2
- package/views/3d/environment/NoiseTextureAtlasDimensions.js +0 -2
- package/views/3d/environment/NoiseTextureAtlasTechnique.js +0 -2
- package/views/3d/environment/Precipitation.glsl.js +0 -2
- package/views/3d/environment/Precipitation.js +0 -2
- package/views/3d/environment/PrecipitationTechnique.js +0 -2
- package/views/3d/environment/PrecipitationTechniqueConfiguration.js +0 -2
- package/views/3d/environment/SimpleAtmosphere.glsl.js +0 -2
- package/views/3d/environment/SimpleAtmosphereTechnique.js +0 -2
- package/views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js +0 -2
- package/views/3d/environment/atmosphereUtils.js +0 -2
- package/views/support/geodesicAreaMeasurementUtils.js +0 -2
- package/views/support/geodesicLengthMeasurementUtils.js +0 -2
- package/views/support/geodesicMeasurementUtils.js +0 -2
- package/views/webgl/AppleAmdDriverHelper.js +0 -2
- package/views/webgl/testAppleAmdDrawArrays.js +0 -2
- /package/assets/esri/core/workers/chunks/{4490f8eeeb2ee04daa9d.js.LICENSE.txt → 888f6387e795d45a7ad3.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{a35d1be700ebd3109397.js.LICENSE.txt → b5403c8b5099179dc16d.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{a53979c45ee429e21b99.js.LICENSE.txt → d42d670edfae902c677b.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{527547fa10d52cb3a7b1.js.LICENSE.txt → d6c2c9fedde498ad1a8c.js.LICENSE.txt} +0 -0
- /package/assets/esri/core/workers/chunks/{eaeb95be8d4032513247.js.LICENSE.txt → fbada7f029b293d934ac.js.LICENSE.txt} +0 -0
- /package/views/3d/{environment/resources → webgl-engine/effects/atmosphere}/MarsAtmosphereTexture.js +0 -0
- /package/views/3d/{environment/resources → webgl-engine/effects/atmosphere}/SimpleAtmosphereTexture.js +0 -0
- /package/views/3d/{environment → webgl-engine/effects/clouds}/Clouds.js +0 -0
- /package/views/3d/{environment → webgl-engine/effects/clouds}/CloudsPresets.js +0 -0
- /package/views/3d/webgl-engine/effects/{weather → snowcover}/SnowCover.glsl.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[883],{90883(e,t,i){i.r(t),i.d(t,{Notice:()=>u}),i(20107),i(7659);var o=i(50917),c=i(34857),n=i(11758),a=i(25339),l=i(53660),r=i(27617);const s={danger:"exclamationMarkTriangleF",info:"informationF",success:"checkCircleF",warning:"exclamationMarkTriangleF"};var d=i(31910),h=i(53250),g=i(9223),p=i(5918);const v=c.AH`:host([scale=s]){--calcite-notice-spacing-token-small: .5rem;--calcite-notice-spacing-token-large: .75rem}:host([scale=s]) .container slot[name=title]::slotted(*),:host([scale=s]) .container *::slotted([slot=title]){font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=s]) .container slot[name=message]::slotted(*),:host([scale=s]) .container *::slotted([slot=message]){font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=s]) ::slotted(calcite-link){font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=m]){--calcite-notice-spacing-token-small: .75rem;--calcite-notice-spacing-token-large: 1rem}:host([scale=m]) .container slot[name=title]::slotted(*),:host([scale=m]) .container *::slotted([slot=title]){font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=m]) .container slot[name=message]::slotted(*),:host([scale=m]) .container *::slotted([slot=message]){font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=m]) ::slotted(calcite-link){font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]){--calcite-notice-spacing-token-small: 1rem;--calcite-notice-spacing-token-large: 1.25rem}:host([scale=l]) .container slot[name=title]::slotted(*),:host([scale=l]) .container *::slotted([slot=title]){font-size:var(--calcite-font-size-relative-lg);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]) .container slot[name=message]::slotted(*),:host([scale=l]) .container *::slotted([slot=message]){font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]) ::slotted(calcite-link){font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]) .notice-close{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=l]) .actions-end{margin-inline-end:var(--calcite-spacing-sm);gap:var(--calcite-spacing-sm)}:host([width=auto]){--calcite-notice-width: auto}:host([width=half]){--calcite-notice-width: 50%}:host([width=full]){--calcite-notice-width: 100%}:host{margin-inline:auto;display:none;max-inline-size:100%;align-items:center;inline-size:var(--calcite-notice-width)}.container{pointer-events:none;margin-block:0px;box-sizing:border-box;display:flex;inline-size:100%;opacity:0;overflow:hidden;max-block-size:0;transition-property:opacity,max-block-size;transition-duration:var(--calcite-animation-timing);text-align:start;border-radius:var(--calcite-notice-corner-radius, var(--calcite-corner-radius-sm));box-shadow:var(--calcite-notice-shadow, var(--calcite-shadow-none))}:host{display:flex}:host([open]) .container{pointer-events:auto;max-block-size:100%;align-items:center;opacity:1;overflow:visible}:host([open][appearance=outline-fill]) .container{border:var(--calcite-border-width-sm) solid}.container slot[name=title]::slotted(*),.container *::slotted([slot=title]){margin:0;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-notice-title-text-color, var(--calcite-color-text-1))}.container slot[name=message]::slotted(*),.container *::slotted([slot=message]){margin:0;display:inline;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-notice-content-text-color, var(--calcite-color-text-2))}:host(:not([kind=neutral])[appearance=solid]) .container slot[name=title]::slotted(*),:host(:not([kind=neutral])[appearance=solid]) .container *::slotted([slot=title]){color:var(--calcite-notice-title-text-color, var(--calcite-color-text-inverse))}:host(:not([kind=neutral])[appearance=solid]) .container slot[name=message]::slotted(*),:host(:not([kind=neutral])[appearance=solid]) .container *::slotted([slot=message]){color:var(--calcite-notice-content-text-color, var(--calcite-color-text-inverse))}.notice-content{box-sizing:border-box;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;padding-inline:var(--calcite-notice-spacing-token-large);flex:0 0 auto;display:flex;min-inline-size:0px;flex-direction:column;overflow-wrap:break-word;flex:1 1 0;padding-block:var(--calcite-notice-spacing-token-small);padding-inline:0 var(--calcite-notice-spacing-token-large)}.notice-content:first-of-type:not(:only-child){padding-inline-start:var(--calcite-notice-spacing-token-large)}.notice-content:only-of-type{padding-block:var(--calcite-notice-spacing-token-small);padding-inline:var(--calcite-notice-spacing-token-large)}.notice-icon{display:flex;align-items:center;box-sizing:border-box;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;padding-block:var(--calcite-notice-spacing-token-small);padding-inline:var(--calcite-notice-spacing-token-large);flex:0 0 auto;padding-inline:var(--calcite-notice-spacing-token-small)}.notice-close{box-sizing:border-box;display:flex;cursor:pointer;align-items:center;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;flex:0 0 auto;margin-inline-end:var(--calcite-spacing-xs);--calcite-action-background-color: var(--calcite-notice-close-background-color);--calcite-action-background-color-hover: var( --calcite-notice-close-background-color-hover, var(--calcite-notice-close-background-color-focus) );--calcite-action-background-color-press: var(--calcite-notice-close-background-color-press);--calcite-action-text-color: var(--calcite-notice-close-icon-color, var(--calcite-color-text-3));--calcite-action-text-color-press: var(--calcite-notice-close-icon-color-hover)}.actions-end{display:flex;align-items:center;flex:0 0 auto;margin-inline-end:var(--calcite-spacing-xs);gap:var(--calcite-spacing-xs)}:host([kind=brand][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-brand) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-brand) 5%, var(--calcite-color-foreground-1)))}:host([kind=brand][appearance=outline-fill]) .notice-icon,:host([kind=brand][appearance=transparent]) .notice-icon{color:var(--calcite-color-brand)}:host([kind=info][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-status-info) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-status-info) 5%, var(--calcite-color-foreground-1)))}:host([kind=info][appearance=outline-fill]) .notice-icon,:host([kind=info][appearance=transparent]) .notice-icon{color:var(--calcite-color-status-info)}:host([kind=danger][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-status-danger) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-status-danger) 5%, var(--calcite-color-foreground-1)))}:host([kind=danger][appearance=outline-fill]) .notice-icon,:host([kind=danger][appearance=transparent]) .notice-icon{color:var(--calcite-color-status-danger)}:host([kind=success][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-status-success) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-status-success) 5%, var(--calcite-color-foreground-1)))}:host([kind=success][appearance=outline-fill]) .notice-icon,:host([kind=success][appearance=transparent]) .notice-icon{color:var(--calcite-color-status-success)}:host([kind=warning][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-status-warning) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-status-warning) 5%, var(--calcite-color-foreground-1)))}:host([kind=warning][appearance=outline-fill]) .notice-icon,:host([kind=warning][appearance=transparent]) .notice-icon{color:var(--calcite-color-status-warning)}:host([kind=neutral][appearance=outline-fill]) .container{border-color:var(--calcite-color-border-2);background-color:var(--calcite-notice-background-color, var(--calcite-color-foreground-1))}:host([kind=neutral]) .notice-icon{color:var(--calcite-color-text-3)}:host([appearance=transparent]) .container{background-color:transparent}:host([hidden]){display:none}[hidden]{display:none}`;class u extends a.WF{constructor(){super(...arguments),this.closeButtonRef=(0,n._)(),this.transitionProp="opacity",this.transitionRef=(0,n._)(),this.messages=(0,g.u)(),this.focusSetter=(0,p.u)()(this),this.hasActionEnd=!1,this.appearance="outline-fill",this.closable=!1,this.iconFlipRtl=!1,this.kind="brand",this.open=!1,this.scale="m",this.width="auto",this.calciteNoticeBeforeClose=(0,l.c)({cancelable:!1}),this.calciteNoticeBeforeOpen=(0,l.c)({cancelable:!1}),this.calciteNoticeClose=(0,l.c)({cancelable:!1}),this.calciteNoticeOpen=(0,l.c)({cancelable:!1})}static{this.properties={hasActionEnd:[16,{},{state:!0}],appearance:[3,{},{reflect:!0}],closable:[7,{},{reflect:!0,type:Boolean}],icon:[3,{converter:a.pf,type:String},{reflect:!0}],iconFlipRtl:[7,{},{reflect:!0,type:Boolean}],kind:[3,{},{reflect:!0}],messageOverrides:[0,{},{attribute:!1}],open:[7,{},{reflect:!0,type:Boolean}],scale:[3,{},{reflect:!0}],width:[3,{},{reflect:!0}]}}static{this.styles=v}async setFocus(e){return this.focusSetter(()=>this.el.querySelector("calcite-link")||this.closeButtonRef.value,e)}async load(){this.kindIcons={...s,brand:"lightbulb"},this.requestedIcon=(0,r.d)(this.kindIcons,this.icon,this.kind)}willUpdate(e){e.has("open")&&(this.hasUpdated||!1!==this.open)&&(0,d.t)(this),(e.has("icon")||e.has("kind")&&(this.hasUpdated||"brand"!==this.kind))&&(this.requestedIcon=(0,r.d)(this.kindIcons,this.icon,this.kind))}onBeforeClose(){this.calciteNoticeBeforeClose.emit()}onBeforeOpen(){this.calciteNoticeBeforeOpen.emit()}onClose(){this.calciteNoticeClose.emit()}onOpen(){this.calciteNoticeOpen.emit()}close(){this.open=!1}handleActionsEndSlotChange(e){this.hasActionEnd=(0,r.s)(e)}render(){const e=c.qy`<calcite-action class=${(0,a.CP)("notice-close")} icon=x @click=${this.close} .scale=${this.scale} .text=${this.messages.close} ${(0,n.K)(this.closeButtonRef)}></calcite-action>`;return c.qy`<div class=${(0,a.CP)("container")} ${(0,n.K)(this.transitionRef)}>${this.requestedIcon?c.qy`<div class=${(0,a.CP)("notice-icon")}><calcite-icon .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${(0,h.g)(this.scale)}></calcite-icon></div>`:null}<div class=${(0,a.CP)("notice-content")}><slot name=${"title"}></slot><slot name=${"message"}></slot><slot name=${"link"}></slot></div><div class=${(0,a.CP)("actions-end")} .hidden=${!this.hasActionEnd}><slot name=${"actions-end"} @slotchange=${this.handleActionsEndSlotChange}></slot></div>${this.closable?e:null}</div>`}}(0,o.c)("calcite-notice",u)}}]);
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[883],{90883(e,t,i){i.r(t),i.d(t,{Notice:()=>u}),i(20107),i(7659);var o=i(50917),c=i(34857),n=i(11758),a=i(67145),l=i(25971),r=i(27617);const s={danger:"exclamationMarkTriangleF",info:"informationF",success:"checkCircleF",warning:"exclamationMarkTriangleF"};var d=i(31910),h=i(53250),g=i(9223),p=i(5918);const v=c.AH`:host([scale=s]){--calcite-notice-spacing-token-small: .5rem;--calcite-notice-spacing-token-large: .75rem}:host([scale=s]) .container slot[name=title]::slotted(*),:host([scale=s]) .container *::slotted([slot=title]){font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=s]) .container slot[name=message]::slotted(*),:host([scale=s]) .container *::slotted([slot=message]){font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=s]) ::slotted(calcite-link){font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=m]){--calcite-notice-spacing-token-small: .75rem;--calcite-notice-spacing-token-large: 1rem}:host([scale=m]) .container slot[name=title]::slotted(*),:host([scale=m]) .container *::slotted([slot=title]){font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=m]) .container slot[name=message]::slotted(*),:host([scale=m]) .container *::slotted([slot=message]){font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=m]) ::slotted(calcite-link){font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]){--calcite-notice-spacing-token-small: 1rem;--calcite-notice-spacing-token-large: 1.25rem}:host([scale=l]) .container slot[name=title]::slotted(*),:host([scale=l]) .container *::slotted([slot=title]){font-size:var(--calcite-font-size-relative-lg);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]) .container slot[name=message]::slotted(*),:host([scale=l]) .container *::slotted([slot=message]){font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]) ::slotted(calcite-link){font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-relative-snug)}:host([scale=l]) .notice-close{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=l]) .actions-end{margin-inline-end:var(--calcite-spacing-sm);gap:var(--calcite-spacing-sm)}:host([width=auto]){--calcite-notice-width: auto}:host([width=half]){--calcite-notice-width: 50%}:host([width=full]){--calcite-notice-width: 100%}:host{margin-inline:auto;display:none;max-inline-size:100%;align-items:center;inline-size:var(--calcite-notice-width)}.container{pointer-events:none;margin-block:0px;box-sizing:border-box;display:flex;inline-size:100%;opacity:0;overflow:hidden;max-block-size:0;transition-property:opacity,max-block-size;transition-duration:var(--calcite-animation-timing);text-align:start;border-radius:var(--calcite-notice-corner-radius, var(--calcite-corner-radius-sm));box-shadow:var(--calcite-notice-shadow, var(--calcite-shadow-none))}:host{display:flex}:host([open]) .container{pointer-events:auto;max-block-size:100%;align-items:center;opacity:1;overflow:visible}:host([open][appearance=outline-fill]) .container{border:var(--calcite-border-width-sm) solid}.container slot[name=title]::slotted(*),.container *::slotted([slot=title]){margin:0;font-weight:var(--calcite-font-weight-medium);color:var(--calcite-notice-title-text-color, var(--calcite-color-text-1))}.container slot[name=message]::slotted(*),.container *::slotted([slot=message]){margin:0;display:inline;font-weight:var(--calcite-font-weight-normal);color:var(--calcite-notice-content-text-color, var(--calcite-color-text-2))}:host(:not([kind=neutral])[appearance=solid]) .container slot[name=title]::slotted(*),:host(:not([kind=neutral])[appearance=solid]) .container *::slotted([slot=title]){color:var(--calcite-notice-title-text-color, var(--calcite-color-text-inverse))}:host(:not([kind=neutral])[appearance=solid]) .container slot[name=message]::slotted(*),:host(:not([kind=neutral])[appearance=solid]) .container *::slotted([slot=message]){color:var(--calcite-notice-content-text-color, var(--calcite-color-text-inverse))}.notice-content{box-sizing:border-box;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;padding-inline:var(--calcite-notice-spacing-token-large);flex:0 0 auto;display:flex;min-inline-size:0px;flex-direction:column;overflow-wrap:break-word;flex:1 1 0;padding-block:var(--calcite-notice-spacing-token-small);padding-inline:0 var(--calcite-notice-spacing-token-large)}.notice-content:first-of-type:not(:only-child){padding-inline-start:var(--calcite-notice-spacing-token-large)}.notice-content:only-of-type{padding-block:var(--calcite-notice-spacing-token-small);padding-inline:var(--calcite-notice-spacing-token-large)}.notice-icon{display:flex;align-items:center;box-sizing:border-box;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;padding-block:var(--calcite-notice-spacing-token-small);padding-inline:var(--calcite-notice-spacing-token-large);flex:0 0 auto;padding-inline:var(--calcite-notice-spacing-token-small)}.notice-close{box-sizing:border-box;display:flex;cursor:pointer;align-items:center;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;flex:0 0 auto;margin-inline-end:var(--calcite-spacing-xs);--calcite-action-background-color: var(--calcite-notice-close-background-color);--calcite-action-background-color-hover: var( --calcite-notice-close-background-color-hover, var(--calcite-notice-close-background-color-focus) );--calcite-action-background-color-press: var(--calcite-notice-close-background-color-press);--calcite-action-text-color: var(--calcite-notice-close-icon-color, var(--calcite-color-text-3));--calcite-action-text-color-press: var(--calcite-notice-close-icon-color-hover)}.actions-end{display:flex;align-items:center;flex:0 0 auto;margin-inline-end:var(--calcite-spacing-xs);gap:var(--calcite-spacing-xs)}:host([kind=brand][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-brand) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-brand) 5%, var(--calcite-color-foreground-1)))}:host([kind=brand][appearance=outline-fill]) .notice-icon,:host([kind=brand][appearance=transparent]) .notice-icon{color:var(--calcite-color-brand)}:host([kind=info][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-status-info) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-status-info) 5%, var(--calcite-color-foreground-1)))}:host([kind=info][appearance=outline-fill]) .notice-icon,:host([kind=info][appearance=transparent]) .notice-icon{color:var(--calcite-color-status-info)}:host([kind=danger][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-status-danger) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-status-danger) 5%, var(--calcite-color-foreground-1)))}:host([kind=danger][appearance=outline-fill]) .notice-icon,:host([kind=danger][appearance=transparent]) .notice-icon{color:var(--calcite-color-status-danger)}:host([kind=success][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-status-success) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-status-success) 5%, var(--calcite-color-foreground-1)))}:host([kind=success][appearance=outline-fill]) .notice-icon,:host([kind=success][appearance=transparent]) .notice-icon{color:var(--calcite-color-status-success)}:host([kind=warning][appearance=outline-fill]) .container{border-color:var(--calcite-notice-border-color, rgb(from var(--calcite-color-status-warning) r g b/var(--calcite-opacity-half)));background-color:var(--calcite-notice-background-color, color-mix(in srgb, var(--calcite-color-status-warning) 5%, var(--calcite-color-foreground-1)))}:host([kind=warning][appearance=outline-fill]) .notice-icon,:host([kind=warning][appearance=transparent]) .notice-icon{color:var(--calcite-color-status-warning)}:host([kind=neutral][appearance=outline-fill]) .container{border-color:var(--calcite-color-border-2);background-color:var(--calcite-notice-background-color, var(--calcite-color-foreground-1))}:host([kind=neutral]) .notice-icon{color:var(--calcite-color-text-3)}:host([appearance=transparent]) .container{background-color:transparent}:host([hidden]){display:none}[hidden]{display:none}`;class u extends a.WF{constructor(){super(...arguments),this.closeButtonRef=(0,n._)(),this.transitionProp="opacity",this.transitionRef=(0,n._)(),this.messages=(0,g.u)(),this.focusSetter=(0,p.u)()(this),this.hasActionEnd=!1,this.appearance="outline-fill",this.closable=!1,this.iconFlipRtl=!1,this.kind="brand",this.open=!1,this.scale="m",this.width="auto",this.calciteNoticeBeforeClose=(0,l.c)({cancelable:!1}),this.calciteNoticeBeforeOpen=(0,l.c)({cancelable:!1}),this.calciteNoticeClose=(0,l.c)({cancelable:!1}),this.calciteNoticeOpen=(0,l.c)({cancelable:!1})}static{this.properties={hasActionEnd:[16,{},{state:!0}],appearance:[3,{},{reflect:!0}],closable:[7,{},{reflect:!0,type:Boolean}],icon:[3,{converter:a.pf,type:String},{reflect:!0}],iconFlipRtl:[7,{},{reflect:!0,type:Boolean}],kind:[3,{},{reflect:!0}],messageOverrides:[0,{},{attribute:!1}],open:[7,{},{reflect:!0,type:Boolean}],scale:[3,{},{reflect:!0}],width:[3,{},{reflect:!0}]}}static{this.styles=v}async setFocus(e){return this.focusSetter(()=>this.el.querySelector("calcite-link")||this.closeButtonRef.value,e)}async load(){this.kindIcons={...s,brand:"lightbulb"},this.requestedIcon=(0,r.d)(this.kindIcons,this.icon,this.kind)}willUpdate(e){e.has("open")&&(this.hasUpdated||!1!==this.open)&&(0,d.t)(this),(e.has("icon")||e.has("kind")&&(this.hasUpdated||"brand"!==this.kind))&&(this.requestedIcon=(0,r.d)(this.kindIcons,this.icon,this.kind))}onBeforeClose(){this.calciteNoticeBeforeClose.emit()}onBeforeOpen(){this.calciteNoticeBeforeOpen.emit()}onClose(){this.calciteNoticeClose.emit()}onOpen(){this.calciteNoticeOpen.emit()}close(){this.open=!1}handleActionsEndSlotChange(e){this.hasActionEnd=(0,r.s)(e)}render(){const e=c.qy`<calcite-action class=${(0,a.CP)("notice-close")} icon=x @click=${this.close} .scale=${this.scale} .text=${this.messages.close} ${(0,n.K)(this.closeButtonRef)}></calcite-action>`;return c.qy`<div class=${(0,a.CP)("container")} ${(0,n.K)(this.transitionRef)}>${this.requestedIcon?c.qy`<div class=${(0,a.CP)("notice-icon")}><calcite-icon .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${(0,h.g)(this.scale)}></calcite-icon></div>`:null}<div class=${(0,a.CP)("notice-content")}><slot name=${"title"}></slot><slot name=${"message"}></slot><slot name=${"link"}></slot></div><div class=${(0,a.CP)("actions-end")} .hidden=${!this.hasActionEnd}><slot name=${"actions-end"} @slotchange=${this.handleActionsEndSlotChange}></slot></div>${this.closable?e:null}</div>`}}(0,o.c)("calcite-notice",u)}}]);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3341,3354,9397],{28491(e,t,r){r.d(t,{D:()=>V,b:()=>G});var i=r(32680),n=r(49255),o=r(68317),s=r(76597),a=r(24321),c=r(72722),l=r(43519),u=r(96336),h=r(71955),d=r(53466),m=r(92700),f=r(72824),p=r(54154),g=r(9169),v=r(77695),_=r(
|
|
1
|
+
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[3341,3354,9397],{28491(e,t,r){r.d(t,{D:()=>V,b:()=>G});var i=r(32680),n=r(49255),o=r(68317),s=r(76597),a=r(24321),c=r(72722),l=r(43519),u=r(96336),h=r(71955),d=r(53466),m=r(92700),f=r(72824),p=r(54154),g=r(9169),v=r(77695),_=r(43730),x=r(25961),y=r(98619),w=r(62602),b=r(22393),T=r(59469),M=r(32482),S=r(96598),C=r(51406),E=r(91899),A=r(58614),R=r(27950),I=r(20693),O=r(33079),F=r(71988),D=r(20304),N=r(31821),P=r(63761),B=r(27832),H=r(19245),L=r(51255),z=r(14113),U=r(49788);function G(e){const t=new z.N5,{attributes:r,vertex:G,fragment:V,varyings:j}=t,{output:k,normalType:W,offsetBackfaces:$,spherical:Z,snowCover:q,pbrMode:Y,textureAlphaPremultiplied:X,instancedDoublePrecision:J,hasVertexColors:K,hasVertexTangents:Q,hasColorTexture:ee,hasNormalTexture:te,hasNormalTextureTransform:re,hasColorTextureTransform:ie}=e;if((0,I.NB)(G,e),r.add("position","vec3"),j.add("vpos","vec3",{invariant:!0}),t.include(E.A,e),t.include(c.B,e),t.include(p.Ge,e),t.include(C.q2,e),!(0,n._o)(k))return t.include(g.E,e),t;t.include(C.Sx,e),t.include(C.MU,e),t.include(C.O1,e),t.include(C.QM,e),(0,I.yu)(G,e),t.include(u.Y,e),t.include(s.d);const ne=0===W||1===W;return ne&&$&&t.include(i.M),t.include(v.J,e),t.include(f.Mh,e),t.include(a.v,e),j.add("vPositionLocal","vec3"),t.include(d.U,e),t.include(h.K,e),t.include(m.c,e),G.uniforms.add(new F.E("externalColor",e=>e.externalColor,{supportsNaN:!0})),j.add("vcolorExt","vec4"),t.include(S.Z,e),G.include(l.WD),G.include(l.oF),t.include(J?M.G:M.Bz,e),G.main.add(N.H`
|
|
2
2
|
forwardVertexColor();
|
|
3
3
|
|
|
4
4
|
MaskedColor maskedColor =
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
vec3 shadedColor = evaluateSceneLightingPBR(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight, shadingParams.viewDirection, normalGround, mrr, additionalAmbientIrradiance);`:N.H`vec3 shadedColor = evaluateSceneLighting(shadingNormal, albedo, shadow, 1.0 - ssao, additionalLight);`}
|
|
68
68
|
vec4 finalColor = vec4(shadedColor, opacity_);
|
|
69
69
|
outputColorHighlightOLID(applySlice(finalColor, vpos), albedo ${(0,N.If)(q,", snow")});
|
|
70
|
-
`),t}const V=Object.freeze(Object.defineProperty({__proto__:null,build:G},Symbol.toStringTag,{value:"Module"}))},57323(e,t,r){r.d(t,{R:()=>L,b:()=>H});var i=r(32680),n=r(49255),o=r(68317),s=r(76597),a=r(24321),c=r(72722),l=r(43519),u=r(96336),h=r(71955),d=r(53466),m=r(92700),f=r(54154),p=r(9169),g=r(
|
|
70
|
+
`),t}const V=Object.freeze(Object.defineProperty({__proto__:null,build:G},Symbol.toStringTag,{value:"Module"}))},57323(e,t,r){r.d(t,{R:()=>L,b:()=>H});var i=r(32680),n=r(49255),o=r(68317),s=r(76597),a=r(24321),c=r(72722),l=r(43519),u=r(96336),h=r(71955),d=r(53466),m=r(92700),f=r(54154),p=r(9169),g=r(43730),v=r(25961),_=r(98619),x=r(22393),y=r(59469),w=r(32482),b=r(96598),T=r(91899),M=r(58614),S=r(27950),C=r(20693),E=r(33079),A=r(71988),R=r(20304),I=r(31821),O=r(63761),F=r(27832),D=r(19245),N=r(26934),P=r(51255),B=r(14113);function H(e){const t=new B.N5,{attributes:r,vertex:H,fragment:L,varyings:z}=t,{output:U,offsetBackfaces:G,pbrMode:V,snowCover:j,spherical:k}=e,W=1===V||2===V;if((0,C.NB)(H,e),r.add("position","vec3"),z.add("vpos","vec3",{invariant:!0}),t.include(T.A,e),t.include(c.B,e),t.include(f.Ge,e),t.include(b.Z,e),!(0,n._o)(U))return t.include(p.E,e),t;(0,C.yu)(t.vertex,e),t.include(u.Y,e),t.include(s.d),G&&t.include(i.M),z.add("vNormalWorld","vec3"),z.add("localvpos","vec3",{invariant:!0}),t.include(d.U,e),t.include(h.K,e),t.include(a.v,e),t.include(m.c,e),H.include(l.WD),H.include(l.oF),H.uniforms.add(new A.E("externalColor",e=>e.externalColor,{supportsNaN:!0})),z.add("vcolorExt","vec4"),t.include(e.instancedDoublePrecision?w.G:w.Bz,e),H.include(N.Q),H.main.add(I.H`
|
|
71
71
|
forwardVertexColor();
|
|
72
72
|
|
|
73
73
|
MaskedColor maskedColorExt =
|
|
@@ -560,7 +560,7 @@ vec3 rawNormal = textureLookup(normalTexture, uv).rgb * 2.0 - 1.0;`),v&&r.code.a
|
|
|
560
560
|
normalTextureTransformMatrix[1][0]/scale[0], normalTextureTransformMatrix[1][1]/scale[1], 0.0,
|
|
561
561
|
0.0, 0.0, 0.0 );
|
|
562
562
|
rawNormal.xy = (normalRotation * vec3(rawNormal.x, rawNormal.y, 1.0)).xy;`),r.code.add(c.H`return tangentSpace * rawNormal;
|
|
563
|
-
}`))}(e,t)}},4987(e,t,r){r.d(t,{n:()=>Ht});var i=r(31821),n=r(12791),o=r(5482),s=r(34727),a=r(97768),c=r(36708),l=r(78659),u=r(91429),h=r(37585),d=r(69540);let m=class extends d.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"rows",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"columns",void 0),m=(0,o.Cg)([(0,u.$K)("esri.CameraLayout")],m);const f=m;var p=r(69052),g=r(25482),v=r(56507),_=r(86738),x=r(43937),y=r(36005);let w=class extends((0,d.OU)(g.o)){constructor(...e){super(...e),this.position=new _.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new f}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){const n=e.clone();n.x=(0,v.GB)(e.x||0),n.y=(0,v.GB)(e.y||0),n.z=e.hasZ?(0,v.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){const r=new _.A;return r.read(e,t),r.x=(0,v.GB)(r.x||0),r.y=(0,v.GB)(r.y||0),r.z=r.hasZ?(0,v.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,o.Cg)([(0,u.MZ)({type:_.A,json:{write:{isRequired:!0}}})],w.prototype,"position",void 0),(0,o.Cg)([(0,x.K)("position")],w.prototype,"writePosition",null),(0,o.Cg)([(0,y.w)("position")],w.prototype,"readPosition",null),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>p.ie.normalize((0,v.GB)(e)))],w.prototype,"heading",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>(0,s.qE)((0,v.GB)(e),-180,180))],w.prototype,"tilt",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,u.wg)(e=>(0,s.qE)((0,v.GB)(e,55),1,170))],w.prototype,"fov",void 0),(0,o.Cg)([(0,u.MZ)({type:f,nonNullable:!0,json:{read:!1,write:!1}})],w.prototype,"layout",void 0),w=(0,o.Cg)([(0,u.$K)("esri.Camera")],w);var b=r(9093),T=r(35522),M=r(51850),S=r(16930),C=(r(48353),r(9762),r(65806)),E=r(27993),A=r(73941),R=(r(19419),r(71351)),I=r(69622),O=r(53966),F=r(90629),D=r(58083),N=r(48163),P=r(78955),B=r(91829),H=r(82919),L=r(44280);function z(e,t,r){e.worldUpAtPosition(t,U),(0,T.Re)(G,r,t);const i=(0,T.Bw)(G);return 0===i?0:(0,s.XM)((0,T.Om)(G,U)/i)}const U=(0,M.vt)(),G=(0,M.vt)();var V;let j=V=class extends I.A{constructor(e){super(e),this._ray=(0,R.vt)(),this._viewport=(0,B.fA)(0,0,1,1),this._padding=(0,B.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,N.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,b.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,b.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,b.vt)(),this._frustumDirty=!0,this._frustum=(0,H.vt)(),this._fullViewport=(0,B.vt)(),this._pixelRatio=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,M.vt)(),this._up=(0,M.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin)}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,T.Re)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,D.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),(0,T.hZ)((0,M.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,T.hZ)((0,M.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,T.hZ)((0,M.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,P.hs)((0,B.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,P.aI)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,P.hs)((0,B.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,P.aI)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,P.t2)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,P.C)(this._padding,e),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,D.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,D.B8)((0,b.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,b.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,T.Io)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,D.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,D.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,s=-i/2+this.column*o,a=s+o,c=-r/2+this.row*n,l=c+n,u=(0,D.$h)((0,b.vt)(),s*(1+2*this._padding[3]/e),a*(1+2*this._padding[1]/e),c*(1+2*this._padding[2]/t),l*(1+2*this._padding[0]/t),this.near,this.far),h=this._get("projectionMatrix");return h&&(0,D.aI)(h,u)?h:u}copyFrom(e){(0,T.C)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,P.C)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,P.C)(this._padding,e.padding),this.notifyChange("_padding"),(0,h.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,D.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,H.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,D.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),(0,P.C)(this._fullViewport,e.fullViewport),this.pixelRatio=e.pixelRatio,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new V).copyFrom(this)}equals(e){return(0,T.t2)(this.eye,e.eye)&&(0,T.t2)(this.center,e.center)&&(0,T.t2)(this.up,e.up)&&(0,P.t2)(this._viewport,e.viewport)&&(0,P.t2)(this._padding,e.padding)&&(0,h.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,P.hG)(e.screenPadding,this.screenPadding)>=t||(0,P.hG)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,T.jb)($,e.eye,e.center),(0,T.jb)(Z,this.eye,this.center);const r=(0,T.Om)($,Z),i=(0,T.uE)($),n=(0,T.uE)(Z),o=5e-4;return r*r>=(1-1e-10)*i*n&&(0,T.lo)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,L.gr)(this.viewForward,(0,T.Re)($,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,F.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==k&&(0,T.C)(k,e),k[3]=1,(0,P.Z0)(k,k,this.projectionMatrix);const r=Math.abs(k[3]);(0,T.hs)(k,k,1/r);const i=this.fullViewport;t[0]=(0,s.Cc)(0,i[0]+i[2],.5+.5*k[0]),t[1]=(0,s.Cc)(0,i[1]+i[3],.5+.5*k[1]),t[2]=.5*(k[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;k[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],k[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],k[2]=(2*e[2]-1)*e[3],k[3]=e[3],null!=this.inverseProjectionMatrix&&((0,P.Z0)(k,k,this.inverseProjectionMatrix),t[0]=k[0],t[1]=k[1],t[2]=k[2])}projectToScreen(e,t){return this.projectToRenderScreen(e,q),this.renderToScreen(q,t),t}projectToRenderScreen(e,t){if(k[0]=e[0],k[1]=e[1],k[2]=e[2],k[3]=1,(0,P.Z0)(k,k,this.viewProjectionMatrix),0===k[3])return null;const r=k;(0,T.hs)(r,r,1/Math.abs(k[3]));const i=this.fullViewport,n=(0,s.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,s.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,q),t)}unprojectFromRenderScreen(e,t){if((0,D.lw)(W,this.projectionMatrix,this.viewMatrix),!(0,D.B8)(W,W))return null;const r=this.fullViewport;return k[0]=2*(e[0]-r[0])/r[2]-1,k[1]=2*(e[1]-r[1])/r[3]-1,k[2]=2*e[2]-1,k[3]=1,(0,P.Z0)(k,k,W),0===k[3]?null:(t[0]=k[0]/k[3],t[1]=k[1]/k[3],t[2]=k[2]/k[3],t)}constrainWindowSize(e,t,r,i){const n=e*this.pixelRatio,o=t*this.pixelRatio,s=Math.max(n-r/2,0),a=Math.max(this.fullHeight-o-i/2,0),c=-Math.min(n-r/2,0),l=-Math.min(this.fullHeight-o-i/2,0),u=r-c- -Math.min(this.fullWidth-n-r/2,0),h=i-l- -Math.min(o-i/2,0);return[Math.round(s),Math.round(a),Math.round(u),Math.round(h)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){const{center:r,eye:i,distance:n,fovY:o}=this,s=Math.abs(Math.PI/2-z(t,r,i));return e.frustumCoverage(s,n,o)}_computeUpGlobal(){(0,T.Re)($,this.center,this.eye);const e=(0,T.Bw)(this.center);e<1?(0,T.t2)(this._up,M.Cb)&&((0,T.C)(this._up,M.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,T.Om)($,this.center))>.9999*(0,T.Bw)($)*e||((0,T.$A)(Z,$,this.center),(0,T.$A)(Z,Z,$),(0,T.S8)(Z,Z),(0,T.t2)(this._up,Z)||((0,T.C)(this._up,Z),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,T.oW)($,this.eye,this.center),Math.abs($[2])<=.9999&&((0,T.hs)($,$,$[2]),(0,T.hZ)($,-$[0],-$[1],1-$[2]),(0,T.S8)($,$),(0,T.t2)(this._up,$)||((0,T.C)(this._up,$),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r=""){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,T.t2)(e,t)||((0,T.C)(t,e),this._markViewDirty(),r.length&&this.notifyChange(r)):O.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,H.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,D.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewport",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_padding",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_fov",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_nearFar",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewDirty",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewMatrix",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_pixelRatio",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"pixelRatio",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_rows",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"rows",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_columns",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"columns",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"eye",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"center",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_center",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"up",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_up",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewForward",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewUp",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewRight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"nearFar",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"near",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"far",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"screenViewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"screenPadding",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"x",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"y",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"width",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"height",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fullWidth",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fullHeight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"_aspect",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"padding",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"projectionMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"inverseProjectionMatrix",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fov",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fovX",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fovY",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewInverseTransposeMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"_projectionMatrixInternal",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"relativeElevation",void 0),j=V=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl.RenderCamera")],j);const k=(0,B.vt)(),W=(0,b.vt)(),$=(0,M.vt)(),Z=(0,M.vt)(),q=(0,F.r_)();r(49718),r(6867),r(16396),(0,M.vt)(),(0,M.vt)(),(0,M.vt)();var Y=r(5443),X=r(39829),J=r(95108);function K(e,t,r,i){const n=function(e,t){const r=0===t||2===t?0:1,i=e[t],n=0===t||1===t?1:-1,o=0===r?1:0;return(e,t,s)=>{if(t[r]<i&&s[r]<i)return 1===n?0:1;if(t[r]>i&&s[r]>i)return 1===n?1:0;const a=(s[o]-t[o])/(s[r]-t[r]),c=t[o]+a*(i-t[r]);return e[r]=i,e[o]=c,(t[r]<i?1:-1)*n>0?2:3}}(r,i);if(e.length=0,t.length){1===n(ee,t[0],t[0])&&Q(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(n(ee,t[r],i)){case 1:Q(e,i);break;case 3:Q(e,(0,N.o8)(ee));break;case 2:Q(e,(0,N.o8)(ee)),Q(e,i)}}}}function Q(e,t){0!==e.length&&(0,h.aI)(e.at(-1),t)||e.push(t)}const ee=(0,N.vt)();var te=r(11964),re=r(27921);const ie=(0,M.vt)(),ne=(0,M.vt)();function oe(){return{direction:(0,M.vt)(),up:(0,M.vt)()}}function se(e,t,r,i,n){let o=(0,T.S8)(ie,e),a=(0,T.Om)(o,i);const c=a>0;a=Math.abs(a),a>.99&&(a=Math.abs((0,T.Om)(t,i)),a<.99?((0,T.C)(o,t),c&&(0,T.hs)(o,o,-1)):o=null);let l=0;if(o){(0,T.hs)(ne,i,(0,T.Om)(i,o)),(0,T.Re)(o,o,ne);const e=(0,T.Om)(o,n)/((0,T.Bw)(o)*(0,T.Bw)(n));(0,T.$A)(ne,o,n),l=((0,T.Om)(ne,i)>0?1:-1)*(0,s.KJ)((0,s.XM)(e))}const u=(0,s.KJ)((0,s.XM)(-(0,T.Om)(i,e)/(0,T.Bw)(e)));return r?(r.heading=l,r.tilt=u,r):{heading:l,tilt:u}}function ae(e,t,r,i){(0,T.Re)(ce,r,t),(0,re.T7)(i,(0,te.LV)(t,ce),e)||e===r||(0,T.C)(e,r)}const ce=(0,M.vt)(),le=(0,M.fA)(0,1,0),ue=(0,M.fA)(0,0,1),he=(0,b.vt)(),de=(0,M.vt)(),me=(0,M.vt)();function fe(e,t,r,i=oe()){const{direction:n,up:o}=i;return(0,D.N9)(he,-(0,s.kU)(t)),(0,D.eL)(he,he,(0,s.kU)(r)),(0,T.Z0)(n,ue,he),(0,T.hs)(n,n,-1),(0,T.Z0)(o,le,he),i}function pe(e,t,r,i,n){const o=t.lines[11].direction,s=(n-r.getAltitude(i))/o[2];(0,T.Ln)(e,i,o,s)}const ge=(0,M.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return se(t,r,i,ue,le)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n=fe(0,r,i),o=(0,M.vt)();return(0,T.hs)(o,n.direction,-t),(0,T.WQ)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,s.kU)(e)},headingTiltToDirectionUp:fe,lookAtTiltToEyeTilt:function(e){return(0,s.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,s=e.state.camera.eye,a=[],c=r.planes[5];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,R.LV)(t.origin,t.direction),n,ge)||pe(ge,r,i,t.endpoint,n),ae(ge,s,ge,c),a.push((0,N.fA)(ge[0],ge[1]))}return function(e,t,r){const i=e.map(e=>((0,T.hZ)(ge,e[0],e[1],0),t.fromRenderCoords(ge,ge,r),[ge[0],ge[1]]));return i.length<=2?new X.A({spatialReference:r}):(i.push(i[0].slice()),(0,J.$3)(i)||i.reverse(),new X.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return K(r,e,t,0),K(i,r,t,1),K(r,i,t,2),K(i,r,t,3),i}(a,i.extent),i,o)},toExtent:function(e,t,r,i,n){const o=e.renderSpatialReference,s=e.spatialReference??t.spatialReference;return(0,C.g)(t,de,o),(0,C.g)(t,me,o),de[0]-=r/2,me[0]+=r/2,de[1]-=i/2,me[1]+=i/2,(0,E.F)(de,o,de,s),(0,E.F)(me,o,me,s),n?(n.xmin=de[0],n.ymin=de[1],n.xmax=me[0],n.ymax=me[1],n.spatialReference=s):n=new Y.A(de[0],de[1],me[0],me[1],s),n}},Symbol.toStringTag,{value:"Module"}));var ve=r(34304),_e=r(17136),xe=r(94008),ye=r(28735);class we{get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}get origin(){return this._origin}get boundingSphere(){return this._boundingSphereDirty&&this._updateBoundingSphere(),this._boundingSphere}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,H.vt)(),this._points=(0,H.Qy)(),this.lines=new Array(12),this._origin=(0,M.vt)(),this._direction=(0,M.vt)(),this._boundingSphere=new xe.iy,this._altitude=null,this._boundingSphereDirty=!0;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,M.vt)(),endpoint:null}}update(e){(0,H.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,T.C)(this._origin,e.eye),(0,T.C)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines(),this._boundingSphereDirty=!0}updatePoints(e){for(let t=0;t<this._points.length;t++)(0,T.C)(this._points[t],e[t]);(0,H.DV)(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(e){return(0,H.m7)(this.frustum,e)}intersectsRay(e){return(0,H.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,H.ST)(this.frustum,e,t)}intersectsPoint(e){return(0,H.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;be(this.lines[t],e[t],e[r]),be(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),be(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}_updateBoundingSphere(){const{origin:e}=this,t=Me;(0,T.S8)(t,this.direction);const r=Te;(0,T.jb)(r,this.points[4],e);const i=.5*(0,T.Om)(r,r)/(0,T.Om)(t,r),n=this._boundingSphere,o=(0,T.Ln)(Se,e,t,i);n.center=o,n.radius=i}static{this.planePointIndices=H.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function be(e,t,r){e.origin=t,e.endpoint=r,(0,T.oW)(e.direction,t,r)}const Te=(0,M.vt)(),Me=(0,M.vt)(),Se=(0,M.vt)();r(86211);const Ce=(0,M.fA)(5802e-9,13558e-9,331e-7),Ee=(0,M.fA)(65e-8*3,5643e-9,255e-9);(0,M.fA)(Ce[0]+Ee[0],Ce[1]+Ee[1],Ce[2]+Ee[2]);class Ae{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new Ae(0,0)}static{this.Infinite=new Ae}}(0,M.vt)(),(0,M.vt)(),new xe.iy,(0,R.vt)(),new Y.A({xmin:0,ymin:0,zmin:0,xmax:0,ymax:0,zmax:0});var Re=r(32728);const Ie=(0,M.fA)(0,0,1),Oe=(0,T.S8)((0,M.vt)(),(0,M.fA)(1,1,1)),Fe=(0,b.vt)(),De=(0,M.vt)(),Ne=(0,M.vt)();function Pe(e,t,r,i=oe()){(0,T.$A)(De,e,Ie),0===(0,T.Om)(De,De)&&(0,T.$A)(De,e,Oe),(0,D.$0)(Fe,-(0,s.kU)(t),e),(0,D.e$)(Fe,Fe,-(0,s.kU)(r),De);const{up:n,direction:o}=i;return(0,T.$A)(n,De,e),(0,T.S8)(n,n),(0,T.Z0)(n,n,Fe),(0,T.S8)(o,e),(0,T.ze)(o,o),(0,T.Z0)(o,o,Fe),i}function Be(e){const t=e[1];e[1]=-e[2],e[2]=t}function He(e,t){const r=Pe(t,e.heading,e.tilt);return e.up=r.up,e}function Le(e,t){const r=[],i=[],n=(0,ve.FD)();for(let o=0;o<e.length;o++){const s=e[o],a=o===e.length-1?e[0]:e[o+1],c=(0,te.Cr)(s,a,$e),l=(0,re.vE)(t,c.origin,c.vector,0,ke);switch(l){case 2:r.push(s);break;case 3:i.push(s);break;case 0:case 1:{const[e,o,a]=0===l?[1,r,i]:[-1,i,r],c=(0,re.Qj)(t),u=(0,T.Ln)((0,M.vt)(),ke,c,e*n),h=(0,T.Ln)((0,M.vt)(),ke,c,e*-n);o.push(s),o.push(u),a.push(h)}}}const o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const ze={minCurvature:(0,s.kU)(5),maxCurvature:(0,s.kU)(50),minSamples:1,maxSamples:6},Ue=(0,M.fA)(1,0,0),Ge=(0,M.fA)(0,1,0),Ve=(0,M.vt)(),je=(0,M.vt)(),ke=(0,M.vt)(),We=new xe.iy,$e=(0,te.vt)(),Ze=(0,B.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const n=De,o=Ne;return(0,T.S8)(n,e),(0,T.$A)(Ne,n,Ie),0===(0,T.Om)(Ne,Ne)&&(0,T.$A)(Ne,n,Oe),(0,T.$A)(o,Ne,n),se(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n={eye:(0,M.vt)(),up:null,tilt:i,heading:r},o=De;o[0]=e[0],o[1]=e[2],o[2]=-e[1];const a=t,c=(0,s.kU)(r),l=(0,s.kU)(i),u=Math.sin(c),h=Math.cos(c),d=Math.sin(l),m=Math.cos(l),f=(0,T.Bw)(o);let p;if(Math.abs(l)<1e-8)p=a+f;else{const e=f/d,t=(0,s.YN)(a/e),r=Math.PI-l-t;p=e*Math.sin(r)}const g=m*a,v=a*a*(d*d),_=h*h*v,x=p-g,y=x*x,w=_*(_+y-o[1]*o[1]);if(w<0)return(0,T.hs)(n.eye,o,p/f),n.tilt=0,He(n,e);const b=Math.sqrt(w),S=o[1]*x,C=_+y;let E;if(E=h>0?-b+S:b+S,Math.abs(C)<1e-8)return f<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=a):(0,T.hs)(n.eye,o,p/f),n.tilt=0,Be(n.eye),He(n,e);n.eye[1]=E/C;const A=u*u*v,R=d*a,I=h*R*n.eye[1],O=n.eye[1]*n.eye[1],F=1-O,D=Math.sqrt(F),N=_*O+A-2*I*D*x+F*y;return Math.abs(N)<1e-8?((0,T.hs)(n.eye,o,p/f),n.tilt=0,Be(n.eye),He(n,e)):(n.eye[0]=(F*(p*o[0]-g*o[0])-R*D*(o[0]*n.eye[1]*h+o[2]*u))/N,n.eye[2]=(F*(p*o[2]-g*o[2])-R*D*(o[2]*n.eye[1]*h-o[0]*u))/N,(0,T.hs)(n.eye,n.eye,p),Be(n.eye),He(n,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,s.kU)(e),n=(0,T.Bw)(t);return(0,s.YN)(r/(n/Math.sin(i)))+i},headingTiltToDirectionUp:Pe,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,T.Bw)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,s.YN)(r/(n/Math.sin(e)));return(0,s.KJ)(e-o)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new we(r);i.near=2,n.update(i);const o=r.getAltitude(t),a=e.spatialReference,c=r.referenceEllipsoid.radius,l=i.eye,u=1+(0,T.Io)(l,t)/(c+o),h=Math.sqrt(u*u-1),{minCurvature:d,maxCurvature:m,minSamples:f,maxSamples:p}=ze,g=function(e){const{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return We.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage(We,t)}(e),v=(0,s.qE)((h-d)/(m-d),0,1),_=Math.round((0,s.Cc)(f,p,v)),x=i.aboveGround,y=n.planes[5],w=[],b=(0,re.O_)(M.uY,Ue,(0,re.vt)()),S=(0,re.O_)(M.uY,Ge,(0,re.vt)());(0,P.hZ)(Ze,0,0,0,0);const C=e=>{};for(let e=0;e<4;e++){const t=1===e&&!x||3===e&&x?1-g:0,i=1===e&&x||3===e&&!x?g:1,a=n.lines[e],c=n.lines[3===e?0:e+1];for(let n=0;n<_;n++){const u=n/_,h=0===n?0:(0,s.Cc)(t,i,1===e?1-(1-u)**2:3===e?u**2:u),d=(0,T.Cc)(je,a.origin,c.origin,h),m=(0,Re.nu)(a.direction,c.direction,h,Ve);r.intersectManifoldClosestSilhouette((0,R.LV)(d,m),o,ke),ae(ke,l,ke,y),w.push((0,M.o8)(ke)),0!==w.length&&C((0,T.lo)(w.at(-1),ke));const f=((0,re.Tj)(b,ke)?1:0)|((0,re.Tj)(S,ke)?2:0);Ze[f]=1}}w.length>2&&(0,T.lo)(w[0],w.at(-1));const E=function(e,t,r){const i=2*(0,ve.FD)();return e.map(e=>{const n=[];let o=!1;for(const s of e)t.fromRenderCoords(s,ke,r),Math.abs(s[0])<i&&Math.abs(s[1])<i?(n.push([null,ke[1]]),n.push([null,ke[1]]),o=!0):n.push([ke[0],ke[1]]);if(o)for(let e=0;e<n.length;e++){const t=n[e];if(null!=t[0])continue;const r=n[e+1],i=n.at(0===e?-1:e-1);t[0]=i[0],e++;const o=n.at(e===n.length-1?0:e+1);r[0]=o[0]}return n.push(n[0]),(0,J.$3)(n)||n.reverse(),n})}((0,P.m3)(Ze)>1?function(e,t){const r=[];for(const i of e)r.push(...Le(i,t));return r}(Le(w,b),S):[w],r,a);return new X.A({rings:E,spatialReference:a})},toExtent:function(e,t,r,i,n){let o,a,c,l;const u=t.latitude,h=(0,A.tO)(e.spatialReference).radius,d=t.longitude,m=function(e,t,r){const i=t/r,n=(0,s.kU)(e),o=Math.sin(i/2),a=Math.cos(n),c=2*(0,s.YN)(Math.sqrt(o*o/(a*a)));return(0,s.KJ)(c)}(u,r,h)/2;o=d-m,a=d+m;const f=(0,s.kU)(u),g=(1+Math.sin(f))/(1-Math.sin(f)),v=(g+1)*Math.tan(i/h/2),_=v*v;function x(e){const t=Math.PI/2;return(e=p.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(c=1.5*Math.PI-2*Math.atan(.5*(v+Math.sqrt(4*g+_))),l=c+i/h,c=x(c),l=x(l),l<c){const e=l;l=c,c=e}if(c=Math.max((0,s.KJ)(c),-90),l=Math.min((0,s.KJ)(l),90),a=_e.Y_.monotonic(o,a),a-o>180){const e=(a-o-180)/2;o+=e,a-=e}const y=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:S.A.WGS84;return n?(n.xmin=o,n.ymin=c,n.xmax=a,n.ymax=l,n.spatialReference=y):n=new Y.A(o,c,a,l,y),e.spatialReference&&e.spatialReference.isWebMercator&&(0,ye.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"}));const qe="composite-color",Ye=["final-color",qe,"opaque-color","transparent-color"],Xe={ANTIALIASING:"aa-color",CUTFILL_COLOR:"cutfill-color",CUTFILL_DEPTH:"cutfill-depth",FOCUSAREA_COLOR:"focusarea-color",FOCUSAREA:"focusarea",PRE_TRANSPARENT:"pre-transparent-color",HIGHLIGHT_COLOR:"highlight-color",LASERLINES:"laserline-color",MAGNIFIER:"magnifier-color",OCCLUDED:"occluded-color",OPAQUE_ENVIRONMENT:"opaque-environment-color",SSAO:"ssao",TRANSPARENT_ENVIRONMENT:"transparent-environment-color",VIEWSHED:"viewshed-color"};Array.from(Object.values(Xe)).concat(Ye),(0,M.vt)();var Je=r(49186),Ke=r(10107),Qe=r(64108),et=r(44208),tt=(r(74887),r(94656)),rt=r(63907);r(93637),new Set(["GL_OES_standard_derivatives","GL_EXT_frag_depth","GL_EXT_draw_buffers","GL_EXT_shader_texture_lod"]),new Map,(0,et.A)("esri-tests-disable-gpu-memory-measurements"),(0,tt.en)();(0,tt.en)();var it=r(90644),nt=r(76284),ot=r(48852),st=r(42293);const at=!!(0,et.A)("esri-tests-disable-gpu-memory-measurements");class ct{constructor(e,t){this._context=e,this._descriptor=t,this.type=2,this._context.instanceCounter.increment(rt.vt.Renderbuffer,this);const r=this._context.gl;this.glName=r.createRenderbuffer(),this._context.bindRenderbuffer(this);const{width:i,height:n,internalFormat:o,multisampled:s}=t;s?r.renderbufferStorageMultisample(r.RENDERBUFFER,this.samples,o,i,n):r.renderbufferStorage(r.RENDERBUFFER,o,i,n),this._context.bindRenderbuffer(null)}get descriptor(){return this._descriptor}get samples(){const e=this._descriptor.samples,t=this._context.parameters.maxSamples;return e?Math.min(e,t):t}get usedMemory(){return at?0:(e=this._descriptor).width<=0||e.height<=0||null==e.internalFormat?0:e.width*e.height*(0,st.MW)(e.internalFormat);var e}resize(e,t){const r=this._descriptor;if(r.width===e&&r.height===t)return;r.width=e,r.height=t;const i=this._context.gl;this._context.bindRenderbuffer(this),r.multisampled?i.renderbufferStorageMultisample(i.RENDERBUFFER,this.samples,r.internalFormat,r.width,r.height):i.renderbufferStorage(i.RENDERBUFFER,r.internalFormat,r.width,r.height),this._context.bindRenderbuffer(null)}dispose(){this._context&&(this._context.gl.deleteRenderbuffer(this.glName),this._context.instanceCounter.decrement(rt.vt.Renderbuffer,this),this._context=null)}}class lt{constructor(e,t,r){if(this._context=e,this._glName=null,this._colorAttachments=new Map,this._depthStencilBuffer=null,this._depthStencilTexture=null,this._initialized=!1,e.instanceCounter.increment(rt.vt.FramebufferObject,this),null!=t){const r=function(e,t){return ut(t)||ht(t)?t:dt(t)?new nt.A(e,t):function(e){return 3===mt(e)||null!=e&&"samples"in e}(t)?new ct(e,t):null}(e,t);null!=r&&(this._colorAttachments.set(rt.r6,r),ut(r)?this._validateTextureDescriptor(r.descriptor):this._validateRenderbufferDescriptor(r.descriptor)),this._validateColorAttachmentPoint(rt.r6)}if(null!=r)if(function(e){return ut(e)||dt(e)}(r))this._depthStencilTexture=ut(r)?r:new nt.A(e,r),this._validateTextureDescriptor(this._depthStencilTexture.descriptor);else{const t=ht(r)?r:new ct(e,r);this._depthStencilBuffer=t,this._validateRenderbufferDescriptor(t.descriptor)}}dispose(){const{_colorAttachments:e,_glName:t}=this;if(0===e.size&&!this._depthStencilBuffer&&!this._depthStencilTexture&&!t)return;const{_context:r}=this,i=r.getBoundFramebufferObject();e.forEach((e,t)=>this.detachColorTexture(t)?.dispose()),this.detachDepthStencilBuffer()?.dispose(),this.detachDepthStencilTexture()?.dispose(),r.gl.deleteFramebuffer(t),this._glName=null,r.bindFramebuffer(i===this?null:i),r.instanceCounter.decrement(rt.vt.FramebufferObject,this)}get glName(){return this._glName}get colorTexture(){const e=this._colorAttachments.get(rt.r6);return ut(e)?e:null}get depthStencil(){return this._depthStencilTexture||this._depthStencilBuffer}get depthStencilTexture(){return this._depthStencilTexture}get width(){const e=this._colorAttachments.get(rt.r6)??this._depthStencilTexture??this._depthStencilBuffer;return e?.descriptor?.width??0}get height(){const e=this._colorAttachments.get(rt.r6)??this._depthStencilTexture??this._depthStencilBuffer;return e?.descriptor?.height??0}get usedMemory(){return[...this._colorAttachments].reduce((e,[t,r])=>e+r.usedMemory,this.depthStencil?.usedMemory??0)}static{this._MAX_COLOR_ATTACHMENTS=-1}getColorTexture(e){const t=this._colorAttachments.get(e);return t&&ut(t)?t:null}get colorAttachments(){return Array.from(this._colorAttachments.keys())}attachColorTexture(e,t=rt.r6){if(!e)return;this._validateColorAttachmentPoint(t);const{descriptor:r}=e;this._validateTextureDescriptor(r),this.detachColorTexture(t)?.dispose(),this._colorAttachments.set(t,e),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,t))}detachColorTexture(e=rt.r6){const t=this._colorAttachments.get(e);if(!t)return;const r=ut(t);return this._initialized&&this._context.temporaryBindFramebufferObject(this,()=>{if(r)this._framebufferTexture2D(null,e);else{const t=this._context.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,null)}}),this._colorAttachments.delete(e),r?t:void 0}detachColorTextures(...e){if(0!==e.length){if(this._initialized){const t=this._context.gl;this._context.temporaryBindFramebufferObject(this,()=>{e.forEach(e=>{ut(this._colorAttachments.get(e))?this._framebufferTexture2D(null,e):t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,null)})})}e.forEach(e=>this._colorAttachments.delete(e))}}setColorTextureTarget(e,t=rt.r6,r=0){const i=this._colorAttachments.get(t);i&&(35866===e?this._framebufferTextureLayer(i.glName,t,36160,0,r):this._framebufferTexture2D(i.glName,t,e,36160,0))}attachDepthStencil(e){if(e)switch(e.type){case 1:return this._attachDepthStencilTexture(e);case 2:return this._attachDepthStencilBuffer(e)}}_attachDepthStencilTexture(e){if(null==e)return;const{descriptor:t}=e,{pixelFormat:r,dataType:i}=t;34041===r||6402===r?34041!==r||i===rt.ld.UNSIGNED_INT_24_8?6402!==r||i===rt.ld.UNSIGNED_INT||i===rt.ld.UNSIGNED_SHORT?(this._validateTextureDescriptor(t),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,gt(r))),this._depthStencilTexture?.dispose(),this._depthStencilTexture=e):console.error("Depth texture must have data type of UNSIGNED_INT or UNSIGNED_SHORT!"):console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!"):console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!")}detachDepthStencilTexture(){const e=this._depthStencilTexture;return e&&this._initialized&&this._context.temporaryBindFramebufferObject(this,()=>{this._framebufferTexture2D(null,gt(e.descriptor.pixelFormat))}),this._depthStencilTexture=null,e}_attachDepthStencilBuffer(e){if(null==e)return;const t=e.descriptor;if(this._validateRenderbufferDescriptor(t),this._disposeDepthStencilAttachments(),this._initialized){this._context.bindFramebuffer(this);const{gl:r}=this._context,i=this._getGLAttachmentPoint(t);r.framebufferRenderbuffer(36160,i,r.RENDERBUFFER,e.glName)}this._depthStencilBuffer=e}detachDepthStencilBuffer(){const e=this._depthStencilBuffer;if(e&&this._initialized){const{_context:t}=this,r=t.getBoundFramebufferObject();t.bindFramebuffer(this);const{gl:i}=t,n=this._getGLAttachmentPoint(e.descriptor);i.framebufferRenderbuffer(36160,n,i.RENDERBUFFER,null),t.bindFramebuffer(r)}return this._depthStencilBuffer=null,e}invalidateAttachments(e){const{_context:t}=this;t.temporaryBindFramebufferObject(this,()=>t.gl.invalidateFramebuffer(36160,e),!0)}copyToTexture(e,t,r,i,n,o,s){(e<0||t<0||n<0||o<0)&&console.error("Offsets cannot be negative!"),(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!");const a=s.descriptor;3553!==s.descriptor.target&&console.error("Texture target must be TEXTURE_2D!"),(null==a?.width||null==a?.height||e+r>this.width||t+i>this.height||n+r>a.width||o+i>a.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");const c=this._context,l=c.bindTexture(s,nt.A.TEXTURE_UNIT_FOR_UPDATES);c.setActiveTexture(nt.A.TEXTURE_UNIT_FOR_UPDATES),c.bindFramebuffer(this),c.gl.copyTexSubImage2D(3553,0,n,o,e,t,r,i),c.bindTexture(l,nt.A.TEXTURE_UNIT_FOR_UPDATES)}readPixels(e,t,r,i,n,o,s){(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!"),s||console.error("Target memory is not initialized!"),this._context.bindFramebuffer(this),this._context.gl.readPixels(e,t,r,i,n,o,s)}async readPixelsAsync(e,t,r,i,n,o,s){const{gl:a}=this._context,c=ot.g.createPixelPack(this._context,35041,s.byteLength);this._context.bindBuffer(c);const l=this._context.getBoundFramebufferObject();this._context.bindFramebuffer(this),a.readPixels(e,t,r,i,n,o,0),this._context.unbindBuffer(35051),this._context.bindFramebuffer(l),await c.getSubDataAsync(s),c.dispose()}resize(e,t){if(this.width===e&&this.height===t)return;const r={width:e,height:t};if(ft(r,this._context.parameters.maxTextureSize),this._colorAttachments.forEach(e=>e.resize(r.width,r.height)),this._depthStencilTexture?.resize(r.width,r.height),this._initialized&&(ft(r,this._context.parameters.maxRenderbufferSize),this._depthStencilBuffer?.resize(r.width,r.height),(0,tt.en)())){const{gl:e}=this._context;e.checkFramebufferStatus(36160)!==e.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!")}}initializeAndBind(e=36160){const{gl:t}=this._context;if(this._initialized)return void t.bindFramebuffer(e,this.glName);this._glName&&t.deleteFramebuffer(this._glName);const r=t.createFramebuffer();if(t.bindFramebuffer(e,r),this._colorAttachments.forEach((t,r)=>{if(ut(t)){const i=pt(t);35866===i?this._framebufferTextureLayer(t.glName,r,e,0,0):this._framebufferTexture2D(t.glName,r,i,e)}else if(ht(t)){const i=this._context.gl;i.framebufferRenderbuffer(e,r,i.RENDERBUFFER,t.glName)}}),this._depthStencilBuffer){const r=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);t.framebufferRenderbuffer(e,r,t.RENDERBUFFER,this._depthStencilBuffer.glName)}else if(this._depthStencilTexture){const t=gt(this._depthStencilTexture.descriptor.pixelFormat);this._framebufferTexture2D(this._depthStencilTexture.glName,t,pt(this._depthStencilTexture),e)}(0,tt.en)()&&t.checkFramebufferStatus(e)!==t.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!"),this._glName=r,this._initialized=!0}_framebufferTexture2D(e,t=rt.r6,r=3553,i=36160,n=0){this._context.gl.framebufferTexture2D(i,t,r,e,n)}_framebufferTextureLayer(e,t=rt.r6,r=36160,i=0,n=0){this._context.gl.framebufferTextureLayer(r,t,e,i,n)}_disposeDepthStencilAttachments(){const e=this._context.gl;if(this._depthStencilBuffer){if(this._initialized){this._context.bindFramebuffer(this);const t=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);e.framebufferRenderbuffer(36160,t,e.RENDERBUFFER,null)}this._depthStencilBuffer=(0,a.WD)(this._depthStencilBuffer)}this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,gt(this._depthStencilTexture.descriptor.pixelFormat))),this._depthStencilTexture=(0,a.WD)(this._depthStencilTexture))}_validateTextureDescriptor(e){3553!==e.target&&34067!==e.target&&35866!==e.target&&console.error("Texture type must be TEXTURE_2D, TEXTURE_2D_ARRAY or TEXTURE_CUBE_MAP!"),ft(e,this._context.parameters.maxTextureSize),this._validateBufferDimensions(e)}_validateRenderbufferDescriptor(e){ft(e,this._context.parameters.maxRenderbufferSize),this._validateBufferDimensions(e)}_validateBufferDimensions(e){e.width<=0&&(e.width=this.width),e.height<=0&&(e.height=this.height),this.width>0&&this.height>0&&(this.width===e.width&&this.height===e.height||console.error("Attachment size must match framebuffer size!"))}_getGLAttachmentPoint(e){switch(e.internalFormat){case rt.SB.DEPTH_COMPONENT16:case rt.SB.DEPTH_COMPONENT24:case rt.SB.DEPTH_COMPONENT32F:return rt.xL;case rt.iE.DEPTH24_STENCIL8:case rt.iE.DEPTH32F_STENCIL8:return rt.nI;case 36168:return rt.uH;default:return rt.r6}}_validateColorAttachmentPoint(e){if(-1===lt._MAX_COLOR_ATTACHMENTS){const{gl:e}=this._context;lt._MAX_COLOR_ATTACHMENTS=e.getParameter(e.MAX_COLOR_ATTACHMENTS)}const t=e-rt.r6;t+1>lt._MAX_COLOR_ATTACHMENTS&&O.A.getLogger("esri.views.webgl.FrameBufferObject").error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${t+1}. Implementation supports up to ${lt._MAX_COLOR_ATTACHMENTS} color attachments`)}}function ut(e){return 1===mt(e)}function ht(e){return 2===mt(e)}function dt(e){return 0===mt(e)}function mt(e){return null!=e&&"type"in e?e.type:null}function ft(e,t){const r=Math.max(e.width,e.height);if(r>t){O.A.getLogger("esri.views.webgl.FramebufferObject").warnOnce(`Resizing FBO attachment size ${e.width}x${e.height} to device limit ${t}`);const i=t/r;return e.width=Math.round(e.width*i),e.height=Math.round(e.height*i),!1}return!0}function pt(e){return 34067===e.descriptor.target?34069:35866===e.descriptor.target?35866:3553}function gt(e){return 6402===e?rt.xL:rt.nI}var vt=r(67171);r(21818),r(69397);var _t=r(85079),xt=r(74038);const yt=[new xt._("position",2,rt.pe.UNSIGNED_SHORT,0,4)];new xt._("a_pos",2,rt.pe.BYTE,0,2),new xt._("a_pos",2,rt.pe.BYTE,0,4),new xt._("a_tex",2,rt.pe.BYTE,2,4),(0,_t.Xk)(yt),r(66289);const wt=new Image;wt.src="data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='5' height='5' version='1.1' viewBox='0 0 5 5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23f00' fill-opacity='.5'/%3E%3C/svg%3E%0A",wt.width=5,wt.height=5,wt.decode();let bt=class extends I.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces=qe,this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([(0,c.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},c.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new Je.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return this._bind(t),t}bindRenderTarget(){return this._bind(this._frameBuffer),this._frameBuffer}_bind({fbo:e}){var t;e.initializeAndBind(),this.gl.drawBuffers((t=e)?t.colorAttachments.length>0?t.colorAttachments:[rt.$0]:[rt.C5])}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};(0,o.Cg)([(0,Ke.MZ)({constructOnly:!0})],bt.prototype,"view",void 0),(0,o.Cg)([(0,Ke.MZ)({constructOnly:!0})],bt.prototype,"consumes",void 0),(0,o.Cg)([(0,Ke.MZ)()],bt.prototype,"produces",void 0),(0,o.Cg)([(0,Ke.MZ)({readOnly:!0})],bt.prototype,"techniques",null),bt=(0,o.Cg)([(0,Qe.$)("esri.views.3d.webgl.RenderNode")],bt);const Tt=bt;var Mt=r(15581),St=r(13840),Ct=r(42958),Et=r(95774);let At=class extends Ct.w{constructor(){super(...arguments),this.shader=new St.r(Et.S,()=>r.e(1285).then(r.bind(r,91285)))}initializePipeline(){return(0,it.Ey)({colorWrite:it.kn})}};At=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],At);var Rt=r(65786);class It extends Rt.Y{constructor(){super(...arguments),this.projScale=1}}class Ot extends It{constructor(){super(...arguments),this.intensity=1}}class Ft extends Rt.Y{}class Dt extends Ft{constructor(){super(...arguments),this.blurSize=(0,N.vt)()}}let Nt=class extends Ct.w{constructor(){super(...arguments),this.shader=new St.r(Mt.S,()=>r.e(6122).then(r.bind(r,86122)))}initializePipeline(){return(0,it.Ey)({colorWrite:it.kn})}};Nt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOTechnique")],Nt);let Pt=class extends Tt{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=Xe.SSAO,this.isEnabled=()=>!1,this._enableTime=(0,l.l5)(0),this._passParameters=new Ot,this._drawParameters=new Dt}initialize(){const e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new vt.R(32);t.wrapMode=33071,t.pixelFormat=6407,t.wrapMode=10497,t.hasMipmap=!0,this._passParameters.noiseTexture=new nt.A(this.renderingContext,t,e),this.addHandles((0,c.wB)(()=>this.isEnabled(),()=>this._enableTime=(0,l.l5)(0)))}destroy(){this._passParameters.noiseTexture=(0,a.WD)(this._passParameters.noiseTexture)}precompile(){this.techniques.precompile(Nt),this.techniques.precompile(At)}render(e){const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(rt.nI);if(!r||!i)return;const n=this.techniques.getCompiled(Nt),o=this.techniques.getCompiled(At);if(!n||!o)return this._enableTime=(0,l.l5)(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=(0,l.l5)(performance.now()));const a=this.renderingContext,c=this.view.qualitySettings.fadeDuration,u=this.bindParameters,d=u.camera,m=d.relativeElevation,f=(0,s.qE)((5e5-m)/2e5,0,1),p=c>0?Math.min(c,performance.now()-this._enableTime)/c:1,g=p*f;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/d.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*Bt/(0,Mt.g)(d)**6*g;const v=d.fullViewport[2],_=d.fullViewport[3],x=this.fboCache.acquire(v,_,"ssao input",2);a.bindFramebuffer(x.fbo),a.setViewport(0,0,v,_),a.bindTechnique(n,u,this._passParameters,this._drawParameters),a.screen.draw();const y=Math.round(v/2),w=Math.round(_/2),b=this.fboCache.acquire(y,w,"ssao blur",0);a.bindFramebuffer(b.fbo),this._drawParameters.colorTexture=x.getTexture(),(0,h.hZ)(this._drawParameters.blurSize,0,2/_),a.bindTechnique(o,u,this._passParameters,this._drawParameters),a.setViewport(0,0,y,w),a.screen.draw(),x.release();const T=this.fboCache.acquire(y,w,Xe.SSAO,0);return a.bindFramebuffer(T.fbo),a.setViewport(0,0,v,_),a.setClearColor(1,1,1,0),a.clear(16384),this._drawParameters.colorTexture=b.getTexture(),(0,h.hZ)(this._drawParameters.blurSize,2/v,0),a.bindTechnique(o,u,this._passParameters,this._drawParameters),a.setViewport(0,0,y,w),a.screen.draw(),a.setViewport4fv(d.fullViewport),b.release(),p<1&&this.requestRender(2),T}};(0,o.Cg)([(0,u.MZ)()],Pt.prototype,"consumes",void 0),(0,o.Cg)([(0,u.MZ)()],Pt.prototype,"produces",void 0),(0,o.Cg)([(0,u.MZ)({constructOnly:!0})],Pt.prototype,"isEnabled",void 0),Pt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],Pt);const Bt=.5;function Ht(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new n.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",.5),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
|
|
563
|
+
}`))}(e,t)}},43730(e,t,r){r.d(t,{n:()=>Ht});var i=r(31821),n=r(12791),o=r(5482),s=r(34727),a=r(97768),c=r(36708),l=r(78659),u=r(91429),h=r(37585),d=r(69540);let m=class extends d.Pw{constructor(e){super(e),this.row=0,this.column=0,this.rows=1,this.columns=1}equals(e){return null!=e&&this.row===e.row&&this.rows===e.rows&&this.column===e.column&&this.columns===e.columns}};(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"rows",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{read:!1,write:!1}})],m.prototype,"columns",void 0),m=(0,o.Cg)([(0,u.$K)("esri.CameraLayout")],m);const f=m;var p=r(69052),g=r(25482),v=r(56507),_=r(86738),x=r(43937),y=r(36005);let w=class extends((0,d.OU)(g.o)){constructor(...e){super(...e),this.position=new _.A([0,0,0]),this.heading=0,this.tilt=0,this.fov=55,this.layout=new f}normalizeCtorArgs(e,t,r,i){if(e&&"object"==typeof e&&("x"in e||Array.isArray(e))){const n={position:e};return null!=t&&(n.heading=t),null!=r&&(n.tilt=r),null!=i&&(n.fov=i),n}return e}writePosition(e,t,r,i){const n=e.clone();n.x=(0,v.GB)(e.x||0),n.y=(0,v.GB)(e.y||0),n.z=e.hasZ?(0,v.GB)(e.z||0):e.z,t[r]=n.write({},i)}readPosition(e,t){const r=new _.A;return r.read(e,t),r.x=(0,v.GB)(r.x||0),r.y=(0,v.GB)(r.y||0),r.z=r.hasZ?(0,v.GB)(r.z||0):r.z,r}equals(e){return null!=e&&this.tilt===e.tilt&&this.heading===e.heading&&this.fov===e.fov&&this.position.equals(e.position)&&this.layout.equals(e.layout)}};(0,o.Cg)([(0,u.MZ)({type:_.A,json:{write:{isRequired:!0}}})],w.prototype,"position",void 0),(0,o.Cg)([(0,x.K)("position")],w.prototype,"writePosition",null),(0,o.Cg)([(0,y.w)("position")],w.prototype,"readPosition",null),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>p.ie.normalize((0,v.GB)(e)))],w.prototype,"heading",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{write:{isRequired:!0}}}),(0,u.wg)(e=>(0,s.qE)((0,v.GB)(e),-180,180))],w.prototype,"tilt",void 0),(0,o.Cg)([(0,u.MZ)({type:Number,nonNullable:!0,json:{default:55,write:!0}}),(0,u.wg)(e=>(0,s.qE)((0,v.GB)(e,55),1,170))],w.prototype,"fov",void 0),(0,o.Cg)([(0,u.MZ)({type:f,nonNullable:!0,json:{read:!1,write:!1}})],w.prototype,"layout",void 0),w=(0,o.Cg)([(0,u.$K)("esri.Camera")],w);var b=r(9093),T=r(35522),M=r(51850),S=r(16930),C=(r(48353),r(9762),r(65806)),E=r(27993),A=r(73941),R=(r(19419),r(71351)),I=r(69622),O=r(53966),F=r(90629),D=r(58083),N=r(48163),P=r(78955),B=r(91829),H=r(82919),L=r(44280);function z(e,t,r){e.worldUpAtPosition(t,U),(0,T.Re)(G,r,t);const i=(0,T.Bw)(G);return 0===i?0:(0,s.XM)((0,T.Om)(G,U)/i)}const U=(0,M.vt)(),G=(0,M.vt)();var V;let j=V=class extends I.A{constructor(e){super(e),this._ray=(0,R.vt)(),this._viewport=(0,B.fA)(0,0,1,1),this._padding=(0,B.fA)(0,0,0,0),this._fov=55/180*Math.PI,this._nearFar=(0,N.fA)(1,1e3),this._viewDirty=!0,this._viewMatrix=(0,b.vt)(),this._viewProjectionDirty=!0,this._viewProjectionMatrix=(0,b.vt)(),this._viewInverseTransposeMatrixDirty=!0,this._viewInverseTransposeMatrix=(0,b.vt)(),this._frustumDirty=!0,this._frustum=(0,H.vt)(),this._fullViewport=(0,B.vt)(),this._pixelRatio=1,this.row=0,this.column=0,this._rows=1,this._columns=1,this._center=(0,M.vt)(),this._up=(0,M.vt)(),this.relativeElevation=0}get pixelRatio(){return this._pixelRatio}set pixelRatio(e){this._pixelRatio=e>0?e:1}get rows(){return this._rows}set rows(e){this._rows=Math.max(1,e)}get columns(){return this._columns}set columns(e){this._columns=Math.max(1,e)}get eye(){return this._ray.origin}set eye(e){this._compareAndSetView(e,this._ray.origin)}get center(){return this._center}set center(e){this._compareAndSetView(e,this._center,"_center")}get ray(){return(0,T.Re)(this._ray.direction,this.center,this.eye),this._ray}get up(){return this._up}set up(e){this._compareAndSetView(e,this._up,"_up")}get viewMatrix(){return this._ensureViewClean(),this._viewMatrix}set viewMatrix(e){(0,D.C)(this._viewMatrix,e),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0,this._viewProjectionDirty=!0,this._frustumDirty=!0}get viewForward(){return this._ensureViewClean(),(0,T.hZ)((0,M.vt)(),-this._viewMatrix[2],-this._viewMatrix[6],-this._viewMatrix[10])}get viewUp(){return this._ensureViewClean(),(0,T.hZ)((0,M.vt)(),this._viewMatrix[1],this._viewMatrix[5],this._viewMatrix[9])}get viewRight(){return this._ensureViewClean(),(0,T.hZ)((0,M.vt)(),this._viewMatrix[0],this._viewMatrix[4],this._viewMatrix[8])}get nearFar(){return this._nearFar}get near(){return this._nearFar[0]}set near(e){this._nearFar[0]!==e&&(this._nearFar[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get far(){return this._nearFar[1]}set far(e){this._nearFar[1]!==e&&(this._nearFar[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_nearFar"))}get viewport(){return this._viewport}set viewport(e){this.x=e[0],this.y=e[1],this.width=e[2],this.height=e[3]}get screenViewport(){if(1===this.pixelRatio)return this._viewport;const e=(0,P.hs)((0,B.vt)(),this._viewport,1/this.pixelRatio),t=this._get("screenViewport");return t&&(0,P.aI)(e,t)?t:e}get screenPadding(){if(1===this.pixelRatio)return this._padding;const e=(0,P.hs)((0,B.vt)(),this._padding,1/this.pixelRatio),t=this._get("screenPadding");return t&&(0,P.aI)(e,t)?t:e}get x(){return this._viewport[0]}set x(e){e+=this._padding[3],this._viewport[0]!==e&&(this._viewport[0]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get y(){return this._viewport[1]}set y(e){e+=this._padding[2],this._viewport[1]!==e&&(this._viewport[1]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get width(){return this._viewport[2]}set width(e){this._viewport[2]!==e&&(this._viewport[2]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get height(){return this._viewport[3]}set height(e){this._viewport[3]!==e&&(this._viewport[3]=e,this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_viewport"))}get fullWidth(){return this._viewport[2]+this._padding[1]+this._padding[3]}set fullWidth(e){this.width=e-(this._padding[1]+this._padding[3])}get fullHeight(){return this._viewport[3]+this._padding[0]+this._padding[2]}set fullHeight(e){this.height=e-(this._padding[0]+this._padding[2])}get fullViewport(){return this._fullViewport[0]=this._viewport[0]-this._padding[3],this._fullViewport[1]=this._viewport[1]-this._padding[2],this._fullViewport[2]=this.fullWidth,this._fullViewport[3]=this.fullHeight,this._fullViewport}get _aspect(){return this.width/this.height}get padding(){return this._padding}set padding(e){(0,P.t2)(this._padding,e)||(this._viewport[0]+=e[3]-this._padding[3],this._viewport[1]+=e[2]-this._padding[2],this._viewport[2]-=e[1]+e[3]-(this._padding[1]+this._padding[3]),this._viewport[3]-=e[0]+e[2]-(this._padding[0]+this._padding[2]),(0,P.C)(this._padding,e),this._viewProjectionDirty=!0,this._frustumDirty=!0,this.notifyChange("_padding"),this.notifyChange("_viewport"))}get viewProjectionMatrix(){return this._viewProjectionDirty&&((0,D.lw)(this._viewProjectionMatrix,this.projectionMatrix,this.viewMatrix),this._viewProjectionDirty=!1),this._viewProjectionMatrix}get projectionMatrix(){return this._projectionMatrixInternal}get inverseProjectionMatrix(){return(0,D.B8)((0,b.vt)(),this.projectionMatrix)||this._get("inverseProjectionMatrix")||(0,b.vt)()}get fov(){return this._fov}set fov(e){this._fov=e,this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovX(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(t*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovX(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/t)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get fovY(){return e=this._fov,t=this.width,r=this.height,2*Math.atan(r*Math.tan(.5*e)/Math.sqrt(t*t+r*r));var e,t,r}set fovY(e){this._fov=function(e,t,r){return 2*Math.atan(Math.sqrt(t*t+r*r)*Math.tan(.5*e)/r)}(e,this.width,this.height),this._viewProjectionDirty=!0,this._frustumDirty=!0}get distance(){return(0,T.Io)(this.center,this.eye)}get frustum(){return this._recomputeFrustum(),this._frustum}get viewInverseTransposeMatrix(){return(this._viewInverseTransposeMatrixDirty||this._viewDirty)&&((0,D.B8)(this._viewInverseTransposeMatrix,this.viewMatrix),(0,D.mg)(this._viewInverseTransposeMatrix,this._viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),this._viewInverseTransposeMatrix}depthNDCToWorld(e){const{near:t,far:r}=this;return 2*t*r/(r+t-e*(r-t))}get perRenderPixelRatio(){return Math.tan(this.fovX/2)/(this.width/2)}get perScreenPixelRatio(){return this.perRenderPixelRatio*this.pixelRatio}get aboveGround(){return null!=this.relativeElevation&&this.relativeElevation>=0}get _projectionMatrixInternal(){const e=this.width,t=this.height,r=this.near*Math.tan(this.fovY/2)*2,i=r*this._aspect,n=r/this.rows,o=i/this.columns,s=-i/2+this.column*o,a=s+o,c=-r/2+this.row*n,l=c+n,u=(0,D.$h)((0,b.vt)(),s*(1+2*this._padding[3]/e),a*(1+2*this._padding[1]/e),c*(1+2*this._padding[2]/t),l*(1+2*this._padding[0]/t),this.near,this.far),h=this._get("projectionMatrix");return h&&(0,D.aI)(h,u)?h:u}copyFrom(e){(0,T.C)(this._ray.origin,e.eye),this.center=e.center,this.up=e.up,(0,P.C)(this._viewport,e.viewport),this.notifyChange("_viewport"),(0,P.C)(this._padding,e.padding),this.notifyChange("_padding"),(0,h.C)(this._nearFar,e.nearFar),this.notifyChange("_nearFar"),this._fov=e.fov,this.row=e.row,this.column=e.column,this.rows=e.rows,this.columns=e.columns,this.relativeElevation=e.relativeElevation;const t=e;return this._viewDirty=t._viewDirty,this._viewDirty||((0,D.C)(this._viewMatrix,e.viewMatrix),this.notifyChange("_viewMatrix")),this._viewProjectionDirty=!0,this._frustumDirty=t._frustumDirty,this._frustumDirty||((0,H.C)(this._frustum,e.frustum),this._frustumDirty=!1),t._viewInverseTransposeMatrixDirty?this._viewInverseTransposeMatrixDirty=!0:((0,D.C)(this._viewInverseTransposeMatrix,e.viewInverseTransposeMatrix),this._viewInverseTransposeMatrixDirty=!1),(0,P.C)(this._fullViewport,e.fullViewport),this.pixelRatio=e.pixelRatio,this}copyViewFrom(e){this.eye=e.eye,this.center=e.center,this.up=e.up,this.fov=e.fov}clone(){return(new V).copyFrom(this)}equals(e){return(0,T.t2)(this.eye,e.eye)&&(0,T.t2)(this.center,e.center)&&(0,T.t2)(this.up,e.up)&&(0,P.t2)(this._viewport,e.viewport)&&(0,P.t2)(this._padding,e.padding)&&(0,h.t2)(this.nearFar,e.nearFar)&&this._fov===e.fov&&this.pixelRatio===e.pixelRatio&&this.relativeElevation===e.relativeElevation&&this.row===e.row&&this.column===e.column&&this.rows===e.rows&&this.columns===e.columns}almostEquals(e){const t=Math.max(1,1/this.pixelRatio,1/e.pixelRatio);if(Math.abs(e.fov-this._fov)>=.001||(0,P.hG)(e.screenPadding,this.screenPadding)>=t||(0,P.hG)(this.screenViewport,e.screenViewport)>=t||this.row!==e.row||this.column!==e.column||this.rows!==e.rows||this.columns!==e.columns)return!1;(0,T.jb)($,e.eye,e.center),(0,T.jb)(Z,this.eye,this.center);const r=(0,T.Om)($,Z),i=(0,T.uE)($),n=(0,T.uE)(Z),o=5e-4;return r*r>=(1-1e-10)*i*n&&(0,T.lo)(e.eye,this.eye)<Math.max(i,n)*o*o}computeRenderPixelSizeAt(e){return this.computeRenderPixelSizeAtDist(this._viewDirectionDistance(e))}computeRenderPixelSizeAtDist(e){return e*this.perRenderPixelRatio}computeScreenPixelSizeAt(e){return this.computeScreenPixelSizeAtDist(this._viewDirectionDistance(e))}_viewDirectionDistance(e){return Math.abs((0,L.gr)(this.viewForward,(0,T.Re)($,e,this.eye)))}computeScreenPixelSizeAtDist(e){return e*this.perScreenPixelRatio}computeDistanceFromRadius(e,t){return e/Math.tan(Math.min(this.fovX,this.fovY)/(2*(t||1)))}getScreenCenter(e=(0,F.gs)()){return e[0]=(this.padding[3]+this.width/2)/this.pixelRatio,e[1]=(this.padding[0]+this.height/2)/this.pixelRatio,e}getRenderCenter(e,t=.5,r=.5){return e[0]=this.padding[3]+this.width*t,e[1]=this.padding[2]+this.height*r,e[2]=.5,e}setGLViewport(e){const t=this.viewport,r=this.padding;e.setViewport(t[0]-r[3],t[1]-r[2],t[2]+r[1]+r[3],t[3]+r[0]+r[2])}applyProjection(e,t){e!==k&&(0,T.C)(k,e),k[3]=1,(0,P.Z0)(k,k,this.projectionMatrix);const r=Math.abs(k[3]);(0,T.hs)(k,k,1/r);const i=this.fullViewport;t[0]=(0,s.Cc)(0,i[0]+i[2],.5+.5*k[0]),t[1]=(0,s.Cc)(0,i[1]+i[3],.5+.5*k[1]),t[2]=.5*(k[2]+1),t[3]=r}unapplyProjection(e,t){const r=this.fullViewport;k[0]=(e[0]/(r[0]+r[2])*2-1)*e[3],k[1]=(e[1]/(r[1]+r[3])*2-1)*e[3],k[2]=(2*e[2]-1)*e[3],k[3]=e[3],null!=this.inverseProjectionMatrix&&((0,P.Z0)(k,k,this.inverseProjectionMatrix),t[0]=k[0],t[1]=k[1],t[2]=k[2])}projectToScreen(e,t){return this.projectToRenderScreen(e,q),this.renderToScreen(q,t),t}projectToRenderScreen(e,t){if(k[0]=e[0],k[1]=e[1],k[2]=e[2],k[3]=1,(0,P.Z0)(k,k,this.viewProjectionMatrix),0===k[3])return null;const r=k;(0,T.hs)(r,r,1/Math.abs(k[3]));const i=this.fullViewport,n=(0,s.Cc)(0,i[0]+i[2],.5+.5*r[0]),o=(0,s.Cc)(0,i[1]+i[3],.5+.5*r[1]);return"x"in t?(t.x=n,t.y=o):(t[0]=n,t[1]=o,t.length>2&&(t[2]=.5*(r[2]+1))),t}unprojectFromScreen(e,t){return this.unprojectFromRenderScreen(this.screenToRender(e,q),t)}unprojectFromRenderScreen(e,t){if((0,D.lw)(W,this.projectionMatrix,this.viewMatrix),!(0,D.B8)(W,W))return null;const r=this.fullViewport;return k[0]=2*(e[0]-r[0])/r[2]-1,k[1]=2*(e[1]-r[1])/r[3]-1,k[2]=2*e[2]-1,k[3]=1,(0,P.Z0)(k,k,W),0===k[3]?null:(t[0]=k[0]/k[3],t[1]=k[1]/k[3],t[2]=k[2]/k[3],t)}constrainWindowSize(e,t,r,i){const n=e*this.pixelRatio,o=t*this.pixelRatio,s=Math.max(n-r/2,0),a=Math.max(this.fullHeight-o-i/2,0),c=-Math.min(n-r/2,0),l=-Math.min(this.fullHeight-o-i/2,0),u=r-c- -Math.min(this.fullWidth-n-r/2,0),h=i-l- -Math.min(o-i/2,0);return[Math.round(s),Math.round(a),Math.round(u),Math.round(h)]}computeUp(e){1===e?this._computeUpGlobal():this._computeUpLocal()}screenToRender(e,t){const r=e[0]*this.pixelRatio,i=this.fullHeight-e[1]*this.pixelRatio;return t[0]=r,t[1]=i,t}renderToScreen(e,t){const r=e[0]/this.pixelRatio,i=(this.fullHeight-e[1])/this.pixelRatio;t[0]=r,t[1]=i}sphereFrustumCoverage(e,t){const{center:r,eye:i,distance:n,fovY:o}=this,s=Math.abs(Math.PI/2-z(t,r,i));return e.frustumCoverage(s,n,o)}_computeUpGlobal(){(0,T.Re)($,this.center,this.eye);const e=(0,T.Bw)(this.center);e<1?(0,T.t2)(this._up,M.Cb)&&((0,T.C)(this._up,M.Cb),this._markViewDirty(),this.notifyChange("_up")):Math.abs((0,T.Om)($,this.center))>.9999*(0,T.Bw)($)*e||((0,T.$A)(Z,$,this.center),(0,T.$A)(Z,Z,$),(0,T.S8)(Z,Z),(0,T.t2)(this._up,Z)||((0,T.C)(this._up,Z),this.notifyChange("_up"),this._markViewDirty()))}_computeUpLocal(){(0,T.oW)($,this.eye,this.center),Math.abs($[2])<=.9999&&((0,T.hs)($,$,$[2]),(0,T.hZ)($,-$[0],-$[1],1-$[2]),(0,T.S8)($,$),(0,T.t2)(this._up,$)||((0,T.C)(this._up,$),this.notifyChange("_up"),this._markViewDirty()))}_compareAndSetView(e,t,r=""){"number"==typeof e[0]&&isFinite(e[0])&&"number"==typeof e[1]&&isFinite(e[1])&&"number"==typeof e[2]&&isFinite(e[2])?(0,T.t2)(e,t)||((0,T.C)(t,e),this._markViewDirty(),r.length&&this.notifyChange(r)):O.A.getLogger("esri.views.3d.webgl-engine.lib.RenderCamera").warn("RenderCamera vector contains invalid number, ignoring value")}_markViewDirty(){this._viewDirty=!0,this._frustumDirty=!0,this._viewProjectionDirty=!0}_recomputeFrustum(){this._frustumDirty&&((0,H.ui)(this.viewMatrix,this.projectionMatrix,this._frustum),this._frustumDirty=!1)}_ensureViewClean(){this._viewDirty&&((0,D.t5)(this._viewMatrix,this.eye,this.center,this.up),this.notifyChange("_viewMatrix"),this._viewDirty=!1,this._viewInverseTransposeMatrixDirty=!0)}};(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewport",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_padding",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_fov",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_nearFar",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewDirty",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_viewMatrix",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_pixelRatio",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"pixelRatio",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"row",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"column",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_rows",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"rows",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_columns",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"columns",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"eye",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"center",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_center",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"up",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"_up",void 0),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewForward",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewUp",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"viewRight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"nearFar",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"near",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"far",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"screenViewport",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"screenPadding",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"x",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"y",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"width",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"height",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fullWidth",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fullHeight",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"_aspect",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"padding",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"projectionMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"inverseProjectionMatrix",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fov",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fovX",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"fovY",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"viewInverseTransposeMatrix",null),(0,o.Cg)([(0,u.MZ)({readOnly:!0})],j.prototype,"_projectionMatrixInternal",null),(0,o.Cg)([(0,u.MZ)()],j.prototype,"relativeElevation",void 0),j=V=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl.RenderCamera")],j);const k=(0,B.vt)(),W=(0,b.vt)(),$=(0,M.vt)(),Z=(0,M.vt)(),q=(0,F.r_)();r(49718),r(6867),r(16396),(0,M.vt)(),(0,M.vt)(),(0,M.vt)();var Y=r(5443),X=r(39829),J=r(95108);function K(e,t,r,i){const n=function(e,t){const r=0===t||2===t?0:1,i=e[t],n=0===t||1===t?1:-1,o=0===r?1:0;return(e,t,s)=>{if(t[r]<i&&s[r]<i)return 1===n?0:1;if(t[r]>i&&s[r]>i)return 1===n?1:0;const a=(s[o]-t[o])/(s[r]-t[r]),c=t[o]+a*(i-t[r]);return e[r]=i,e[o]=c,(t[r]<i?1:-1)*n>0?2:3}}(r,i);if(e.length=0,t.length){1===n(ee,t[0],t[0])&&Q(e,t[0]);for(let r=0;r<t.length;r++){const i=t[r===t.length-1?0:r+1];switch(n(ee,t[r],i)){case 1:Q(e,i);break;case 3:Q(e,(0,N.o8)(ee));break;case 2:Q(e,(0,N.o8)(ee)),Q(e,i)}}}}function Q(e,t){0!==e.length&&(0,h.aI)(e.at(-1),t)||e.push(t)}const ee=(0,N.vt)();var te=r(11964),re=r(27921);const ie=(0,M.vt)(),ne=(0,M.vt)();function oe(){return{direction:(0,M.vt)(),up:(0,M.vt)()}}function se(e,t,r,i,n){let o=(0,T.S8)(ie,e),a=(0,T.Om)(o,i);const c=a>0;a=Math.abs(a),a>.99&&(a=Math.abs((0,T.Om)(t,i)),a<.99?((0,T.C)(o,t),c&&(0,T.hs)(o,o,-1)):o=null);let l=0;if(o){(0,T.hs)(ne,i,(0,T.Om)(i,o)),(0,T.Re)(o,o,ne);const e=(0,T.Om)(o,n)/((0,T.Bw)(o)*(0,T.Bw)(n));(0,T.$A)(ne,o,n),l=((0,T.Om)(ne,i)>0?1:-1)*(0,s.KJ)((0,s.XM)(e))}const u=(0,s.KJ)((0,s.XM)(-(0,T.Om)(i,e)/(0,T.Bw)(e)));return r?(r.heading=l,r.tilt=u,r):{heading:l,tilt:u}}function ae(e,t,r,i){(0,T.Re)(ce,r,t),(0,re.T7)(i,(0,te.LV)(t,ce),e)||e===r||(0,T.C)(e,r)}const ce=(0,M.vt)(),le=(0,M.fA)(0,1,0),ue=(0,M.fA)(0,0,1),he=(0,b.vt)(),de=(0,M.vt)(),me=(0,M.vt)();function fe(e,t,r,i=oe()){const{direction:n,up:o}=i;return(0,D.N9)(he,-(0,s.kU)(t)),(0,D.eL)(he,he,(0,s.kU)(r)),(0,T.Z0)(n,ue,he),(0,T.hs)(n,n,-1),(0,T.Z0)(o,le,he),i}function pe(e,t,r,i,n){const o=t.lines[11].direction,s=(n-r.getAltitude(i))/o[2];(0,T.Ln)(e,i,o,s)}const ge=(0,M.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){return se(t,r,i,ue,le)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n=fe(0,r,i),o=(0,M.vt)();return(0,T.hs)(o,n.direction,-t),(0,T.WQ)(o,o,e),{up:n.up,eye:o,heading:r,tilt:i}},eyeTiltToLookAtTilt:function(e){return(0,s.kU)(e)},headingTiltToDirectionUp:fe,lookAtTiltToEyeTilt:function(e){return(0,s.KJ)(e)},toArea:function(e,t){const r=e.frustum,{renderCoordsHelper:i}=e,n=i.getAltitude(t),o=e.spatialReference,s=e.state.camera.eye,a=[],c=r.planes[5];for(let e=0;e<4;e++){const t=r.lines[e];i.intersectInfiniteManifold((0,R.LV)(t.origin,t.direction),n,ge)||pe(ge,r,i,t.endpoint,n),ae(ge,s,ge,c),a.push((0,N.fA)(ge[0],ge[1]))}return function(e,t,r){const i=e.map(e=>((0,T.hZ)(ge,e[0],e[1],0),t.fromRenderCoords(ge,ge,r),[ge[0],ge[1]]));return i.length<=2?new X.A({spatialReference:r}):(i.push(i[0].slice()),(0,J.$3)(i)||i.reverse(),new X.A({rings:[i],spatialReference:r}))}(function(e,t){const r=[],i=[];return K(r,e,t,0),K(i,r,t,1),K(r,i,t,2),K(i,r,t,3),i}(a,i.extent),i,o)},toExtent:function(e,t,r,i,n){const o=e.renderSpatialReference,s=e.spatialReference??t.spatialReference;return(0,C.g)(t,de,o),(0,C.g)(t,me,o),de[0]-=r/2,me[0]+=r/2,de[1]-=i/2,me[1]+=i/2,(0,E.F)(de,o,de,s),(0,E.F)(me,o,me,s),n?(n.xmin=de[0],n.ymin=de[1],n.xmax=me[0],n.ymax=me[1],n.spatialReference=s):n=new Y.A(de[0],de[1],me[0],me[1],s),n}},Symbol.toStringTag,{value:"Module"}));var ve=r(34304),_e=r(17136),xe=r(94008),ye=r(28735);class we{get planes(){return this.frustum}get points(){return this._points}get mutablePoints(){return this._points}get direction(){return this._direction}get origin(){return this._origin}get boundingSphere(){return this._boundingSphereDirty&&this._updateBoundingSphere(),this._boundingSphere}constructor(e){this.renderCoordsHelper=e,this.frustum=(0,H.vt)(),this._points=(0,H.Qy)(),this.lines=new Array(12),this._origin=(0,M.vt)(),this._direction=(0,M.vt)(),this._boundingSphere=new xe.iy,this._altitude=null,this._boundingSphereDirty=!0;for(let e=0;e<12;e++)this.lines[e]={origin:null,direction:(0,M.vt)(),endpoint:null}}update(e){(0,H.ui)(e.viewMatrix,e.projectionMatrix,this.frustum,this._points),(0,T.C)(this._origin,e.eye),(0,T.C)(this._direction,e.viewForward),this._altitude=this.renderCoordsHelper.getAltitude(this._origin),this._updateLines(),this._boundingSphereDirty=!0}updatePoints(e){for(let t=0;t<this._points.length;t++)(0,T.C)(this._points[t],e[t]);(0,H.DV)(this.frustum,this._points),this._updateLines()}get altitude(){return this._altitude}intersectsSphere(e){return(0,H.m7)(this.frustum,e)}intersectsRay(e){return(0,H.pw)(this.frustum,e)}intersectsLineSegment(e,t){return(0,H.ST)(this.frustum,e,t)}intersectsPoint(e){return(0,H.bU)(this.frustum,e)}_updateLines(){const e=this._points;for(let t=0;t<4;t++){const r=t+4;be(this.lines[t],e[t],e[r]),be(this.lines[t+4],e[t],3===t?e[0]:e[t+1]),be(this.lines[t+8],e[r],3===t?e[4]:e[r+1])}}_updateBoundingSphere(){const{origin:e}=this,t=Me;(0,T.S8)(t,this.direction);const r=Te;(0,T.jb)(r,this.points[4],e);const i=.5*(0,T.Om)(r,r)/(0,T.Om)(t,r),n=this._boundingSphere,o=(0,T.Ln)(Se,e,t,i);n.center=o,n.radius=i}static{this.planePointIndices=H.c8}static{this.nearFarLineIndices=[[0,4],[1,5],[2,6],[3,7]]}}function be(e,t,r){e.origin=t,e.endpoint=r,(0,T.oW)(e.direction,t,r)}const Te=(0,M.vt)(),Me=(0,M.vt)(),Se=(0,M.vt)();r(86211);const Ce=(0,M.fA)(5802e-9,13558e-9,331e-7),Ee=(0,M.fA)(65e-8*3,5643e-9,255e-9);(0,M.fA)(Ce[0]+Ee[0],Ce[1]+Ee[1],Ce[2]+Ee[2]);class Ae{constructor(e=1/0,t=-1/0){this.near=e,this.far=t}set(e,t){this.near=e,this.far=t}union(e){return null!=e&&(this.near=Math.min(this.near,e.near),this.far=Math.max(this.far,e.far)),this}within(e){return this.near<=e&&e<=this.far}equals(e){return this.near===e.near&&this.far===e.far}static{this.Zero=new Ae(0,0)}static{this.Infinite=new Ae}}(0,M.vt)(),(0,M.vt)(),new xe.iy,(0,R.vt)(),new Y.A({xmin:0,ymin:0,zmin:0,xmax:0,ymax:0,zmax:0});var Re=r(32728);const Ie=(0,M.fA)(0,0,1),Oe=(0,T.S8)((0,M.vt)(),(0,M.fA)(1,1,1)),Fe=(0,b.vt)(),De=(0,M.vt)(),Ne=(0,M.vt)();function Pe(e,t,r,i=oe()){(0,T.$A)(De,e,Ie),0===(0,T.Om)(De,De)&&(0,T.$A)(De,e,Oe),(0,D.$0)(Fe,-(0,s.kU)(t),e),(0,D.e$)(Fe,Fe,-(0,s.kU)(r),De);const{up:n,direction:o}=i;return(0,T.$A)(n,De,e),(0,T.S8)(n,n),(0,T.Z0)(n,n,Fe),(0,T.S8)(o,e),(0,T.ze)(o,o),(0,T.Z0)(o,o,Fe),i}function Be(e){const t=e[1];e[1]=-e[2],e[2]=t}function He(e,t){const r=Pe(t,e.heading,e.tilt);return e.up=r.up,e}function Le(e,t){const r=[],i=[],n=(0,ve.FD)();for(let o=0;o<e.length;o++){const s=e[o],a=o===e.length-1?e[0]:e[o+1],c=(0,te.Cr)(s,a,$e),l=(0,re.vE)(t,c.origin,c.vector,0,ke);switch(l){case 2:r.push(s);break;case 3:i.push(s);break;case 0:case 1:{const[e,o,a]=0===l?[1,r,i]:[-1,i,r],c=(0,re.Qj)(t),u=(0,T.Ln)((0,M.vt)(),ke,c,e*n),h=(0,T.Ln)((0,M.vt)(),ke,c,e*-n);o.push(s),o.push(u),a.push(h)}}}const o=[];return r.length&&o.push(r),i.length&&o.push(i),o}const ze={minCurvature:(0,s.kU)(5),maxCurvature:(0,s.kU)(50),minSamples:1,maxSamples:6},Ue=(0,M.fA)(1,0,0),Ge=(0,M.fA)(0,1,0),Ve=(0,M.vt)(),je=(0,M.vt)(),ke=(0,M.vt)(),We=new xe.iy,$e=(0,te.vt)(),Ze=(0,B.vt)();Object.freeze(Object.defineProperty({__proto__:null,directionToHeadingTilt:function(e,t,r,i){const n=De,o=Ne;return(0,T.S8)(n,e),(0,T.$A)(Ne,n,Ie),0===(0,T.Om)(Ne,Ne)&&(0,T.$A)(Ne,n,Oe),(0,T.$A)(o,Ne,n),se(t,r,i,n,o)},eyeForCenterWithHeadingTilt:function(e,t,r,i){const n={eye:(0,M.vt)(),up:null,tilt:i,heading:r},o=De;o[0]=e[0],o[1]=e[2],o[2]=-e[1];const a=t,c=(0,s.kU)(r),l=(0,s.kU)(i),u=Math.sin(c),h=Math.cos(c),d=Math.sin(l),m=Math.cos(l),f=(0,T.Bw)(o);let p;if(Math.abs(l)<1e-8)p=a+f;else{const e=f/d,t=(0,s.YN)(a/e),r=Math.PI-l-t;p=e*Math.sin(r)}const g=m*a,v=a*a*(d*d),_=h*h*v,x=p-g,y=x*x,w=_*(_+y-o[1]*o[1]);if(w<0)return(0,T.hs)(n.eye,o,p/f),n.tilt=0,He(n,e);const b=Math.sqrt(w),S=o[1]*x,C=_+y;let E;if(E=h>0?-b+S:b+S,Math.abs(C)<1e-8)return f<1e-8?(n.eye[0]=0,n.eye[1]=0,n.eye[2]=a):(0,T.hs)(n.eye,o,p/f),n.tilt=0,Be(n.eye),He(n,e);n.eye[1]=E/C;const A=u*u*v,R=d*a,I=h*R*n.eye[1],O=n.eye[1]*n.eye[1],F=1-O,D=Math.sqrt(F),N=_*O+A-2*I*D*x+F*y;return Math.abs(N)<1e-8?((0,T.hs)(n.eye,o,p/f),n.tilt=0,Be(n.eye),He(n,e)):(n.eye[0]=(F*(p*o[0]-g*o[0])-R*D*(o[0]*n.eye[1]*h+o[2]*u))/N,n.eye[2]=(F*(p*o[2]-g*o[2])-R*D*(o[2]*n.eye[1]*h-o[0]*u))/N,(0,T.hs)(n.eye,n.eye,p),Be(n.eye),He(n,e))},eyeTiltToLookAtTilt:function(e,t,r){const i=(0,s.kU)(e),n=(0,T.Bw)(t);return(0,s.YN)(r/(n/Math.sin(i)))+i},headingTiltToDirectionUp:Pe,lookAtTiltToEyeTilt:function(e,t,r){const i=(0,T.Bw)(t),n=Math.sqrt(r*r+i*i-2*r*i*Math.cos(Math.PI-e)),o=(0,s.YN)(r/(n/Math.sin(e)));return(0,s.KJ)(e-o)},toArea:function(e,t){const{renderCoordsHelper:r}=e,i=e.state.camera.clone(),n=new we(r);i.near=2,n.update(i);const o=r.getAltitude(t),a=e.spatialReference,c=r.referenceEllipsoid.radius,l=i.eye,u=1+(0,T.Io)(l,t)/(c+o),h=Math.sqrt(u*u-1),{minCurvature:d,maxCurvature:m,minSamples:f,maxSamples:p}=ze,g=function(e){const{renderCoordsHelper:t,state:r}=e,i=Math.abs(t.getAltitude(r.camera.center));return We.radius=t.referenceEllipsoid.radius+i,r.camera.sphereFrustumCoverage(We,t)}(e),v=(0,s.qE)((h-d)/(m-d),0,1),_=Math.round((0,s.Cc)(f,p,v)),x=i.aboveGround,y=n.planes[5],w=[],b=(0,re.O_)(M.uY,Ue,(0,re.vt)()),S=(0,re.O_)(M.uY,Ge,(0,re.vt)());(0,P.hZ)(Ze,0,0,0,0);const C=e=>{};for(let e=0;e<4;e++){const t=1===e&&!x||3===e&&x?1-g:0,i=1===e&&x||3===e&&!x?g:1,a=n.lines[e],c=n.lines[3===e?0:e+1];for(let n=0;n<_;n++){const u=n/_,h=0===n?0:(0,s.Cc)(t,i,1===e?1-(1-u)**2:3===e?u**2:u),d=(0,T.Cc)(je,a.origin,c.origin,h),m=(0,Re.nu)(a.direction,c.direction,h,Ve);r.intersectManifoldClosestSilhouette((0,R.LV)(d,m),o,ke),ae(ke,l,ke,y),w.push((0,M.o8)(ke)),0!==w.length&&C((0,T.lo)(w.at(-1),ke));const f=((0,re.Tj)(b,ke)?1:0)|((0,re.Tj)(S,ke)?2:0);Ze[f]=1}}w.length>2&&(0,T.lo)(w[0],w.at(-1));const E=function(e,t,r){const i=2*(0,ve.FD)();return e.map(e=>{const n=[];let o=!1;for(const s of e)t.fromRenderCoords(s,ke,r),Math.abs(s[0])<i&&Math.abs(s[1])<i?(n.push([null,ke[1]]),n.push([null,ke[1]]),o=!0):n.push([ke[0],ke[1]]);if(o)for(let e=0;e<n.length;e++){const t=n[e];if(null!=t[0])continue;const r=n[e+1],i=n.at(0===e?-1:e-1);t[0]=i[0],e++;const o=n.at(e===n.length-1?0:e+1);r[0]=o[0]}return n.push(n[0]),(0,J.$3)(n)||n.reverse(),n})}((0,P.m3)(Ze)>1?function(e,t){const r=[];for(const i of e)r.push(...Le(i,t));return r}(Le(w,b),S):[w],r,a);return new X.A({rings:E,spatialReference:a})},toExtent:function(e,t,r,i,n){let o,a,c,l;const u=t.latitude,h=(0,A.tO)(e.spatialReference).radius,d=t.longitude,m=function(e,t,r){const i=t/r,n=(0,s.kU)(e),o=Math.sin(i/2),a=Math.cos(n),c=2*(0,s.YN)(Math.sqrt(o*o/(a*a)));return(0,s.KJ)(c)}(u,r,h)/2;o=d-m,a=d+m;const f=(0,s.kU)(u),g=(1+Math.sin(f))/(1-Math.sin(f)),v=(g+1)*Math.tan(i/h/2),_=v*v;function x(e){const t=Math.PI/2;return(e=p.uC.normalize(e,-t))>t&&(e=Math.PI-e),e}if(c=1.5*Math.PI-2*Math.atan(.5*(v+Math.sqrt(4*g+_))),l=c+i/h,c=x(c),l=x(l),l<c){const e=l;l=c,c=e}if(c=Math.max((0,s.KJ)(c),-90),l=Math.min((0,s.KJ)(l),90),a=_e.Y_.monotonic(o,a),a-o>180){const e=(a-o-180)/2;o+=e,a-=e}const y=e.spatialReference&&e.spatialReference.isGeographic?e.spatialReference:S.A.WGS84;return n?(n.xmin=o,n.ymin=c,n.xmax=a,n.ymax=l,n.spatialReference=y):n=new Y.A(o,c,a,l,y),e.spatialReference&&e.spatialReference.isWebMercator&&(0,ye.Gh)(n,!1,n),n}},Symbol.toStringTag,{value:"Module"}));const qe="composite-color",Ye=["final-color",qe,"opaque-color","transparent-color"],Xe={ANTIALIASING:"aa-color",CUTFILL_COLOR:"cutfill-color",CUTFILL_DEPTH:"cutfill-depth",FOCUSAREA_COLOR:"focusarea-color",FOCUSAREA:"focusarea",PRE_TRANSPARENT:"pre-transparent-color",HIGHLIGHT_COLOR:"highlight-color",LASERLINES:"laserline-color",MAGNIFIER:"magnifier-color",OCCLUDED:"occluded-color",OPAQUE_ENVIRONMENT:"opaque-environment-color",SSAO:"ssao",TRANSPARENT_ENVIRONMENT:"transparent-environment-color",VIEWSHED:"viewshed-color"};Array.from(Object.values(Xe)).concat(Ye),(0,M.vt)();var Je=r(49186),Ke=r(10107),Qe=r(64108),et=r(44208),tt=(r(74887),r(94656)),rt=r(63907);r(93637),new Set(["GL_OES_standard_derivatives","GL_EXT_frag_depth","GL_EXT_draw_buffers","GL_EXT_shader_texture_lod"]),new Map,(0,et.A)("esri-tests-disable-gpu-memory-measurements"),(0,tt.en)();(0,tt.en)();var it=r(90644),nt=r(76284),ot=r(48852),st=r(42293);const at=!!(0,et.A)("esri-tests-disable-gpu-memory-measurements");class ct{constructor(e,t){this._context=e,this._descriptor=t,this.type=2,this._context.instanceCounter.increment(rt.vt.Renderbuffer,this);const r=this._context.gl;this.glName=r.createRenderbuffer(),this._context.bindRenderbuffer(this);const{width:i,height:n,internalFormat:o,multisampled:s}=t;s?r.renderbufferStorageMultisample(r.RENDERBUFFER,this.samples,o,i,n):r.renderbufferStorage(r.RENDERBUFFER,o,i,n),this._context.bindRenderbuffer(null)}get descriptor(){return this._descriptor}get samples(){const e=this._descriptor.samples,t=this._context.parameters.maxSamples;return e?Math.min(e,t):t}get usedMemory(){return at?0:(e=this._descriptor).width<=0||e.height<=0||null==e.internalFormat?0:e.width*e.height*(0,st.MW)(e.internalFormat);var e}resize(e,t){const r=this._descriptor;if(r.width===e&&r.height===t)return;r.width=e,r.height=t;const i=this._context.gl;this._context.bindRenderbuffer(this),r.multisampled?i.renderbufferStorageMultisample(i.RENDERBUFFER,this.samples,r.internalFormat,r.width,r.height):i.renderbufferStorage(i.RENDERBUFFER,r.internalFormat,r.width,r.height),this._context.bindRenderbuffer(null)}dispose(){this._context&&(this._context.gl.deleteRenderbuffer(this.glName),this._context.instanceCounter.decrement(rt.vt.Renderbuffer,this),this._context=null)}}class lt{constructor(e,t,r){if(this._context=e,this._glName=null,this._colorAttachments=new Map,this._depthStencilBuffer=null,this._depthStencilTexture=null,this._initialized=!1,e.instanceCounter.increment(rt.vt.FramebufferObject,this),null!=t){const r=function(e,t){return ut(t)||ht(t)?t:dt(t)?new nt.A(e,t):function(e){return 3===mt(e)||null!=e&&"samples"in e}(t)?new ct(e,t):null}(e,t);null!=r&&(this._colorAttachments.set(rt.r6,r),ut(r)?this._validateTextureDescriptor(r.descriptor):this._validateRenderbufferDescriptor(r.descriptor)),this._validateColorAttachmentPoint(rt.r6)}if(null!=r)if(function(e){return ut(e)||dt(e)}(r))this._depthStencilTexture=ut(r)?r:new nt.A(e,r),this._validateTextureDescriptor(this._depthStencilTexture.descriptor);else{const t=ht(r)?r:new ct(e,r);this._depthStencilBuffer=t,this._validateRenderbufferDescriptor(t.descriptor)}}dispose(){const{_colorAttachments:e,_glName:t}=this;if(0===e.size&&!this._depthStencilBuffer&&!this._depthStencilTexture&&!t)return;const{_context:r}=this,i=r.getBoundFramebufferObject();e.forEach((e,t)=>this.detachColorTexture(t)?.dispose()),this.detachDepthStencilBuffer()?.dispose(),this.detachDepthStencilTexture()?.dispose(),r.gl.deleteFramebuffer(t),this._glName=null,r.bindFramebuffer(i===this?null:i),r.instanceCounter.decrement(rt.vt.FramebufferObject,this)}get glName(){return this._glName}get colorTexture(){const e=this._colorAttachments.get(rt.r6);return ut(e)?e:null}get depthStencil(){return this._depthStencilTexture||this._depthStencilBuffer}get depthStencilTexture(){return this._depthStencilTexture}get width(){const e=this._colorAttachments.get(rt.r6)??this._depthStencilTexture??this._depthStencilBuffer;return e?.descriptor?.width??0}get height(){const e=this._colorAttachments.get(rt.r6)??this._depthStencilTexture??this._depthStencilBuffer;return e?.descriptor?.height??0}get usedMemory(){return[...this._colorAttachments].reduce((e,[t,r])=>e+r.usedMemory,this.depthStencil?.usedMemory??0)}static{this._MAX_COLOR_ATTACHMENTS=-1}getColorTexture(e){const t=this._colorAttachments.get(e);return t&&ut(t)?t:null}get colorAttachments(){return Array.from(this._colorAttachments.keys())}attachColorTexture(e,t=rt.r6){if(!e)return;this._validateColorAttachmentPoint(t);const{descriptor:r}=e;this._validateTextureDescriptor(r),this.detachColorTexture(t)?.dispose(),this._colorAttachments.set(t,e),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,t))}detachColorTexture(e=rt.r6){const t=this._colorAttachments.get(e);if(!t)return;const r=ut(t);return this._initialized&&this._context.temporaryBindFramebufferObject(this,()=>{if(r)this._framebufferTexture2D(null,e);else{const t=this._context.gl;t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,null)}}),this._colorAttachments.delete(e),r?t:void 0}detachColorTextures(...e){if(0!==e.length){if(this._initialized){const t=this._context.gl;this._context.temporaryBindFramebufferObject(this,()=>{e.forEach(e=>{ut(this._colorAttachments.get(e))?this._framebufferTexture2D(null,e):t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,null)})})}e.forEach(e=>this._colorAttachments.delete(e))}}setColorTextureTarget(e,t=rt.r6,r=0){const i=this._colorAttachments.get(t);i&&(35866===e?this._framebufferTextureLayer(i.glName,t,36160,0,r):this._framebufferTexture2D(i.glName,t,e,36160,0))}attachDepthStencil(e){if(e)switch(e.type){case 1:return this._attachDepthStencilTexture(e);case 2:return this._attachDepthStencilBuffer(e)}}_attachDepthStencilTexture(e){if(null==e)return;const{descriptor:t}=e,{pixelFormat:r,dataType:i}=t;34041===r||6402===r?34041!==r||i===rt.ld.UNSIGNED_INT_24_8?6402!==r||i===rt.ld.UNSIGNED_INT||i===rt.ld.UNSIGNED_SHORT?(this._validateTextureDescriptor(t),this._disposeDepthStencilAttachments(),this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(e.glName,gt(r))),this._depthStencilTexture?.dispose(),this._depthStencilTexture=e):console.error("Depth texture must have data type of UNSIGNED_INT or UNSIGNED_SHORT!"):console.error("Depth/Stencil texture must have data type of UNSIGNED_INT_24_8!"):console.error("Depth/Stencil texture must have a pixel type of DEPTH_STENCIL!")}detachDepthStencilTexture(){const e=this._depthStencilTexture;return e&&this._initialized&&this._context.temporaryBindFramebufferObject(this,()=>{this._framebufferTexture2D(null,gt(e.descriptor.pixelFormat))}),this._depthStencilTexture=null,e}_attachDepthStencilBuffer(e){if(null==e)return;const t=e.descriptor;if(this._validateRenderbufferDescriptor(t),this._disposeDepthStencilAttachments(),this._initialized){this._context.bindFramebuffer(this);const{gl:r}=this._context,i=this._getGLAttachmentPoint(t);r.framebufferRenderbuffer(36160,i,r.RENDERBUFFER,e.glName)}this._depthStencilBuffer=e}detachDepthStencilBuffer(){const e=this._depthStencilBuffer;if(e&&this._initialized){const{_context:t}=this,r=t.getBoundFramebufferObject();t.bindFramebuffer(this);const{gl:i}=t,n=this._getGLAttachmentPoint(e.descriptor);i.framebufferRenderbuffer(36160,n,i.RENDERBUFFER,null),t.bindFramebuffer(r)}return this._depthStencilBuffer=null,e}invalidateAttachments(e){const{_context:t}=this;t.temporaryBindFramebufferObject(this,()=>t.gl.invalidateFramebuffer(36160,e),!0)}copyToTexture(e,t,r,i,n,o,s){(e<0||t<0||n<0||o<0)&&console.error("Offsets cannot be negative!"),(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!");const a=s.descriptor;3553!==s.descriptor.target&&console.error("Texture target must be TEXTURE_2D!"),(null==a?.width||null==a?.height||e+r>this.width||t+i>this.height||n+r>a.width||o+i>a.height)&&console.error("Bad dimensions, the current input values will attempt to read or copy out of bounds!");const c=this._context,l=c.bindTexture(s,nt.A.TEXTURE_UNIT_FOR_UPDATES);c.setActiveTexture(nt.A.TEXTURE_UNIT_FOR_UPDATES),c.bindFramebuffer(this),c.gl.copyTexSubImage2D(3553,0,n,o,e,t,r,i),c.bindTexture(l,nt.A.TEXTURE_UNIT_FOR_UPDATES)}readPixels(e,t,r,i,n,o,s){(r<=0||i<=0)&&console.error("Copy width and height must be greater than zero!"),s||console.error("Target memory is not initialized!"),this._context.bindFramebuffer(this),this._context.gl.readPixels(e,t,r,i,n,o,s)}async readPixelsAsync(e,t,r,i,n,o,s){const{gl:a}=this._context,c=ot.g.createPixelPack(this._context,35041,s.byteLength);this._context.bindBuffer(c);const l=this._context.getBoundFramebufferObject();this._context.bindFramebuffer(this),a.readPixels(e,t,r,i,n,o,0),this._context.unbindBuffer(35051),this._context.bindFramebuffer(l),await c.getSubDataAsync(s),c.dispose()}resize(e,t){if(this.width===e&&this.height===t)return;const r={width:e,height:t};if(ft(r,this._context.parameters.maxTextureSize),this._colorAttachments.forEach(e=>e.resize(r.width,r.height)),this._depthStencilTexture?.resize(r.width,r.height),this._initialized&&(ft(r,this._context.parameters.maxRenderbufferSize),this._depthStencilBuffer?.resize(r.width,r.height),(0,tt.en)())){const{gl:e}=this._context;e.checkFramebufferStatus(36160)!==e.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!")}}initializeAndBind(e=36160){const{gl:t}=this._context;if(this._initialized)return void t.bindFramebuffer(e,this.glName);this._glName&&t.deleteFramebuffer(this._glName);const r=t.createFramebuffer();if(t.bindFramebuffer(e,r),this._colorAttachments.forEach((t,r)=>{if(ut(t)){const i=pt(t);35866===i?this._framebufferTextureLayer(t.glName,r,e,0,0):this._framebufferTexture2D(t.glName,r,i,e)}else if(ht(t)){const i=this._context.gl;i.framebufferRenderbuffer(e,r,i.RENDERBUFFER,t.glName)}}),this._depthStencilBuffer){const r=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);t.framebufferRenderbuffer(e,r,t.RENDERBUFFER,this._depthStencilBuffer.glName)}else if(this._depthStencilTexture){const t=gt(this._depthStencilTexture.descriptor.pixelFormat);this._framebufferTexture2D(this._depthStencilTexture.glName,t,pt(this._depthStencilTexture),e)}(0,tt.en)()&&t.checkFramebufferStatus(e)!==t.FRAMEBUFFER_COMPLETE&&console.error("Framebuffer is incomplete!"),this._glName=r,this._initialized=!0}_framebufferTexture2D(e,t=rt.r6,r=3553,i=36160,n=0){this._context.gl.framebufferTexture2D(i,t,r,e,n)}_framebufferTextureLayer(e,t=rt.r6,r=36160,i=0,n=0){this._context.gl.framebufferTextureLayer(r,t,e,i,n)}_disposeDepthStencilAttachments(){const e=this._context.gl;if(this._depthStencilBuffer){if(this._initialized){this._context.bindFramebuffer(this);const t=this._getGLAttachmentPoint(this._depthStencilBuffer.descriptor);e.framebufferRenderbuffer(36160,t,e.RENDERBUFFER,null)}this._depthStencilBuffer=(0,a.WD)(this._depthStencilBuffer)}this._depthStencilTexture&&(this._initialized&&(this._context.bindFramebuffer(this),this._framebufferTexture2D(null,gt(this._depthStencilTexture.descriptor.pixelFormat))),this._depthStencilTexture=(0,a.WD)(this._depthStencilTexture))}_validateTextureDescriptor(e){3553!==e.target&&34067!==e.target&&35866!==e.target&&console.error("Texture type must be TEXTURE_2D, TEXTURE_2D_ARRAY or TEXTURE_CUBE_MAP!"),ft(e,this._context.parameters.maxTextureSize),this._validateBufferDimensions(e)}_validateRenderbufferDescriptor(e){ft(e,this._context.parameters.maxRenderbufferSize),this._validateBufferDimensions(e)}_validateBufferDimensions(e){e.width<=0&&(e.width=this.width),e.height<=0&&(e.height=this.height),this.width>0&&this.height>0&&(this.width===e.width&&this.height===e.height||console.error("Attachment size must match framebuffer size!"))}_getGLAttachmentPoint(e){switch(e.internalFormat){case rt.SB.DEPTH_COMPONENT16:case rt.SB.DEPTH_COMPONENT24:case rt.SB.DEPTH_COMPONENT32F:return rt.xL;case rt.iE.DEPTH24_STENCIL8:case rt.iE.DEPTH32F_STENCIL8:return rt.nI;case 36168:return rt.uH;default:return rt.r6}}_validateColorAttachmentPoint(e){if(-1===lt._MAX_COLOR_ATTACHMENTS){const{gl:e}=this._context;lt._MAX_COLOR_ATTACHMENTS=e.getParameter(e.MAX_COLOR_ATTACHMENTS)}const t=e-rt.r6;t+1>lt._MAX_COLOR_ATTACHMENTS&&O.A.getLogger("esri.views.webgl.FrameBufferObject").error("esri.FrameBufferObject",`illegal attachment point for color attachment: ${t+1}. Implementation supports up to ${lt._MAX_COLOR_ATTACHMENTS} color attachments`)}}function ut(e){return 1===mt(e)}function ht(e){return 2===mt(e)}function dt(e){return 0===mt(e)}function mt(e){return null!=e&&"type"in e?e.type:null}function ft(e,t){const r=Math.max(e.width,e.height);if(r>t){O.A.getLogger("esri.views.webgl.FramebufferObject").warnOnce(`Resizing FBO attachment size ${e.width}x${e.height} to device limit ${t}`);const i=t/r;return e.width=Math.round(e.width*i),e.height=Math.round(e.height*i),!1}return!0}function pt(e){return 34067===e.descriptor.target?34069:35866===e.descriptor.target?35866:3553}function gt(e){return 6402===e?rt.xL:rt.nI}var vt=r(67171),_t=(r(21818),r(69397),r(85079)),xt=r(74038);const yt=[new xt._("position",2,rt.pe.UNSIGNED_SHORT,0,4)];new xt._("a_pos",2,rt.pe.BYTE,0,2),new xt._("a_pos",2,rt.pe.BYTE,0,4),new xt._("a_tex",2,rt.pe.BYTE,2,4),(0,_t.Xk)(yt),r(66289);const wt=new Image;wt.src="data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg width='5' height='5' version='1.1' viewBox='0 0 5 5' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='5' height='5' fill='%23f00' fill-opacity='.5'/%3E%3C/svg%3E%0A",wt.width=5,wt.height=5,wt.decode();let bt=class extends I.A{constructor(e){super(e),this.view=null,this.consumes={required:[]},this.produces=qe,this.requireGeometryDepth=!1,this._dirty=!0}initialize(){this.addHandles([(0,c.wB)(()=>this.view.ready,e=>{e&&this.view.stage?.renderer.addRenderNode(this)},c.Vh)])}destroy(){this.view.stage?.renderer?.removeRenderNode(this)}precompile(){}render(){throw new Je.A("RenderNode:render-function-not-implemented","render() is not implemented.")}get camera(){return this.view.state.camera.clone()}get sunLight(){return this.bindParameters.lighting.legacy}get gl(){return this.view.stage.renderView.renderingContext.gl}get techniques(){return this.view.stage.renderView.techniques}acquireOutputFramebuffer(){const e=this._frameBuffer?.getTexture()?.descriptor,t=this.view.stage.renderer.fboCache.acquire(e?.width??640,e?.height??480,this.produces);return this._bind(t),t}bindRenderTarget(){return this._bind(this._frameBuffer),this._frameBuffer}_bind({fbo:e}){var t;e.initializeAndBind(),this.gl.drawBuffers((t=e)?t.colorAttachments.length>0?t.colorAttachments:[rt.$0]:[rt.C5])}requestRender(e){switch(e){case 2:this.view.state.fading=!0;case 1:this.view.stage?.renderView.requestRender(e);case 0:case void 0:this._dirty=!0}}resetWebGLState(){this.renderingContext.resetState(),this.renderingContext.bindFramebuffer(this._frameBuffer?.fbo)}get fboCache(){return this.view.stage.renderer.fboCache}get bindParameters(){return this.renderContext.bind}get renderingContext(){return this.view.stage.renderView.renderingContext}get renderContext(){return this.view.stage?.renderer.renderContext}updateAnimation(e){return!!this._dirty&&(this._dirty=!1,!0)}doRender(e){this._frameBuffer=e.find(({name:e})=>e===this.produces);try{return this.render(e)}finally{this._frameBuffer=null}}};(0,o.Cg)([(0,Ke.MZ)({constructOnly:!0})],bt.prototype,"view",void 0),(0,o.Cg)([(0,Ke.MZ)({constructOnly:!0})],bt.prototype,"consumes",void 0),(0,o.Cg)([(0,Ke.MZ)()],bt.prototype,"produces",void 0),(0,o.Cg)([(0,Ke.MZ)({readOnly:!0})],bt.prototype,"techniques",null),bt=(0,o.Cg)([(0,Qe.$)("esri.views.3d.webgl.RenderNode")],bt);const Tt=bt;var Mt=r(15581),St=r(13840),Ct=r(42958),Et=r(95774);let At=class extends Ct.w{constructor(){super(...arguments),this.shader=new St.r(Et.S,()=>r.e(1285).then(r.bind(r,91285)))}initializePipeline(){return(0,it.Ey)({colorWrite:it.kn})}};At=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],At);var Rt=r(65786);class It extends Rt.Y{constructor(){super(...arguments),this.projScale=1}}class Ot extends It{constructor(){super(...arguments),this.intensity=1}}class Ft extends Rt.Y{}class Dt extends Ft{constructor(){super(...arguments),this.blurSize=(0,N.vt)()}}let Nt=class extends Ct.w{constructor(){super(...arguments),this.shader=new St.r(Mt.S,()=>r.e(6122).then(r.bind(r,86122)))}initializePipeline(){return(0,it.Ey)({colorWrite:it.kn})}};Nt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAOTechnique")],Nt);let Pt=class extends Tt{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=Xe.SSAO,this.isEnabled=()=>!1,this._enableTime=(0,l.l5)(0),this._passParameters=new Ot,this._drawParameters=new Dt}initialize(){const e=Uint8Array.from(atob("eXKEvZaUc66cjIKElE1jlJ6MjJ6Ufkl+jn2fcXp5jBx7c6KEflSGiXuXeW6OWs+tfqZ2Yot2Y7Zzfo2BhniEj3xoiXuXj4eGZpqEaHKDWjSMe7palFlzc3BziYOGlFVzg6Zzg7CUY5JrjFF7eYJ4jIKEcyyEonSXe7qUfqZ7j3xofqZ2c4R5lFZ5Y0WUbppoe1l2cIh2ezyUho+BcHN2cG6DbpqJhqp2e1GcezhrdldzjFGUcyxjc3aRjDyEc1h7Sl17c6aMjH92pb6Mjpd4dnqBjMOEhqZleIOBYzB7gYx+fnqGjJuEkWlwnCx7fGl+c4hjfGyRe5qMlNOMfnqGhIWHc6OMi4GDc6aMfqZuc6aMzqJzlKZ+lJ6Me3qRfoFue0WUhoR5UraEa6qMkXiPjMOMlJOGe7JrUqKMjK6MeYRzdod+Sl17boiPc6qEeYBlcIh2c1WEe7GDiWCDa0WMjEmMdod+Y0WcdntzhmN8WjyMjKJjiXtzgYxYaGd+a89zlEV7e2GJfnd+lF1rcK5zc4p5cHuBhL6EcXp5eYB7fnh8iX6HjIKEeaxuiYOGc66RfG2Ja5hzjlGMjEmMe9OEgXuPfHyGhPeEdl6JY02McGuMfnqGhFiMa3WJfnx2l4hwcG1uhmN8c0WMc39og1GBbrCEjE2EZY+JcIh2cIuGhIWHe0mEhIVrc09+gY5+eYBlnCyMhGCDl3drfmmMgX15aGd+gYx+fnuRfnhzY1SMsluJfnd+hm98WtNrcIuGh4SEj0qPdkqOjFF7jNNjdnqBgaqUjMt7boeBhnZ4jDR7c5pze4GGjEFrhLqMjHyMc0mUhKZze4WEa117kWlwbpqJjHZ2eX2Bc09zeId+e0V7WlF7jHJ2l72BfId8l3eBgXyBe897jGl7c66cgW+Xc76EjKNbgaSEjGx4fId8jFFjgZB8cG6DhlFziZhrcIh2fH6HgUqBgXiPY8dahGFzjEmMhEFre2dxhoBzc5SGfleGe6alc7aUeYBlhKqUdlp+cH5za4OEczxza0Gcc4J2jHZ5iXuXjH2Jh5yRjH2JcFx+hImBjH+MpddCl3dreZeJjIt8ZW18bm1zjoSEeIOBlF9oh3N7hlqBY4+UeYFwhLJjeYFwaGd+gUqBYxiEYot2fqZ2ondzhL6EYyiEY02Ea0VjgZB8doaGjHxoc66cjEGEiXuXiXWMiZhreHx8frGMe75rY02Ec5pzfnhzlEp4a3VzjM+EhFFza3mUY7Zza1V5e2iMfGyRcziEhDyEkXZ2Y4OBnCx7g5t2eyBjgV6EhEFrcIh2dod+c4Z+nJ5zjm15jEmUeYxijJp7nL6clIpjhoR5WrZraGd+fnuRa6pzlIiMg6ZzfHx5foh+eX1ufnB5eX1ufnB5aJt7UqKMjIh+e3aBfm5lbYSBhGFze6J4c39oc0mUc4Z+e0V7fKFVe0WEdoaGY02Ec4Z+Y02EZYWBfH6HgU1+gY5+hIWUgW+XjJ57ebWRhFVScHuBfJ6PhBx7WqJzlM+Ujpd4gHZziX6HjHmEgZN+lJt5boiPe2GJgX+GjIGJgHZzeaxufnB5hF2JtdN7jJ57hp57hK6ElFVzg6ZzbmiEbndzhIWHe3uJfoFue3qRhJd2j3xoc65zlE1jc3p8lE1jhniEgXJ7e657vZaUc3qBh52BhIF4aHKDa9drgY5+c52GWqZzbpqJe8tjnM+UhIeMfo2BfGl+hG1zSmmMjKJjZVaGgX15c1lze0mEp4OHa3mUhIWHhDyclJ6MeYOJkXiPc0VzhFiMlKaEboSJa5Jze41re3qRhn+HZYWBe0mEc4p5fnORbox5lEp4hGFjhGGEjJuEc1WEhLZjeHeGa7KlfHx2hLaMeX1ugY5+hIWHhKGPjMN7c1WEho1zhoBzZYx7fnhzlJt5exyUhFFziXtzfmmMa6qMYyiEiXxweV12kZSMeWqXSl17fnhzxmmMrVGEe1mcc4p5eHeGjK6MgY5+doaGa6pzlGV7g1qBh4KHkXiPeW6OaKqafqZ2eXZ5e1V7jGd7boSJc3BzhJd2e0mcYot2h1RoY8dahK6EQmWEWjx7e1l2lL6UgXyBdnR4eU9zc0VreX1umqaBhld7fo2Bc6KEc5Z+hDyEcIeBWtNrfHyGe5qMhMuMe5qMhEGEbVVupcNzg3aHhIF4boeBe0mEdlptc39ofFl5Y8uUlJOGiYt2UmGEcyxjjGx4jFF7a657ZYWBnElzhp57iXtrgZN+tfOEhIOBjE2HgU1+e8tjjKNbiWCDhE15gUqBgYN7fnqGc66ce9d7iYSBj0qPcG6DnGGcT3eGa6qMZY+JlIiMl4hwc3aRdnqBlGV7eHJ2hLZjfnuRhDyEeX6MSk17g6Z+c6aUjHmEhIF4gXyBc76EZW18fGl+fkl+jCxrhoVwhDyUhIqGlL2DlI6EhJd2tdN7eYORhEGMa2Faa6pzc3Bzc4R5lIRznM+UY9eMhDycc5Z+c4p5c4iGY117pb6MgXuPrbJafnx2eYOJeXZ5e657hDyEcziElKZjfoB5eHeGj4WRhGGEe6KGeX1utTStc76EhFGJnCyMa5hzfH6HnNeceYB7hmN8gYuMhIVrczSMgYF8h3N7c5pza5hzjJqEYIRdgYuMlL2DeYRzhGGEeX1uhLaEc4iGeZ1zdl6JhrVteX6Me2iMfm5lWqJzSpqEa6pzdnmchHx2c6OMhNdrhoR5g3aHczxzeW52gV6Ejm15frGMc0Vzc4Z+l3drfniJe+9rWq5rlF1rhGGEhoVwe9OEfoh+e7pac09+c3qBY0lrhDycdnp2lJ6MiYOGhGCDc3aRlL2DlJt5doaGdnp2gYF8gWeOjF2Uc4R5c5Z+jEmMe7KEc4mEeYJ4dmyBe0mcgXiPbqJ7eYB7fmGGiYSJjICGlF1reZ2PnElzbpqJfH6Hc39oe4WEc5eJhK6EhqyJc3qBgZB8c09+hEmEaHKDhFGJc5SGiXWMUpaEa89zc6OMnCyMiXtrho+Be5qMc7KEjJ57dmN+hKGPjICGbmiEe7prdod+hGCDdnmchBx7eX6MkXZ2hGGEa657hm98jFFjY5JreYOJgY2EjHZ2a295Y3FajJ6Mc1J+YzB7e4WBjF2Uc4R5eV12gYxzg1qBeId+c9OUc5pzjFFjgY5+hFiMlIaPhoR5lIpjjIKBlNdSe7KEeX2BfrGMhIqGc65zjE2UhK6EklZ+QmWEeziMWqZza3VzdnR4foh+gYF8n3iJiZhrnKp7gYF8eId+lJ6Me1lrcIuGjKJjhmN8c66MjFF7a6prjJ6UnJ5zezyUfruRWlF7nI5zfHyGe657h4SEe8tjhBx7jFFjc09+c39ojICMeZeJeXt+YzRzjHZ2c0WEcIeBeXZ5onSXkVR+gYJ+eYFwdldzgYF7eX2BjJ6UiXuXlE1jh4SEe1mchLJjc4Z+hqZ7eXZ5bm1zlL6Ue5p7iWeGhKqUY5pzjKJjcIeBe8t7gXyBYIRdlEp4a3mGnK6EfmmMZpqEfFl5gYxzjKZuhGFjhoKGhHx2fnx2eXuMe3aBiWeGvbKMe6KGa5hzYzB7gZOBlGV7hmN8hqZlYot2Y117a6pzc6KEfId8foB5rctrfneJfJ6PcHN2hFiMc5pzjH92c0VzgY2EcElzdmCBlFVzg1GBc65zY4OBboeBcHiBeYJ4ewxzfHx5lIRzlEmEnLKEbk1zfJ6PhmN8eYBljBiEnMOEiXxwezyUcIeBe76EdsKEeX2BdnR4jGWUrXWMjGd7fkl+j4WRlEGMa5Jzho+BhDyEfnqMeXt+g3aHlE1jczClhNN7ZW18eHx8hGFjZW18iXWMjKJjhH57gYuMcIuGWjyMe4ZtjJuExmmMj4WRdntzi4GDhFFzYIRdnGGcjJp7Y0F7e4WEkbCGiX57fnSHa657a6prhBCMe3Z+SmmMjH92eHJ2hK6EY1FzexhrvbKMnI5za4OEfnd+eXuMhImBe897hLaMjN+EfG+BeIOBhF1+eZeJi4GDkXZ2eXKEgZ6Ejpd4c2GHa1V5e5KUfqZuhCx7jKp7lLZrg11+hHx2hFWUoot2nI5zgbh5mo9zvZaUe3qRbqKMfqZ2kbCGhFiM"),e=>e.charCodeAt(0)),t=new vt.R(32);t.wrapMode=33071,t.pixelFormat=6407,t.wrapMode=10497,t.hasMipmap=!0,this._passParameters.noiseTexture=new nt.A(this.renderingContext,t,e),this.addHandles((0,c.wB)(()=>this.isEnabled(),()=>this._enableTime=(0,l.l5)(0)))}destroy(){this._passParameters.noiseTexture=(0,a.WD)(this._passParameters.noiseTexture)}precompile(){this.techniques.precompile(Nt),this.techniques.precompile(At)}render(e){const t=e.find(({name:e})=>"normals"===e),r=t?.getTexture(),i=t?.getTexture(rt.nI);if(!r||!i)return;const n=this.techniques.getCompiled(Nt),o=this.techniques.getCompiled(At);if(!n||!o)return this._enableTime=(0,l.l5)(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=(0,l.l5)(performance.now()));const a=this.renderingContext,c=this.view.qualitySettings.fadeDuration,u=this.bindParameters,d=u.camera,m=d.relativeElevation,f=(0,s.qE)((5e5-m)/2e5,0,1),p=c>0?Math.min(c,performance.now()-this._enableTime)/c:1,g=p*f;this._passParameters.normalTexture=r,this._passParameters.depthTexture=i,this._passParameters.projScale=1/d.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*Bt/(0,Mt.g)(d)**6*g;const v=d.fullViewport[2],_=d.fullViewport[3],x=this.fboCache.acquire(v,_,"ssao input",2);a.bindFramebuffer(x.fbo),a.setViewport(0,0,v,_),a.bindTechnique(n,u,this._passParameters,this._drawParameters),a.screen.draw();const y=Math.round(v/2),w=Math.round(_/2),b=this.fboCache.acquire(y,w,"ssao blur",0);a.bindFramebuffer(b.fbo),this._drawParameters.colorTexture=x.getTexture(),(0,h.hZ)(this._drawParameters.blurSize,0,2/_),a.bindTechnique(o,u,this._passParameters,this._drawParameters),a.setViewport(0,0,y,w),a.screen.draw(),x.release();const T=this.fboCache.acquire(y,w,Xe.SSAO,0);return a.bindFramebuffer(T.fbo),a.setViewport(0,0,v,_),a.setClearColor(1,1,1,0),a.clear(16384),this._drawParameters.colorTexture=b.getTexture(),(0,h.hZ)(this._drawParameters.blurSize,2/v,0),a.bindTechnique(o,u,this._passParameters,this._drawParameters),a.setViewport(0,0,y,w),a.screen.draw(),a.setViewport4fv(d.fullViewport),b.release(),p<1&&this.requestRender(2),T}};(0,o.Cg)([(0,u.MZ)()],Pt.prototype,"consumes",void 0),(0,o.Cg)([(0,u.MZ)()],Pt.prototype,"produces",void 0),(0,o.Cg)([(0,u.MZ)({constructOnly:!0})],Pt.prototype,"isEnabled",void 0),Pt=(0,o.Cg)([(0,u.$K)("esri.views.3d.webgl-engine.effects.ssao.SSAO")],Pt);const Bt=.5;function Ht(e,t){t.receiveAmbientOcclusion?(e.uniforms.add(new n.x("ssaoTex",e=>e.ssao?.getTexture())),e.constants.add("blurSizePixelsInverse","float",.5),e.code.add(i.H`float evaluateAmbientOcclusionInverse() {
|
|
564
564
|
vec2 ssaoTextureSizeInverse = 1.0 / vec2(textureSize(ssaoTex, 0));
|
|
565
565
|
return texture(ssaoTex, gl_FragCoord.xy * blurSizePixelsInverse * ssaoTextureSizeInverse).r;
|
|
566
566
|
}
|
|
@@ -603,7 +603,7 @@ vec3 calculateAmbientRadiance(float ambientOcclusion)
|
|
|
603
603
|
{
|
|
604
604
|
vec3 ambientLight = 1.2 * (0.282095 * vec3(shR[0], shG[0], shB[0])) - 0.2;
|
|
605
605
|
return ambientLight *= (1.0 - ambientOcclusion) * skyTransmittance;
|
|
606
|
-
}`)}var a=r(
|
|
606
|
+
}`)}var a=r(43730),c=r(65261),l=r(98619),u=r(22393),h=r(89786),d=r(32976),m=r(33094),f=(r(34727),r(35522),r(51850));const p={create:()=>[0,0,0,0,0,0,0,0,0],copy(e,t){e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8]}};function g(e){e.code.add(o.H`float mapChannel(float x, vec2 p) {
|
|
607
607
|
return (x < p.x) ? mix(0.0, p.y, x/p.x) : mix(p.y, 1.0, (x - p.x) / (1.0 - p.x) );
|
|
608
608
|
}`),e.code.add(o.H`vec3 blackLevelSoftCompression(vec3 color, float averageAmbientRadiance) {
|
|
609
609
|
vec2 p = vec2(0.02, 0.0075) * averageAmbientRadiance;
|
|
@@ -1006,7 +1006,7 @@ return dpDummy * hiD + loD;
|
|
|
1006
1006
|
// multiply or tint (or something invalid)
|
|
1007
1007
|
return allMixed;
|
|
1008
1008
|
}
|
|
1009
|
-
`)}},20693(e,t,r){r.d(t,{yu:()=>d,NB:()=>m,S7:()=>g});var i=r(58083),n=r(9093),o=r(35522),s=r(51850),a=r(23205),c=r(40710),l=(r(33094),r(58029)),u=r(74333);class h extends u.n{constructor(e,t,r){super(e,"mat4",2,(i,n,o)=>i.setUniformMatrix4fv(e,t(n,o),r))}}function d(e,t){t.instancedDoublePrecision?e.constants.add("cameraPosition","vec3",s.uY):e.uniforms.add(new c.W("cameraPosition",(e,t)=>(0,o.hZ)(p,t.camera.viewInverseTransposeMatrix[3]-e.origin[0],t.camera.viewInverseTransposeMatrix[7]-e.origin[1],t.camera.viewInverseTransposeMatrix[11]-e.origin[2])))}function m(e,t){if(!t.instancedDoublePrecision)return void e.uniforms.add(new l.F("proj",e=>e.camera.projectionMatrix),new h("view",(e,t)=>(0,i.Tl)(f,t.camera.viewMatrix,e.origin)),new c.W("localOrigin",e=>e.origin));const r=({camera:e})=>(0,o.hZ)(p,e.viewInverseTransposeMatrix[3],e.viewInverseTransposeMatrix[7],e.viewInverseTransposeMatrix[11]);e.uniforms.add(new l.F("proj",e=>e.camera.projectionMatrix),new l.F("view",e=>(0,i.Tl)(f,e.camera.viewMatrix,r(e))),new a.d("localOrigin",e=>r(e)))}const f=(0,n.vt)(),p=(0,s.vt)();function g(e){e.uniforms.add(new l.F("viewNormal",e=>e.camera.viewInverseTransposeMatrix))}},32976(e,t,r){r.d(t,{o:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"bool",0,(r,i)=>r.setUniform1b(e,t(i)))}}},77108(e,t,r){r.d(t,{E:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec2",0,(i,n)=>i.setUniform2fv(e,t(n),r))}}},68259(e,t,r){r.d(t,{t:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec2",2,(i,n,o,s)=>i.setUniform2fv(e,t(n,o,s),r))}}},47286(e,t,r){r.d(t,{G:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec2",1,(i,n,o)=>i.setUniform2fv(e,t(n,o),r))}}},23205(e,t,r){r.d(t,{d:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec3",0,(i,n)=>i.setUniform3fv(e,t(n),r))}}},40710(e,t,r){r.d(t,{W:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec3",2,(i,n,o,s)=>i.setUniform3fv(e,t(n,o,s),r))}}},33079(e,t,r){r.d(t,{t:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec3",1,(i,n,o)=>i.setUniform3fv(e,t(n,o),r))}}},14314(e,t,r){r.d(t,{I:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec4",0,(i,n)=>i.setUniform4fv(e,t(n),r))}}},71988(e,t,r){r.d(t,{E:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec4",1,(i,n,o)=>i.setUniform4fv(e,t(n,o),r))}}},33094(e,t,r){r.d(t,{U:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"float",0,(i,n)=>i.setUniform1f(e,t(n),r))}}},28421(e,t,r){r.d(t,{J:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"float",2,(i,n,o)=>i.setUniform1f(e,t(n,o),r))}}},20304(e,t,r){r.d(t,{m:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"float",1,(i,n,o)=>i.setUniform1f(e,t(n,o),r))}}},35818(e,t,r){r.d(t,{W:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"int",0,(r,i)=>r.setUniform1i(e,t(i)))}}},98353(e,t,r){r.d(t,{h:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"mat3",2,(i,n,o)=>i.setUniformMatrix3fv(e,t(n,o),r))}}},35644(e,t,r){r.d(t,{k:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"mat3",1,(i,n,o)=>i.setUniformMatrix3fv(e,t(n,o),r))}}},58029(e,t,r){r.d(t,{F:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"mat4",0,(i,n)=>i.setUniformMatrix4fv(e,t(n),r))}}},12791(e,t,r){r.d(t,{x:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"sampler2D",0,(r,i)=>r.bindTexture(e,t(i)))}}},15976(e,t,r){r.d(t,{o:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"sampler2D",2,(r,i,n)=>r.bindTexture(e,t(i,n)))}}},63761(e,t,r){r.d(t,{N:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"sampler2D",1,(r,i,n)=>r.bindTexture(e,t(i,n)))}}},31821(e,t,r){r.d(t,{H:()=>i,If:()=>n});const i=(e,...t)=>{let r="";for(let i=0;i<t.length;i++)r+=e[i]+t[i];return r+=e[e.length-1],r};function n(e,t,r=""){return e?t:r}i.int=e=>e.toFixed(),i.uint=e=>`${Math.max(0,e).toFixed()}u`,i.hexuint=e=>`0x${Math.round(Math.max(0,e)).toString(16)}u`,i.float=e=>e.toPrecision(8)},13840(e,t,r){r.d(t,{r:()=>i});class i{constructor(e,t){this._module=e,this._load=t}get(){return this._module}async reload(){return this._module=await this._load(),this._module}}},42958(e,t,r){r.d(t,{w:()=>p});var i=r(5482),n=r(69622),o=r(53966),s=r(91429),a=r(63907),c=r(85079),l=r(74038);new l._("position",3,a.pe.FLOAT,0,12);const u=[new l._("position",2,a.pe.FLOAT,0,8)];(0,c.Xk)(u),new l._("position",2,a.pe.FLOAT,0,12),new l._("uv0",2,a.pe.HALF_FLOAT,8,12),new l._("position",2,a.pe.FLOAT,0,16),new l._("uv0",2,a.pe.FLOAT,8,16),r(44208);var h=r(26857),d=r(94656);class m{constructor(e,t,r){this._context=e,this.locations=r,this._textures=new Map,this.source=(0,d.en)()?t:null,t.attributeNames.forEach(e=>{r.has(e)||o.A.getLogger("esri.views.3d.webgl-engine.lib.Program").error(`Missing VertexAttributeLocation for ${e} used in shader`)}),this._glProgram=e.programCache.get(t.generate("vertex",!0),t.generate("fragment",!0),r),this._glProgram.stop=()=>{throw new Error("Wrapped _glProgram used directly")},this.bind=t.generateBind(this),this.bindPass=t.generateBindPass(this),this.bindDraw=t.generateBindDraw(this)}get glName(){return this._glProgram.glName}get hasTransformFeedbackVaryings(){return this._glProgram.hasTransformFeedbackVaryings}get compiled(){return this._glProgram.compiled}setUniform1b(e,t){this._glProgram.setUniform1i(e,t?1:0)}setUniform1i(e,t){this._glProgram.setUniform1i(e,t)}setUniform1f(e,t,r){this._glProgram.setUniform1f(e,t,r)}setUniform2fv(e,t,r){this._glProgram.setUniform2fv(e,t,r)}setUniform3fv(e,t,r){this._glProgram.setUniform3fv(e,t,r)}setUniform4fv(e,t,r){this._glProgram.setUniform4fv(e,t,r)}setUniformMatrix3fv(e,t,r){this._glProgram.setUniformMatrix3fv(e,t,!1,r)}setUniformMatrix4fv(e,t,r){this._glProgram.setUniformMatrix4fv(e,t,!1,r)}setUniformMatrices4fv(e,t,r){this._glProgram.setUniformMatrices4fv(e,t,!1,r)}setUniform1fv(e,t,r){this._glProgram.setUniform1fv(e,t,r)}setUniform1iv(e,t){this._glProgram.setUniform1iv(e,t)}setUniform2iv(e,t){this._glProgram.setUniform2iv(e,t)}setUniform3iv(e,t){this._glProgram.setUniform3iv(e,t)}setUniform4iv(e,t){this._glProgram.setUniform4iv(e,t)}assertCompatibleVertexAttributeLocations(e,t){if(h.b.ENABLE_OPTIMIZATIONS)return;let r=e.locations;if(t){const e=new Map(r);t.forEach((t,i)=>e.set(i,r.size+t)),r=e}r.size!==this.locations.size&&console.error(`VertexAttributeLocations are incompatible: ${r}, ${this.locations}`),this.locations.forEach((e,t)=>{r.get(t)!==e&&console.error(`VertexAttributeLocations are incompatible: Program has ${t} at position ${e}, VAO has it at position ${r.get(t)}.`)})}stop(){this._textures.clear()}bindTexture(e,t){if(!t?.glName){const r=`Texture sampler ${e} in ${this._context.debugBoundTechnique} has no given Texture in ${(new Error).stack}`;(0,d.en)()&&console.error(r),t=this._context.emptyTexture}const r=this._ensureTextureUnit(e,t);this._context.useProgram(this),this.setUniform1i(e,r.unit),this._context.bindTexture(t,r.unit)}_ensureTextureUnit(e,t){let r=this._textures.get(e);return null==r?(r={texture:t,unit:this._textures.size},this._textures.set(e,r)):r.texture=t,r}}var f=r(90644);let p=class extends n.A{constructor(e,t,r){super({}),this._context=e,this._configuration=t,this.primitiveType=a.WR.TRIANGLES,this._unused=!0,this.ignoreUnused=!1,this.key=t.key,this.locations=(0,c.Xk)(r??u),this._pipeline=this.initializePipeline(t),this.reload=async r=>{if(r&&await this.shader.reload(),!this.key.equals(t.key))return void o.A.getLogger("esri.views.3d.webgl.ShaderTechnique").warn(`Configuration was changed after construction, cannot reload shader for ${this.declaredClass}.`);const i=this.shader.get().build(t);i.debugName=this.declaredClass,this._program=new m(e.rctx,i,this.locations),this._pipeline=this.initializePipeline(t)}}initialize(){const e=this.shader.get().build(this._configuration);e.debugName=this.declaredClass,this._program=new m(this._context.rctx,e,this.locations)}get program(){return this._unused=!1,this._program}get compiled(){return this._unused=!1,this.program.compiled}get unused(){return this._unused}ensureAttributeLocations(e){this.program.assertCompatibleVertexAttributeLocations(e)}getPipeline(e,t){return this._pipeline}initializePipeline(e){return(0,f.Ey)({blending:f.RC,colorWrite:f.kn})}};p=(0,i.Cg)([(0,s.$K)("esri.views.3d.webgl-engine.core.shaderTechnique.ShaderTechnique")],p)},51976(e,t,r){r.d(t,{K:()=>a,W:()=>c});var i=r(49186),n=r(4576);class o{constructor(e){this._bits=[...e]}equals(e){return(0,n.aI)(this._bits,e.bits)}get code(){return this._code??=String.fromCharCode(...this._bits),this._code}get bits(){return this._bits}}var s=r(65786);class a extends s.Y{constructor(){super(),this._parameterBits=this._parameterBits?.map(()=>0)??[],this._parameterNames??=[]}get key(){return this._key??=new o(this._parameterBits),this._key}decode(e=this.key){const t=this._parameterBits;this._parameterBits=[...e.bits];const r=this._parameterNames.map(e=>` ${e}: ${this[e]}`).join("\n");return this._parameterBits=t,r}}function c(e={}){return(t,r)=>{t.hasOwnProperty("_parameterNames")||Object.defineProperty(t,"_parameterNames",{value:t._parameterNames?.slice()??[],configurable:!0,writable:!0}),t.hasOwnProperty("_parameterBits")||Object.defineProperty(t,"_parameterBits",{value:t._parameterBits?.slice()??[0],configurable:!0,writable:!0}),t._parameterNames.push(r);const n=e.count||2,o=Math.ceil(Math.log2(n)),s=t._parameterBits;let a=0;for(;s[a]+o>16;)a++,a>=s.length&&s.push(0);const c=s[a],l=(1<<o)-1<<c;s[a]+=o,e.count?Object.defineProperty(t,r,{get(){return(this._parameterBits[a]&l)>>c},set(t){const n=this._parameterBits[a];if((n&l)>>c!==t){if(this._key=null,this._parameterBits[a]=n&~l|+t<<c&l,"number"!=typeof t)throw new i.A("internal:invalid-shader-configuration",`Configuration value for ${r} must be a number, got ${typeof t}`);if(null==e.count)throw new i.A("internal:invalid-shader-configuration",`Configuration value for ${r} must provide a count option`)}}}):Object.defineProperty(t,r,{get(){return!!((this._parameterBits[a]&l)>>c)},set(e){const t=this._parameterBits[a];if(!!((t&l)>>c)!==e&&(this._key=null,this._parameterBits[a]=t&~l|+e<<c,"boolean"!=typeof e))throw new i.A("internal:invalid-shader-configurationx",`Configuration value for ${r} must be boolean, got ${typeof e}`)}})}}},16943(e,t,r){r.d(t,{E:()=>n});var i=r(44208);function n(){return!!(0,i.A)("enable-feature:objectAndLayerId-rendering")}},10906(e,t,r){r.d(t,{b:()=>o});var i=r(33094),n=r(31821);function o(e,t){t.snowCover&&(e.uniforms.add(new i.U("snowCover",e=>e.snowCover)).code.add(n.H`float getSnow(vec3 normal, vec3 groundNormal) {
|
|
1009
|
+
`)}},20693(e,t,r){r.d(t,{yu:()=>d,NB:()=>m,S7:()=>g});var i=r(58083),n=r(9093),o=r(35522),s=r(51850),a=r(23205),c=r(40710),l=(r(33094),r(58029)),u=r(74333);class h extends u.n{constructor(e,t,r){super(e,"mat4",2,(i,n,o)=>i.setUniformMatrix4fv(e,t(n,o),r))}}function d(e,t){t.instancedDoublePrecision?e.constants.add("cameraPosition","vec3",s.uY):e.uniforms.add(new c.W("cameraPosition",(e,t)=>(0,o.hZ)(p,t.camera.viewInverseTransposeMatrix[3]-e.origin[0],t.camera.viewInverseTransposeMatrix[7]-e.origin[1],t.camera.viewInverseTransposeMatrix[11]-e.origin[2])))}function m(e,t){if(!t.instancedDoublePrecision)return void e.uniforms.add(new l.F("proj",e=>e.camera.projectionMatrix),new h("view",(e,t)=>(0,i.Tl)(f,t.camera.viewMatrix,e.origin)),new c.W("localOrigin",e=>e.origin));const r=({camera:e})=>(0,o.hZ)(p,e.viewInverseTransposeMatrix[3],e.viewInverseTransposeMatrix[7],e.viewInverseTransposeMatrix[11]);e.uniforms.add(new l.F("proj",e=>e.camera.projectionMatrix),new l.F("view",e=>(0,i.Tl)(f,e.camera.viewMatrix,r(e))),new a.d("localOrigin",e=>r(e)))}const f=(0,n.vt)(),p=(0,s.vt)();function g(e){e.uniforms.add(new l.F("viewNormal",e=>e.camera.viewInverseTransposeMatrix))}},32976(e,t,r){r.d(t,{o:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"bool",0,(r,i)=>r.setUniform1b(e,t(i)))}}},77108(e,t,r){r.d(t,{E:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec2",0,(i,n)=>i.setUniform2fv(e,t(n),r))}}},68259(e,t,r){r.d(t,{t:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec2",2,(i,n,o,s)=>i.setUniform2fv(e,t(n,o,s),r))}}},47286(e,t,r){r.d(t,{G:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec2",1,(i,n,o)=>i.setUniform2fv(e,t(n,o),r))}}},23205(e,t,r){r.d(t,{d:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec3",0,(i,n)=>i.setUniform3fv(e,t(n),r))}}},40710(e,t,r){r.d(t,{W:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec3",2,(i,n,o,s)=>i.setUniform3fv(e,t(n,o,s),r))}}},33079(e,t,r){r.d(t,{t:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec3",1,(i,n,o)=>i.setUniform3fv(e,t(n,o),r))}}},14314(e,t,r){r.d(t,{I:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec4",0,(i,n)=>i.setUniform4fv(e,t(n),r))}}},71988(e,t,r){r.d(t,{E:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"vec4",1,(i,n,o)=>i.setUniform4fv(e,t(n,o),r))}}},33094(e,t,r){r.d(t,{U:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"float",0,(i,n)=>i.setUniform1f(e,t(n),r))}}},28421(e,t,r){r.d(t,{J:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"float",2,(i,n,o)=>i.setUniform1f(e,t(n,o),r))}}},20304(e,t,r){r.d(t,{m:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"float",1,(i,n,o)=>i.setUniform1f(e,t(n,o),r))}}},35818(e,t,r){r.d(t,{W:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"int",0,(r,i)=>r.setUniform1i(e,t(i)))}}},98353(e,t,r){r.d(t,{h:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"mat3",2,(i,n,o)=>i.setUniformMatrix3fv(e,t(n,o),r))}}},35644(e,t,r){r.d(t,{k:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"mat3",1,(i,n,o)=>i.setUniformMatrix3fv(e,t(n,o),r))}}},58029(e,t,r){r.d(t,{F:()=>n});var i=r(74333);class n extends i.n{constructor(e,t,r){super(e,"mat4",0,(i,n)=>i.setUniformMatrix4fv(e,t(n),r))}}},12791(e,t,r){r.d(t,{x:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"sampler2D",0,(r,i)=>r.bindTexture(e,t(i)))}}},15976(e,t,r){r.d(t,{o:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"sampler2D",2,(r,i,n)=>r.bindTexture(e,t(i,n)))}}},63761(e,t,r){r.d(t,{N:()=>n});var i=r(74333);class n extends i.n{constructor(e,t){super(e,"sampler2D",1,(r,i,n)=>r.bindTexture(e,t(i,n)))}}},31821(e,t,r){r.d(t,{H:()=>i,If:()=>n});const i=(e,...t)=>{let r="";for(let i=0;i<t.length;i++)r+=e[i]+t[i];return r+=e[e.length-1],r};function n(e,t,r=""){return e?t:r}i.int=e=>e.toFixed(),i.uint=e=>`${Math.max(0,e).toFixed()}u`,i.hexuint=e=>`0x${Math.round(Math.max(0,e)).toString(16)}u`,i.float=e=>e.toPrecision(8)},13840(e,t,r){r.d(t,{r:()=>i});class i{constructor(e,t){this._module=e,this._load=t}get(){return this._module}async reload(){return this._module=await this._load(),this._module}}},42958(e,t,r){r.d(t,{w:()=>p});var i=r(5482),n=r(69622),o=r(53966),s=r(91429),a=r(63907),c=r(85079),l=r(74038);new l._("position",3,a.pe.FLOAT,0,12);const u=[new l._("position",2,a.pe.FLOAT,0,8)];(0,c.Xk)(u),new l._("position",2,a.pe.FLOAT,0,12),new l._("uv0",2,a.pe.HALF_FLOAT,8,12),new l._("position",2,a.pe.FLOAT,0,16),new l._("uv0",2,a.pe.FLOAT,8,16),r(44208);var h=r(26857),d=r(94656);class m{constructor(e,t,r){this._context=e,this.locations=r,this._textures=new Map,this.source=(0,d.en)()?t:null,t.attributeNames.forEach(e=>{r.has(e)||o.A.getLogger("esri.views.3d.webgl-engine.lib.Program").error(`Missing VertexAttributeLocation for ${e} used in shader`)}),this._glProgram=e.programCache.get(t.generate("vertex",!0),t.generate("fragment",!0),r),this._glProgram.stop=()=>{throw new Error("Wrapped _glProgram used directly")},this.bind=t.generateBind(this),this.bindPass=t.generateBindPass(this),this.bindDraw=t.generateBindDraw(this)}get glName(){return this._glProgram.glName}get hasTransformFeedbackVaryings(){return this._glProgram.hasTransformFeedbackVaryings}get compiled(){return this._glProgram.compiled}setUniform1b(e,t){this._glProgram.setUniform1i(e,t?1:0)}setUniform1i(e,t){this._glProgram.setUniform1i(e,t)}setUniform1f(e,t,r){this._glProgram.setUniform1f(e,t,r)}setUniform2fv(e,t,r){this._glProgram.setUniform2fv(e,t,r)}setUniform3fv(e,t,r){this._glProgram.setUniform3fv(e,t,r)}setUniform4fv(e,t,r){this._glProgram.setUniform4fv(e,t,r)}setUniformMatrix3fv(e,t,r){this._glProgram.setUniformMatrix3fv(e,t,!1,r)}setUniformMatrix4fv(e,t,r){this._glProgram.setUniformMatrix4fv(e,t,!1,r)}setUniformMatrices4fv(e,t,r){this._glProgram.setUniformMatrices4fv(e,t,!1,r)}setUniform1fv(e,t,r){this._glProgram.setUniform1fv(e,t,r)}setUniform1iv(e,t){this._glProgram.setUniform1iv(e,t)}setUniform2iv(e,t){this._glProgram.setUniform2iv(e,t)}setUniform3iv(e,t){this._glProgram.setUniform3iv(e,t)}setUniform4iv(e,t){this._glProgram.setUniform4iv(e,t)}assertCompatibleVertexAttributeLocations(e,t){if(h.b.ENABLE_OPTIMIZATIONS)return;let r=e.locations;if(t){const e=new Map(r);t.forEach((t,i)=>e.set(i,r.size+t)),r=e}r.size!==this.locations.size&&console.error(`VertexAttributeLocations are incompatible: ${r}, ${this.locations}`),this.locations.forEach((e,t)=>{r.get(t)!==e&&console.error(`VertexAttributeLocations are incompatible: Program has ${t} at position ${e}, VAO has it at position ${r.get(t)}.`)})}stop(){this._textures.clear()}bindTexture(e,t){if(!t?.glName){const r=`Texture sampler ${e} in ${this._context.debugBoundTechnique} has no given Texture in ${(new Error).stack}`;(0,d.en)()&&console.error(r),t=this._context.emptyTexture}const r=this._ensureTextureUnit(e,t);this._context.useProgram(this),this.setUniform1i(e,r.unit),this._context.bindTexture(t,r.unit)}_ensureTextureUnit(e,t){let r=this._textures.get(e);return null==r?(r={texture:t,unit:this._textures.size},this._textures.set(e,r)):r.texture=t,r}}var f=r(90644);let p=class extends n.A{constructor(e,t,r){super({}),this._context=e,this._configuration=t,this.primitiveType=a.WR.TRIANGLES,this._unused=!0,this.ignoreUnused=!1,this.key=t.key,this.locations=(0,c.Xk)(r??u),this._pipeline=this.initializePipeline(t),this.reload=async r=>{if(r&&await this.shader.reload(),!this.key.equals(t.key))return void o.A.getLogger("esri.views.3d.webgl.ShaderTechnique").warn(`Configuration was changed after construction, cannot reload shader for ${this.declaredClass}.`);const i=this.shader.get().build(t);i.debugName=this.declaredClass,this._program=new m(e.rctx,i,this.locations),this._pipeline=this.initializePipeline(t)}}initialize(){const e=this.shader.get().build(this._configuration);e.debugName=this.declaredClass,this._program=new m(this._context.rctx,e,this.locations)}get program(){return this._unused=!1,this._program}get compiled(){return this._unused=!1,this.program.compiled}get unused(){return this._unused}ensureAttributeLocations(e){this.program.assertCompatibleVertexAttributeLocations(e)}getPipeline(e,t){return this._pipeline}initializePipeline(e){return(0,f.Ey)({blending:f.RC,colorWrite:f.kn})}};p=(0,i.Cg)([(0,s.$K)("esri.views.3d.webgl-engine.core.shaderTechnique.ShaderTechnique")],p)},51976(e,t,r){r.d(t,{K:()=>a,W:()=>c});var i=r(49186),n=r(4576);class o{constructor(e){this._bits=[...e]}equals(e){return(0,n.aI)(this._bits,e.bits)}get code(){return this._code??=String.fromCharCode(...this._bits),this._code}get bits(){return this._bits}}var s=r(65786);class a extends s.Y{constructor(){super(),this._parameterBits=this._parameterBits?.map(()=>0)??[],this._parameterNames??=[]}get key(){return this._key??=new o(this._parameterBits),this._key}decode(e=this.key){const t=this._parameterBits;this._parameterBits=[...e.bits];const r=this._parameterNames.map(e=>` ${e}: ${this[e]}`).join("\n");return this._parameterBits=t,r}}function c(e={}){return(t,r)=>{t.hasOwnProperty("_parameterNames")||Object.defineProperty(t,"_parameterNames",{value:t._parameterNames?.slice()??[],configurable:!0,writable:!0}),t.hasOwnProperty("_parameterBits")||Object.defineProperty(t,"_parameterBits",{value:t._parameterBits?.slice()??[0],configurable:!0,writable:!0}),t._parameterNames.push(r);const n=e.count||2,o=Math.ceil(Math.log2(n)),s=t._parameterBits;let a=0;for(;s[a]+o>16;)a++,a>=s.length&&s.push(0);const c=s[a],l=(1<<o)-1<<c;s[a]+=o,e.count?Object.defineProperty(t,r,{get(){return(this._parameterBits[a]&l)>>c},set(t){const n=this._parameterBits[a];if((n&l)>>c!==t){if(this._key=null,this._parameterBits[a]=n&~l|+t<<c&l,"number"!=typeof t)throw new i.A("internal:invalid-shader-configuration",`Configuration value for ${r} must be a number, got ${typeof t}`);if(null==e.count)throw new i.A("internal:invalid-shader-configuration",`Configuration value for ${r} must provide a count option`)}}}):Object.defineProperty(t,r,{get(){return!!((this._parameterBits[a]&l)>>c)},set(e){const t=this._parameterBits[a];if(!!((t&l)>>c)!==e&&(this._key=null,this._parameterBits[a]=t&~l|+e<<c,"boolean"!=typeof e))throw new i.A("internal:invalid-shader-configurationx",`Configuration value for ${r} must be boolean, got ${typeof e}`)}})}}},16943(e,t,r){r.d(t,{E:()=>n});var i=r(44208);function n(){return!!(0,i.A)("enable-feature:objectAndLayerId-rendering")}},27832(e,t,r){r.d(t,{b:()=>o});var i=r(33094),n=r(31821);function o(e,t){t.snowCover&&(e.uniforms.add(new i.U("snowCover",e=>e.snowCover)).code.add(n.H`float getSnow(vec3 normal, vec3 groundNormal) {
|
|
1010
1010
|
return smoothstep(0.5, 0.55, dot(normal, groundNormal)) * snowCover;
|
|
1011
1011
|
}
|
|
1012
1012
|
float getRealisticTreeSnow(vec3 faceNormal, vec3 shadingNormal, vec3 groundNormal) {
|