@arcgis/core 5.2.0-next.44 → 5.2.0-next.46
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/esri/core/workers/RemoteClient.js +1 -1
- package/assets/esri/core/workers/chunks/0e64e20fedfe01a1985f.js +1 -0
- package/assets/esri/core/workers/chunks/15351354afcbf840a23d.js +29 -0
- package/assets/esri/core/workers/chunks/2c0d92c0e3511775401a.js +29 -0
- package/assets/esri/core/workers/chunks/{f1f3fe9d2d96578f4f6b.js → 52efa4ded11c1e71f04f.js} +1 -1
- package/assets/esri/core/workers/chunks/{3252da57b800356116af.js → 68f7eaa3122de7c00adb.js} +1 -1
- package/assets/esri/core/workers/chunks/{e5c19e9b6fa53abdca8c.js → 728ea88e7d4733230e1f.js} +72 -73
- package/assets/esri/core/workers/chunks/{bac4d4a9f3a9b7f6864d.js → 744f34e379484e63277c.js} +2 -2
- package/assets/esri/core/workers/chunks/{fc880b275f5eaf42171e.js → 7777a79f26a06a6c5240.js} +1 -1
- package/assets/esri/core/workers/chunks/{76713b700e053f8bad29.js → 7c2784ebbe17d79f669c.js} +1 -1
- package/assets/esri/core/workers/chunks/{94cebc34e49da1e295ed.js → 8026cc0065f6520c4161.js} +1 -1
- package/assets/esri/core/workers/chunks/{3f4f1595c8a77d072b04.js → 85cd0cd721b27c497b18.js} +1 -1
- package/assets/esri/core/workers/chunks/{549295a5db9bf1536491.js → 8f9fb4e8a7d73db41664.js} +1 -1
- package/assets/esri/core/workers/chunks/{b3cefc1895bfd62fc440.js → 98f575c038da74ced2a6.js} +1 -1
- package/assets/esri/core/workers/chunks/{7684f0c771d312e05bb4.js → ad5c2b0de6713d0a93a4.js} +58 -58
- package/assets/esri/core/workers/chunks/{9b1199104a6822ab7340.js → ae9f9e975d7a9d442fa5.js} +1 -1
- package/assets/esri/core/workers/chunks/b3cd17daf5a297b96705.js +29 -0
- package/assets/esri/core/workers/chunks/{c316234837b7ca406b1c.js → c4b13124a9cfc78c42a6.js} +6 -6
- package/assets/esri/core/workers/chunks/c5e36544b2d1792e4c5f.js +1 -0
- package/assets/esri/core/workers/chunks/{04a167c110fb7811169d.js → cc637aec16918052548e.js} +1 -1
- package/assets/esri/core/workers/chunks/{0a0732ba8271d7dc985c.js → dee4019338a79c1ecd26.js} +1 -1
- package/assets/esri/core/workers/chunks/{96d5fed0235558c0e348.js → e9c48630757bea465b7e.js} +1 -1
- package/assets/esri/core/workers/chunks/{305ee2dd597c48a38e64.js → ed988360264574cd8f6b.js} +1 -1
- package/assets/esri/core/workers/chunks/{2974cddb0b0f67df7d2d.js → f2c8122d31aedc2604ee.js} +1 -1
- package/chunks/CutFillComposition.glsl.js +2 -2
- package/chunks/CutFillReduction.glsl.js +1 -1
- package/chunks/EmissionComposite.glsl.js +2 -0
- package/chunks/FocusAreaColor.glsl.js +1 -1
- package/chunks/Fog.glsl.js +20 -20
- package/chunks/GlobalIllumination.glsl.js +25 -25
- package/chunks/GlowBlur.glsl.js +16 -18
- package/chunks/GlowComposite.glsl.js +35 -0
- package/chunks/Laserline.glsl.js +13 -13
- package/chunks/LaserlinePath.glsl.js +11 -10
- package/chunks/Precipitation.glsl.js +6 -6
- package/chunks/ShadowCastVisualize.glsl.js +2 -2
- package/chunks/ShadowHighlight.glsl.js +3 -3
- package/chunks/Viewshed.glsl.js +3 -3
- package/config.js +1 -1
- package/core/screenUtils.js +1 -1
- package/core/types.d.ts +7 -0
- package/kernel.js +1 -1
- package/layers/VoxelWasmPerSceneView.js +1 -1
- package/package.json +4 -4
- package/support/revision.js +1 -1
- package/views/3d/environment/CloudyWeather.js +1 -1
- package/views/3d/environment/FoggyWeather.js +1 -1
- package/views/3d/environment/RainyWeather.js +1 -1
- package/views/3d/environment/SnowyWeather.js +1 -1
- package/views/3d/environment/SunnyWeather.js +1 -1
- package/views/3d/layers/I3SMeshView3D.js +1 -1
- package/views/3d/layers/i3s/I3SIntersectionHandler.js +1 -1
- package/views/3d/layers/i3s/I3SUtil.js +1 -1
- package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
- package/views/3d/layers/support/Tiles3DMeshIntersectionHandler.js +1 -1
- package/views/3d/support/debugFlags.js +1 -1
- package/views/3d/support/gaussianSplatting/GaussianSplatIntersectionHandler.js +1 -1
- package/views/3d/support/hitTest.js +1 -1
- package/views/3d/support/intersectionHitUtils.js +2 -0
- package/views/3d/terrain/TerrainRenderer.js +1 -1
- package/views/3d/webgl-engine/Stage.js +1 -1
- package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +12 -12
- package/views/3d/webgl-engine/collections/Component/UniformComponentParameters.js +1 -1
- package/views/3d/webgl-engine/core/FBOCache.js +1 -1
- package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js +2 -2
- package/views/3d/webgl-engine/core/shaderLibrary/output/getEmissions.glsl.js +8 -0
- package/views/3d/webgl-engine/core/shaderLibrary/util/blendEmission.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
- package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
- package/views/3d/webgl-engine/effects/focusArea/FocusAreaVisualization.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
- package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowBlur.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/glow/GlowComposite.glsl.js +2 -0
- package/views/3d/webgl-engine/effects/glow/GlowCompositeTechnique.js +2 -0
- package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/Laserline.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePath.glsl.js +1 -1
- package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/effects/precipitation/Precipitation.js +1 -1
- package/views/3d/webgl-engine/effects/precipitation/PrecipitationTechniqueConfiguration.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillComputation.js +1 -1
- package/views/3d/webgl-engine/lib/CutFillVisualization.js +1 -1
- package/views/3d/webgl-engine/lib/EmissionComposite.glsl.js +2 -0
- package/views/3d/webgl-engine/lib/EmissionComposite.js +2 -0
- package/views/3d/webgl-engine/lib/EmissionCompositeTechnique.js +2 -0
- package/views/3d/webgl-engine/lib/HUDIntersectorResult.js +1 -1
- package/views/3d/webgl-engine/lib/Intersector.js +1 -1
- package/views/3d/webgl-engine/lib/IntersectorResult.js +1 -1
- package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
- package/views/3d/webgl-engine/lib/PolygonIntersectionResults.js +1 -1
- package/views/3d/webgl-engine/lib/Renderer.js +1 -1
- package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
- package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
- package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
- package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
- package/views/3d/webgl-engine/parts/RenderView.js +1 -1
- package/views/3d/webgl-engine/shaders/CutFillComposition.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/EmissiveTechniqueConfiguration.js +2 -0
- package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +1 -1
- package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
- package/views/SceneView.d.ts +4 -3
- package/views/SceneView.js +1 -1
- package/views/support/TextureCompressionWorker.js +1 -1
- package/views/support/TextureCompressionWorkerHandle.js +1 -1
- package/views/webgl/Texture.js +1 -1
- package/assets/esri/core/workers/chunks/5b937c405788fd14be8b.js +0 -30
- package/assets/esri/core/workers/chunks/8a01fe8d78ca85ea4784.js +0 -1
- package/assets/esri/core/workers/chunks/a38a7e3a5aa9294ab918.js +0 -30
- package/assets/esri/core/workers/chunks/b75db3b1becf8265ec59.js +0 -30
- package/assets/esri/core/workers/chunks/ca419858910af5505d3d.js +0 -1
- package/chunks/GlowComposition.glsl.js +0 -39
- package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +0 -9
- package/views/3d/webgl-engine/effects/fog/FogTechniqueConfiguration.js +0 -2
- package/views/3d/webgl-engine/effects/glow/GlowBlurTechniqueConfiguration.js +0 -2
- package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +0 -2
- package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +0 -2
- package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +0 -2
- /package/assets/esri/core/workers/chunks/{bac4d4a9f3a9b7f6864d.js.LICENSE.txt → 744f34e379484e63277c.js.LICENSE.txt} +0 -0
package/views/SceneView.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{__decorate as e}from"tslib";import t from"../Camera.js";import i from"../Viewpoint.js";import r from"../core/Collection.js";import{byId as s}from"../core/domUtils.js";import n from"../core/Error.js";import{on as a}from"../core/events.js";import{destroyHandle as o,makeHandle as l}from"../core/handleUtils.js";import has from"../core/has.js";import p from"../core/Logger.js";import{mapCollectionAsync as h}from"../core/mapCollectionUtils.js";import{destroyMaybe as d,maybeProperty as u}from"../core/maybe.js";import{ignoreAbortErrors as c,throwIfDestroyed as g,throwIfAborted as m,createAbortError as y}from"../core/promiseUtils.js";import f from"../core/ReactiveSet.js";import{on as w,watch as v,initial as _,sync as b,whenOnce as M,syncAndInitial as S}from"../core/reactiveUtils.js";import{setFrameDuration as V,cleanupScheduling as j}from"../core/scheduling.js";import{createScreenPoint as C,isScreenRect as T,createScreenPointArray as R}from"../core/screenUtils.js";import{cleanupWhereClauseCache as x}from"../core/sql.js";import{getMetersPerUnitForSR as A}from"../core/units.js";import{property as O,cast as E,subclass as L}from"../core/accessorSupport/decorators.js";import{ensureType as H,ensureClass as I}from"../core/accessorSupport/ensureType.js";import{overrideDefaultsFrom as F}from"../core/accessorSupport/overrideDefaultsFrom.js";import{runUntracked as P}from"../core/accessorSupport/tracking.js";import{drainNotificationQueue as D}from"../core/accessorSupport/trackingUtils.js";import{create as U}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{cleanupPooledRBush as G}from"../core/libs/rbush/PooledRBush.js";import{initialize as z}from"../core/workers/workers.js";import W from"../geometry/Extent.js";import q from"../geometry/HeightModelInfo.js";import k from"../geometry/Point.js";import{project as B,canProjectWithoutEngine as N}from"../geometry/projectionUtils.js";import Q from"../geometry/SpatialReference.js";import{cleanupSpatialReferenceEllipsoidUtils as Z}from"../geometry/spatialReferenceEllipsoidUtils.js";import{projectBoundingRect as Y}from"../geometry/projection/projectBoundingRect.js";import{projectPointToVector as $}from"../geometry/projection/projectPointToVector.js";import{toExtent as J,create as K}from"../geometry/support/aaBoundingRect.js";import{renderSRFromViewSR as X}from"../geometry/support/coordinateSystem.js";import{getResolutionForScale as ee}from"../geometry/support/scaleUtils.js";import{makeDehydratedPoint as te}from"../layers/graphics/dehydratedPoint.js";import{isImageryTileLayer as ie,isTiledLayer as re,isVoxelLayer as se,isIntegratedMeshLayer as ne,isGaussianSplatLayer as ae}from"../layers/support/layerUtils.js";import{TilemapCache as oe}from"../layers/support/TilemapCache.js";import{clearDefaultPortalInstance as le}from"../portal/portalDefault.js";import{WebSceneTag as pe}from"../support/tagSymbols.js";import{BreakpointsOwner as he}from"./BreakpointsOwner.js";import{DOMContainer as de}from"./DOMContainer.js";import{PopupView as ue}from"./PopupView.js";import ce from"./View.js";import ge from"./ViewAnimation.js";import{stringFromViewingMode as me,viewingModeFromString as ye}from"./ViewingMode.js";import{GroundView3D as fe}from"./3d/GroundView3D.js";import{layerView3DImporter as we}from"./3d/layerViewModuleImportUtils.js";import{importAnalysisViewModule as ve}from"./3d/analysis/analysisViewModuleImportUtils.js";import{cleanupIntersectionUtils as _e}from"./3d/camera/intersectionUtils.js";import be from"./3d/constraints/Constraints.js";import Me from"./3d/environment/Environment.js";import{EnvironmentManager as Se}from"./3d/environment/EnvironmentManager.js";import Ve from"./3d/input/SceneInputManager.js";import{GraphicsDeconflictor as je}from"./3d/layers/graphics/GraphicsDeconflictor.js";import{Labeler as Ce}from"./3d/layers/graphics/Labeler.js";import Te from"./3d/layers/i3s/I3SLodHandling.js";import{cleanupStageLayerElevationProvider as Re}from"./3d/layers/support/StageLayerElevationProvider.js";import{ScreenSizePerspective as xe}from"./3d/state/ScreenSizePerspective.js";import Ae from"./3d/state/ViewState.js";import{ViewStateManager as Oe,cleanupViewStateManager as Ee}from"./3d/state/ViewStateManager.js";import{cleanupPointToPointAnimationController as Le}from"./3d/state/controllers/PointToPointAnimationController.js";import{SceneIntersectionHelper as He}from"./3d/state/helpers/SceneIntersectionHelper.js";import{cleanupNavigationUtils as Ie}from"./3d/state/utils/navigationUtils.js";import Fe from"./3d/support/Attribution3D.js";import{CombinedElevationProvider as Pe}from"./3d/support/CombinedElevationProvider.js";import{debugFlags as De}from"./3d/support/debugFlags.js";import{getElevationAtPoint as Ue}from"./3d/support/ElevationProvider.js";import{toMap as Ge,hitTest as ze}from"./3d/support/hitTest.js";import{popupHitTest as We}from"./3d/support/popupHitTest.js";import{getDefaultQualityProfileName as qe,getQualityProfileSettings as ke}from"./3d/support/QualityProfile.js";import Be from"./3d/support/QualitySettings.js";import{RenderCoordsHelper as Ne}from"./3d/support/RenderCoordsHelper.js";import{newResourceController as Qe}from"./3d/support/ResourceController.js";import Ze from"./3d/support/SceneViewPerformanceInfo.js";import{SharedSymbolResources as Ye}from"./3d/support/SharedSymbolResources.js";import{ViewSlice as $e}from"./3d/support/ViewSlice.js";import{PointsOfInterest as Je}from"./3d/support/pointsOfInterest/PointsOfInterest.js";import Ke from"./3d/terrain/TerrainSurface.js";import{isSurfaceLayerView as Xe,getTiledLayerInfo as et,checkIfTileInfoSupportedForView as tt}from"./3d/terrain/terrainUtils.js";import{clearTilePerLayerInfo as it}from"./3d/terrain/TilePerLayerInfo.js";import{cleanupTileRenderer as rt}from"./3d/terrain/TileRenderer.js";import{Stage as st}from"./3d/webgl-engine/Stage.js";import{olidEnabled as nt}from"./3d/webgl-engine/effects/geometry/olidUtils.js";import{cleanupRenderOccluded as at}from"./3d/webgl-engine/effects/geometry/RenderOccluded.js";import{defaultTolerance as ot}from"./3d/webgl-engine/lib/Intersector.js";import{cleanupShadowmap as lt}from"./3d/webgl-engine/lib/ShadowMap.js";import{terrainId as pt}from"./3d/webgl-engine/lib/verticalOffsetUtils.js";import{cleanupEdgeProcessing as ht}from"./3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js";import dt from"./support/AnalysisViewManager.js";import{cleanupDrapedUtils as ut}from"./support/drapedUtils.js";import{occludeesSupported as ct}from"./support/layerViewUtils.js";import{isSupportedScreenPointEvent as gt,createScreenPointFromSupportedEvent as mt}from"./support/screenUtils.js";import{isSpatialReferenceSupported as yt}from"./support/spatialReferenceSupport.js";import{initializeTextureCompressionWorker as ft,destroyTextureCompressionWorker as wt}from"./support/TextureCompressionHelper.js";import vt from"./ui/DefaultUI.js";import _t from"./ui/3d/DefaultUI3D.js";import bt from"../webscene/Environment.js";import{clearVNodeCache as Mt}from"../widgets/support/vnodeCache.js";var St;const Vt=Symbol(),jt=Symbol();let Ct=class extends(he(ue(de(ce)))){static{St=this}constructor(e){super(e),this._userClippingArea=null,this._clippingArea=null,this._initialDefaultSpatialReference=null,this._overrideDefaultEnvironmentOnly=!0,this._resolveWhenReady=[],this._resourceController=Qe(this),this.deconflictor=new je({view:this}),this.attribution3D=new Fe({view:this}),this.labeler=new Ce({view:this,deconflictor:this.deconflictor.labels}),this.sharedSymbolResources=null,this.basemapTerrain=null,this.elevationProvider=new Pe({view:this}),this._canvas=null,this.constraints=new be,this._environment=new Me,this.environmentManager=new Se,this.floors=new r,this.fullOpacity=1,this.graphicsView=null,this.analysisViewManager=new dt({importAnalysisViewModule:e=>ve(e),view:this}),this.groundView=null,this.map=null,this._featureTileTreeClients=new f,this._featureTiles=null,this._featureTreeDebugger=null,this.state=new Ae({view:this}),this.slice=new $e,this.spatialReference=null,this.preserveDrawingBufferEnabled=!1,this.supersampleScreenshotsEnabled=!0,this.type="3d",this.ui=new _t,this._numUpdating=0,this._lastUpdateTime=0,this.updatingProgress=.5,this._importControllers=new Map,z();const t=()=>this._updatingChanged();this.addHandles(o(h(()=>this.map?.allLayers,async e=>{try{await e.when()}catch{}finally{t()}}))),this.addHandles([w(()=>this.map?.allLayers,"after-changes",t,{onListenerAdd:t,onListenerRemove:t,sync:!0}),this.allLayerViews.on("after-changes",e=>this._updateUpdatingMonitors(e)),v(()=>this.scene,e=>e?.load().catch(()=>{}))]),this.inputManager=new Ve({view:this}),this.stateManager=new Oe({view:this}),this.screenSizePerspective=new xe({view:this})}initialize(){if(has("enable-feature:esri-compress-textures")&&has("wasm-simd")){const e=ft(this,this.resourceController);this.addResolvingPromise(e.promise)}this.groundView=new fe({view:this}),this._updateUpdatingMonitors(),this.updatingHandles.add(()=>this.qualitySettings.memoryLimit,e=>{this.resourceController&&(this.resourceController.memoryController.maxMemory=e)},_),this.updatingHandles.add(()=>this.qualitySettings.additionalCacheMemory,e=>{this.resourceController&&(this.resourceController.memoryController.additionalCacheMemory=e)},_),this.updatingHandles.add(()=>this.qualitySettings.frameRate??0,e=>V(e>0?1e3/Math.ceil(e):0),_),this.addHandles([v(()=>this.spatialReference,()=>this.notifyChange("clippingArea"),b),v(()=>({plane:this.slice.plane,isDecoration:this.slice.isDecoration}),()=>this._updateSlice(),b)])}destroy(){this.destroyed||(wt(this),this.updatingHandles.removeAll(),this.basemapTerrain?.clearHandles(),this.elevationProvider.destroy(),this.ui.removeAllHandles(),this.layerViewManager.clearHandles(),this.invalidate(),this.layerViewManager.clear(),this._set("analysisViewManager",d(this.analysisViewManager)),this._exitSurface(),this._disposeGraphicsView(),this._disposeFocusAreasView(),this.sharedSymbolResources=d(this.sharedSymbolResources),this._set("labeler",d(this.labeler)),this._set("deconflictor",d(this.deconflictor)),this._resourceController=d(this._resourceController),this._set("stateManager",d(this.stateManager)),this._set("inputManager",d(this.inputManager)),this.state.destroy(),this.highlights.destroy(),this.removeHandles("updatingMonitors"),this._set("environmentManager",d(this.environmentManager)),this._set("environment",d(this.environment)),this.groundView=d(this.groundView),this.slice.destroy(),this._updatingObjectsWithProgress.length=0,this._updatingObjects.length=0,this.ui?.destroy(),this._set("ui",null),this._set("renderCanvas",null),this._set("canvas",null),this._canvas=null,this.screenSizePerspective.destroy(),this.attribution3D.destroy())}get stage(){return this._stage}get renderSpatialReference(){return this.renderCoordsHelper?.spatialReference}get groundSpatialReference(){return this.basemapTerrain?.spatialReference}get analyses(){return super.analyses}set analyses(e){super.analyses=e}get animation(){return this.state?.animation}get overlayManager(){return this.basemapTerrain?.overlayManager}get camera(){return this.stateManager?.camera}set camera(e){this.stateManager&&(this.stateManager.camera=e)}get contentCamera(){return this.stateManager?.contentCamera}set contentCamera(e){this.stateManager&&(this.stateManager.contentCamera=e)}installContentCameraReset(e={sticky:!1}){return this.stateManager.installContentCameraReset(e)}get canvas(){return this._canvas}get center(){return this.stateManager?.center}set center(e){this.stateManager&&(this.stateManager.center=H(k,e))}get clippingArea(){if("global"===this.viewingMode)return null;const e=this.map;let t=this._userClippingArea||u(e,"clippingArea");return!this._userClippingArea&&!u(e,"clippingEnabled")||null==t?(this._clippingArea=null,null):t instanceof W?this.spatialReference&&(t=Tt(t,this.spatialReference),null==t)?(p.getLogger(this).error("#clippingArea","setting clippingArea with incompatible SpatialReference"),this._clippingArea):(t=t.clone(),null==t.intersection(this._groundAndLayersExtent)&&(t.xmin=t.xmax,t.ymin=t.ymax),t.zmin=void 0,t.zmax=void 0,t.equals(this._clippingArea)||(this._clippingArea=t),this._clippingArea):(p.getLogger(this).error("#clippingArea","only clippingArea geometries of type Extent are supported"),this._clippingArea)}set clippingArea(e){this.ready&&"global"===this.viewingMode&&null!=e?p.getLogger(this).error("#clippingArea=","Clipping area is only supported in local viewingMode"):this._userClippingArea=e}get renderDataExtent(){if(1===this.state.viewingMode)return null;const e=this.renderSpatialReference,t=this.dataExtent;return null==t||null==e||t.spatialReference.equals(e)?t:Tt(t,e)}get tileInfo(){return this.basemapTerrain?.tilingScheme?.toTileInfo()}get dataExtent(){let e=this._groundAndLayersExtent;const t=this.spatialReference||Q.WGS84,i=Tt(this.clippingArea,t);null!=i&&(e=null!=e?e.intersection(i):i);const r=this._get("dataExtent");return null!=e&&e.equals(r)?r:e}get _groundAndLayersExtent(){const e=this.spatialReference||Q.WGS84;let t;const i=i=>{const r=Tt(i,e);null!=r&&(null!=t?t.union(r):t=r.clone())},{groundView:r}=this,s=r?.spatialReference,n=r?.fullGroundExtent;s&&n&&i(new W({xmin:n[0],ymin:n[1],zmin:0,xmax:n[2],ymax:n[3],zmax:0,spatialReference:s}));const a=e=>{null==e.fullExtent||"graphics"===e.type&&e.internal||i(e.fullExtent)};if(this.map?.allLayers.forEach(e=>a(e)),null==t)return null;t.hasZ?(t.zmin=Math.min(0,t.zmin??0),t.zmax=Math.max(0,t.zmax??0)):(t.zmin=0,t.zmax=0);const o=this._get("_groundAndLayersExtent");return t.equals(o)?o:t}get environment(){return this._environment}set environment(e){if(this._environment===e)return;const{_environment:t}=this;this._environment=null,t?.destroy(),this._environment=e,this.notifyChange("environment")}castEnvironment(e){return e?e instanceof Me?e:e instanceof bt?this.environment?.cloneWithWebsceneEnvironment(e)??Me.fromWebsceneEnvironment(e):H(Me,e):new Me}get extent(){return this.stateManager?.extent}set extent(e){this.stateManager&&(this.stateManager.extent=e)}get screenCenter(){return this.stateManager?.screenCenter}get frustum(){return this.stateManager?.frustum}get layerviewCollections(){return[this.basemapView?.baseLayerViews,this.basemapView?.groundLayerViews,this.groundView?.layerViews,this.layerViews,this.basemapView?.referenceLayerViews]}get _layerToLayerviewMapping(){return St._layerToLayerview}static{this._layerToLayerview=ce._layerToLayerview.concat([["view.map.ground.layers","view.groundView.layerViews"]])}get initialExtentRequired(){return this.stateManager&&!this.stateManager.hasInitialView}get defaultsFromMapSettings(){return{required:{tileInfo:!1,heightModelInfo:!0,extent:!1}}}get interacting(){return this.navigating||(this.toolViewManager?.interacting??!1)}get stationary(){return!this.animation&&!this.resizing&&(this.state?.stationary??!0)}get navigating(){return this.state?.navigating??!1}get scene(){return this.map&&pe in this.map?this.map:null}get padding(){return this.stateManager?.padding}set padding(e){this.stateManager&&(this.stateManager.padding=e)}get featureTiles(){return this._featureTiles}set qualityProfile(e){const t=ke(e);t&&this._get("qualityProfile")!==e&&(this.qualitySettings=new Be(t),this.stage?.renderView.updateQualitySettings(this.qualitySettings),this._set("qualityProfile",e))}get qualityProfile(){return this._get("qualityProfile")||qe()}_updateSlice(){null!=this.stage&&(this.stage.renderer.slice=this.slice)}get typeSpecificPreconditionsReady(){return!!this.viewingMode&&!!this.stateManager?.preinit(this.spatialReference)}get resolution(){const{scale:e,spatialReference:t}=this;return t?P(()=>ee(e,t)):0}get scale(){return this.stateManager?.scale}set scale(e){this.stateManager&&(this.stateManager.scale=e)}get terrainLevel(){const e=this.basemapTerrain?.tilingScheme,t=this.scale;if(!e||!t)return null;const i=e.levelAtScale(t)+this.qualitySettings.tiledSurface.lodBias,r=e.getMaxLod();return i<=0?null:Math.max(0,Math.min(i,r||1/0))}get heightModelInfo(){const e=this.getDefaultHeightModelInfo();return null!=e?q.deriveUnitFromSR(e,this.spatialReference):null}get alphaCompositingEnabled(){return this._get("alphaCompositingEnabled")}set alphaCompositingEnabled(e){this._stage&&p.getLogger(this).warn("alphaCompositingEnabled cannot be changed after the view has become ready"),this._set("alphaCompositingEnabled",e)}get updating(){if(this.destroying||this.destroyed)return!1;let e=0,t=this.layerViewManager.updating,i=t?this.layerViewManager.updatingRemaining:0;this.allLayerViews.forEach(r=>{if(r.isFulfilled()){if(r.updating){if(t=!0,r.suspended||Xe(r))return;++i,e+=r.updatingProgress}}else++i});for(const s of this._updatingObjects)if(s?.updating){const t=.1;i+=t,e+=.5*t}for(const s of this._updatingObjectsWithProgress)s?.updating&&(++i,e+=s.updatingProgress);const r=!this.stateManager.test.updatingIgnoreRenderState&&this.state.updating;if(t=!!(t||i>0||this.updatingHandles.updating||!this.ready||!this.stationary||r||this._importControllers.size>0||this.inputManager?.updating||this.map?.allLayers?.some(e=>!e.isFulfilled())),t?(this._numUpdating=Math.max(i,this._numUpdating),e+=this._numUpdating-i):this._numUpdating=0,this._numUpdating>0?e/=this._numUpdating:e=t?0:1,this._get("updatingProgress")!==e){const i=performance.now();if(e<1){const t=Math.min((i-this._lastUpdateTime)/2e3,1);e=this.updatingProgress*(1-t)+e*t}this._set("updatingProgress",e),this._lastUpdateTime=t&&e<1?i:0}return t}get _updatingObjects(){return[this.graphicsView,this.basemapView,this._resourceController,this.stage,this.featureTiles,this.pointsOfInterest,this.environmentManager,this.overlay,this._featureTreeDebugger,this.toolViewManager,this.analysisViewManager,this.focusAreasView]}get _updatingObjectsWithProgress(){return[this.deconflictor,this.labeler,this.basemapTerrain]}get viewingMode(){const e=this._predeterminedViewingMode;if(null!=e)return me(e);const t=this.spatialReference;return t?null!=this.defaultsFromMap?.viewingMode&&t.equals(this.defaultsFromMap.spatialReference)?me(this.defaultsFromMap.viewingMode):yt(t,1)?"global":"local":"global"}set viewingMode(e){this.ready?p.getLogger(this).error("#viewingMode","viewingMode cannot be set once view is ready"):this._overrideIfSome("viewingMode",e)}get viewpoint(){return this.stateManager?.viewpoint}set viewpoint(e){this.stateManager&&(this.stateManager.viewpoint=e)}get visibleArea(){return this.stateManager?.visibleArea}get zoom(){return this.stateManager.zoom}set zoom(e){this.stateManager&&(this.stateManager.zoom=e)}get resourceController(){return this._resourceController}get quality(){return this._resourceController?.memoryController?.memoryFactor??1}get resolutionScale(){return Math.sqrt(Math.min(1,this.quality/.75))}get performanceInfo(){return new Ze(this)}on(e,t,i,r){const s=this.viewEvents.on(e,t,i,r);return s||super.on(e,t)}hasEventListener(e){return super.hasEventListener(e)||this.viewEvents.hasHandler(e)}toMap(e,t){if(!this.ready)return p.getLogger(this).error("#toMap()","Scene view cannot be used before it is ready"),null;const i=gt(e)?mt(this,e):e;return Ge(this,i,t,this._defaultToMapOptions)}toScreen(e){if(!this.ready)return p.getLogger(this).error("#toScreen()","Scene view cannot be used before it is ready"),null;let t=e;return null==e.z&&(t=Ot,t.x=e.x,t.y=e.y,t.z=Ue(this.elevationProvider,e)??0,t.spatialReference=e.spatialReference),$(t,Rt,this.renderSpatialReference),this.state.camera.projectToScreen(Rt,xt),C(xt[0],xt[1])}pixelSizeAt(e,t){if(!this.ready)return p.getLogger(this).error("#pixelSizeAt()","Scene view cannot be used before it is ready"),null;if(!e)return 0;const i=this.renderSpatialReference;$(e,Rt,i);const r=this.state.camera.computeScreenPixelSizeAt(Rt);return t&&i!==t?r*A(i)/A(t):r}overlayPixelSizeInMapUnits(e){return this.overlayManager?.overlayPixelSizeInMapUnits(e,()=>this.pixelSizeAt(e))??1}hitTest(e,t){if(!this.ready)return p.getLogger(this).error("#hitTest()","Scene view cannot be used before it is ready"),null;const i=gt(e)?mt(this,e):e;return ze(this,i,t,this._defaultHitTestOptions)}async popupHitTest(e){return T(e)&&(p.getLogger(this).warn("#fetchPopupFeatures()","rectangle isn't a supported input, using its center point instead"),e=C(e.x+e.width/2,e.y+e.height/2)),We(this,e)}goTo(e,t){return this.updatingHandles.addPromise(this.stateManager.goTo(e,t))}async zoomIn(){if(this.canZoomIn)return c(this.goTo({zoomFactor:2}))}async zoomOut(){if(this.canZoomOut)return c(this.goTo({zoomFactor:.5}))}async whenAnalysisView(e){if(null==e.parent)throw new n("view:no-analysisview-for-analysis","The analysis does not exist in view.analyses",{analysis:e});switch(e.parent.type){case"line-of-sight":case"dimension":case"viewshed":return(await this.whenLayerView(e.parent)).whenAnalysisView();default:return this.analysisViewManager.whenAnalysisView(e)}}whenLayerView(e){return super.whenLayerView(e)}async takeScreenshot(e){const t=await this._completeSettings(e);await this.whenReady();const i=(await this.stage.renderView.takeScreenshot(t))[0];return(await import("./support/screenshotUtils.js")).encode(i,t,this._pixelFormat())}async _takeScreenshot(e){const t=await this._completeSettings(e);await this.whenReady();const i=(await this.stage.renderView.takeScreenshot(t))[0];return(await import("./support/screenshotUtils.js")).encodeData(i,this._pixelFormat())}async _takeScreenshotWithObjectAndLayerId(e){const t=await this._completeSettings(e);t.olidColor=!0,await this.whenReady();const i=await this.stage.renderView.takeScreenshot(t),{encodeData:r}=await import("./support/screenshotUtils.js");return[r(i[0],this._pixelFormat()),r(i[1],this._pixelFormat())]}async _completeSettings(e){const{toRenderSettings:t,screenshotSuperSampleSettings:i}=await import("./support/screenshotUtils.js"),r=t(e,this);return r.pixelRatio/=this.state.pixelRatio,i(r,this.supersampleScreenshotsEnabled,this.padding)}_pixelFormat(){return{flipY:!0,premultipliedAlpha:this.stage?.renderView.getAlpha()??!1}}get test(){}async takeScreenshotWithObjectAndLayerId(e){if(!nt())throw new n("360vr:objectAndLayerId-rendering-disabled","has enable-feature:objectAndLayerId-rendering must be true");const{encode:t}=await import("./support/screenshotUtils.js"),i=await this._completeSettings(e);i.olidColor=!0,await this.whenReady();const r=await this.stage.renderView.takeScreenshot(i),s=t(r[0],i,this._pixelFormat()),a=await this._completeSettings(e);a.format="png";return[s,t(r[1],a,this._pixelFormat())]}getColorToObjectAndLayerIdMapping(){const e=this.stage.renderView.olidRenderHelper;if(e)return e.getColorToObjectAndLayerIdMapping();throw new n("360vr:objectAndLayerId-rendering-disabled","has enable-feature:objectAndLayerId-rendering must be true")}addUpdatingPromise(e){return this.updatingHandles.addPromise(e)}getAttributionItems(){return super.getAttributionItems().concat(this.attribution3D.attributionItems)}importLayerView(e){return we.importLayerView(e)}hasLayerViewModule(e){return we.hasLayerViewModule(e)}forceDOMReadyCycle(){this.forceReadyCycle()}getDefaultSpatialReference(){return this.scene?.initialViewProperties?.spatialReference||this.defaultsFromMap?.spatialReference||this.defaultsFromMap?.ready&&this._initialDefaultSpatialReference||null}getSurface(){return this.surface}get _predeterminedViewingMode(){const e=this._isOverridden("viewingMode")?this._get("viewingMode"):this.scene?.initialViewProperties?.viewingMode;return null!=e?ye(e):null}getSpatialReferenceSupport(e,t){const i=this._predeterminedViewingMode;if(null!=i)return this._validateSpatialReferenceForViewingMode(e,t,i)?{constraints:this._makeSpatialReferenceConstraints(e,t,i)}:null;const r=this._validateSpatialReferenceForViewingMode(e,t,2),s=this._validateSpatialReferenceForViewingMode(e,t,1);return r||s?r&&s?{constraints:this._makeSpatialReferenceConstraints(e,t,null)}:r?{constraints:this._makeSpatialReferenceConstraints(e,t,2)}:{constraints:this._makeSpatialReferenceConstraints(e,t,1)}:null}_validateSpatialReferenceForViewingMode(e,t,i){return!!yt(e,i)&&(null==t||(!!ie(t)||(!re(t)||null!=et(t,e,i))&&(!se(t)||1!==i)))}_makeSpatialReferenceConstraints(e,t,i){if(null==t)return[{spatialReference:e,viewingMode:i}];const{isWebMercator:r,isWGS84:s}=e;if(ie(t)&&(r||s)){return!s||2===i||null===tt(t.tileInfo,t.fullExtent,e,1)?[{spatialReference:e,viewingMode:i},{spatialReference:Q.WebMercator,viewingMode:i}]:[{spatialReference:r?Q.WGS84:Q.WebMercator,viewingMode:i}]}return re(t)||se(t)||!r&&!s?re(t)&&r&&1!==i?[{spatialReference:e,viewingMode:i},{spatialReference:Q.WGS84,viewingMode:2}]:[{spatialReference:e,viewingMode:i}]:[{spatialReference:e,viewingMode:i},{spatialReference:r?Q.WGS84:Q.WebMercator,viewingMode:i}]}_validateSpatialReference(e){const t=null!=this.getSpatialReferenceSupport(e),i=this._predeterminedViewingMode;return t||(null!=i?p.getLogger(this).warnOnce(`Spatial reference defined on view not supported in ${me(i)} viewing mode.`):e.isGeographic&&p.getLogger(this).warnOnce("Spatial reference is geographic but not supported.")),t}whenReady(){return new Promise(e=>{this.ready?e(this):this._resolveWhenReady.push(e)})}trackGraphicState(e){if(!e.graphic)return p.getLogger(this).error("trackGraphicState","GraphicState.graphic must not be null or undefined to start tracking"),null;const t=this.getViewForGraphic(e.graphic);let i=null,r=!1;const s=t=>{!r&&null!=t&&"processor"in t&&"graphics-3d"===t.processor?.type&&t.processor.graphicsCore&&(i=t.processor.graphicsCore.trackGraphicState(e))};return null!=t?s(t):this.whenViewForGraphic(e.graphic,{waitForLayer:!0}).then(e=>s(e),()=>{}).catch(()=>{}),l(()=>{r=!0,null!=i&&(i.remove(),i=null)})}maskOccludee(e){if(!e)return p.getLogger(this).error("maskOccludee","GraphicState.graphic must not be null or undefined to mask an occludee"),null;const t=this.getViewForGraphic(e);let i=null,r=!1;const s=t=>{!r&&null!=t&&ct(t)&&(i=t.maskOccludee(e))};return null!=t?s(t):this.whenViewForGraphic(e,{waitForLayer:!0}).then(e=>s(e),()=>{}).catch(()=>{}),l(()=>{r=!0,null!=i&&(i.remove(),i=null)})}getViewForGraphic(e){return e.layer===this?this.graphicsView:e.layer?this.allLayerViews.filter(e=>"media-3d"!==e.type).find(t=>t.layer===e.layer):null}graphicChanged(e){null!=this.graphicsView&&this.graphicsView.graphicChanged(e)}async whenViewForGraphic(e,t){return e.layer===this?(await M(()=>this.graphicsView),this.graphicsView):e.layer&&this.map?t&&t.waitForLayer&&!this.map.allLayers.includes(e.layer)?new Promise((t,i)=>{const r=this.map.allLayers.on("change",s=>{s.added.includes(e.layer)&&(r.remove(),this.whenLayerView(e.layer).then(t,i))})}):this.whenLayerView(e.layer):null}enableFeatureTiles(){const e=Symbol();return this._featureTileTreeClients.add(e),l(()=>this._featureTileTreeClients.delete(e))}async _importModule(e,t){const i=new AbortController;this._importControllers.set(e,i),this._updatingChanged();try{const r=await Et[e]();if(t&&(g(this),m(i.signal),await t(i.signal)),this.destroyed)throw y();return m(i.signal),r}catch{return null}finally{this._importControllers.delete(e),this._updatingChanged()}}_abortImport(e){this._importControllers.get(e)?.abort(),this._importControllers.delete(e),this._updatingChanged()}_initBasemapTerrain(){this._set("basemapTerrain",new Ke({view:this})),this.elevationProvider.register(0,this.basemapTerrain)}_exitBasemapTerrain(){const{basemapTerrain:e,elevationProvider:t}=this;e&&(this._set("basemapTerrain",null),t.unregister(e),e.destroy())}_initGlobe(){this._initCoordinateSystem(),this.state.createInitialCamera(),this._initBasemapTerrain(),this._set("pointsOfInterest",new Je({view:this})),this.addHandles([this.updatingHandles.add(()=>De.FEATURE_TILE_TREE_SHOW_TILES,e=>{e&&!this._featureTreeDebugger?this.updatingHandles.addPromise(import("./3d/layers/support/FeatureTileTree3DDebugger.js")).then(({FeatureTileTree3DDebugger:e})=>{!this._featureTreeDebugger&&De.FEATURE_TILE_TREE_SHOW_TILES&&(this._featureTreeDebugger=new e({view:this}))}):e||(this._featureTreeDebugger=d(this._featureTreeDebugger))},S),this.updatingHandles.add(()=>({basemapExtent:this.groundView?.groundExtent,basemapSpatialReference:this.groundView?.spatialReference,clippingArea:this.clippingArea,featureTiles:this._featureTiles}),({basemapExtent:e,basemapSpatialReference:t,clippingArea:i,featureTiles:r})=>{if(!r)return;const s=!!e;if(i||s)if(s&&t){const s=e&&t?B(J(e,t),this.spatialReference):null;r.filterExtent=i?i.intersection(s):s}else r.filterExtent=i;else r.filterExtent=null},S),this.updatingHandles.add(()=>this._featureTileTreeClients.size>0,e=>{e?this.updatingHandles.consumePromise(this._ensureFeatureTileTree()):this._featureTiles=d(this._featureTiles)},b)],Vt),this.stateManager.init()}async _ensureFeatureTileTree(){if(this._featureTiles||this._importControllers.has("FeatureTileTree3D"))return;const e=(await this.updatingHandles.addPromise(this._importModule("FeatureTileTree3D")))?.FeatureTileTree3D;e&&(this._featureTiles=new e({renderCoordsHelper:this.renderCoordsHelper,pointsOfInterest:this.pointsOfInterest,viewState:this.state,scheduler:this._resourceController.scheduler,terrain:this.basemapTerrain}),this._updatingChanged())}_exitTerrain(){this.stateManager.exit(),this.removeHandles(jt),this.removeHandles(Vt),this._featureTiles=d(this.featureTiles),this._set("pointsOfInterest",d(this.pointsOfInterest)),this._exitBasemapTerrain(),this.state.reset(),this._exitCoordinateSystem()}_initCoordinateSystem(){if(this.spatialReference){const e=this.spatialReference,t=this.state.isGlobal,i=X(t,e);i!==this.renderSpatialReference&&(this._set("renderCoordsHelper",Ne.create(this.state.viewingMode,i)),t||this.addHandles(v(()=>this.groundView?.groundExtent,e=>{const t=this.renderCoordsHelper.spatialReference;null==e||0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]||!Y(e,this.groundView.spatialReference,At,t)||(this.renderCoordsHelper.extent=At)},b),jt),this.sceneIntersectionHelper&&this.sceneIntersectionHelper.setTolerance(ot/this.renderCoordsHelper.unitInMeters))}else this._set("renderCoordsHelper",null)}_exitCoordinateSystem(){this.removeHandles(jt),this._set("renderCoordsHelper",null)}_updatingChanged(){this.notifyChange("updating")}_updateUpdatingMonitors(e=null){null!=e&&4===e.type||(this.removeHandles("updatingMonitors"),this.allLayerViews.forEach(e=>{e.destroyed||(this.addHandles(v(()=>[e.updating,e.updatingProgress],()=>this._updatingChanged(),b),"updatingMonitors"),e.when(()=>this._updatingChanged(),()=>this._updatingChanged()))}),this._updatingChanged())}async _prepareScreenshotOverlay(){this.overlay&&await this.overlay.prepare()}_renderScreenshotOverlay(e,t,i){if(!this.overlay||!this.overlay.hasVisibleItems)return i;const r=e.getContext("2d",{willReadFrequently:!0});return r.putImageData(i,0,0),this.overlay.renderCanvas(e,{disableDecorations:t}),r.getImageData(0,0,i.width,i.height)}_initStage(){const e={deactivatedWebGLExtensions:this.deactivatedWebGLExtensions,debugWebGLExtensions:this.debugWebGLExtensions,alpha:this.alphaCompositingEnabled,preserveDrawingBuffer:this.preserveDrawingBufferEnabled,canvas:this.renderCanvas,screenshot:{prepareOverlay:()=>this._prepareScreenshotOverlay(),renderOverlay:(e,t,i)=>this._renderScreenshotOverlay(e,t,i)}},t=new He(this.state.viewingMode,e=>this.stage.layers.forEach(e),this);this._set("sceneIntersectionHelper",t);const i=s(this.surface);this._stage=new st({view:this,options:e,container:i}),this.notifyChange("stage"),this._updateSlice(),this.addHandles([this.on("pointer-move",()=>this.stage?.renderer.resetAnimation()),a(this.stage.renderView.canvas,"webglcontextlost",e=>{this.fatalError=new n("webgl-context-lost",e.statusMessage||"WebGL context lost")})],"stage"),this.renderCoordsHelper&&this.sceneIntersectionHelper.setTolerance(ot/this.renderCoordsHelper.unitInMeters),this._set("canvas",this.stage.renderView.canvas)}_exitStage(){this.sceneIntersectionHelper?.destroy(),this._set("sceneIntersectionHelper",null),this._stage=d(this.stage),this._set("stage",null),this.removeHandles("stage"),this._set("canvas",null)}_initSurface(){this._exitSurface(),this._initStage(),this._initGlobe(),this.sharedSymbolResources=new Ye({view:this,resourceController:this._resourceController})}_exitSurface(){this.sharedSymbolResources&&(this.sharedSymbolResources.objectResourceCache.destroy(),this.sharedSymbolResources.destroy(),this.sharedSymbolResources=null,this._exitTerrain(),this._exitStage())}async _ensureGraphicsView(){if(this.graphicsView||this._importControllers.has("GraphicsView3D")||0===this.graphics.length)return;this.removeHandles("GraphicsView3D");const e=(await this.updatingHandles.addPromise(this._importModule("GraphicsView3D",e=>M(()=>this.groundView?.ready,e))))?.default;e&&this._set("graphicsView",new e({view:this,getGraphics:()=>this.graphics})),this._updatingChanged()}_disposeGraphicsView(){this._abortImport("GraphicsView3D"),this.removeHandles("GraphicsView3D"),this.graphicsView&&(this.removeHandles(this.graphicsView.processor.layer.id),this.graphicsView.destroy(),this._set("graphicsView",null))}_disposeFocusAreasView(){this._abortImport("FocusAreasView"),this.removeHandles("FocusAreasView"),this.focusAreasView=d(this.focusAreasView)}async _ensureFocusAreasView(e){if(this.focusAreasView||this._importControllers.has("FocusAreasView")||0===e)return;this.removeHandles("FocusAreasView");const t=(await this.updatingHandles.addPromise(this._importModule("FocusAreasView")))?.FocusAreasView;t&&(this.focusAreasView=new t({view:this})),this._updatingChanged()}_startup(){1===ye(this.viewingMode)&&(this._clippingArea=null),this._initSurface(),this._set("ready",!0),this.addHandles(w(()=>this.graphics,"after-changes",()=>this._ensureGraphicsView()),"GraphicsView3D"),this._ensureGraphicsView(),this.addHandles(this.updatingHandles.add(()=>this.map?.focusAreas?.areas.length??0,e=>this._ensureFocusAreasView(e),{initial:!0}),"FocusAreasView");const e=this.scene?.initialViewProperties??null,t=e?.environment;t&&(this._overrideDefaultEnvironmentOnly?F(this.environment,t):this.environment=this.environment.cloneWithWebsceneEnvironment(t)),this.timeExtent=e?.timeExtent,e?.analyses.applyTo(this),this.labeler.setup(),this.environmentManager.connectView(this),this.inputManager.connect();const i=this._resolveWhenReady;this._resolveWhenReady=[],i.forEach(e=>e(this))}_teardown(){this._initialDefaultSpatialReference=null,this.inputManager.disconnect(),this.environmentManager.disconnectView(),this._overrideDefaultEnvironmentOnly=!1,this.labeler.dispose(),this._disposeGraphicsView(),this._disposeFocusAreasView(),this._exitSurface(),this._set("ready",!1)}get _defaultToMapOptions(){const e={include:new Set};if(!this.map)return e;this.map.ground&&e.include.add(pt);for(const t of this.allLayerViews)(ne(t.layer)||ae(t.layer))&&e.include.add(t.uid);return e}get _defaultHitTestOptions(){const e={exclude:new Set};if(!this.map)return e;this.map.ground&&this.map.ground.opacity<1&&e.exclude.add(pt);for(const t of this.allLayerViews)ne(t.layer)&&t.layer.opacity<1&&e.exclude.add(t.uid);return e}static{this.type="3d"}static clearStatics(){Mt(),D(),x(),ht(),Ee(),_e(),Re(),Z(),ut(),le(),rt(),lt(),Le(),Ie(),G(),j(),at(),it(),Te.cleanupI3SLodHandling(),oe.cleanupTilemapCache(),Ae.cleanupViewstate(),Ke.cleanupTerrainSurface()}};function Tt(e,t){return null!=e&&N(e.spatialReference,t)?B(e,t):null}e([O()],Ct.prototype,"_userClippingArea",void 0),e([O()],Ct.prototype,"_resourceController",void 0),e([O()],Ct.prototype,"stage",null),e([O({readOnly:!0})],Ct.prototype,"deconflictor",void 0),e([O({readOnly:!0})],Ct.prototype,"labeler",void 0),e([O({type:ge,readOnly:!0})],Ct.prototype,"animation",null),e([O({readOnly:!0})],Ct.prototype,"basemapTerrain",void 0),e([O({readOnly:!0})],Ct.prototype,"overlayManager",null),e([O({readOnly:!0})],Ct.prototype,"elevationProvider",void 0),e([O()],Ct.prototype,"camera",null),e([O({type:t})],Ct.prototype,"contentCamera",null),e([O({readOnly:!0})],Ct.prototype,"canvas",null),e([O({type:k,useTypeForAutocast:!1})],Ct.prototype,"center",null),e([O({type:W})],Ct.prototype,"clippingArea",null),e([O({type:be,nonNullable:!0})],Ct.prototype,"constraints",void 0),e([O({type:W,readOnly:!0})],Ct.prototype,"renderDataExtent",null),e([O({readOnly:!0})],Ct.prototype,"tileInfo",null),e([O({type:W,readOnly:!0})],Ct.prototype,"dataExtent",null),e([O({type:W,readOnly:!0})],Ct.prototype,"_groundAndLayersExtent",null),e([O({type:Me})],Ct.prototype,"environment",null),e([E("environment")],Ct.prototype,"castEnvironment",null),e([O({readOnly:!0})],Ct.prototype,"environmentManager",void 0),e([O({type:W})],Ct.prototype,"extent",null),e([O({type:r})],Ct.prototype,"floors",void 0),e([O()],Ct.prototype,"screenCenter",null),e([O()],Ct.prototype,"frustum",null),e([O({type:Number,readOnly:!0})],Ct.prototype,"fullOpacity",void 0),e([O({readOnly:!0})],Ct.prototype,"graphicsView",void 0),e([O()],Ct.prototype,"analysisViewManager",void 0),e([O()],Ct.prototype,"groundView",void 0),e([O({readOnly:!0})],Ct.prototype,"layerviewCollections",null),e([O({type:Boolean})],Ct.prototype,"initialExtentRequired",null),e([O()],Ct.prototype,"defaultsFromMapSettings",null),e([O()],Ct.prototype,"interacting",null),e([O()],Ct.prototype,"stationary",null),e([O()],Ct.prototype,"navigating",null),e([O()],Ct.prototype,"map",void 0),e([O()],Ct.prototype,"padding",null),e([O({type:Je,readOnly:!0})],Ct.prototype,"pointsOfInterest",void 0),e([O()],Ct.prototype,"_featureTiles",void 0),e([O()],Ct.prototype,"featureTiles",null),e([O()],Ct.prototype,"_featureTreeDebugger",void 0),e([O({constructOnly:!0})],Ct.prototype,"deactivatedWebGLExtensions",void 0),e([O({constructOnly:!0})],Ct.prototype,"debugWebGLExtensions",void 0),e([O({constructOnly:!0})],Ct.prototype,"renderCanvas",void 0),e([O({constructOnly:!0})],Ct.prototype,"state",void 0),e([O()],Ct.prototype,"screenSizePerspective",void 0),e([O({readOnly:!0})],Ct.prototype,"inputManager",void 0),e([O({readOnly:!0})],Ct.prototype,"stateManager",void 0),e([O({type:["low","medium","high"]})],Ct.prototype,"qualityProfile",null),e([O({type:Be,get(){let e=this._get("qualitySettings");if(!e){const t=ke(this.qualityProfile);e=new Be(t)}return e}})],Ct.prototype,"qualitySettings",void 0),e([O()],Ct.prototype,"slice",void 0),e([O({readOnly:!0})],Ct.prototype,"typeSpecificPreconditionsReady",null),e([O({readOnly:!0})],Ct.prototype,"renderCoordsHelper",void 0),e([O({readOnly:!0})],Ct.prototype,"sceneIntersectionHelper",void 0),e([O({type:Number,readOnly:!0})],Ct.prototype,"resolution",null),e([O({type:Number})],Ct.prototype,"scale",null),e([O({readOnly:!0,type:Number})],Ct.prototype,"terrainLevel",null),e([O()],Ct.prototype,"heightModelInfo",null),e([O({type:Q})],Ct.prototype,"spatialReference",void 0),e([O({type:Boolean,value:!1})],Ct.prototype,"alphaCompositingEnabled",null),e([O({constructOnly:!0})],Ct.prototype,"preserveDrawingBufferEnabled",void 0),e([O({type:Boolean})],Ct.prototype,"supersampleScreenshotsEnabled",void 0),e([O({readOnly:!0})],Ct.prototype,"type",void 0),e([O(),E(e=>e instanceof vt?e:I(_t,e))],Ct.prototype,"ui",void 0),e([O({type:Boolean,readOnly:!0})],Ct.prototype,"updating",null),e([O()],Ct.prototype,"_updatingObjects",null),e([O()],Ct.prototype,"_updatingObjectsWithProgress",null),e([O({type:Number,readOnly:!0})],Ct.prototype,"updatingProgress",void 0),e([O({type:["global","local"]})],Ct.prototype,"viewingMode",null),e([O({type:i})],Ct.prototype,"viewpoint",null),e([O({readOnly:!0})],Ct.prototype,"visibleArea",null),e([O({type:Number})],Ct.prototype,"zoom",null),e([O({readOnly:!0})],Ct.prototype,"quality",null),e([O({readOnly:!0})],Ct.prototype,"resolutionScale",null),e([O()],Ct.prototype,"focusAreasView",void 0),e([O()],Ct.prototype,"_defaultToMapOptions",null),e([O()],Ct.prototype,"_defaultHitTestOptions",null),Ct=St=e([L("esri.views.SceneView")],Ct);const Rt=U(),xt=R(),At=K(),Ot=te(0,0,0,Q.WebMercator),Et={GraphicsView3D:()=>import("./3d/layers/GraphicsView3D.js"),FocusAreasView:()=>import("./3d/FocusAreasView.js"),FeatureTileTree3D:()=>import("./3d/layers/support/FeatureTileTree3D.js")},Lt=Ct;export{Lt as default};
|
|
2
|
+
import{__decorate as e}from"tslib";import t from"../Camera.js";import i from"../Viewpoint.js";import r from"../core/Collection.js";import{byId as s}from"../core/domUtils.js";import n from"../core/Error.js";import{on as a}from"../core/events.js";import{destroyHandle as o,makeHandle as l}from"../core/handleUtils.js";import has from"../core/has.js";import p from"../core/Logger.js";import{mapCollectionAsync as h}from"../core/mapCollectionUtils.js";import{destroyMaybe as d,maybeProperty as u}from"../core/maybe.js";import{ignoreAbortErrors as c,throwIfDestroyed as g,throwIfAborted as m,createAbortError as y}from"../core/promiseUtils.js";import f from"../core/ReactiveSet.js";import{on as w,watch as v,initial as _,sync as b,whenOnce as M,syncAndInitial as S}from"../core/reactiveUtils.js";import{setFrameDuration as V,cleanupScheduling as j}from"../core/scheduling.js";import{createScreenPoint as C,isScreenRect as T,createScreenPointArray as R}from"../core/screenUtils.js";import{cleanupWhereClauseCache as x}from"../core/sql.js";import{getMetersPerUnitForSR as A}from"../core/units.js";import{property as O,cast as E,subclass as L}from"../core/accessorSupport/decorators.js";import{ensureType as H,ensureClass as I}from"../core/accessorSupport/ensureType.js";import{overrideDefaultsFrom as P}from"../core/accessorSupport/overrideDefaultsFrom.js";import{runUntracked as D}from"../core/accessorSupport/tracking.js";import{drainNotificationQueue as F}from"../core/accessorSupport/trackingUtils.js";import{create as U}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{cleanupPooledRBush as G}from"../core/libs/rbush/PooledRBush.js";import{initialize as W}from"../core/workers/workers.js";import z from"../geometry/Extent.js";import q from"../geometry/HeightModelInfo.js";import k from"../geometry/Point.js";import{project as B,canProjectWithoutEngine as N}from"../geometry/projectionUtils.js";import Q from"../geometry/SpatialReference.js";import{cleanupSpatialReferenceEllipsoidUtils as Z}from"../geometry/spatialReferenceEllipsoidUtils.js";import{projectBoundingRect as Y}from"../geometry/projection/projectBoundingRect.js";import{projectPointToVector as $}from"../geometry/projection/projectPointToVector.js";import{toExtent as J,create as K}from"../geometry/support/aaBoundingRect.js";import{renderSRFromViewSR as X}from"../geometry/support/coordinateSystem.js";import{getResolutionForScale as ee}from"../geometry/support/scaleUtils.js";import{makeDehydratedPoint as te}from"../layers/graphics/dehydratedPoint.js";import{isImageryTileLayer as ie,isTiledLayer as re,isVoxelLayer as se,isIntegratedMeshLayer as ne,isGaussianSplatLayer as ae}from"../layers/support/layerUtils.js";import{TilemapCache as oe}from"../layers/support/TilemapCache.js";import{clearDefaultPortalInstance as le}from"../portal/portalDefault.js";import{WebSceneTag as pe}from"../support/tagSymbols.js";import{BreakpointsOwner as he}from"./BreakpointsOwner.js";import{DOMContainer as de}from"./DOMContainer.js";import{PopupView as ue}from"./PopupView.js";import ce from"./View.js";import ge from"./ViewAnimation.js";import{stringFromViewingMode as me,viewingModeFromString as ye}from"./ViewingMode.js";import{GroundView3D as fe}from"./3d/GroundView3D.js";import{layerView3DImporter as we}from"./3d/layerViewModuleImportUtils.js";import{importAnalysisViewModule as ve}from"./3d/analysis/analysisViewModuleImportUtils.js";import{cleanupIntersectionUtils as _e}from"./3d/camera/intersectionUtils.js";import be from"./3d/constraints/Constraints.js";import Me from"./3d/environment/Environment.js";import{EnvironmentManager as Se}from"./3d/environment/EnvironmentManager.js";import Ve from"./3d/input/SceneInputManager.js";import{GraphicsDeconflictor as je}from"./3d/layers/graphics/GraphicsDeconflictor.js";import{Labeler as Ce}from"./3d/layers/graphics/Labeler.js";import Te from"./3d/layers/i3s/I3SLodHandling.js";import{cleanupStageLayerElevationProvider as Re}from"./3d/layers/support/StageLayerElevationProvider.js";import{ScreenSizePerspective as xe}from"./3d/state/ScreenSizePerspective.js";import Ae from"./3d/state/ViewState.js";import{ViewStateManager as Oe,cleanupViewStateManager as Ee}from"./3d/state/ViewStateManager.js";import{cleanupPointToPointAnimationController as Le}from"./3d/state/controllers/PointToPointAnimationController.js";import{SceneIntersectionHelper as He}from"./3d/state/helpers/SceneIntersectionHelper.js";import{cleanupNavigationUtils as Ie}from"./3d/state/utils/navigationUtils.js";import Pe from"./3d/support/Attribution3D.js";import{CombinedElevationProvider as De}from"./3d/support/CombinedElevationProvider.js";import{debugFlags as Fe}from"./3d/support/debugFlags.js";import{getElevationAtPoint as Ue}from"./3d/support/ElevationProvider.js";import{toMap as Ge,hitTest as We}from"./3d/support/hitTest.js";import{popupHitTest as ze}from"./3d/support/popupHitTest.js";import{getDefaultQualityProfileName as qe,getQualityProfileSettings as ke}from"./3d/support/QualityProfile.js";import Be from"./3d/support/QualitySettings.js";import{RenderCoordsHelper as Ne}from"./3d/support/RenderCoordsHelper.js";import{newResourceController as Qe}from"./3d/support/ResourceController.js";import Ze from"./3d/support/SceneViewPerformanceInfo.js";import{SharedSymbolResources as Ye}from"./3d/support/SharedSymbolResources.js";import{ViewSlice as $e}from"./3d/support/ViewSlice.js";import{PointsOfInterest as Je}from"./3d/support/pointsOfInterest/PointsOfInterest.js";import Ke from"./3d/terrain/TerrainSurface.js";import{isSurfaceLayerView as Xe,getTiledLayerInfo as et,checkIfTileInfoSupportedForView as tt}from"./3d/terrain/terrainUtils.js";import{clearTilePerLayerInfo as it}from"./3d/terrain/TilePerLayerInfo.js";import{cleanupTileRenderer as rt}from"./3d/terrain/TileRenderer.js";import{Stage as st}from"./3d/webgl-engine/Stage.js";import{olidEnabled as nt}from"./3d/webgl-engine/effects/geometry/olidUtils.js";import{cleanupRenderOccluded as at}from"./3d/webgl-engine/effects/geometry/RenderOccluded.js";import{defaultTolerance as ot}from"./3d/webgl-engine/lib/Intersector.js";import{cleanupShadowmap as lt}from"./3d/webgl-engine/lib/ShadowMap.js";import{terrainId as pt}from"./3d/webgl-engine/lib/verticalOffsetUtils.js";import{cleanupEdgeProcessing as ht}from"./3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js";import dt from"./support/AnalysisViewManager.js";import{cleanupDrapedUtils as ut}from"./support/drapedUtils.js";import{occludeesSupported as ct}from"./support/layerViewUtils.js";import{isSupportedScreenPointEvent as gt,createScreenPointFromSupportedEvent as mt}from"./support/screenUtils.js";import{isSpatialReferenceSupported as yt}from"./support/spatialReferenceSupport.js";import{initializeTextureCompressionWorker as ft,destroyTextureCompressionWorker as wt}from"./support/TextureCompressionHelper.js";import vt from"./ui/DefaultUI.js";import _t from"./ui/3d/DefaultUI3D.js";import bt from"../webscene/Environment.js";import{clearVNodeCache as Mt}from"../widgets/support/vnodeCache.js";var St;const Vt=Symbol(),jt=Symbol();let Ct=class extends(he(ue(de(ce)))){static{St=this}constructor(e){super(e),this._userClippingArea=null,this._clippingArea=null,this._initialDefaultSpatialReference=null,this._overrideDefaultEnvironmentOnly=!0,this._resolveWhenReady=[],this._resourceController=Qe(this),this.deconflictor=new je({view:this}),this.attribution3D=new Pe({view:this}),this.labeler=new Ce({view:this,deconflictor:this.deconflictor.labels}),this.sharedSymbolResources=null,this.basemapTerrain=null,this.elevationProvider=new De({view:this}),this._canvas=null,this.constraints=new be,this._environment=new Me,this.environmentManager=new Se,this.floors=new r,this.fullOpacity=1,this.graphicsView=null,this.analysisViewManager=new dt({importAnalysisViewModule:e=>ve(e),view:this}),this.groundView=null,this.map=null,this._featureTileTreeClients=new f,this._featureTiles=null,this._featureTreeDebugger=null,this.state=new Ae({view:this}),this.slice=new $e,this.spatialReference=null,this.preserveDrawingBufferEnabled=!1,this.supersampleScreenshotsEnabled=!0,this.type="3d",this.ui=new _t,this._numUpdating=0,this._lastUpdateTime=0,this.updatingProgress=.5,this._importControllers=new Map,W();const t=()=>this._updatingChanged();this.addHandles(o(h(()=>this.map?.allLayers,async e=>{try{await e.when()}catch{}finally{t()}}))),this.addHandles([w(()=>this.map?.allLayers,"after-changes",t,{onListenerAdd:t,onListenerRemove:t,sync:!0}),this.allLayerViews.on("after-changes",e=>this._updateUpdatingMonitors(e)),v(()=>this.scene,e=>e?.load().catch(()=>{}))]),this.inputManager=new Ve({view:this}),this.stateManager=new Oe({view:this}),this.screenSizePerspective=new xe({view:this})}initialize(){if(has("enable-feature:esri-compress-textures")&&has("wasm-simd")){const e=ft(this,this.resourceController);this.addResolvingPromise(e.promise)}this.groundView=new fe({view:this}),this._updateUpdatingMonitors(),this.updatingHandles.add(()=>this.qualitySettings.memoryLimit,e=>{this.resourceController&&(this.resourceController.memoryController.maxMemory=e)},_),this.updatingHandles.add(()=>this.qualitySettings.additionalCacheMemory,e=>{this.resourceController&&(this.resourceController.memoryController.additionalCacheMemory=e)},_),this.updatingHandles.add(()=>this.qualitySettings.frameRate??0,e=>V(e>0?1e3/Math.ceil(e):0),_),this.addHandles([v(()=>this.spatialReference,()=>this.notifyChange("clippingArea"),b),v(()=>({plane:this.slice.plane,isDecoration:this.slice.isDecoration}),()=>this._updateSlice(),b)])}destroy(){this.destroyed||(wt(this),this.updatingHandles.removeAll(),this.basemapTerrain?.clearHandles(),this.elevationProvider.destroy(),this.ui.removeAllHandles(),this.layerViewManager.clearHandles(),this.invalidate(),this.layerViewManager.clear(),this._set("analysisViewManager",d(this.analysisViewManager)),this._exitSurface(),this._disposeGraphicsView(),this._disposeFocusAreasView(),this.sharedSymbolResources=d(this.sharedSymbolResources),this._set("labeler",d(this.labeler)),this._set("deconflictor",d(this.deconflictor)),this._resourceController=d(this._resourceController),this._set("stateManager",d(this.stateManager)),this._set("inputManager",d(this.inputManager)),this.state.destroy(),this.highlights.destroy(),this.removeHandles("updatingMonitors"),this._set("environmentManager",d(this.environmentManager)),this._set("environment",d(this.environment)),this.groundView=d(this.groundView),this.slice.destroy(),this._updatingObjectsWithProgress.length=0,this._updatingObjects.length=0,this.ui?.destroy(),this._set("ui",null),this._set("renderCanvas",null),this._set("canvas",null),this._canvas=null,this.screenSizePerspective.destroy(),this.attribution3D.destroy())}get stage(){return this._stage}get renderSpatialReference(){return this.renderCoordsHelper?.spatialReference}get groundSpatialReference(){return this.basemapTerrain?.spatialReference}get analyses(){return super.analyses}set analyses(e){super.analyses=e}get animation(){return this.state?.animation}get overlayManager(){return this.basemapTerrain?.overlayManager}get camera(){return this.stateManager?.camera}set camera(e){this.stateManager&&(this.stateManager.camera=e)}get contentCamera(){return this.stateManager?.contentCamera}set contentCamera(e){this.stateManager&&(this.stateManager.contentCamera=e)}installContentCameraReset(e={sticky:!1}){return this.stateManager.installContentCameraReset(e)}get canvas(){return this._canvas}get center(){return this.stateManager?.center}set center(e){this.stateManager&&(this.stateManager.center=H(k,e))}get clippingArea(){if("global"===this.viewingMode)return null;const e=this.map;let t=this._userClippingArea||u(e,"clippingArea");return!this._userClippingArea&&!u(e,"clippingEnabled")||null==t?(this._clippingArea=null,null):t instanceof z?this.spatialReference&&(t=Tt(t,this.spatialReference),null==t)?(p.getLogger(this).error("#clippingArea","setting clippingArea with incompatible SpatialReference"),this._clippingArea):(t=t.clone(),null==t.intersection(this._groundAndLayersExtent)&&(t.xmin=t.xmax,t.ymin=t.ymax),t.zmin=void 0,t.zmax=void 0,t.equals(this._clippingArea)||(this._clippingArea=t),this._clippingArea):(p.getLogger(this).error("#clippingArea","only clippingArea geometries of type Extent are supported"),this._clippingArea)}set clippingArea(e){this.ready&&"global"===this.viewingMode&&null!=e?p.getLogger(this).error("#clippingArea=","Clipping area is only supported in local viewingMode"):this._userClippingArea=e}get renderDataExtent(){if(1===this.state.viewingMode)return null;const e=this.renderSpatialReference,t=this.dataExtent;return null==t||null==e||t.spatialReference.equals(e)?t:Tt(t,e)}get tileInfo(){return this.basemapTerrain?.tilingScheme?.toTileInfo()}get dataExtent(){let e=this._groundAndLayersExtent;const t=this.spatialReference||Q.WGS84,i=Tt(this.clippingArea,t);null!=i&&(e=null!=e?e.intersection(i):i);const r=this._get("dataExtent");return null!=e&&e.equals(r)?r:e}get _groundAndLayersExtent(){const e=this.spatialReference||Q.WGS84;let t;const i=i=>{const r=Tt(i,e);null!=r&&(null!=t?t.union(r):t=r.clone())},{groundView:r}=this,s=r?.spatialReference,n=r?.fullGroundExtent;s&&n&&i(new z({xmin:n[0],ymin:n[1],zmin:0,xmax:n[2],ymax:n[3],zmax:0,spatialReference:s}));const a=e=>{null==e.fullExtent||"graphics"===e.type&&e.internal||i(e.fullExtent)};if(this.map?.allLayers.forEach(e=>a(e)),null==t)return null;t.hasZ?(t.zmin=Math.min(0,t.zmin??0),t.zmax=Math.max(0,t.zmax??0)):(t.zmin=0,t.zmax=0);const o=this._get("_groundAndLayersExtent");return t.equals(o)?o:t}get environment(){return this._environment}set environment(e){if(this._environment===e)return;const{_environment:t}=this;this._environment=null,t?.destroy(),this._environment=e,this.notifyChange("environment")}castEnvironment(e){return e?e instanceof Me?e:e instanceof bt?this.environment?.cloneWithWebsceneEnvironment(e)??Me.fromWebsceneEnvironment(e):H(Me,e):new Me}get extent(){return this.stateManager?.extent}set extent(e){this.stateManager&&(this.stateManager.extent=e)}get screenCenter(){return this.stateManager?.screenCenter}get frustum(){return this.stateManager?.frustum}get layerviewCollections(){return[this.basemapView?.baseLayerViews,this.basemapView?.groundLayerViews,this.groundView?.layerViews,this.layerViews,this.basemapView?.referenceLayerViews]}get _layerToLayerviewMapping(){return St._layerToLayerview}static{this._layerToLayerview=ce._layerToLayerview.concat([["view.map.ground.layers","view.groundView.layerViews"]])}get initialExtentRequired(){return this.stateManager&&!this.stateManager.hasInitialView}get defaultsFromMapSettings(){return{required:{tileInfo:!1,heightModelInfo:!0,extent:!1}}}get interacting(){return this.navigating||(this.toolViewManager?.interacting??!1)}get stationary(){return!this.animation&&!this.resizing&&(this.state?.stationary??!0)}get navigating(){return this.state?.navigating??!1}get scene(){return this.map&&pe in this.map?this.map:null}get padding(){return this.stateManager?.padding}set padding(e){this.stateManager&&(this.stateManager.padding=e)}get featureTiles(){return this._featureTiles}set qualityProfile(e){const t=ke(e);t&&this._get("qualityProfile")!==e&&(this.qualitySettings=new Be(t),this.stage?.renderView.updateQualitySettings(this.qualitySettings),this._set("qualityProfile",e))}get qualityProfile(){return this._get("qualityProfile")||qe()}_updateSlice(){null!=this.stage&&(this.stage.renderer.slice=this.slice)}get typeSpecificPreconditionsReady(){return!!this.viewingMode&&!!this.stateManager?.preinit(this.spatialReference)}get resolution(){const{scale:e,spatialReference:t}=this;return t?D(()=>ee(e,t)):0}get scale(){return this.stateManager?.scale}set scale(e){this.stateManager&&(this.stateManager.scale=e)}get terrainLevel(){const e=this.basemapTerrain?.tilingScheme,t=this.scale;if(!e||!t)return null;const i=e.levelAtScale(t)+this.qualitySettings.tiledSurface.lodBias,r=e.getMaxLod();return i<=0?null:Math.max(0,Math.min(i,r||1/0))}get heightModelInfo(){const e=this.getDefaultHeightModelInfo();return null!=e?q.deriveUnitFromSR(e,this.spatialReference):null}get alphaCompositingEnabled(){return this._get("alphaCompositingEnabled")}set alphaCompositingEnabled(e){this._stage&&p.getLogger(this).warn("alphaCompositingEnabled cannot be changed after the view has become ready"),this._set("alphaCompositingEnabled",e)}get updating(){if(this.destroying||this.destroyed)return!1;let e=0,t=this.layerViewManager.updating,i=t?this.layerViewManager.updatingRemaining:0;this.allLayerViews.forEach(r=>{if(r.isFulfilled()){if(r.updating){if(t=!0,r.suspended||Xe(r))return;++i,e+=r.updatingProgress}}else++i});const r=.1;for(const n of this._updatingObjects)n?.updating&&(i+=r,e+=.5*r);for(const n of this._updatingObjectsWithProgress)n?.updating&&(++i,e+=n.updatingProgress);const s=!this.stateManager.test.updatingIgnoreRenderState&&this.state.updating;if(t=!!(t||i>0||this.updatingHandles.updating||!this.ready||!this.stationary||s||this._importControllers.size>0||this.inputManager?.updating||this.map?.allLayers?.some(e=>!e.isFulfilled())),t?(this._numUpdating=Math.max(i,this._numUpdating),e+=this._numUpdating-i):this._numUpdating=0,this._numUpdating>0?e/=this._numUpdating:e=t?0:1,this._get("updatingProgress")!==e){const i=performance.now();if(e<1){const t=Math.min((i-this._lastUpdateTime)/2e3,1);e=this.updatingProgress*(1-t)+e*t}this._set("updatingProgress",e),this._lastUpdateTime=t&&e<1?i:0}return Fe.UPDATING&&console.log("Updating:",this._updatingObjectsToDebug.filter(e=>null!=e&&e.updating).map(({declaredClass:e})=>e)),t}get _updatingObjects(){return[this.graphicsView,this.basemapView,this._resourceController,this.stage,this.featureTiles,this.pointsOfInterest,this.environmentManager,this.overlay,this._featureTreeDebugger,this.toolViewManager,this.analysisViewManager,this.focusAreasView]}get _updatingObjectsWithProgress(){return[this.deconflictor,this.labeler,this.basemapTerrain]}get _updatingObjectsToDebug(){return Fe.UPDATING?this._updatingObjects.concat(this._updatingObjectsWithProgress).concat(this.allLayerViews.toArray()):[]}get viewingMode(){const e=this._predeterminedViewingMode;if(null!=e)return me(e);const t=this.spatialReference;return t?null!=this.defaultsFromMap?.viewingMode&&t.equals(this.defaultsFromMap.spatialReference)?me(this.defaultsFromMap.viewingMode):yt(t,1)?"global":"local":"global"}set viewingMode(e){this.ready?p.getLogger(this).error("#viewingMode","viewingMode cannot be set once view is ready"):this._overrideIfSome("viewingMode",e)}get viewpoint(){return this.stateManager?.viewpoint}set viewpoint(e){this.stateManager&&(this.stateManager.viewpoint=e)}get visibleArea(){return this.stateManager?.visibleArea}get zoom(){return this.stateManager.zoom}set zoom(e){this.stateManager&&(this.stateManager.zoom=e)}get resourceController(){return this._resourceController}get quality(){return this._resourceController?.memoryController?.memoryFactor??1}get resolutionScale(){return Math.sqrt(Math.min(1,this.quality/.75))}get performanceInfo(){return new Ze(this)}on(e,t,i,r){const s=this.viewEvents.on(e,t,i,r);return s||super.on(e,t)}hasEventListener(e){return super.hasEventListener(e)||this.viewEvents.hasHandler(e)}toMap(e,t){if(!this.ready)return p.getLogger(this).error("#toMap()","Scene view cannot be used before it is ready"),null;const i=gt(e)?mt(this,e):e;return Ge(this,i,t,this._defaultToMapOptions)}toScreen(e){if(!this.ready)return p.getLogger(this).error("#toScreen()","Scene view cannot be used before it is ready"),null;let t=e;return null==e.z&&(t=Ot,t.x=e.x,t.y=e.y,t.z=Ue(this.elevationProvider,e)??0,t.spatialReference=e.spatialReference),$(t,Rt,this.renderSpatialReference),this.state.camera.projectToScreen(Rt,xt),C(xt[0],xt[1])}pixelSizeAt(e,t){if(!this.ready)return p.getLogger(this).error("#pixelSizeAt()","Scene view cannot be used before it is ready"),null;if(!e)return 0;const i=this.renderSpatialReference;$(e,Rt,i);const r=this.state.camera.computeScreenPixelSizeAt(Rt);return t&&i!==t?r*A(i)/A(t):r}overlayPixelSizeInMapUnits(e){return this.overlayManager?.overlayPixelSizeInMapUnits(e,()=>this.pixelSizeAt(e))??1}hitTest(e,t){if(!this.ready)return p.getLogger(this).error("#hitTest()","Scene view cannot be used before it is ready"),null;const i=gt(e)?mt(this,e):e;return We(this,i,t,this._defaultHitTestOptions)}async popupHitTest(e){return T(e)&&(p.getLogger(this).warn("#fetchPopupFeatures()","rectangle isn't a supported input, using its center point instead"),e=C(e.x+e.width/2,e.y+e.height/2)),ze(this,e)}goTo(e,t){return this.updatingHandles.addPromise(this.stateManager.goTo(e,t))}async zoomIn(){if(this.canZoomIn)return c(this.goTo({zoomFactor:2}))}async zoomOut(){if(this.canZoomOut)return c(this.goTo({zoomFactor:.5}))}async whenAnalysisView(e){if(null==e.parent)throw new n("view:no-analysisview-for-analysis","The analysis does not exist in view.analyses",{analysis:e});switch(e.parent.type){case"line-of-sight":case"dimension":case"viewshed":return(await this.whenLayerView(e.parent)).whenAnalysisView();default:return this.analysisViewManager.whenAnalysisView(e)}}whenLayerView(e){return super.whenLayerView(e)}async takeScreenshot(e){const t=await this._completeSettings(e);await this.whenReady();const i=(await this.stage.renderView.takeScreenshot(t))[0];return(await import("./support/screenshotUtils.js")).encode(i,t,this._pixelFormat())}async _takeScreenshot(e){const t=await this._completeSettings(e);await this.whenReady();const i=(await this.stage.renderView.takeScreenshot(t))[0];return(await import("./support/screenshotUtils.js")).encodeData(i,this._pixelFormat())}async _takeScreenshotWithObjectAndLayerId(e){const t=await this._completeSettings(e);t.olidColor=!0,await this.whenReady();const i=await this.stage.renderView.takeScreenshot(t),{encodeData:r}=await import("./support/screenshotUtils.js");return[r(i[0],this._pixelFormat()),r(i[1],this._pixelFormat())]}async _completeSettings(e){const{toRenderSettings:t,screenshotSuperSampleSettings:i}=await import("./support/screenshotUtils.js"),r=t(e,this);return r.pixelRatio/=this.state.pixelRatio,i(r,this.supersampleScreenshotsEnabled,this.padding)}_pixelFormat(){return{flipY:!0,premultipliedAlpha:this.stage?.renderView.getAlpha()??!1}}get test(){}async takeScreenshotWithObjectAndLayerId(e){if(!nt())throw new n("360vr:objectAndLayerId-rendering-disabled","has enable-feature:objectAndLayerId-rendering must be true");const{encode:t}=await import("./support/screenshotUtils.js"),i=await this._completeSettings(e);i.olidColor=!0,await this.whenReady();const r=await this.stage.renderView.takeScreenshot(i),s=t(r[0],i,this._pixelFormat()),a=await this._completeSettings(e);a.format="png";return[s,t(r[1],a,this._pixelFormat())]}getColorToObjectAndLayerIdMapping(){const e=this.stage.renderView.olidRenderHelper;if(e)return e.getColorToObjectAndLayerIdMapping();throw new n("360vr:objectAndLayerId-rendering-disabled","has enable-feature:objectAndLayerId-rendering must be true")}addUpdatingPromise(e){return this.updatingHandles.addPromise(e)}getAttributionItems(){return super.getAttributionItems().concat(this.attribution3D.attributionItems)}importLayerView(e){return we.importLayerView(e)}hasLayerViewModule(e){return we.hasLayerViewModule(e)}forceDOMReadyCycle(){this.forceReadyCycle()}getDefaultSpatialReference(){return this.scene?.initialViewProperties?.spatialReference||this.defaultsFromMap?.spatialReference||this.defaultsFromMap?.ready&&this._initialDefaultSpatialReference||null}getSurface(){return this.surface}get _predeterminedViewingMode(){const e=this._isOverridden("viewingMode")?this._get("viewingMode"):this.scene?.initialViewProperties?.viewingMode;return null!=e?ye(e):null}getSpatialReferenceSupport(e,t){const i=this._predeterminedViewingMode;if(null!=i)return this._validateSpatialReferenceForViewingMode(e,t,i)?{constraints:this._makeSpatialReferenceConstraints(e,t,i)}:null;const r=this._validateSpatialReferenceForViewingMode(e,t,2),s=this._validateSpatialReferenceForViewingMode(e,t,1);return r||s?r&&s?{constraints:this._makeSpatialReferenceConstraints(e,t,null)}:r?{constraints:this._makeSpatialReferenceConstraints(e,t,2)}:{constraints:this._makeSpatialReferenceConstraints(e,t,1)}:null}_validateSpatialReferenceForViewingMode(e,t,i){return!!yt(e,i)&&(null==t||(!!ie(t)||(!re(t)||null!=et(t,e,i))&&(!se(t)||1!==i)))}_makeSpatialReferenceConstraints(e,t,i){if(null==t)return[{spatialReference:e,viewingMode:i}];const{isWebMercator:r,isWGS84:s}=e;if(ie(t)&&(r||s)){return!s||2===i||null===tt(t.tileInfo,t.fullExtent,e,1)?[{spatialReference:e,viewingMode:i},{spatialReference:Q.WebMercator,viewingMode:i}]:[{spatialReference:r?Q.WGS84:Q.WebMercator,viewingMode:i}]}return re(t)||se(t)||!r&&!s?re(t)&&r&&1!==i?[{spatialReference:e,viewingMode:i},{spatialReference:Q.WGS84,viewingMode:2}]:[{spatialReference:e,viewingMode:i}]:[{spatialReference:e,viewingMode:i},{spatialReference:r?Q.WGS84:Q.WebMercator,viewingMode:i}]}_validateSpatialReference(e){const t=null!=this.getSpatialReferenceSupport(e),i=this._predeterminedViewingMode;return t||(null!=i?p.getLogger(this).warnOnce(`Spatial reference defined on view not supported in ${me(i)} viewing mode.`):e.isGeographic&&p.getLogger(this).warnOnce("Spatial reference is geographic but not supported.")),t}whenReady(){return new Promise(e=>{this.ready?e(this):this._resolveWhenReady.push(e)})}trackGraphicState(e){if(!e.graphic)return p.getLogger(this).error("trackGraphicState","GraphicState.graphic must not be null or undefined to start tracking"),null;const t=this.getViewForGraphic(e.graphic);let i=null,r=!1;const s=t=>{!r&&null!=t&&"processor"in t&&"graphics-3d"===t.processor?.type&&t.processor.graphicsCore&&(i=t.processor.graphicsCore.trackGraphicState(e))};return null!=t?s(t):this.whenViewForGraphic(e.graphic,{waitForLayer:!0}).then(e=>s(e),()=>{}).catch(()=>{}),l(()=>{r=!0,null!=i&&(i.remove(),i=null)})}maskOccludee(e){if(!e)return p.getLogger(this).error("maskOccludee","GraphicState.graphic must not be null or undefined to mask an occludee"),null;const t=this.getViewForGraphic(e);let i=null,r=!1;const s=t=>{!r&&null!=t&&ct(t)&&(i=t.maskOccludee(e))};return null!=t?s(t):this.whenViewForGraphic(e,{waitForLayer:!0}).then(e=>s(e),()=>{}).catch(()=>{}),l(()=>{r=!0,null!=i&&(i.remove(),i=null)})}getViewForGraphic(e){return e.layer===this?this.graphicsView:e.layer?this.allLayerViews.filter(e=>"media-3d"!==e.type).find(t=>t.layer===e.layer):null}graphicChanged(e){null!=this.graphicsView&&this.graphicsView.graphicChanged(e)}async whenViewForGraphic(e,t){return e.layer===this?(await M(()=>this.graphicsView),this.graphicsView):e.layer&&this.map?t&&t.waitForLayer&&!this.map.allLayers.includes(e.layer)?new Promise((t,i)=>{const r=this.map.allLayers.on("change",s=>{s.added.includes(e.layer)&&(r.remove(),this.whenLayerView(e.layer).then(t,i))})}):this.whenLayerView(e.layer):null}enableFeatureTiles(){const e=Symbol();return this._featureTileTreeClients.add(e),l(()=>this._featureTileTreeClients.delete(e))}async _importModule(e,t){const i=new AbortController;this._importControllers.set(e,i),this._updatingChanged();try{const r=await Et[e]();if(t&&(g(this),m(i.signal),await t(i.signal)),this.destroyed)throw y();return m(i.signal),r}catch{return null}finally{this._importControllers.delete(e),this._updatingChanged()}}_abortImport(e){this._importControllers.get(e)?.abort(),this._importControllers.delete(e),this._updatingChanged()}_initBasemapTerrain(){this._set("basemapTerrain",new Ke({view:this})),this.elevationProvider.register(0,this.basemapTerrain)}_exitBasemapTerrain(){const{basemapTerrain:e,elevationProvider:t}=this;e&&(this._set("basemapTerrain",null),t.unregister(e),e.destroy())}_initGlobe(){this._initCoordinateSystem(),this.state.createInitialCamera(),this._initBasemapTerrain(),this._set("pointsOfInterest",new Je({view:this})),this.addHandles([this.updatingHandles.add(()=>Fe.FEATURE_TILE_TREE_SHOW_TILES,e=>{e&&!this._featureTreeDebugger?this.updatingHandles.addPromise(import("./3d/layers/support/FeatureTileTree3DDebugger.js")).then(({FeatureTileTree3DDebugger:e})=>{!this._featureTreeDebugger&&Fe.FEATURE_TILE_TREE_SHOW_TILES&&(this._featureTreeDebugger=new e({view:this}))}):e||(this._featureTreeDebugger=d(this._featureTreeDebugger))},S),this.updatingHandles.add(()=>({basemapExtent:this.groundView?.groundExtent,basemapSpatialReference:this.groundView?.spatialReference,clippingArea:this.clippingArea,featureTiles:this._featureTiles}),({basemapExtent:e,basemapSpatialReference:t,clippingArea:i,featureTiles:r})=>{if(!r)return;const s=!!e;if(i||s)if(s&&t){const s=e&&t?B(J(e,t),this.spatialReference):null;r.filterExtent=i?i.intersection(s):s}else r.filterExtent=i;else r.filterExtent=null},S),this.updatingHandles.add(()=>this._featureTileTreeClients.size>0,e=>{e?this.updatingHandles.consumePromise(this._ensureFeatureTileTree()):this._featureTiles=d(this._featureTiles)},b)],Vt),this.stateManager.init()}async _ensureFeatureTileTree(){if(this._featureTiles||this._importControllers.has("FeatureTileTree3D"))return;const e=(await this.updatingHandles.addPromise(this._importModule("FeatureTileTree3D")))?.FeatureTileTree3D;e&&(this._featureTiles=new e({renderCoordsHelper:this.renderCoordsHelper,pointsOfInterest:this.pointsOfInterest,viewState:this.state,scheduler:this._resourceController.scheduler,terrain:this.basemapTerrain}),this._updatingChanged())}_exitTerrain(){this.stateManager.exit(),this.removeHandles(jt),this.removeHandles(Vt),this._featureTiles=d(this.featureTiles),this._set("pointsOfInterest",d(this.pointsOfInterest)),this._exitBasemapTerrain(),this.state.reset(),this._exitCoordinateSystem()}_initCoordinateSystem(){if(this.spatialReference){const e=this.spatialReference,t=this.state.isGlobal,i=X(t,e);i!==this.renderSpatialReference&&(this._set("renderCoordsHelper",Ne.create(this.state.viewingMode,i)),t||this.addHandles(v(()=>this.groundView?.groundExtent,e=>{const t=this.renderCoordsHelper.spatialReference;null==e||0===e[0]&&0===e[1]&&0===e[2]&&0===e[3]||!Y(e,this.groundView.spatialReference,At,t)||(this.renderCoordsHelper.extent=At)},b),jt),this.sceneIntersectionHelper&&this.sceneIntersectionHelper.setTolerance(ot/this.renderCoordsHelper.unitInMeters))}else this._set("renderCoordsHelper",null)}_exitCoordinateSystem(){this.removeHandles(jt),this._set("renderCoordsHelper",null)}_updatingChanged(){this.notifyChange("updating")}_updateUpdatingMonitors(e=null){null!=e&&4===e.type||(this.removeHandles("updatingMonitors"),this.allLayerViews.forEach(e=>{e.destroyed||(this.addHandles(v(()=>[e.updating,e.updatingProgress],()=>this._updatingChanged(),b),"updatingMonitors"),e.when(()=>this._updatingChanged(),()=>this._updatingChanged()))}),this._updatingChanged())}async _prepareScreenshotOverlay(){this.overlay&&await this.overlay.prepare()}_renderScreenshotOverlay(e,t,i){if(!this.overlay||!this.overlay.hasVisibleItems)return i;const r=e.getContext("2d",{willReadFrequently:!0});return r.putImageData(i,0,0),this.overlay.renderCanvas(e,{disableDecorations:t}),r.getImageData(0,0,i.width,i.height)}_initStage(){const e={deactivatedWebGLExtensions:this.deactivatedWebGLExtensions,debugWebGLExtensions:this.debugWebGLExtensions,alpha:this.alphaCompositingEnabled,preserveDrawingBuffer:this.preserveDrawingBufferEnabled,canvas:this.renderCanvas,screenshot:{prepareOverlay:()=>this._prepareScreenshotOverlay(),renderOverlay:(e,t,i)=>this._renderScreenshotOverlay(e,t,i)}},t=new He(this.state.viewingMode,e=>this.stage.layers.forEach(e),this);this._set("sceneIntersectionHelper",t);const i=s(this.surface);this._stage=new st({view:this,options:e,container:i}),this.notifyChange("stage"),this._updateSlice(),this.addHandles([this.on("pointer-move",()=>this.stage?.renderer.resetAnimation()),a(this.stage.renderView.canvas,"webglcontextlost",e=>{this.fatalError=new n("webgl-context-lost",e.statusMessage||"WebGL context lost")})],"stage"),this.renderCoordsHelper&&this.sceneIntersectionHelper.setTolerance(ot/this.renderCoordsHelper.unitInMeters),this._set("canvas",this.stage.renderView.canvas)}_exitStage(){this.sceneIntersectionHelper?.destroy(),this._set("sceneIntersectionHelper",null),this._stage=d(this.stage),this._set("stage",null),this.removeHandles("stage"),this._set("canvas",null)}_initSurface(){this._exitSurface(),this._initStage(),this._initGlobe(),this.sharedSymbolResources=new Ye({view:this,resourceController:this._resourceController})}_exitSurface(){this.sharedSymbolResources&&(this.sharedSymbolResources.objectResourceCache.destroy(),this.sharedSymbolResources.destroy(),this.sharedSymbolResources=null,this._exitTerrain(),this._exitStage())}async _ensureGraphicsView(){if(this.graphicsView||this._importControllers.has("GraphicsView3D")||0===this.graphics.length)return;this.removeHandles("GraphicsView3D");const e=(await this.updatingHandles.addPromise(this._importModule("GraphicsView3D",e=>M(()=>this.groundView?.ready,e))))?.default;e&&this._set("graphicsView",new e({view:this,getGraphics:()=>this.graphics})),this._updatingChanged()}_disposeGraphicsView(){this._abortImport("GraphicsView3D"),this.removeHandles("GraphicsView3D"),this.graphicsView&&(this.removeHandles(this.graphicsView.processor.layer.id),this.graphicsView.destroy(),this._set("graphicsView",null))}_disposeFocusAreasView(){this._abortImport("FocusAreasView"),this.removeHandles("FocusAreasView"),this.focusAreasView=d(this.focusAreasView)}async _ensureFocusAreasView(e){if(this.focusAreasView||this._importControllers.has("FocusAreasView")||0===e)return;this.removeHandles("FocusAreasView");const t=(await this.updatingHandles.addPromise(this._importModule("FocusAreasView")))?.FocusAreasView;t&&(this.focusAreasView=new t({view:this})),this._updatingChanged()}_startup(){1===ye(this.viewingMode)&&(this._clippingArea=null),this._initSurface(),this._set("ready",!0),this.addHandles(w(()=>this.graphics,"after-changes",()=>this._ensureGraphicsView()),"GraphicsView3D"),this._ensureGraphicsView(),this.addHandles(this.updatingHandles.add(()=>this.map?.focusAreas?.areas.length??0,e=>this._ensureFocusAreasView(e),{initial:!0}),"FocusAreasView");const e=this.scene?.initialViewProperties??null,t=e?.environment;t&&(this._overrideDefaultEnvironmentOnly?P(this.environment,t):this.environment=this.environment.cloneWithWebsceneEnvironment(t)),this.timeExtent=e?.timeExtent,e?.analyses.applyTo(this),this.labeler.setup(),this.environmentManager.connectView(this),this.inputManager.connect();const i=this._resolveWhenReady;this._resolveWhenReady=[],i.forEach(e=>e(this))}_teardown(){this._initialDefaultSpatialReference=null,this.inputManager.disconnect(),this.environmentManager.disconnectView(),this._overrideDefaultEnvironmentOnly=!1,this.labeler.dispose(),this._disposeGraphicsView(),this._disposeFocusAreasView(),this._exitSurface(),this._set("ready",!1)}get _defaultToMapOptions(){const e={include:new Set};if(!this.map)return e;this.map.ground&&e.include.add(pt);for(const t of this.allLayerViews)(ne(t.layer)||ae(t.layer))&&e.include.add(t.uid);return e}get _defaultHitTestOptions(){const e={exclude:new Set};if(!this.map)return e;this.map.ground&&this.map.ground.opacity<1&&e.exclude.add(pt);for(const t of this.allLayerViews)ne(t.layer)&&t.layer.opacity<1&&e.exclude.add(t.uid);return e}static{this.type="3d"}static clearStatics(){Mt(),F(),x(),ht(),Ee(),_e(),Re(),Z(),ut(),le(),rt(),lt(),Le(),Ie(),G(),j(),at(),it(),Te.cleanupI3SLodHandling(),oe.cleanupTilemapCache(),Ae.cleanupViewstate(),Ke.cleanupTerrainSurface()}};function Tt(e,t){return null!=e&&N(e.spatialReference,t)?B(e,t):null}e([O()],Ct.prototype,"_userClippingArea",void 0),e([O()],Ct.prototype,"_resourceController",void 0),e([O()],Ct.prototype,"stage",null),e([O({readOnly:!0})],Ct.prototype,"deconflictor",void 0),e([O({readOnly:!0})],Ct.prototype,"labeler",void 0),e([O({type:ge,readOnly:!0})],Ct.prototype,"animation",null),e([O({readOnly:!0})],Ct.prototype,"basemapTerrain",void 0),e([O({readOnly:!0})],Ct.prototype,"overlayManager",null),e([O({readOnly:!0})],Ct.prototype,"elevationProvider",void 0),e([O()],Ct.prototype,"camera",null),e([O({type:t})],Ct.prototype,"contentCamera",null),e([O({readOnly:!0})],Ct.prototype,"canvas",null),e([O({type:k,useTypeForAutocast:!1})],Ct.prototype,"center",null),e([O({type:z})],Ct.prototype,"clippingArea",null),e([O({type:be,nonNullable:!0})],Ct.prototype,"constraints",void 0),e([O({type:z,readOnly:!0})],Ct.prototype,"renderDataExtent",null),e([O({readOnly:!0})],Ct.prototype,"tileInfo",null),e([O({type:z,readOnly:!0})],Ct.prototype,"dataExtent",null),e([O({type:z,readOnly:!0})],Ct.prototype,"_groundAndLayersExtent",null),e([O({type:Me})],Ct.prototype,"environment",null),e([E("environment")],Ct.prototype,"castEnvironment",null),e([O({readOnly:!0})],Ct.prototype,"environmentManager",void 0),e([O({type:z})],Ct.prototype,"extent",null),e([O({type:r})],Ct.prototype,"floors",void 0),e([O()],Ct.prototype,"screenCenter",null),e([O()],Ct.prototype,"frustum",null),e([O({type:Number,readOnly:!0})],Ct.prototype,"fullOpacity",void 0),e([O({readOnly:!0})],Ct.prototype,"graphicsView",void 0),e([O()],Ct.prototype,"analysisViewManager",void 0),e([O()],Ct.prototype,"groundView",void 0),e([O({readOnly:!0})],Ct.prototype,"layerviewCollections",null),e([O({type:Boolean})],Ct.prototype,"initialExtentRequired",null),e([O()],Ct.prototype,"defaultsFromMapSettings",null),e([O()],Ct.prototype,"interacting",null),e([O()],Ct.prototype,"stationary",null),e([O()],Ct.prototype,"navigating",null),e([O()],Ct.prototype,"map",void 0),e([O()],Ct.prototype,"padding",null),e([O({type:Je,readOnly:!0})],Ct.prototype,"pointsOfInterest",void 0),e([O()],Ct.prototype,"_featureTiles",void 0),e([O()],Ct.prototype,"featureTiles",null),e([O()],Ct.prototype,"_featureTreeDebugger",void 0),e([O({constructOnly:!0})],Ct.prototype,"deactivatedWebGLExtensions",void 0),e([O({constructOnly:!0})],Ct.prototype,"debugWebGLExtensions",void 0),e([O({constructOnly:!0})],Ct.prototype,"renderCanvas",void 0),e([O({constructOnly:!0})],Ct.prototype,"state",void 0),e([O()],Ct.prototype,"screenSizePerspective",void 0),e([O({readOnly:!0})],Ct.prototype,"inputManager",void 0),e([O({readOnly:!0})],Ct.prototype,"stateManager",void 0),e([O({type:["low","medium","high"]})],Ct.prototype,"qualityProfile",null),e([O({type:Be,get(){let e=this._get("qualitySettings");if(!e){const t=ke(this.qualityProfile);e=new Be(t)}return e}})],Ct.prototype,"qualitySettings",void 0),e([O()],Ct.prototype,"slice",void 0),e([O({readOnly:!0})],Ct.prototype,"typeSpecificPreconditionsReady",null),e([O({readOnly:!0})],Ct.prototype,"renderCoordsHelper",void 0),e([O({readOnly:!0})],Ct.prototype,"sceneIntersectionHelper",void 0),e([O({type:Number,readOnly:!0})],Ct.prototype,"resolution",null),e([O({type:Number})],Ct.prototype,"scale",null),e([O({readOnly:!0,type:Number})],Ct.prototype,"terrainLevel",null),e([O()],Ct.prototype,"heightModelInfo",null),e([O({type:Q})],Ct.prototype,"spatialReference",void 0),e([O({type:Boolean,value:!1})],Ct.prototype,"alphaCompositingEnabled",null),e([O({constructOnly:!0})],Ct.prototype,"preserveDrawingBufferEnabled",void 0),e([O({type:Boolean})],Ct.prototype,"supersampleScreenshotsEnabled",void 0),e([O({readOnly:!0})],Ct.prototype,"type",void 0),e([O(),E(e=>e instanceof vt?e:I(_t,e))],Ct.prototype,"ui",void 0),e([O({type:Boolean,readOnly:!0})],Ct.prototype,"updating",null),e([O()],Ct.prototype,"_updatingObjects",null),e([O()],Ct.prototype,"_updatingObjectsWithProgress",null),e([O()],Ct.prototype,"_updatingObjectsToDebug",null),e([O({type:Number,readOnly:!0})],Ct.prototype,"updatingProgress",void 0),e([O({type:["global","local"]})],Ct.prototype,"viewingMode",null),e([O({type:i})],Ct.prototype,"viewpoint",null),e([O({readOnly:!0})],Ct.prototype,"visibleArea",null),e([O({type:Number})],Ct.prototype,"zoom",null),e([O({readOnly:!0})],Ct.prototype,"quality",null),e([O({readOnly:!0})],Ct.prototype,"resolutionScale",null),e([O()],Ct.prototype,"focusAreasView",void 0),e([O()],Ct.prototype,"_defaultToMapOptions",null),e([O()],Ct.prototype,"_defaultHitTestOptions",null),Ct=St=e([L("esri.views.SceneView")],Ct);const Rt=U(),xt=R(),At=K(),Ot=te(0,0,0,Q.WebMercator),Et={GraphicsView3D:()=>import("./3d/layers/GraphicsView3D.js"),FocusAreasView:()=>import("./3d/FocusAreasView.js"),FeatureTileTree3D:()=>import("./3d/layers/support/FeatureTileTree3D.js")},Lt=Ct;export{Lt as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{getBasisEncoder as e,destroyBasisEncoder as t}from"../../libs/basisu/BasisUEncoder.js";import{getDXTEncoder as n,destroyDXTEncoder as r}from"../../libs/dxtEncoder/DXTEncoder.js";import{CompressedTextureFormat as
|
|
2
|
+
import{getBasisEncoder as e,destroyBasisEncoder as t}from"../../libs/basisu/BasisUEncoder.js";import{getDXTEncoder as n,destroyDXTEncoder as r}from"../../libs/dxtEncoder/DXTEncoder.js";import{CompressedTextureFormat as l}from"../webgl/enums.js";let a,s,i=null,u=null;class o{constructor(e,t){this.internalFormat=e,this.compressedTexture=t}}function c(){i=null,a=null,u=null,s=null,t(),r()}async function f(e){const t=e.data instanceof ImageBitmap?e.data:null;let n;n=e.data instanceof ImageBitmap?p(e.data):y(e.data,e.width,e.height,e.components,e.needsFlip);try{const t=e.preMultiplyAlpha&&!e.isOpaque;if(e.hasS3TC){u||await h();const r=new Uint8Array(n.length),l=u?.encode(n,e.width,e.height,t,r)??0;if(l){const e=r.slice(0,l),t=U(e,!0),n=[e.buffer];return{result:new o(t?.internalFormat??null,t?.textureData??null),transferList:n}}return{result:new o(null,null)}}if(e.hasETC){if(i||await d(),t&&!u&&await h(),t){const t=new Uint8ClampedArray(n.length);u?.premultiply(new Uint8Array(n),e.width,e.height,t),n=t}const r=m(n,e.width,e.height,e.hasMipmap,void 0,void 0,!1,!1,e.isOpaque),l=r?w(r):null,a=l?.compressedTexture?.levels.map(e=>e.buffer)||[];return{result:new o(l?.internalFormat??null,l?.compressedTexture??null),transferList:a}}return{result:new o(null,null)}}finally{t?.close()}}async function d(){i||(i=await(a??=e()),a=null)}async function h(){u||(u=await(s??=n()),s=null)}function m(e,t,n,r,l=255,a=0,s=!1,u=!1,o=!1){if(!i)return null;const c=new i.BasisEncoder;c.setPerceptual(!u),c.setCheckForAlpha(!o),c.setForceAlpha(!1),c.setRenormalize(u),c.setMipGen(r),c.setMipSRGB(!u),c.setCreateKTX2File(!0),c.setKTX2AndBasisSRGBTransferFunc(!u),c.setQualityLevel(l),c.setETC1SCompressionLevel(a);const f=new Uint8Array(e.byteLength);try{c.setSliceSourceImage(0,new Uint8Array(e),t,n,s);const r=c.encode(f);if(!r)return null;const l=new Uint8Array(f.buffer,0,r),a=new i.KTX2File(new Uint8Array(l));try{if(!a.isValid())return null}finally{a.close(),a.delete()}return l}finally{c.delete()}}function w(e){if(!i)return new o(null,null);const t=new i.KTX2File(new Uint8Array(e));try{if(!t.startTranscoding())return new o(null,null);const[e,n]=t.getHasAlpha()?[1,l.COMPRESSED_RGBA8_ETC2_EAC]:[0,l.COMPRESSED_RGB8_ETC2],r=t.getLevels(),a=[];for(let l=0;l<r;l++){const n=new Uint8Array(t.getImageTranscodedSizeInBytes(l,0,0,e));if(!t.transcodeImage(n,l,0,0,e,0,-1,-1))return new o(null,null);a.push(n)}return{internalFormat:n,compressedTexture:{type:"compressed",levels:a}}}finally{t.close(),t.delete()}}function p(e){const t=new OffscreenCanvas(e.width,e.height),n=t.getContext("2d");n.drawImage(e,0,0);return n.getImageData(0,0,t.width,t.height).data}function y(e,t,n,r,l){const a=new Uint8ClampedArray(e).subarray(0,t*n*r);if(!l)return a;const s=new Uint8ClampedArray(a.length),i=t*r;for(let u=0;u<n;u++){const e=u*i,t=(n-u-1)*i;s.set(a.subarray(e,e+i),t)}return s}const T=31,A=1,C=2,g=3,E=4,S=7,b=21,_=131072;function D(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}const X=D("DXT1"),B=D("DXT3"),R=D("DXT5");function U(e,t){const n=new Int32Array(e.buffer,e.byteOffset,T);let r,a;switch(n[b]){case X:r=8,a=l.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case B:r=16,a=l.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case R:r=16,a=l.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}let s=1,i=n[E],u=n[g];(3&i||3&u)&&(i=i+3&-4,u=u+3&-4);const o=i,c=u;let f,d;n[C]&_&&!1!==t&&(s=Math.max(1,n[S]));let h=e.byteOffset+n[A]+4;const m=[];for(let l=0;l<s;++l)d=(i+3>>2)*(u+3>>2)*r,f=new Uint8Array(e.buffer,h,d),m.push(f),h+=d,i=Math.max(1,i>>1),u=Math.max(1,u>>1);return{textureData:{type:"compressed",levels:m},internalFormat:a,width:o,height:c}}export{o as TextureCompressionWorkerOutput,f as compress,m as compressRGBADataToKTX2,w as createTextureDataKTX2,c as destroy,d as initializeBasisEncoder,h as initializeDXTEncoder};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import{isPowerOfTwo as e}from"../../core/mathUtils.js";import{WorkerHandle as t}from"../../core/workers/WorkerHandle.js";function r(t,r){let s=r.width,o=r.height;
|
|
2
|
+
import{isPowerOfTwo as e}from"../../core/mathUtils.js";import{WorkerHandle as t}from"../../core/workers/WorkerHandle.js";function r(t,r){let s=r.width,o=r.height;(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof ImageBitmap)&&(s=t.width,o=t.height);const n=t instanceof HTMLImageElement||t instanceof HTMLCanvasElement||t instanceof ImageBitmap,a=t instanceof Uint8Array,i=n||a,m=6408===r.pixelFormat||6407===r.pixelFormat,c=6408===r.pixelFormat||!a;return i&&m&&c&&e(s)&&e(o)&&s>=16&&o>=16}class s extends t{constructor(e){super("TextureCompressionWorker","compress",{compress:e=>[e.data]},e)}async destroyWorkerAndSelf(){await this.broadcast({},"destroy"),this.destroy()}isCompressible(e,t){return r(e,t)}}export{s as TextureCompressionWorkerHandle,r as isCompressible};
|
package/views/webgl/Texture.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
-
import t from"../../core/Error.js";import has from"../../core/has.js";import e from"../../core/Logger.js";import{abortMaybe as i}from"../../core/maybe.js";import{hasValue as r}from"../../core/object.js";import{throwIfAborted as s,isAbortError as o}from"../../core/promiseUtils.js";import{checkWebGLError as a}from"./checkWebGLError.js";import{ResourceType as n,CompressedTextureFormat as p}from"./enums.js";import{estimateMemory as l}from"./TextureDescriptor.js";import{isCompressedData as m,deriveInternalFormat as h,isTexImageSource as d,is3DTarget as c,validateTexture as _,isCompressedFormat as u,getDimensions as g,isSizedPixelFormat as x,calcMipmapLevels as T}from"./textureUtils.js";import{ValidatedTextureDescriptor as M}from"./ValidatedTextureDescriptor.js";const b=!!has("esri-tests-disable-gpu-memory-measurements"),f=()=>e.getLogger("esri/views/webgl/Texture");class w{static{this.TEXTURE_UNIT_FOR_UPDATES=0}static{this.compressionWorkerHandle=null}constructor(e,i=null,r=null){if(this.type=1,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._shadowFilterDirty=!1,this._wasImmutablyAllocated=!1,"context"in e)this._descriptor=e,r=i;else{const r=M.validate(e,i);if(!r)throw new t("texture:invalid-descriptor","Texture descriptor invalid");this._descriptor=r}34067===this._descriptor.target?this._setDataCubeMap(r):this.setData(r)}get glName(){return this._glName}get descriptor(){return this._descriptor}get usedMemory(){return b?0:l(this._descriptor)}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty||this._shadowFilterDirty}get hasWebGLTextureObject(){return!!this._glName}dispose(){this.abortCompression(),this.hasWebGLTextureObject&&this._descriptor.context?.gl&&(this._descriptor.context.instanceCounter.decrement(n.Texture,this),this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null)}release(){this.dispose()}[Symbol.dispose](){this.dispose()}resize(e,i){const r=this._descriptor;if(r.width!==e||r.height!==i){if(this._wasImmutablyAllocated)throw new t("texture:immutable-resize","Immutable textures can't be resized!");r.width=e,r.height=i,34067===this._descriptor.target?this._setDataCubeMap(null):this.setData(null)}}enableCompression(t){this._descriptor.compress=t}disableCompression(){this._descriptor.compress=void 0}setData(t){this.abortCompression(),!m(t)&&this._descriptor.internalFormat&&r(p,this._descriptor.internalFormat)&&(this._descriptor.internalFormat=void 0),this._setData(t),!m(t)&&this._descriptor.compress&&this._compressOnWorker(t)}updateData(e,i,r,s,o,a,n=0){a||f().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||f().error("An attempt to update uninitialized texture!");const p=this._descriptor;p.internalFormat=h(p);const{context:l,pixelFormat:c,dataType:_,target:u,isImmutable:g}=p;if(g&&!this._wasImmutablyAllocated)throw new t("texture:uninitialized","Cannot update immutable texture before allocation!");const x=l.bindTexture(this,w.TEXTURE_UNIT_FOR_UPDATES,!0);(i<0||r<0||i+s>p.width||r+o>p.height)&&f().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:T}=l;n&&(s&&o||f().warn("Must pass width and height if `UNPACK_SKIP_ROWS` is used"),T.pixelStorei(T.UNPACK_SKIP_ROWS,n)),d(a)?T.texSubImage2D(u,e,i,r,s,o,c,_,a):m(a)?T.compressedTexSubImage2D(u,e,i,r,s,o,p.internalFormat,a.levels[e]):T.texSubImage2D(u,e,i,r,s,o,c,_,a),n&&T.pixelStorei(T.UNPACK_SKIP_ROWS,0),l.bindTexture(x,w.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(e,i,r,s,o,a,n,p){p||f().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||f().error("An attempt to update an uninitialized texture!");const l=this._descriptor;l.internalFormat=h(l);const{context:d,pixelFormat:_,dataType:u,isImmutable:g,target:x}=l;if(g&&!this._wasImmutablyAllocated)throw new t("texture:uninitialized","Cannot update immutable texture before allocation!");c(x)||f().warn("Attempting to set 3D texture data on a non-3D texture");const T=d.bindTexture(this,w.TEXTURE_UNIT_FOR_UPDATES);d.setActiveTexture(w.TEXTURE_UNIT_FOR_UPDATES),(i<0||r<0||s<0||i+o>l.width||r+a>l.height||s+n>l.depth)&&f().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:M}=d;if(m(p))p=p.levels[e],M.compressedTexSubImage3D(x,e,i,r,s,o,a,n,l.internalFormat,p);else{const t=p;M.texSubImage3D(x,e,i,r,s,o,a,n,_,u,t)}d.bindTexture(T,w.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const e=this._descriptor;if(0===e.width||0===e.height)return;if(!e.hasMipmap){if(this._wasImmutablyAllocated)throw new t("texture:immutable-change","Cannot add mipmaps to immutable texture after allocation");e.hasMipmap=!0,this._samplingModeDirty=!0,_(e)}9729===e.samplingMode?(this._samplingModeDirty=!0,e.samplingMode=9985):9728===e.samplingMode&&(this._samplingModeDirty=!0,e.samplingMode=9984);const i=this._descriptor.context.bindTexture(this,w.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(w.TEXTURE_UNIT_FOR_UPDATES),this._descriptor.context.gl.generateMipmap(e.target),this._descriptor.context.bindTexture(i,w.TEXTURE_UNIT_FOR_UPDATES)}clearMipmap(){const e=this._descriptor;if(e.hasMipmap){if(this._wasImmutablyAllocated)throw new t("texture:immutable-change","Cannot delete mipmaps to immutable texture after allocation");e.hasMipmap=!1,this._samplingModeDirty=!0,_(e)}9985===e.samplingMode?(this._samplingModeDirty=!0,e.samplingMode=9729):9984===e.samplingMode&&(this._samplingModeDirty=!0,e.samplingMode=9728)}setSamplingMode(t){t!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=t,this._samplingModeDirty=!0)}setWrapMode(t){t!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=t,_(this._descriptor),this._wrapModeDirty=!0)}setShadowFiltering(t){t!==this._descriptor.linearFilterDepth&&(this._descriptor.linearFilterDepth=this._descriptor.compareEnabled=t,this.setSamplingMode(t?9729:9728),_(this._descriptor),this._shadowFilterDirty=!0)}applyChanges(){this._samplingModeDirty&&(this._applySamplingMode(),this._samplingModeDirty=!1),this._wrapModeDirty&&(this._applyWrapMode(),this._wrapModeDirty=!1),this._shadowFilterDirty&&(this._applyShadowMode(),this._shadowFilterDirty=!1)}abortCompression(){this._compressionAbortController=i(this._compressionAbortController)}_setData(e,i){const r=this._descriptor,s=r.context?.gl;if(!s)return;a(s),this.hasWebGLTextureObject||(this._glName=s.createTexture(),r.context.instanceCounter.increment(n.Texture,this)),_(r);const o=r.context.bindTexture(this,w.TEXTURE_UNIT_FOR_UPDATES);r.context.setActiveTexture(w.TEXTURE_UNIT_FOR_UPDATES),this._configurePixelStorage(),a(s);const p=i??r.target,l=c(p);if(d(e))this._setDataFromTexImageSource(e,p);else{const{width:i,height:o,depth:n}=r;if(null==i||null==o)throw new t("texture:missing-size","Width and height must be specified!");if(l&&null==n)throw new t("texture:missing-depth","Depth must be specified!");if(r.internalFormat=h(r),r.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(p,r.internalFormat,r.hasMipmap,i,o,n),m(e)){if(!u(r.internalFormat))throw new t("texture:format-mismatch","Attempting to use compressed data with an uncompressed format!");this._setDataFromCompressedSource(e,r.internalFormat,p)}else this._texImage(p,0,r.internalFormat,i,o,n,e),a(s),r.hasMipmap&&this.generateMipmap()}this._applySamplingMode(),this._applyWrapMode(),this._applyAnisotropicFilteringParameters(),this._applyShadowMode(),a(s),r.context.bindTexture(o,w.TEXTURE_UNIT_FOR_UPDATES)}_setDataCubeMap(t=null){for(let e=34069;e<=34074;e++)this._setData(t,e)}_configurePixelStorage(){const t=this._descriptor.context.gl,{unpackAlignment:e,flipped:i,preMultiplyAlpha:r}=this._descriptor;t.pixelStorei(t.UNPACK_ALIGNMENT,e),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i?1:0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r?1:0)}_setDataFromTexImageSource(t,e){const{gl:i}=this._descriptor.context,r=this._descriptor;r.internalFormat=h(r);const s=c(e),{width:o,height:n,depth:p}=g(t);r.width&&r.height,r.width||(r.width=o),r.height||(r.height=n),s&&r.depth,s&&(r.depth=p),r.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(e,r.internalFormat,r.hasMipmap,o,n,p),this._texImage(e,0,r.internalFormat,o,n,p,t),a(i),r.hasMipmap&&(this.generateMipmap(),a(i))}_setDataFromCompressedSource(t,e,i){const r=this._descriptor,{width:s,height:o,depth:a}=r,n=t.levels,p=T(i,s,o,a),l=Math.min(p,n.length)-1;this._descriptor.context.gl.texParameteri(r.target,33085,l),this._forEachMipmapLevel((t,r,s,o)=>{const a=n[Math.min(t,n.length-1)];this._compressedTexImage(i,t,e,r,s,o,a)},l)}_texStorage(e,i,r,s,o,a){const{gl:n}=this._descriptor.context;if(!x(i)&&!u(i))throw new t("texture:missing-format","Immutable textures must have a sized or compressed internal format");if(!this._descriptor.isImmutable)return;const p=r?T(e,s,o,a):1;if(c(e)){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");n.texStorage3D(e,p,i,s,o,a)}else n.texStorage2D(e,p,i,s,o);this._wasImmutablyAllocated=!0}_texImage(e,i,r,s,o,a,n){const p=this._descriptor.context.gl,l=c(e),{isImmutable:m,pixelFormat:h,dataType:d}=this._descriptor;if(m){if(null!=n){const r=n;if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.texSubImage3D(e,i,0,0,0,s,o,a,h,d,r)}else p.texSubImage2D(e,i,0,0,s,o,h,d,r)}}else{const m=n;if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.texImage3D(e,i,r,s,o,a,0,h,d,m)}else p.texImage2D(e,i,r,s,o,0,h,d,m)}}_compressedTexImage(e,i,r,s,o,a,n){const p=this._descriptor.context.gl,l=c(e);if(this._descriptor.isImmutable){if(null!=n)if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.compressedTexSubImage3D(e,i,0,0,0,s,o,a,r,n)}else p.compressedTexSubImage2D(e,i,0,0,s,o,r,n)}else if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.compressedTexImage3D(e,i,r,s,o,a,0,n)}else p.compressedTexImage2D(e,i,r,s,o,0,n)}async _compressOnWorker(t){const{width:e,height:i,context:r,flipped:a,preMultiplyAlpha:n,hasMipmap:p,compress:l}=this._descriptor;if(!l)return;const{compressionTracker:m,compressionCallback:h,preserveSourceBitmap:d}=l,{compressedTextureETC:c,compressedTextureS3TC:_}=r.capabilities;if(!w.compressionWorkerHandle?.isCompressible(t,this._descriptor)||!c&&!_)return;this.abortCompression();const u=new AbortController;let g;this._compressionAbortController=u,m?.increment();let x=!1,T=!1;try{t instanceof ImageBitmap?d?(g=await createImageBitmap(t),s(u),T=!0):g=t:t instanceof Uint8Array?(g=t.buffer,x=this.descriptor.flipped):(g=await createImageBitmap(t,{imageOrientation:a?"flipY":"none"}),s(u),T=!0);const r={data:g,width:e,height:i,needsFlip:x,components:6408===this._descriptor.pixelFormat?4:3,preMultiplyAlpha:n,hasMipmap:p,hasETC:!!c,hasS3TC:!!_},o=await w.compressionWorkerHandle.invoke(r,u.signal,1);if(s(u),o.compressedTexture&&this.hasWebGLTextureObject){const t=this.usedMemory;this._descriptor.internalFormat=o.internalFormat,this._setData(o.compressedTexture),h?.(t-this.usedMemory)}}catch(M){o(M)||f().error("Texture compression failed!")}finally{m?.decrement(),this._compressionAbortController?.signal.aborted&&(this._compressionAbortController=null),T&&g instanceof ImageBitmap&&g.close()}}_forEachMipmapLevel(e,i=1/0){let{width:r,height:s,depth:o,hasMipmap:a,target:n}=this._descriptor;const p=32879===n;if(null==r||null==s||p&&null==o)throw new t("texture:missing-size","Missing texture dimensions for mipmap calculation");for(let t=0;e(t,r,s,o),a&&(1!==r||1!==s||p&&1!==o)&&!(t>=i);++t)r=Math.max(1,r>>1),s=Math.max(1,s>>1),p&&(o=Math.max(1,o>>1))}_applySamplingMode(){const t=this._descriptor,e=t.context?.gl;let i=t.samplingMode,r=t.samplingMode;9985===i||9987===i?(i=9729,t.hasMipmap||(r=9729)):9984!==i&&9986!==i||(i=9728,t.hasMipmap||(r=9728)),e.texParameteri(t.target,e.TEXTURE_MAG_FILTER,i),e.texParameteri(t.target,e.TEXTURE_MIN_FILTER,r)}_applyWrapMode(){const t=this._descriptor,e=t.context?.gl;"number"==typeof t.wrapMode?(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode)):(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode.s),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode.t))}_applyShadowMode(){const t=this._descriptor,e=t.context?.gl,i=t.compareEnabled?e.COMPARE_REF_TO_TEXTURE:e.NONE;e.texParameteri(t.target,e.TEXTURE_COMPARE_MODE,i),t.compareEnabled&&e.texParameteri(t.target,e.TEXTURE_COMPARE_FUNC,e.GREATER),a(e)}_applyAnisotropicFilteringParameters(){const t=this._descriptor,e=t.context.capabilities.textureFilterAnisotropic;if(!e)return;t.context.gl.texParameterf(t.target,e.TEXTURE_MAX_ANISOTROPY,t.maxAnisotropy??1)}}export{w as default};
|
|
2
|
+
import t from"../../core/Error.js";import has from"../../core/has.js";import e from"../../core/Logger.js";import{abortMaybe as i}from"../../core/maybe.js";import{hasValue as r}from"../../core/object.js";import{throwIfAborted as s,isAbortError as o}from"../../core/promiseUtils.js";import{checkWebGLError as a}from"./checkWebGLError.js";import{ResourceType as n,CompressedTextureFormat as p}from"./enums.js";import{estimateMemory as l}from"./TextureDescriptor.js";import{isCompressedData as m,deriveInternalFormat as h,isTexImageSource as d,is3DTarget as c,validateTexture as _,isCompressedFormat as u,getDimensions as g,isSizedPixelFormat as x,calcMipmapLevels as T}from"./textureUtils.js";import{ValidatedTextureDescriptor as M}from"./ValidatedTextureDescriptor.js";const b=!!has("esri-tests-disable-gpu-memory-measurements"),f=()=>e.getLogger("esri/views/webgl/Texture");class w{static{this.TEXTURE_UNIT_FOR_UPDATES=0}static{this.compressionWorkerHandle=null}constructor(e,i=null,r=null){if(this.type=1,this._glName=null,this._samplingModeDirty=!1,this._wrapModeDirty=!1,this._shadowFilterDirty=!1,this._wasImmutablyAllocated=!1,"context"in e)this._descriptor=e,r=i;else{const r=M.validate(e,i);if(!r)throw new t("texture:invalid-descriptor","Texture descriptor invalid");this._descriptor=r}34067===this._descriptor.target?this._setDataCubeMap(r):this.setData(r)}get glName(){return this._glName}get descriptor(){return this._descriptor}get usedMemory(){return b?0:l(this._descriptor)}get isDirty(){return this._samplingModeDirty||this._wrapModeDirty||this._shadowFilterDirty}get hasWebGLTextureObject(){return!!this._glName}dispose(){this.abortCompression(),this.hasWebGLTextureObject&&this._descriptor.context?.gl&&(this._descriptor.context.instanceCounter.decrement(n.Texture,this),this._descriptor.context.unbindTexture(this),this._descriptor.context.gl.deleteTexture(this._glName),this._glName=null)}release(){this.dispose()}[Symbol.dispose](){this.dispose()}resize(e,i){const r=this._descriptor;if(r.width!==e||r.height!==i){if(this._wasImmutablyAllocated)throw new t("texture:immutable-resize","Immutable textures can't be resized!");r.width=e,r.height=i,34067===this._descriptor.target?this._setDataCubeMap(null):this.setData(null)}}enableCompression(t){this._descriptor.compress=t}disableCompression(){this._descriptor.compress=void 0}setData(t){this.abortCompression(),!m(t)&&this._descriptor.internalFormat&&r(p,this._descriptor.internalFormat)&&(this._descriptor.internalFormat=void 0),this._setData(t),!m(t)&&this._descriptor.compress&&this._compressOnWorker(t)}updateData(e,i,r,s,o,a,n=0){a||f().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||f().error("An attempt to update uninitialized texture!");const p=this._descriptor;p.internalFormat=h(p);const{context:l,pixelFormat:c,dataType:_,target:u,isImmutable:g}=p;if(g&&!this._wasImmutablyAllocated)throw new t("texture:uninitialized","Cannot update immutable texture before allocation!");const x=l.bindTexture(this,w.TEXTURE_UNIT_FOR_UPDATES,!0);(i<0||r<0||i+s>p.width||r+o>p.height)&&f().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:T}=l;n&&(s&&o||f().warn("Must pass width and height if `UNPACK_SKIP_ROWS` is used"),T.pixelStorei(T.UNPACK_SKIP_ROWS,n)),d(a)?T.texSubImage2D(u,e,i,r,s,o,c,_,a):m(a)?T.compressedTexSubImage2D(u,e,i,r,s,o,p.internalFormat,a.levels[e]):T.texSubImage2D(u,e,i,r,s,o,c,_,a),n&&T.pixelStorei(T.UNPACK_SKIP_ROWS,0),l.bindTexture(x,w.TEXTURE_UNIT_FOR_UPDATES)}updateData3D(e,i,r,s,o,a,n,p){p||f().error("An attempt to use uninitialized data!"),this.hasWebGLTextureObject||f().error("An attempt to update an uninitialized texture!");const l=this._descriptor;l.internalFormat=h(l);const{context:d,pixelFormat:_,dataType:u,isImmutable:g,target:x}=l;if(g&&!this._wasImmutablyAllocated)throw new t("texture:uninitialized","Cannot update immutable texture before allocation!");c(x)||f().warn("Attempting to set 3D texture data on a non-3D texture");const T=d.bindTexture(this,w.TEXTURE_UNIT_FOR_UPDATES);d.setActiveTexture(w.TEXTURE_UNIT_FOR_UPDATES),(i<0||r<0||s<0||i+o>l.width||r+a>l.height||s+n>l.depth)&&f().error("An attempt to update out of bounds of the texture!"),this._configurePixelStorage();const{gl:M}=d;if(m(p))p=p.levels[e],M.compressedTexSubImage3D(x,e,i,r,s,o,a,n,l.internalFormat,p);else{const t=p;M.texSubImage3D(x,e,i,r,s,o,a,n,_,u,t)}d.bindTexture(T,w.TEXTURE_UNIT_FOR_UPDATES)}generateMipmap(){const e=this._descriptor;if(0===e.width||0===e.height)return;if(!e.hasMipmap){if(this._wasImmutablyAllocated)throw new t("texture:immutable-change","Cannot add mipmaps to immutable texture after allocation");e.hasMipmap=!0,this._samplingModeDirty=!0,_(e)}9729===e.samplingMode?(this._samplingModeDirty=!0,e.samplingMode=9985):9728===e.samplingMode&&(this._samplingModeDirty=!0,e.samplingMode=9984);const i=this._descriptor.context.bindTexture(this,w.TEXTURE_UNIT_FOR_UPDATES);this._descriptor.context.setActiveTexture(w.TEXTURE_UNIT_FOR_UPDATES),this._descriptor.context.gl.generateMipmap(e.target),this._descriptor.context.bindTexture(i,w.TEXTURE_UNIT_FOR_UPDATES)}clearMipmap(){const e=this._descriptor;if(e.hasMipmap){if(this._wasImmutablyAllocated)throw new t("texture:immutable-change","Cannot delete mipmaps to immutable texture after allocation");e.hasMipmap=!1,this._samplingModeDirty=!0,_(e)}9985===e.samplingMode?(this._samplingModeDirty=!0,e.samplingMode=9729):9984===e.samplingMode&&(this._samplingModeDirty=!0,e.samplingMode=9728)}setSamplingMode(t){t!==this._descriptor.samplingMode&&(this._descriptor.samplingMode=t,this._samplingModeDirty=!0)}setWrapMode(t){t!==this._descriptor.wrapMode&&(this._descriptor.wrapMode=t,_(this._descriptor),this._wrapModeDirty=!0)}setShadowFiltering(t){t!==this._descriptor.linearFilterDepth&&(this._descriptor.linearFilterDepth=this._descriptor.compareEnabled=t,this.setSamplingMode(t?9729:9728),_(this._descriptor),this._shadowFilterDirty=!0)}applyChanges(){this._samplingModeDirty&&(this._applySamplingMode(),this._samplingModeDirty=!1),this._wrapModeDirty&&(this._applyWrapMode(),this._wrapModeDirty=!1),this._shadowFilterDirty&&(this._applyShadowMode(),this._shadowFilterDirty=!1)}abortCompression(){this._compressionAbortController=i(this._compressionAbortController)}_setData(e,i){const r=this._descriptor,s=r.context?.gl;if(!s)return;a(s),this.hasWebGLTextureObject||(this._glName=s.createTexture(),r.context.instanceCounter.increment(n.Texture,this)),_(r);const o=r.context.bindTexture(this,w.TEXTURE_UNIT_FOR_UPDATES);r.context.setActiveTexture(w.TEXTURE_UNIT_FOR_UPDATES),this._configurePixelStorage(),a(s);const p=i??r.target,l=c(p);if(d(e))this._setDataFromTexImageSource(e,p);else{const{width:i,height:o,depth:n}=r;if(null==i||null==o)throw new t("texture:missing-size","Width and height must be specified!");if(l&&null==n)throw new t("texture:missing-depth","Depth must be specified!");if(r.internalFormat=h(r),r.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(p,r.internalFormat,r.hasMipmap,i,o,n),m(e)){if(!u(r.internalFormat))throw new t("texture:format-mismatch","Attempting to use compressed data with an uncompressed format!");this._setDataFromCompressedSource(e,r.internalFormat,p)}else this._texImage(p,0,r.internalFormat,i,o,n,e),a(s),r.hasMipmap&&this.generateMipmap()}this._applySamplingMode(),this._applyWrapMode(),this._applyAnisotropicFilteringParameters(),this._applyShadowMode(),a(s),r.context.bindTexture(o,w.TEXTURE_UNIT_FOR_UPDATES)}_setDataCubeMap(t=null){for(let e=34069;e<=34074;e++)this._setData(t,e)}_configurePixelStorage(){const t=this._descriptor.context.gl,{unpackAlignment:e,flipped:i,preMultiplyAlpha:r}=this._descriptor;t.pixelStorei(t.UNPACK_ALIGNMENT,e),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,i?1:0),t.pixelStorei(t.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r?1:0)}_setDataFromTexImageSource(t,e){const{gl:i}=this._descriptor.context,r=this._descriptor;r.internalFormat=h(r);const s=c(e),{width:o,height:n,depth:p}=g(t);r.width&&r.height,r.width||(r.width=o),r.height||(r.height=n),s&&r.depth,s&&(r.depth=p),r.isImmutable&&!this._wasImmutablyAllocated&&this._texStorage(e,r.internalFormat,r.hasMipmap,o,n,p),this._texImage(e,0,r.internalFormat,o,n,p,t),a(i),r.hasMipmap&&(this.generateMipmap(),a(i))}_setDataFromCompressedSource(t,e,i){const r=this._descriptor,{width:s,height:o,depth:a}=r,n=t.levels,p=T(i,s,o,a),l=Math.min(p,n.length)-1;this._descriptor.context.gl.texParameteri(r.target,33085,l),this._forEachMipmapLevel((t,r,s,o)=>{const a=n[Math.min(t,n.length-1)];this._compressedTexImage(i,t,e,r,s,o,a)},l)}_texStorage(e,i,r,s,o,a){const{gl:n}=this._descriptor.context;if(!x(i)&&!u(i))throw new t("texture:missing-format","Immutable textures must have a sized or compressed internal format");if(!this._descriptor.isImmutable)return;const p=r?T(e,s,o,a):1;if(c(e)){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");n.texStorage3D(e,p,i,s,o,a)}else n.texStorage2D(e,p,i,s,o);this._wasImmutablyAllocated=!0}_texImage(e,i,r,s,o,a,n){const p=this._descriptor.context.gl,l=c(e),{isImmutable:m,pixelFormat:h,dataType:d}=this._descriptor;if(m){if(null!=n){const r=n;if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.texSubImage3D(e,i,0,0,0,s,o,a,h,d,r)}else p.texSubImage2D(e,i,0,0,s,o,h,d,r)}}else{const m=n;if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.texImage3D(e,i,r,s,o,a,0,h,d,m)}else p.texImage2D(e,i,r,s,o,0,h,d,m)}}_compressedTexImage(e,i,r,s,o,a,n){const p=this._descriptor.context.gl,l=c(e);if(this._descriptor.isImmutable){if(null!=n)if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.compressedTexSubImage3D(e,i,0,0,0,s,o,a,r,n)}else p.compressedTexSubImage2D(e,i,0,0,s,o,r,n)}else if(l){if(null==a)throw new t("texture:missing-depth","Missing depth dimension for 3D texture upload");p.compressedTexImage3D(e,i,r,s,o,a,0,n)}else p.compressedTexImage2D(e,i,r,s,o,0,n)}async _compressOnWorker(t){const{width:e,height:i,context:r,flipped:a,preMultiplyAlpha:n,hasMipmap:p,compress:l}=this._descriptor;if(!l)return;const{compressionTracker:m,compressionCallback:h,preserveSourceBitmap:d}=l,{compressedTextureETC:c,compressedTextureS3TC:_}=r.capabilities;if(!w.compressionWorkerHandle?.isCompressible(t,this._descriptor)||!c&&!_)return;this.abortCompression();const u=new AbortController;let g;this._compressionAbortController=u,m?.increment();let x=!1,T=!1;try{t instanceof ImageBitmap?d?(g=await createImageBitmap(t),s(u),T=!0):g=t:t instanceof Uint8Array?(g=t.buffer,x=this.descriptor.flipped):(g=await createImageBitmap(t,{imageOrientation:a?"flipY":"none"}),s(u),T=!0);const r={data:g,width:e,height:i,needsFlip:x,components:6408===this._descriptor.pixelFormat?4:3,preMultiplyAlpha:n,isOpaque:this._descriptor.isOpaque,hasMipmap:p,hasETC:!!c,hasS3TC:!!_},o=await w.compressionWorkerHandle.invoke(r,u.signal,1);if(s(u),o.compressedTexture&&this.hasWebGLTextureObject){const t=this.usedMemory;this._descriptor.internalFormat=o.internalFormat,this._setData(o.compressedTexture),h?.(t-this.usedMemory)}}catch(M){o(M)||f().error("Texture compression failed!")}finally{m?.decrement(),this._compressionAbortController?.signal.aborted&&(this._compressionAbortController=null),T&&g instanceof ImageBitmap&&g.close()}}_forEachMipmapLevel(e,i=1/0){let{width:r,height:s,depth:o,hasMipmap:a,target:n}=this._descriptor;const p=32879===n;if(null==r||null==s||p&&null==o)throw new t("texture:missing-size","Missing texture dimensions for mipmap calculation");for(let t=0;e(t,r,s,o),a&&(1!==r||1!==s||p&&1!==o)&&!(t>=i);++t)r=Math.max(1,r>>1),s=Math.max(1,s>>1),p&&(o=Math.max(1,o>>1))}_applySamplingMode(){const t=this._descriptor,e=t.context?.gl;let i=t.samplingMode,r=t.samplingMode;9985===i||9987===i?(i=9729,t.hasMipmap||(r=9729)):9984!==i&&9986!==i||(i=9728,t.hasMipmap||(r=9728)),e.texParameteri(t.target,e.TEXTURE_MAG_FILTER,i),e.texParameteri(t.target,e.TEXTURE_MIN_FILTER,r)}_applyWrapMode(){const t=this._descriptor,e=t.context?.gl;"number"==typeof t.wrapMode?(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode)):(e.texParameteri(t.target,e.TEXTURE_WRAP_S,t.wrapMode.s),e.texParameteri(t.target,e.TEXTURE_WRAP_T,t.wrapMode.t))}_applyShadowMode(){const t=this._descriptor,e=t.context?.gl,i=t.compareEnabled?e.COMPARE_REF_TO_TEXTURE:e.NONE;e.texParameteri(t.target,e.TEXTURE_COMPARE_MODE,i),t.compareEnabled&&e.texParameteri(t.target,e.TEXTURE_COMPARE_FUNC,e.GREATER),a(e)}_applyAnisotropicFilteringParameters(){const t=this._descriptor,e=t.context.capabilities.textureFilterAnisotropic;if(!e)return;t.context.gl.texParameterf(t.target,e.TEXTURE_MAX_ANISOTROPY,t.maxAnisotropy??1)}}export{w as default};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[6366],{73354(t,e,r){r.d(e,{a:()=>i,b:()=>a,c:()=>o,d:()=>s,e:()=>d,f:()=>l,l:()=>c,n:()=>m,t:()=>f}),r(44208);var n=r(72727);function o(t,e,r){i(t.typedBuffer,e.typedBuffer,r,t.typedBufferStride,e.typedBufferStride)}function i(t,e,r,o=3,i=o){const s=(0,n.k)(t.length,o,3),a=(0,n.k)(e.length,i,3),u=Math.min(s,a),c=r[0],l=r[1],f=r[2],d=r[4],m=r[5],v=r[6],h=r[8],p=r[9],g=r[10],y=r[12],x=r[13],_=r[14];let b=0,M=0;for(let r=0;r<u;r++){const r=e[b],n=e[b+1],s=e[b+2];t[M]=c*r+d*n+h*s+y,t[M+1]=l*r+m*n+p*s+x,t[M+2]=f*r+v*n+g*s+_,b+=i,M+=o}return t}function s(t,e,r){a(t.typedBuffer,e.typedBuffer,r,t.typedBufferStride,e.typedBufferStride)}function a(t,e,r,o=3,i=o){const s=(0,n.k)(t.length,o,3),a=(0,n.k)(e.length,i,3),u=Math.min(s,a),c=r[0],l=r[1],f=r[2],d=r[3],m=r[4],v=r[5],h=r[6],p=r[7],g=r[8];let y=0,x=0;for(let r=0;r<u;r++){const r=e[y],n=e[y+1],s=e[y+2];t[x]=c*r+d*n+h*s,t[x+1]=l*r+m*n+p*s,t[x+2]=f*r+v*n+g*s,y+=i,x+=o}}function u(t,e,r,n=3,o=n){const i=Math.min(t.length/n,e.length/o);let s=0,a=0;for(let u=0;u<i;u++)t[a]=r*e[s],t[a+1]=r*e[s+1],t[a+2]=r*e[s+2],s+=o,a+=n;return t}function c(t,e,r,n){l(t.typedBuffer,e.typedBuffer,r,n,t.typedBufferStride,e.typedBufferStride)}function l(t,e,r,n,o=3,i=o){const s=Math.min(t.length/o,e.length/i);let a=0,u=0;const c=1/2.2;for(let l=0;l<s;l++)t[u]=n*(r*e[a])**c,t[u+1]=n*(r*e[a+1])**c,t[u+2]=n*(r*e[a+2])**c,a+=i,u+=o}function f(t,e,r,o=3,i=o){const s=(0,n.k)(t.length,o,3),a=(0,n.k)(e.length,i,3),u=Math.min(s,a);let c=0,l=0;for(let n=0;n<u;n++)t[l]=e[c]+r[0],t[l+1]=e[c+1]+r[1],t[l+2]=e[c+2]+r[2],c+=i,l+=o;return t}function d(t,e){m(t.typedBuffer,e.typedBuffer,t.typedBufferStride,e.typedBufferStride)}function m(t,e,r=3,n=r){const o=Math.min(t.length/r,e.length/n);let i=0,s=0;for(let a=0;a<o;a++){const o=e[i],a=e[i+1],u=e[i+2],c=o*o+a*a+u*u;if(c>0){const e=1/Math.sqrt(c);t[s]=e*o,t[s+1]=e*a,t[s+2]=e*u}i+=n,s+=r}}Object.freeze(Object.defineProperty({__proto__:null,linearToSRGB:l,linearToSRGBView:c,normalize:m,normalizeView:d,scale:u,scaleView:function(t,e,r){u(t.typedBuffer,e.typedBuffer,r,t.typedBufferStride,e.typedBufferStride)},shiftRight:function(t,e,r){const n=Math.min(t.count,e.count),o=t.typedBuffer,i=t.typedBufferStride,s=e.typedBuffer,a=e.typedBufferStride;let u=0,c=0;for(let t=0;t<n;t++)o[c]=s[u]>>r,o[c+1]=s[u+1]>>r,o[c+2]=s[u+2]>>r,u+=a,c+=i},transformMat3:a,transformMat3View:s,transformMat4:i,transformMat4View:o,translate:f},Symbol.toStringTag,{value:"Module"}))},82534(t,e,r){function n(){return[0,0,0,1]}function o(t){return[t[0],t[1],t[2],t[3]]}r.d(e,{o8:()=>o,vt:()=>n});const i=[0,0,0,1];Object.freeze(Object.defineProperty({__proto__:null,IDENTITY:i,clone:o,create:n,fromValues:function(t,e,r,n){return[t,e,r,n]}},Symbol.toStringTag,{value:"Module"})),r.d(e,["zK",0,i])},48163(t,e,r){function n(){return[0,0]}function o(t){return[t[0],t[1]]}function i(t,e){return[t,e]}function s(){return i(1,1)}function a(){return i(-1,-1)}function u(){return i(1,0)}function c(){return i(0,1)}r.d(e,{fA:()=>i,o8:()=>o,vt:()=>n});const l=s(),f=a(),d=u(),m=c();Object.freeze(Object.defineProperty({__proto__:null,NEGATIVE_ONES:f,ONES:l,UNIT_X:d,UNIT_Y:m,ZEROS:[0,0],clone:o,create:n,freeze:function(t,e){return[t,e]},fromArray:function(t,e=[0,0]){const r=Math.min(2,t.length);for(let n=0;n<r;++n)e[n]=t[n];return e},fromValues:i,negativeOnes:a,ones:s,unitX:u,unitY:c,zeros:function(){return[0,0]}},Symbol.toStringTag,{value:"Module"})),r.d(e,["IA",0,f,"Un",0,l])},91829(t,e,r){function n(){return[0,0,0,0]}function o(t,e,r,n){return[t,e,r,n]}function i(t,e,r,n){return[t,e,r,n]}function s(){return o(1,1,1,1)}function a(){return o(1,0,0,0)}function u(){return o(0,1,0,0)}function c(){return o(0,0,1,0)}function l(){return o(0,0,0,1)}r.d(e,{CN:()=>i,_Y:()=>l,fA:()=>o,vt:()=>n});const f=[0,0,0,0],d=s(),m=a(),v=u(),h=c(),p=l();Object.freeze(Object.defineProperty({__proto__:null,ONES:d,UNIT_W:p,UNIT_X:m,UNIT_Y:v,UNIT_Z:h,ZEROS:f,clone:function(t){return[t[0],t[1],t[2],t[3]]},create:n,freeze:i,fromArray:function(t,e=[0,0,0,0]){const r=Math.min(4,t.length);for(let n=0;n<r;++n)e[n]=t[n];return e},fromValues:o,ones:s,unitW:l,unitX:a,unitY:u,unitZ:c,zeros:function(){return[0,0,0,0]}},Symbol.toStringTag,{value:"Module"})),r.d(e,["Un",0,d,"uY",0,f])},44794(t,e,r){r.d(e,{v:()=>a});var n=r(4718),o=r(62788),i=r(95488);class s{constructor(t,e){this._observable=new i.I,this._value=t,this._equalityFunction=e}get value(){return(0,o.gc)(this._observable),this._value}set value(t){this._equalityFunction(t,this._value)||(this._value=t,this._observable.notify())}mutate(t){t(this._value),this._observable.notify()}}function a(t,e=n.gh){return new s(t,e)}},65806(t,e,r){r.d(e,{g:()=>s});var n=r(51850),o=r(91218),i=r(9762);function s(t,e,r,n){if((0,o.canProjectWithoutEngine)(t.spatialReference,r))return a[0]=t.x,a[1]=t.y,a[2]=t.z??0,(0,i.projectBuffer)(a,t.spatialReference,0,e,r,0);const s=(0,o.tryProject)(t,r,n);return!!s&&(e[0]=s.x,e[1]=s.y,e[2]=s.z??0,!0)}const a=(0,n.vt)()},27993(t,e,r){r.d(e,{F:()=>a});var n=r(91218),o=r(16930),i=r(9762),s=r(65806);function a(t,e,r,o){return!(null==e||null==o||t.length<2)&&((0,n.canProjectWithoutEngine)(e,o)?(0,i.projectBuffer)(t,e,0,r,o,0,1):(u.x=t[0],u.y=t[1],u.z=t[2],u.spatialReference=e,(0,s.g)(u,r,o)))}const u={x:0,y:0,z:0,hasZ:!0,hasM:!1,spatialReference:o.A.WGS84,type:"point"}},73836(t,e,r){r.d(e,{A:()=>m});var n=r(5482),o=r(69540),i=r(25482),s=r(91429),a=r(58083),u=r(9093),c=r(67026),l=r(82534),f=r(51850),d=r(24770);let m=class extends((0,o.OU)(i.o)){constructor(t){super(t),this.translation=(0,f.vt)(),this.rotationAxis=(0,f.ci)(d.up),this.rotationAngle=0,this.scale=(0,f.fA)(1,1,1)}get rotation(){return(0,d.i4)(this.rotationAxis,this.rotationAngle)}set rotation(t){this.rotationAxis=(0,f.o8)((0,d.yo)(t)),this.rotationAngle=(0,d.g7)(t)}get localMatrix(){const t=(0,u.vt)();return(0,c.x8)(v,(0,d.yo)(this.rotation),(0,d.$I)(this.rotation)),(0,a.o1)(t,v,this.translation,this.scale),t}get localMatrixInverse(){return(0,a.B8)((0,u.vt)(),this.localMatrix)}equals(t){return this===t||null!=t&&(0,a.t2)(this.localMatrix,t.localMatrix)}};(0,n.Cg)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"translation",void 0),(0,n.Cg)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"rotationAxis",void 0),(0,n.Cg)([(0,s.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],m.prototype,"rotationAngle",void 0),(0,n.Cg)([(0,s.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"scale",void 0),(0,n.Cg)([(0,s.MZ)()],m.prototype,"rotation",null),(0,n.Cg)([(0,s.MZ)()],m.prototype,"localMatrix",null),(0,n.Cg)([(0,s.MZ)()],m.prototype,"localMatrixInverse",null),m=(0,n.Cg)([(0,s.$K)("esri.geometry.support.MeshTransform")],m);const v=(0,l.vt)()},24770(t,e,r){r.d(e,{$I:()=>g,AU:()=>v,Cr:()=>f,g7:()=>p,i4:()=>l,ui:()=>d,vt:()=>c,yo:()=>h});var n=r(34727),o=r(58083),i=r(67026),s=r(82534),a=r(35522),u=r(51850);function c(t=x){return[t[0],t[1],t[2],t[3]]}function l(t,e,r=c()){return(0,a.C)(r,t),r[3]=e,r}function f(t,e,r){return(0,a.$A)(r,t,e),(0,a.S8)(r,r),r[3]=-(0,a.g7)(t,e),r}function d(t,e=c()){const r=(0,o.l)(_,t);return y(e,(0,n.KJ)((0,i.Xd)(e,r))),e}function m(t,e,r=c()){return(0,i.x8)(_,t,g(t)),(0,i.x8)(b,e,g(e)),(0,i.lw)(_,b,_),y(r,(0,n.KJ)((0,i.Xd)(r,_)))}function v(t,e,r,n=c()){return l(u.Cw,t,M),l(u.JP,e,S),l(u.Cb,r,w),m(M,S,M),m(M,w,n),n}function h(t){return t}function p(t){return t[3]}function g(t){return(0,n.kU)(t[3])}function y(t,e){return t[3]=e,t}const x=[0,0,1,0],_=(0,s.vt)(),b=(0,s.vt)(),M=(c(),c()),S=c(),w=c();r.d(e,["up",0,x])},72727(t,e,r){function n(t,e,r){if(e<=0)return 0;const n=t-r;return n<0?0:Math.floor(n/e)+1}r.d(e,{k:()=>n}),r(53966)},27921(t,e,r){r.d(e,{$Q:()=>_,C:()=>a,Cr:()=>l,H:()=>M,O_:()=>c,Qj:()=>u,T7:()=>y,Tj:()=>x,lU:()=>f,mN:()=>S,vE:()=>w,vt:()=>s});var n=r(34727),o=r(35522),i=r(51850);function s(t=B){return[t[0],t[1],t[2],t[3]]}function a(t,e){return function(t,e,r,n,o=s()){return o[0]=t,o[1]=e,o[2]=r,o[3]=n,o}(e[0],e[1],e[2],e[3],t)}function u(t){return t}function c(t,e,r){const n=e[0]*e[0]+e[1]*e[1]+e[2]*e[2],o=Math.abs(n-1)>1e-5&&n>1e-12?1/Math.sqrt(n):1;return r[0]=e[0]*o,r[1]=e[1]*o,r[2]=e[2]*o,r[3]=-(r[0]*t[0]+r[1]*t[1]+r[2]*t[2]),r}function l(t,e,r,n=s()){const o=r[0]-e[0],i=r[1]-e[1],a=r[2]-e[2],u=t[0]-e[0],c=t[1]-e[1],l=t[2]-e[2],f=i*l-a*c,d=a*u-o*l,m=o*c-i*u,v=f*f+d*d+m*m,h=Math.abs(v-1)>1e-5&&v>1e-12?1/Math.sqrt(v):1;return n[0]=f*h,n[1]=d*h,n[2]=m*h,n[3]=-(n[0]*t[0]+n[1]*t[1]+n[2]*t[2]),n}function f(t,e,r,n=0,i=Math.floor(r*(1/3)),s=Math.floor(r*(2/3))){if(r<3)return!1;e(m,n);let a=i,u=!1;for(;a<r-1&&!u;)e(v,a),a++,u=!(0,o.t2)(m,v);if(!u)return!1;for(a=Math.max(a,s),u=!1;a<r&&!u;)e(h,a),a++,(0,o.Re)(p,m,v),(0,o.S8)(p,p),(0,o.Re)(g,v,h),(0,o.S8)(g,g),u=!(0,o.t2)(m,h)&&!(0,o.t2)(v,h)&&Math.abs((0,o.Om)(p,g))<d;return u?(l(m,v,h,t),!0):(0!==n||1!==i||2!==s)&&f(t,e,r,0,1,2)}r(78955),r(44280),r(32114),r(32728);const d=.99619469809,m=(0,i.vt)(),v=(0,i.vt)(),h=(0,i.vt)(),p=(0,i.vt)(),g=(0,i.vt)();function y(t,e,r){return function(t){return 0===t||1===t}(w(t,e.origin,e.vector,0,r))}function x(t,e){return S(t,e)>=0}function _(t,e){return function(t,e,r,n,i,s,a){const u=(0,o.Om)(t,r),c=S(t,e);if(u>-1e-6&&u<1e-6)return b(c,i,s);const l=-c/u,f=b(u,i,!1);return!(a&&!f&&!b(c,i,s))&&(f?l>n.c0&&(n.c0=l):l<n.c1&&(n.c1=l),n.c0<=n.c1)}(t,e.ray.origin,e.ray.direction,e,!1,!1,!0)}function b(t,e,r){return r?e?t>=0:t<=0:e?t>0:t<0}function M(t,e,r,n,i=!1){let s=0,a=e[r-1],u=S(t,a),c=i?u>0:u<=0;for(let l=0;l<r;l++){const r=e[l],f=S(t,r),d=i?f>0:f<=0;c!==d&&(0,o.Cc)(n[s++],a,r,u/(u-f)),d&&(0,o.C)(n[s++],r),a=r,u=f,c=d}return s}function S(t,e){return(0,o.Om)(t,e)+t[3]}function w(t,e,r,i,s){const a=(0,o.Om)(t,r),u=S(t,e);if(0===a)return u>=0?2:3;let c=-u/a;return 1&i&&(c=(0,n.qE)(c,0,1)),!(4&i)&&c<0||!(8&i)&&c>1?u>=0?2:3:((0,o.WQ)(s,e,(0,o.hs)(s,r,c)),u>=0?0:1)}const B=[0,0,1,0];(0,i.vt)()},44280(t,e,r){r.d(e,{g7:()=>a,gr:()=>s});var n=r(34727),o=r(35522),i=r(51850);function s(t,e){return(0,o.Om)(t,e)/(0,o.Bw)(t)}function a(t,e){const r=(0,o.Om)(t,e)/((0,o.Bw)(t)*(0,o.Bw)(e));return-(0,n.XM)(r)}(0,i.vt)(),(0,i.vt)()},32114(t,e,r){r.d(e,{Rc:()=>m,rq:()=>f,Km:()=>d}),r(44208);var n=r(26390),o=r(29242),i=r(9093),s=r(82534),a=r(48163),u=r(51850),c=r(91829);class l{constructor(t){this._create=t,this._items=new Array,this._itemsPtr=0}get(){return 0===this._itemsPtr&&(0,n.d)(()=>this._reset()),this._itemsPtr>=this._items.length&&this._items.push(this._create()),this._items[this._itemsPtr++]}_reset(){const t=2*this._itemsPtr;this._items.length>t&&(this._items.length=t),this._itemsPtr=0}static createVec2f64(){return new l(a.vt)}static createVec3f64(){return new l(u.vt)}static createVec4f64(){return new l(c.vt)}static createMat3f64(){return new l(o.vt)}static createMat4f64(){return new l(i.vt)}static createQuatf64(){return new l(s.vt)}get test(){}}l.createVec2f64();const f=l.createVec3f64(),d=l.createVec4f64(),m=(l.createMat3f64(),l.createMat4f64());l.createQuatf64()},38969(t,e,r){r.d(e,{i:()=>o});var n=r(37955);function o(t,e){return new Promise((r,o)=>{t.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA?r():(e((0,n.Oo)(t,"canplay",r)),e((0,n.Oo)(t,"error",o)))})}},77793(t,e,r){r.d(e,{V:()=>i,f:()=>s});var n=r(86738),o=r(73836);function i(t,e,r=a){return new n.A({x:t[r.originX],y:t[r.originY],z:t[r.originZ],spatialReference:e})}function s(t,e=a){return new o.A({translation:[t[e.translationX],-t[e.translationZ],t[e.translationY]],rotationAxis:[t[e.rotationX],-t[e.rotationZ],t[e.rotationY]],rotationAngle:t[e.rotationDeg],scale:[t[e.scaleX],t[e.scaleZ],t[e.scaleY]]})}const a={originX:"originX",originY:"originY",originZ:"originZ",translationX:"translationX",translationY:"translationY",translationZ:"translationZ",scaleX:"scaleX",scaleY:"scaleY",scaleZ:"scaleZ",rotationX:"rotationX",rotationY:"rotationY",rotationZ:"rotationZ",rotationDeg:"rotationDeg"}},40050(t,e,r){r.r(e),r.d(e,{assetMapFromAssetMapsJSON:()=>p,extractMesh:()=>h,meshFeatureSetFromJSON:()=>v});var n=r(52106),o=r(53966),i=r(91869),s=r(5443),a=r(16930),u=r(40118),c=r(63579),l=r(20557),f=r(22671),d=r(77793);const m=()=>o.A.getLogger("esri.rest.support.meshFeatureSet");function v(t,e,r){const o=r.features;r.features=[],delete r.geometryType;const i=f.A.fromJSON(r);if(i.geometryType="mesh",!r.assetMaps)return i;const s=p(e,r.assetMaps),u=t.sourceSpatialReference??a.A.WGS84,c=r.globalIdFieldName,{outFields:l}=t,d=null!=l&&l.length>0?(m=l.includes("*")?null:new Set(l),({attributes:t})=>{if(!t)return{};if(!m)return t;for(const e in t)m.has(e)||delete t[e];return t}):()=>({});var m;for(const t of o){const r=h(t,c,u,e,s);i.features.push(new n.A({geometry:r,attributes:d(t)}))}return i}function h(t,e,r,n,o){const i=t.attributes[e],a=o.get(i);if(null==a||!t.geometry)return null;const l=(0,d.V)(t.attributes,r,n.transformFieldRoles),f=s.A.fromJSON(t.geometry);f.spatialReference=r;const m=(0,d.f)(t.attributes,n.transformFieldRoles),v=r.isGeographic?"local":"georeferenced",h=function(t){const e=Array.from(t.files.values()),r=new Array;for(const t of e){if(2!==t.status)return null;const e=new Array;for(const r of t.parts){if(!r)return null;e.push(new c.Bq(r.url,r.hash))}r.push(new c.Qp(t.name,t.mimeType,e))}return{type:"service",assets:r}}(a);return h?(0,u.createWithExternalSource)(l,h,{extent:f,transform:m,vertexSpace:v,unitConversionDisabled:!0}):(0,u.H5)(l,{transform:m,vertexSpace:v})}function p(t,e){const r=new Map;for(const n of e){const e=n.parentGlobalId;if(null==e)continue;const o=n.assetName,s=n.assetType,a=n.assetHash,u=n.assetURL,c=n.conversionStatus,f=n.seqNo,d=(0,l.Fm)(s,t.supportedFormats);if(!d){m().error("mesh-feature-set:unknown-format",`Service returned an asset of type ${s}, but it does not list it as a supported type`);continue}const v=(0,i.tE)(r,e,()=>({files:new Map}));(0,i.tE)(v.files,o,()=>({name:o,type:s,mimeType:d,status:g(c),parts:[]})).parts[f]={hash:a,url:u}}return r}function g(t){switch(t){case"COMPLETED":case"SUBMITTED":return 2;case"INPROGRESS":return 1;default:return 0}}},32728(t,e,r){r.d(e,{YH:()=>a,hG:()=>i,nu:()=>u,wp:()=>s}),r(34727);var n=r(35522),o=r(51850);function i(t){const e=t[0]*t[0]+t[4]*t[4]+t[8]*t[8],r=t[1]*t[1]+t[5]*t[5]+t[9]*t[9],n=t[2]*t[2]+t[6]*t[6]+t[10]*t[10];return Math.sqrt(Math.max(e,r,n))}function s(t,e){const r=Math.sqrt(e[0]*e[0]+e[4]*e[4]+e[8]*e[8]),o=Math.sqrt(e[1]*e[1]+e[5]*e[5]+e[9]*e[9]),i=Math.sqrt(e[2]*e[2]+e[6]*e[6]+e[10]*e[10]);return(0,n.hZ)(t,r,o,i),t}function a(t,e,r){r=r||t;const o=(0,n.Om)(t,e);(0,n.hZ)(r,t[0]-o*e[0],t[1]-o*e[1],t[2]-o*e[2]),(0,n.S8)(r,r)}function u(t,e,r,i=(0,o.vt)()){const s=(0,n.Bw)(t),a=(0,n.Bw)(e),u=(0,n.Om)(t,e)/(s*a);if(u<.9999999999999999){const o=Math.acos(u),f=((1-r)*s+r*a)/Math.sin(o),d=f/s*Math.sin((1-r)*o),m=f/a*Math.sin(r*o);return(0,n.hs)(c,t,d),(0,n.hs)(l,e,m),(0,n.WQ)(i,c,l)}return(0,n.Cc)(i,t,e,r)}(0,o.vt)(),(0,o.vt)(),(0,o.vt)();const c=(0,o.vt)(),l=(0,o.vt)()},49255(t,e,r){function n(t){return function(t){return c(t)||4===t}(t)||function(t){return 5===(e=t)||6===e||7===e||8===t||9===t;var e}(t)}function o(t){return 10===t||11===t}function i(t){return u(t)||o(t)}function s(t){return 1===t}function a(t){return 2===t}function u(t){return 0===t||function(t){return s(t)||a(t)}(t)}function c(t){return function(t){return u(t)||o(t)}(t)||l(t)}function l(t){return 3===t}r.d(e,{Ex:()=>o,Rb:()=>a,_$:()=>s,_o:()=>u,eh:()=>l,gr:()=>c,i3:()=>i,uw:()=>n})},53466(t,e,r){r.d(e,{U:()=>o});var n=r(31821);function o(t,e){switch(e.textureCoordinateType){case 1:return t.attributes.add("uv0","vec2"),t.varyings.add("vuv0","vec2"),void t.vertex.code.add(n.H`void forwardTextureCoordinates() { vuv0 = uv0; }`);case 2:return t.attributes.add("uv0","vec2"),t.attributes.add("uvRegion","vec4"),t.varyings.add("vuv0","vec2"),t.varyings.add("vuvRegion","vec4"),void t.vertex.code.add(n.H`void forwardTextureCoordinates() {
|
|
2
|
-
vuv0 = uv0;
|
|
3
|
-
vuvRegion = uvRegion;
|
|
4
|
-
}`);default:e.textureCoordinateType;case 0:return void t.vertex.code.add(n.H`void forwardTextureCoordinates() {}`);case 3:return}}},99208(t,e,r){r.d(e,{r:()=>s});var n=r(53466),o=r(31821);function i(t){t.fragment.code.add(o.H`vec4 textureAtlasLookup(sampler2D tex, vec2 textureCoordinates, vec4 atlasRegion) {
|
|
5
|
-
vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;
|
|
6
|
-
vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;
|
|
7
|
-
float maxdUV = 0.125;
|
|
8
|
-
vec2 dUVdx = clamp(dFdx(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
9
|
-
vec2 dUVdy = clamp(dFdy(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
10
|
-
return textureGrad(tex, uvAtlas, dUVdx, dUVdy);
|
|
11
|
-
}`)}function s(t,e){const{textureCoordinateType:r}=e;if(0===r||3===r)return;t.include(n.U,e);const s=2===r;s&&t.include(i),t.fragment.code.add(o.H`
|
|
12
|
-
vec4 textureLookup(sampler2D tex, vec2 uv) {
|
|
13
|
-
return ${s?"textureAtlasLookup(tex, uv, vuvRegion)":"texture(tex, uv)"};
|
|
14
|
-
}
|
|
15
|
-
`)}},22911(t,e,r){r.d(e,{NL:()=>v});var n=r(34727),o=r(49255),i=r(99208),s=r(65261),a=r(40710),u=r(33079),c=r(28421),l=r(20304),f=r(31821),d=r(15976),m=r(63761);function v(t,e){if(!(0,o._o)(e.output))return;t.fragment.include(s.C);const{emissionSource:r,hasEmissiveTextureTransform:v,bindType:h}=e,p=3===r||4===r||5===r;p&&(t.include(i.r,e),t.fragment.uniforms.add(1===h?new m.N("texEmission",t=>t.textureEmissive):new d.o("texEmission",t=>t.textureEmissive)));const g=2===r||p;g&&t.fragment.uniforms.add(1===h?new u.t("emissiveBaseColor",t=>t.emissiveBaseColor):new a.W("emissiveBaseColor",t=>t.emissiveBaseColor));const y=0!==r;if(y&&7!==r&&6!==r&&4!==r&&5!==r){const e=t=>(0,n.qE)(t??0,0,16);t.fragment.uniforms.add(1===h?new l.m("emissiveStrength",t=>e(t.emissiveStrength)):new c.J("emissiveStrength",t=>e(t.emissiveStrength)))}const x=7===r,_=5===r,b=1===r||6===r||x;t.fragment.code.add(f.H`
|
|
16
|
-
vec4 getEmissions(vec3 symbolColor) {
|
|
17
|
-
vec4 emissions = ${g?_?"emissiveSource == 0 ? vec4(emissiveBaseColor, 1.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(emissiveBaseColor, 1.0)":b?x?"emissiveSource == 0 ? vec4(0.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(linearizeGamma(symbolColor), 1.0)":"vec4(0.0)"};
|
|
18
|
-
${(0,f.If)(p,`${(0,f.If)(_,`if(emissiveSource == 0) {\n vec4 emissiveFromTex = textureLookup(texEmission, ${v?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);\n }`,`vec4 emissiveFromTex = textureLookup(texEmission, ${v?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);`)}\n emissions.a = emissions.rgb == vec3(0.0) ? 0.0: emissions.a;`)}
|
|
19
|
-
${(0,f.If)(y,`emissions.rgb *= emissiveStrength * ${f.H.float(1)};`)}
|
|
20
|
-
return emissions;
|
|
21
|
-
}
|
|
22
|
-
`)}r(72458)},65261(t,e,r){r.d(e,{C:()=>i});var n=r(40876),o=r(31821);function i(t){t.constants.add("GAMMA","float",2.2).constants.add("INV_GAMMA","float",n.iw).code.add(o.H`vec3 delinearizeGamma(vec3 color) {
|
|
23
|
-
return pow(color, vec3(INV_GAMMA));
|
|
24
|
-
}
|
|
25
|
-
vec4 delinearizeGamma(vec4 color) {
|
|
26
|
-
return vec4(delinearizeGamma(color.rgb), color.a);
|
|
27
|
-
}
|
|
28
|
-
vec3 linearizeGamma(vec3 color) {
|
|
29
|
-
return pow(color, vec3(GAMMA));
|
|
30
|
-
}`)}},40710(t,e,r){r.d(e,{W:()=>o});var n=r(74333);class o extends n.n{constructor(t,e,r){super(t,"vec3",2,(n,o,i,s)=>n.setUniform3fv(t,e(o,i,s),r))}}},33079(t,e,r){r.d(e,{t:()=>o});var n=r(74333);class o extends n.n{constructor(t,e,r){super(t,"vec3",1,(n,o,i)=>n.setUniform3fv(t,e(o,i),r))}}},28421(t,e,r){r.d(e,{J:()=>o});var n=r(74333);class o extends n.n{constructor(t,e,r){super(t,"float",2,(n,o,i)=>n.setUniform1f(t,e(o,i),r))}}},20304(t,e,r){r.d(e,{m:()=>o});var n=r(74333);class o extends n.n{constructor(t,e,r){super(t,"float",1,(n,o,i)=>n.setUniform1f(t,e(o,i),r))}}},15976(t,e,r){r.d(e,{o:()=>o});var n=r(74333);class o extends n.n{constructor(t,e,r){super(t,"sampler2D",2,(n,o,i)=>n.bindTexture(t,e(o,i),r?.(o,i)))}}},63761(t,e,r){r.d(e,{N:()=>o});var n=r(74333);class o extends n.n{constructor(t,e){super(t,"sampler2D",1,(r,n,o)=>r.bindTexture(t,e(n,o)))}}},31821(t,e,r){r.d(e,{If:()=>o});const n=(t,...e)=>{let r="";for(let n=0;n<e.length;n++)r+=t[n]+e[n];return r+=t[t.length-1],r};function o(t,e,r=""){return t?e:r}n.int=t=>t.toFixed(),n.uint=t=>`${Math.max(0,t).toFixed()}u`,n.hexuint=t=>`0x${Math.round(Math.max(0,t)).toString(16)}u`,n.float=t=>t.toPrecision(8),r.d(e,["H",0,n])},51976(t,e,r){r.d(e,{K:()=>a,W:()=>u});var n=r(49186),o=r(4576);class i{constructor(t){this._bits=[...t]}equals(t){return(0,o.aI)(this._bits,t.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 i(this._parameterBits),this._key}decode(t=this.key){const e=this._parameterBits;this._parameterBits=[...t.bits];const r=this._parameterNames.map(t=>` ${t}: ${this[t]}`).join("\n");return this._parameterBits=e,r}}function u(t={}){return(e,r)=>{e.hasOwnProperty("_parameterNames")||Object.defineProperty(e,"_parameterNames",{value:e._parameterNames?.slice()??[],configurable:!0,writable:!0}),e.hasOwnProperty("_parameterBits")||Object.defineProperty(e,"_parameterBits",{value:e._parameterBits?.slice()??[0],configurable:!0,writable:!0}),e._parameterNames.push(r);const o=t.count||2,i=Math.ceil(Math.log2(o)),s=e._parameterBits;let a=0;for(;s[a]+i>16;)a++,a>=s.length&&s.push(0);const u=s[a],c=(1<<i)-1<<u;s[a]+=i,t.count?Object.defineProperty(e,r,{get(){return(this._parameterBits[a]&c)>>u},set(e){const o=this._parameterBits[a];if((o&c)>>u!==e){if(this._key=null,this._parameterBits[a]=o&~c|+e<<u&c,"number"!=typeof e)throw new n.A("internal:invalid-shader-configuration",`Configuration value for ${r} must be a number, got ${typeof e}`);if(null==t.count)throw new n.A("internal:invalid-shader-configuration",`Configuration value for ${r} must provide a count option`)}}}):Object.defineProperty(e,r,{get(){return!!((this._parameterBits[a]&c)>>u)},set(t){const e=this._parameterBits[a];if(!!((e&c)>>u)!==t&&(this._key=null,this._parameterBits[a]=e&~c|+t<<u,"boolean"!=typeof t))throw new n.A("internal:invalid-shader-configurationx",`Configuration value for ${r} must be boolean, got ${typeof t}`)}})}}},72458(t,e,r){r.d(e,{C:()=>i,O:()=>s});var n=r(5482),o=r(51976);class i extends o.K{constructor(){super(...arguments),this.useFloatBlend=!0}}function s(t,e){e.useFloatBlend?(t.constants.add("floatBlendOutputScale","float",1),t.constants.add("floatBlendInputScale","float",1)):(t.constants.add("floatBlendOutputScale","float",1/16),t.constants.add("floatBlendInputScale","float",16)),t.constants.add("maxEmissiveStrength","float",16)}(0,n.Cg)([(0,o.W)()],i.prototype,"useFloatBlend",void 0)},65786(t,e,r){const n=class{};new n,r.d(e,["Y",0,n])},74333(t,e,r){r.d(e,{n:()=>n});class n{constructor(t,e,r,n,o=null){if(this.name=t,this.type=e,this.arraySize=o,this.bind={0:null,1:null,2:null},n)switch(r){case void 0:break;case 0:this.bind[0]=n;break;case 1:this.bind[1]=n;break;case 2:this.bind[2]=n}}equals(t){return this.type===t.type&&this.name===t.name&&this.arraySize===t.arraySize}}}}]);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[5902],{95902(e,t,n){n.r(t),n.d(t,{TextureCompressionWorkerOutput:()=>T,compress:()=>u,compressRGBADataToKTX2:()=>G,createTextureDataKTX2:()=>C,destroy:()=>S,initializeBasisEncoder:()=>c,initializeDXTEncoder:()=>o});var r=n(2741);let a,l;var _=n(63907);let s,i,R=null,E=null;class T{constructor(e,t){this.internalFormat=e,this.compressedTexture=t}}function S(){R=null,s=null,E=null,i=null,a=null,l=null}async function u(e){const t=e.data instanceof ImageBitmap?e.data:null;let n;n=e.data instanceof ImageBitmap?function(e){const t=new OffscreenCanvas(e.width,e.height),n=t.getContext("2d");return n.drawImage(e,0,0),n.getImageData(0,0,t.width,t.height).data}(e.data):function(e,t,n,r,a){const l=new Uint8ClampedArray(e).subarray(0,t*n*r);if(!a)return l;const _=new Uint8ClampedArray(l.length),s=t*r;for(let e=0;e<n;e++){const t=e*s,r=(n-e-1)*s;_.set(l.subarray(t,t+s),r)}return _}(e.data,e.width,e.height,e.components,e.needsFlip);try{if(e.hasS3TC){E||await o();const t=new Uint8Array(n.length);if(E?.encode(n,e.width,e.height,e.preMultiplyAlpha,t)){const e=function(e){const t=new Int32Array(e.buffer,e.byteOffset,31);let n,r;switch(t[21]){case N:n=8,r=_.CQ.COMPRESSED_RGB_S3TC_DXT1_EXT;break;case B:n=16,r=_.CQ.COMPRESSED_RGBA_S3TC_DXT3_EXT;break;case D:n=16,r=_.CQ.COMPRESSED_RGBA_S3TC_DXT5_EXT;break;default:return null}let a=1,l=t[4],s=t[3];(3&l||3&s)&&(l=l+3&-4,s=s+3&-4);const i=l,R=s;let E,T;t[2]&I&&(a=Math.max(1,t[7]));let S=e.byteOffset+t[1]+4;const u=[];for(let t=0;t<a;++t)T=(l+3>>2)*(s+3>>2)*n,E=new Uint8Array(e.buffer,S,T),u.push(E),S+=T,l=Math.max(1,l>>1),s=Math.max(1,s>>1);return{textureData:{type:"compressed",levels:u},internalFormat:r,width:i,height:R}}(t),n=[t.buffer];return{result:new T(e?.internalFormat??null,e?.textureData??null),transferList:n}}return{result:new T(null,null)}}if(e.hasETC){if(R||await c(),e.preMultiplyAlpha&&!E&&await o(),e.preMultiplyAlpha){const t=new Uint8ClampedArray(n.length);E?.premultiply(new Uint8Array(n),e.width,e.height,t),n=t}const t=G(n,e.width,e.height,e.hasMipmap),r=t?C(t):null,a=r?.compressedTexture?.levels.map(e=>e.buffer)||[];return{result:new T(r?.internalFormat??null,r?.compressedTexture??null),transferList:a}}return{result:new T(null,null)}}finally{t?.close()}}async function c(){R||(R=await(s??=(a??=(async()=>{const e=await n.e(2372).then(n.bind(n,62372)),t=await e.default({locateFile:e=>(0,r.s)(`esri/libs/basisu/${e}`)});return t.initializeBasis(),t})(),a)),s=null)}async function o(){E||(E=await(i??=(l??=(async()=>{const e=await n.e(8714).then(n.bind(n,98714));return await e.default({locateFile:e=>(0,r.s)(`esri/libs/dxtEncoder/${e}`)})})(),l)),i=null)}function G(e,t,n,r,a=255,l=0,_=!1,s=!1){if(!R)return null;const i=new R.BasisEncoder;i.setPerceptual(!s),i.setCheckForAlpha(!0),i.setForceAlpha(!1),i.setRenormalize(s),i.setMipGen(r),i.setMipSRGB(!s),i.setCreateKTX2File(!0),i.setKTX2AndBasisSRGBTransferFunc(!s),i.setQualityLevel(a),i.setETC1SCompressionLevel(l);const E=new Uint8Array(e.byteLength);i.setSliceSourceImage(0,new Uint8Array(e),t,n,_);const T=i.encode(E),S=new Uint8Array(E.buffer,0,T),u=new R.KTX2File(new Uint8Array(S));return u.isValid()?(i.delete(),S):(u.close(),u.delete(),i.delete(),null)}function C(e){if(!R)return new T(null,null);const t=new R.KTX2File(new Uint8Array(e));t.startTranscoding();const[n,r]=t.getHasAlpha()?[1,_.CQ.COMPRESSED_RGBA8_ETC2_EAC]:[0,_.CQ.COMPRESSED_RGB8_ETC2],a=t.getLevels(),l=[];for(let e=0;e<a;e++)l.push(new Uint8Array(t.getImageTranscodedSizeInBytes(e,0,0,n))),t.transcodeImage(l[e],e,0,0,n,0,-1,-1);return t.close(),t.delete(),{internalFormat:r,compressedTexture:{type:"compressed",levels:l}}}const I=131072;function A(e){return e.charCodeAt(0)+(e.charCodeAt(1)<<8)+(e.charCodeAt(2)<<16)+(e.charCodeAt(3)<<24)}const N=A("DXT1"),B=A("DXT3"),D=A("DXT5")},63907(e,t,n){const r={BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,HALF_FLOAT:5131},a={RGBA4:32854,R16F:33325,RG16F:33327,RGB32F:34837,RGBA16F:34842,R32F:33326,RG32F:33328,RGBA32F:34836,R11F_G11F_B10F:35898,RGB8:32849,RGBA8:32856,RGB5_A1:32855,R8:33321,RG8:33323,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,RGB16F:34843,RGB9_E5:35901,SRGB8:35905,SRGB8_ALPHA8:35907,RGB565:36194,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,RGB10_A2:32857,RGB10_A2UI:36975},l=Object.values(a),_={FLOAT:r.FLOAT,UNSIGNED_BYTE:r.UNSIGNED_BYTE,UNSIGNED_INT_24_8:34042,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,BYTE:r.BYTE,UNSIGNED_SHORT:r.UNSIGNED_SHORT,SHORT:r.SHORT,UNSIGNED_INT:r.UNSIGNED_INT,INT:r.INT,HALF_FLOAT:5131,UNSIGNED_INT_2_10_10_10_REV:33640,UNSIGNED_INT_10F_11F_11F_REV:35899,UNSIGNED_INT_5_9_9_9_REV:35902,FLOAT_32_UNSIGNED_INT_24_8_REV:36269};n.d(t,["CQ",0,{COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497},"H0",0,a,"SB",0,{DEPTH_COMPONENT16:33189,DEPTH_COMPONENT24:33190,DEPTH_COMPONENT32F:36012},"WR",0,{POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6},"XN",0,l,"iE",0,{DEPTH24_STENCIL8:35056,DEPTH32F_STENCIL8:36013},"ld",0,_,"pe",0,r,"vt",0,{Texture:0,TileTexture:1,BufferObject:2,VertexArrayObject:3,Shader:4,Program:5,FramebufferObject:6,Renderbuffer:7,TransformFeedback:8,Sync:9,UNCOUNTED:10,LinesOfCode:10,Uniform:11,COUNT:12}])}}]);
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8449],{13069(e,t,n){n.d(t,{AG:()=>s,lk:()=>o,vD:()=>a,yS:()=>i});const r="randomUUID"in crypto;function o(){if(r)return crypto.randomUUID();const e=crypto.getRandomValues(new Uint16Array(8));e[3]=4095&e[3]|16384,e[4]=16383&e[4]|32768;const t=t=>e[t].toString(16).padStart(4,"0");return t(0)+t(1)+"-"+t(2)+"-"+t(3)+"-"+t(4)+"-"+t(5)+t(6)+t(7)}function i(){return`{${o().toUpperCase()}}`}function a(){return`{${o()}}`}function s(e){const t=e.toUpperCase();return e.startsWith("{")?t:`{${t}}`}},65806(e,t,n){n.d(t,{g:()=>a});var r=n(51850),o=n(91218),i=n(9762);function a(e,t,n,r){if((0,o.canProjectWithoutEngine)(e.spatialReference,n))return s[0]=e.x,s[1]=e.y,s[2]=e.z??0,(0,i.projectBuffer)(s,e.spatialReference,0,t,n,0);const a=(0,o.tryProject)(e,n,r);return!!a&&(t[0]=a.x,t[1]=a.y,t[2]=a.z??0,!0)}const s=(0,r.vt)()},27993(e,t,n){n.d(t,{F:()=>s});var r=n(91218),o=n(16930),i=n(9762),a=n(65806);function s(e,t,n,o){return!(null==t||null==o||e.length<2)&&((0,r.canProjectWithoutEngine)(t,o)?(0,i.projectBuffer)(e,t,0,n,o,0,1):(u.x=e[0],u.y=e[1],u.z=e[2],u.spatialReference=t,(0,a.g)(u,n,o)))}const u={x:0,y:0,z:0,hasZ:!0,hasM:!1,spatialReference:o.A.WGS84,type:"point"}},73836(e,t,n){n.d(t,{A:()=>m});var r=n(5482),o=n(69540),i=n(25482),a=n(91429),s=n(58083),u=n(9093),c=n(67026),l=n(82534),d=n(51850),f=n(24770);let m=class extends((0,o.OU)(i.o)){constructor(e){super(e),this.translation=(0,d.vt)(),this.rotationAxis=(0,d.ci)(f.up),this.rotationAngle=0,this.scale=(0,d.fA)(1,1,1)}get rotation(){return(0,f.i4)(this.rotationAxis,this.rotationAngle)}set rotation(e){this.rotationAxis=(0,d.o8)((0,f.yo)(e)),this.rotationAngle=(0,f.g7)(e)}get localMatrix(){const e=(0,u.vt)();return(0,c.x8)(v,(0,f.yo)(this.rotation),(0,f.$I)(this.rotation)),(0,s.o1)(e,v,this.translation,this.scale),e}get localMatrixInverse(){return(0,s.B8)((0,u.vt)(),this.localMatrix)}equals(e){return this===e||null!=e&&(0,s.t2)(this.localMatrix,e.localMatrix)}};(0,r.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"translation",void 0),(0,r.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"rotationAxis",void 0),(0,r.Cg)([(0,a.MZ)({type:Number,nonNullable:!0,json:{write:!0}})],m.prototype,"rotationAngle",void 0),(0,r.Cg)([(0,a.MZ)({type:[Number],nonNullable:!0,json:{write:!0}})],m.prototype,"scale",void 0),(0,r.Cg)([(0,a.MZ)()],m.prototype,"rotation",null),(0,r.Cg)([(0,a.MZ)()],m.prototype,"localMatrix",null),(0,r.Cg)([(0,a.MZ)()],m.prototype,"localMatrixInverse",null),m=(0,r.Cg)([(0,a.$K)("esri.geometry.support.MeshTransform")],m);const v=(0,l.vt)()},24770(e,t,n){n.d(t,{$I:()=>x,AU:()=>v,Cr:()=>d,g7:()=>h,i4:()=>l,ui:()=>f,vt:()=>c,yo:()=>p});var r=n(34727),o=n(58083),i=n(67026),a=n(82534),s=n(35522),u=n(51850);function c(e=y){return[e[0],e[1],e[2],e[3]]}function l(e,t,n=c()){return(0,s.C)(n,e),n[3]=t,n}function d(e,t,n){return(0,s.$A)(n,e,t),(0,s.S8)(n,n),n[3]=-(0,s.g7)(e,t),n}function f(e,t=c()){const n=(0,o.l)(b,e);return g(t,(0,r.KJ)((0,i.Xd)(t,n))),t}function m(e,t,n=c()){return(0,i.x8)(b,e,x(e)),(0,i.x8)(w,t,x(t)),(0,i.lw)(b,w,b),g(n,(0,r.KJ)((0,i.Xd)(n,b)))}function v(e,t,n,r=c()){return l(u.Cw,e,C),l(u.JP,t,_),l(u.Cb,n,M),m(C,_,C),m(C,M,r),r}function p(e){return e}function h(e){return e[3]}function x(e){return(0,r.kU)(e[3])}function g(e,t){return e[3]=t,e}const y=[0,0,1,0],b=(0,a.vt)(),w=(0,a.vt)(),C=(c(),c()),_=c(),M=c();n.d(t,["up",0,y])},20557(e,t,n){n.d(t,{Fm:()=>u,Hz:()=>h,JQ:()=>p,JZ:()=>A,ND:()=>g,R_:()=>a,U9:()=>v,_h:()=>b,be:()=>d,fE:()=>m,fu:()=>o,nr:()=>x,oF:()=>i,qv:()=>M,rP:()=>f,rq:()=>c,z$:()=>l});const r=[["binary","application/octet-stream","bin",""]];function o(e,t){return null!=w(t.name,e?.supportedFormats??[])}function i(e,t){if(!e)return!1;const n=c(t,e.supportedFormats??[]);return null!=n&&e.editFormats.includes(n)}function a(e,t){return C(function(e,t){const n=e.toLowerCase();return y(t).find(e=>_(e)===n)}(e,t))}function s(e,t){return C(w(e,t))}function u(e,t){return _(b(e,t))}function c(e,t){return s(e.name,t)??a(e.type,t)}function l(e,t,n){return a(e,n)??s(t,n)}function d(e,t){if(!e||!b(e,t))return;const n=/^3d_(.+)$/iu.exec(e)?.[1]?.toLowerCase();return n||void 0}function f(e,t){return(e??[]).map(e=>d(e,t)).filter(e=>!!e)}function m(e,t){return C(t.find(n=>d(C(n),t)===e))}function v({supportedFormats:e}){return l("model/gltf-binary","glb",e)}function p(e){const t=v(e);return null!=t&&e.editFormats.includes(t)}function h(e){if(!e)return null;const t=v(e),n=function({supportedFormats:e}){return l("model/gltf+json","gltf",e)}(e);let r=null;for(const o of e.queryFormats){if(o===t)return o;o===n&&(r=o)}return r}function x({supportedFormats:e}){return l("application/esri3do-SR_world","wld",e)}function g({supportedFormats:e}){return l("application/esri3do-SR_prj","prj",e)}function y(e){return[...r,...e]}function b(e,t){return y(t).find(t=>C(t)===e)}function w(e,t){const n=e.toLowerCase();return y(t).find(e=>M(e).some(e=>n.endsWith(e)))}function C(e){return e?.[0]}function _(e){return e?.[1].toLowerCase()}function M(e){return e?.[2].split(",").map(e=>e.toLowerCase())??[]}function A(e){return e.tables?.find(e=>"assetMaps"===e.role)}},49255(e,t,n){function r(e){return function(e){return c(e)||4===e}(e)||function(e){return 5===(t=e)||6===t||7===t||8===e||9===e;var t}(e)}function o(e){return 10===e||11===e}function i(e){return u(e)||o(e)}function a(e){return 1===e}function s(e){return 2===e}function u(e){return 0===e||function(e){return a(e)||s(e)}(e)}function c(e){return function(e){return u(e)||o(e)}(e)||l(e)}function l(e){return 3===e}n.d(t,{Ex:()=>o,Rb:()=>s,_$:()=>a,_o:()=>u,eh:()=>l,gr:()=>c,i3:()=>i,uw:()=>r})},53466(e,t,n){n.d(t,{U:()=>o});var r=n(31821);function o(e,t){switch(t.textureCoordinateType){case 1:return e.attributes.add("uv0","vec2"),e.varyings.add("vuv0","vec2"),void e.vertex.code.add(r.H`void forwardTextureCoordinates() { vuv0 = uv0; }`);case 2:return e.attributes.add("uv0","vec2"),e.attributes.add("uvRegion","vec4"),e.varyings.add("vuv0","vec2"),e.varyings.add("vuvRegion","vec4"),void e.vertex.code.add(r.H`void forwardTextureCoordinates() {
|
|
2
|
-
vuv0 = uv0;
|
|
3
|
-
vuvRegion = uvRegion;
|
|
4
|
-
}`);default:t.textureCoordinateType;case 0:return void e.vertex.code.add(r.H`void forwardTextureCoordinates() {}`);case 3:return}}},99208(e,t,n){n.d(t,{r:()=>a});var r=n(53466),o=n(31821);function i(e){e.fragment.code.add(o.H`vec4 textureAtlasLookup(sampler2D tex, vec2 textureCoordinates, vec4 atlasRegion) {
|
|
5
|
-
vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;
|
|
6
|
-
vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;
|
|
7
|
-
float maxdUV = 0.125;
|
|
8
|
-
vec2 dUVdx = clamp(dFdx(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
9
|
-
vec2 dUVdy = clamp(dFdy(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
10
|
-
return textureGrad(tex, uvAtlas, dUVdx, dUVdy);
|
|
11
|
-
}`)}function a(e,t){const{textureCoordinateType:n}=t;if(0===n||3===n)return;e.include(r.U,t);const a=2===n;a&&e.include(i),e.fragment.code.add(o.H`
|
|
12
|
-
vec4 textureLookup(sampler2D tex, vec2 uv) {
|
|
13
|
-
return ${a?"textureAtlasLookup(tex, uv, vuvRegion)":"texture(tex, uv)"};
|
|
14
|
-
}
|
|
15
|
-
`)}},22911(e,t,n){n.d(t,{NL:()=>v});var r=n(34727),o=n(49255),i=n(99208),a=n(65261),s=n(40710),u=n(33079),c=n(28421),l=n(20304),d=n(31821),f=n(15976),m=n(63761);function v(e,t){if(!(0,o._o)(t.output))return;e.fragment.include(a.C);const{emissionSource:n,hasEmissiveTextureTransform:v,bindType:p}=t,h=3===n||4===n||5===n;h&&(e.include(i.r,t),e.fragment.uniforms.add(1===p?new m.N("texEmission",e=>e.textureEmissive):new f.o("texEmission",e=>e.textureEmissive)));const x=2===n||h;x&&e.fragment.uniforms.add(1===p?new u.t("emissiveBaseColor",e=>e.emissiveBaseColor):new s.W("emissiveBaseColor",e=>e.emissiveBaseColor));const g=0!==n;if(g&&7!==n&&6!==n&&4!==n&&5!==n){const t=e=>(0,r.qE)(e??0,0,16);e.fragment.uniforms.add(1===p?new l.m("emissiveStrength",e=>t(e.emissiveStrength)):new c.J("emissiveStrength",e=>t(e.emissiveStrength)))}const y=7===n,b=5===n,w=1===n||6===n||y;e.fragment.code.add(d.H`
|
|
16
|
-
vec4 getEmissions(vec3 symbolColor) {
|
|
17
|
-
vec4 emissions = ${x?b?"emissiveSource == 0 ? vec4(emissiveBaseColor, 1.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(emissiveBaseColor, 1.0)":w?y?"emissiveSource == 0 ? vec4(0.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(linearizeGamma(symbolColor), 1.0)":"vec4(0.0)"};
|
|
18
|
-
${(0,d.If)(h,`${(0,d.If)(b,`if(emissiveSource == 0) {\n vec4 emissiveFromTex = textureLookup(texEmission, ${v?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);\n }`,`vec4 emissiveFromTex = textureLookup(texEmission, ${v?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);`)}\n emissions.a = emissions.rgb == vec3(0.0) ? 0.0: emissions.a;`)}
|
|
19
|
-
${(0,d.If)(g,`emissions.rgb *= emissiveStrength * ${d.H.float(1)};`)}
|
|
20
|
-
return emissions;
|
|
21
|
-
}
|
|
22
|
-
`)}n(72458)},65261(e,t,n){n.d(t,{C:()=>i});var r=n(40876),o=n(31821);function i(e){e.constants.add("GAMMA","float",2.2).constants.add("INV_GAMMA","float",r.iw).code.add(o.H`vec3 delinearizeGamma(vec3 color) {
|
|
23
|
-
return pow(color, vec3(INV_GAMMA));
|
|
24
|
-
}
|
|
25
|
-
vec4 delinearizeGamma(vec4 color) {
|
|
26
|
-
return vec4(delinearizeGamma(color.rgb), color.a);
|
|
27
|
-
}
|
|
28
|
-
vec3 linearizeGamma(vec3 color) {
|
|
29
|
-
return pow(color, vec3(GAMMA));
|
|
30
|
-
}`)}},40710(e,t,n){n.d(t,{W:()=>o});var r=n(74333);class o extends r.n{constructor(e,t,n){super(e,"vec3",2,(r,o,i,a)=>r.setUniform3fv(e,t(o,i,a),n))}}},33079(e,t,n){n.d(t,{t:()=>o});var r=n(74333);class o extends r.n{constructor(e,t,n){super(e,"vec3",1,(r,o,i)=>r.setUniform3fv(e,t(o,i),n))}}},28421(e,t,n){n.d(t,{J:()=>o});var r=n(74333);class o extends r.n{constructor(e,t,n){super(e,"float",2,(r,o,i)=>r.setUniform1f(e,t(o,i),n))}}},20304(e,t,n){n.d(t,{m:()=>o});var r=n(74333);class o extends r.n{constructor(e,t,n){super(e,"float",1,(r,o,i)=>r.setUniform1f(e,t(o,i),n))}}},15976(e,t,n){n.d(t,{o:()=>o});var r=n(74333);class o extends r.n{constructor(e,t,n){super(e,"sampler2D",2,(r,o,i)=>r.bindTexture(e,t(o,i),n?.(o,i)))}}},63761(e,t,n){n.d(t,{N:()=>o});var r=n(74333);class o extends r.n{constructor(e,t){super(e,"sampler2D",1,(n,r,o)=>n.bindTexture(e,t(r,o)))}}},31821(e,t,n){n.d(t,{If:()=>o});const r=(e,...t)=>{let n="";for(let r=0;r<t.length;r++)n+=e[r]+t[r];return n+=e[e.length-1],n};function o(e,t,n=""){return e?t:n}r.int=e=>e.toFixed(),r.uint=e=>`${Math.max(0,e).toFixed()}u`,r.hexuint=e=>`0x${Math.round(Math.max(0,e)).toString(16)}u`,r.float=e=>e.toPrecision(8),n.d(t,["H",0,r])},51976(e,t,n){n.d(t,{K:()=>s,W:()=>u});var r=n(49186),o=n(4576);class i{constructor(e){this._bits=[...e]}equals(e){return(0,o.aI)(this._bits,e.bits)}get code(){return this._code??=String.fromCharCode(...this._bits),this._code}get bits(){return this._bits}}var a=n(65786);class s extends a.Y{constructor(){super(),this._parameterBits=this._parameterBits?.map(()=>0)??[],this._parameterNames??=[]}get key(){return this._key??=new i(this._parameterBits),this._key}decode(e=this.key){const t=this._parameterBits;this._parameterBits=[...e.bits];const n=this._parameterNames.map(e=>` ${e}: ${this[e]}`).join("\n");return this._parameterBits=t,n}}function u(e={}){return(t,n)=>{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(n);const o=e.count||2,i=Math.ceil(Math.log2(o)),a=t._parameterBits;let s=0;for(;a[s]+i>16;)s++,s>=a.length&&a.push(0);const u=a[s],c=(1<<i)-1<<u;a[s]+=i,e.count?Object.defineProperty(t,n,{get(){return(this._parameterBits[s]&c)>>u},set(t){const o=this._parameterBits[s];if((o&c)>>u!==t){if(this._key=null,this._parameterBits[s]=o&~c|+t<<u&c,"number"!=typeof t)throw new r.A("internal:invalid-shader-configuration",`Configuration value for ${n} must be a number, got ${typeof t}`);if(null==e.count)throw new r.A("internal:invalid-shader-configuration",`Configuration value for ${n} must provide a count option`)}}}):Object.defineProperty(t,n,{get(){return!!((this._parameterBits[s]&c)>>u)},set(e){const t=this._parameterBits[s];if(!!((t&c)>>u)!==e&&(this._key=null,this._parameterBits[s]=t&~c|+e<<u,"boolean"!=typeof e))throw new r.A("internal:invalid-shader-configurationx",`Configuration value for ${n} must be boolean, got ${typeof e}`)}})}}},72458(e,t,n){n.d(t,{C:()=>i,O:()=>a});var r=n(5482),o=n(51976);class i extends o.K{constructor(){super(...arguments),this.useFloatBlend=!0}}function a(e,t){t.useFloatBlend?(e.constants.add("floatBlendOutputScale","float",1),e.constants.add("floatBlendInputScale","float",1)):(e.constants.add("floatBlendOutputScale","float",1/16),e.constants.add("floatBlendInputScale","float",16)),e.constants.add("maxEmissiveStrength","float",16)}(0,r.Cg)([(0,o.W)()],i.prototype,"useFloatBlend",void 0)},65786(e,t,n){const r=class{};new r,n.d(t,["Y",0,r])},74333(e,t,n){n.d(t,{n:()=>r});class r{constructor(e,t,n,r,o=null){if(this.name=e,this.type=t,this.arraySize=o,this.bind={0:null,1:null,2:null},r)switch(n){case void 0:break;case 0:this.bind[0]=r;break;case 1:this.bind[1]=r;break;case 2:this.bind[2]=r}}equals(e){return this.type===e.type&&this.name===e.name&&this.arraySize===e.arraySize}}},66655(e,t,n){async function r(e){const t=(await n.e(8457).then(n.bind(n,38457)).then(e=>e.default)).getInstance();return await t.load(e)}async function o(){return c(await Promise.resolve().then(n.bind(n,83300)))}async function i(){return c(await Promise.resolve().then(n.bind(n,16939)))}async function a(){return c(await Promise.resolve().then(n.bind(n,19211)))}async function s(){return c(await Promise.resolve().then(n.bind(n,35063)))}async function u(){return(await Promise.resolve().then(n.bind(n,1193))).default}function c(e){return e.default??e}async function l(){const[e,t,n,c,l,d]=await Promise.all([o(),i(),a(),s(),u(),r()]);return{Mesh:e,MeshComponent:t,MeshMaterial:n,MeshTexture:c,MeshVertexAttributes:l,panoramicMeshManager:d}}async function d(){return c(await n.e(4297).then(n.bind(n,24297)))}async function f(){return c(await Promise.all([n.e(7373),n.e(3500),n.e(1003)]).then(n.bind(n,1003)))}n.d(t,{DN:()=>d,Wn:()=>f,Zg:()=>l})},21060(e,t,n){n.d(t,{createImageSphere:()=>l,loadMeshes:()=>v,loadPyramid:()=>m,loadRaster:()=>d}),n(52106),n(7762);var r=n(49186),o=(n(34727),n(17676)),i=n(80882),a=n(35063),s=n(40118),u=(n(27845),n(68548),n(28208)),c=n(66655);function l({data:e,center:t=u.ZH,size:n=1e3,horizonPitch:r=0,horizonYaw:o=0,horizonRoll:c=0}){const l=t.clone();l.z=-n/2;const d=(0,s.wh)(l,{size:n,densificationFactor:2,vertexSpace:"georeferenced",material:new i.A({emissiveTexture:new a.default({data:e}),emissiveStrength:.5,colorTexture:new a.default({data:e})})});if(d.components[0].trustSourceNormals=!0,d.vertexAttributes.uv){const e=d.vertexAttributes.uv.length??0;for(let t=0;t<e;t++)d.vertexAttributes.uv[2*t+0]=1-d.vertexAttributes.uv[2*t+0]}return d.rotate(r,c,o,{origin:d.extent.center}),d.centerAt(l),d}async function d(e,t){const n=await(0,c.Wn)(),r=await n.open({url:e,ioConfig:{skipExtensions:["jgw","aux.xml"],skipMapInfo:!0},...t});return(0,o.Te)(t),f(r,{url:e})}const f=(e,t)=>{if(!e)throw new r.A("panoramic-viewer:missing-raster","Raster data could not be loaded",t);return e};async function m(e,t,n){const r=await(0,c.DN)();return(0,o.Te)(n),new r({raster:e,horizonPitch:t.pitch,horizonYaw:t.yaw,horizonRoll:t.roll})}async function v(e,t){return e?.length?await Promise.all(e.map(e=>e.loadMesh(t))):[]}}}]);
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8434],{4197(e,t,n){n.d(t,{Vj:()=>l,cj:()=>d,jh:()=>s,l5:()=>o,yH:()=>u});var r=n(34275),i=n(9093);function s(e){return e<=1024?new Array(e).fill(0):new Float64Array(e)}function a(e){return((0,r.iu)(e)?e.byteLength/8:e.length)<=1024?Array.from(e):new Float64Array(e)}function o(e,t,n){return Array.isArray(e)?e.slice(t,t+n):e.subarray(t,t+n)}function u(e,t){if(0===t.length)return a(e);if(0===e.length)return a(t);const n=s(e.length+t.length);for(let t=0;t<e.length;++t)n[t]=e[t];for(let r=0;r<t.length;++r)n[e.length+r]=t[r];return n}function d(e){return[...e]}function l(e){const t=(0,i.vt)();for(let n=0;n<16;++n)t[n]=e[n];return t}},70328(e,t,n){n.d(t,{BI:()=>I,DC:()=>c,Ej:()=>f,Ie:()=>x,Jt:()=>y,Lu:()=>v,Ne:()=>p,RF:()=>l,aI:()=>F,fA:()=>a,gE:()=>u,hZ:()=>b,iT:()=>m,is:()=>w,pg:()=>h,vI:()=>g,vY:()=>o,vt:()=>s,w1:()=>d}),n(35522);var r=n(5443),i=(n(19419),n(4197));function s(e=A){return[e[0],e[1],e[2],e[3],e[4],e[5]]}function a(e,t,n,r,i,a,o=s()){return o[0]=e,o[1]=t,o[2]=n,o[3]=r,o[4]=i,o[5]=a,o}function o(e,t=s()){return function(e,t,n,r=s()){return b(r,M),function(e,t,n=0,r=t.length/3){let i=e[0],s=e[1],a=e[2],o=e[3],u=e[4],d=e[5];for(let e=0;e<r;e++)i=Math.min(i,t[n+3*e]),s=Math.min(s,t[n+3*e+1]),a=Math.min(a,t[n+3*e+2]),o=Math.max(o,t[n+3*e]),u=Math.max(u,t[n+3*e+1]),d=Math.max(d,t[n+3*e+2]);e[0]=i,e[1]=s,e[2]=a,e[3]=o,e[4]=u,e[5]=d}(r,e,t,n),r}(e,0,e.length/3,t)}function u(e,t=(0,i.jh)(24)){const[n,r,s,a,o,u]=e;return t[0]=n,t[1]=r,t[2]=s,t[3]=n,t[4]=r,t[5]=u,t[6]=n,t[7]=o,t[8]=s,t[9]=n,t[10]=o,t[11]=u,t[12]=a,t[13]=r,t[14]=s,t[15]=a,t[16]=r,t[17]=u,t[18]=a,t[19]=o,t[20]=s,t[21]=a,t[22]=o,t[23]=u,t}function d(e,t){const n=isFinite(e[2])||isFinite(e[5]);return new r.A(n?{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],zmin:e[2],zmax:e[5],spatialReference:t}:{xmin:e[0],xmax:e[3],ymin:e[1],ymax:e[4],spatialReference:t})}function l(e,t,n=e){n[0]=Math.min(e[0],t[0]),n[1]=Math.min(e[1],t[1]),n[2]=Math.min(e[2],t[2]),n[3]=Math.max(e[3],t[3]),n[4]=Math.max(e[4],t[4]),n[5]=Math.max(e[5],t[5])}function c(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[3]=Math.max(e[3],t[2]),e[4]=Math.max(e[4],t[3])}function m(e,t){e[0]=Math.min(e[0],t[0]),e[1]=Math.min(e[1],t[1]),e[2]=Math.min(e[2],t[2]),e[3]=Math.max(e[3],t[0]),e[4]=Math.max(e[4],t[1]),e[5]=Math.max(e[5],t[2])}function f(e,t=[0,0,0]){return t[0]=function(e){return e[0]>=e[3]?0:e[3]-e[0]}(e),t[1]=function(e){return e[1]>=e[4]?0:e[4]-e[1]}(e),t[2]=function(e){return e[2]>=e[5]?0:e[5]-e[2]}(e),t}function h(e,t){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t}function v(e,t){return t[0]=e[3],t[1]=e[4],t[2]=e[5],t}function p(e,t,n=e){return n[0]=t[0],n[1]=t[1],n[2]=t[2],n!==e&&(n[3]=e[3],n[4]=e[4],n[5]=e[5]),n}function g(e,t,n=e){return n[3]=t[0],n[4]=t[1],n[5]=t[2],n!==e&&(n[0]=e[0],n[1]=e[1],n[2]=e[2]),e}function b(e,t){return 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}function x(e){return e?b(e,M):s(M)}function y(e,t){return e[0]=t[0],e[1]=t[1],e[2]=Number.NEGATIVE_INFINITY,e[3]=t[2],e[4]=t[3],e[5]=Number.POSITIVE_INFINITY,e}function I(e,t,n,r,i){return e[0]=t,e[1]=n,e[2]=Number.NEGATIVE_INFINITY,e[3]=r,e[4]=i,e[5]=Number.POSITIVE_INFINITY,e}function w(e){return 6===e.length}function F(e,t,n){if(null==e||null==t)return e===t;if(!w(e)||!w(t))return!1;if(n){for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1}else for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}const M=[1/0,1/0,1/0,-1/0,-1/0,-1/0],A=[0,0,0,0,0,0];s(),n.d(t,["qv",0,M,"v_",0,A])},54339(e,t,n){function r(e,t){switch(t.type){case"object-id":case"unique-id-simple":return e.attributes[t.fieldName];case"unique-id-composite":{const n=[];for(const r of t.fieldNames)n.push(e.attributes[r]??null);return JSON.stringify(n)}}}function i(e,t){if("uniqueIdFields"in t&&t.uniqueIdFields?.length){if(1===t.uniqueIdFields.length)return e.attributes?.[t.uniqueIdFields[0]];const n=t.uniqueIdFields.map(t=>e.attributes?.[t]);return JSON.stringify(n)}return"objectIdField"in t&&t.objectIdField?e.attributes?.[t.objectIdField]:null}n.d(t,{W:()=>r,r:()=>i})},47685(e,t,n){n.d(t,{Mk:()=>f,Zk:()=>c});var r=n(5482),i=n(65529),s=n(4718),a=n(91429),o=n(20816);const u=new i.bk;function d(e){return u.on("apply-edits",new WeakRef(e))}function l(e){return u.on("update-moment",new WeakRef(e))}function c(e,t,n=null,r=!1){const i=Promise.withResolvers();return r=null==t||r,u.emit("apply-edits",{serviceUrl:e,layerId:t,gdbVersion:n,mayReceiveServiceEdits:r,result:i.promise}),i}const m=Symbol();function f(e){return null!=e&&"object"==typeof e&&m in e}function h(e){return null!=e&&"object"==typeof e&&"gdbVersion"in e}function v(e,t,n){const r=new URL(e).host,i=o.Z3.get(r),s=e=>!e||e===i;return s(t)&&s(n)||t===n}n.d(t,["w6",0,e=>{var t;const n=e;let i=class extends n{static{t=m}constructor(...e){super(...e),this[t]=!0,this._applyEditsHandler=e=>{const{serviceUrl:t,layerId:n,gdbVersion:r,mayReceiveServiceEdits:i,result:a}=e,o=t===this.url,u=null!=n&&null!=this.layerId&&n===this.layerId,d=null!=n&&this.relationships?.some(e=>e.relatedTableId===n),l=h(this),c=h(this)&&v(t,r,this.gdbVersion);if(!o||l&&!c||!u&&!d&&!i)return;const m=a.then(e=>{if(this.lastEditsEventDate=new Date,u&&(e.addedFeatures.length||e.updatedFeatures.length||e.deletedFeatures.length||e.addedAttachments.length||e.updatedAttachments.length||e.deletedAttachments.length))return this.emit("edits",(0,s.o8)(e)),e;const n=e.editedFeatures?.find(({layerId:e})=>e===this.layerId);if(n){const{adds:t,updates:r,deletes:i}=n.editedFeatures,a={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:t?t.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],deletedFeatures:i?i.map(({attributes:e})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],updatedFeatures:r?r.map(({current:{attributes:e}})=>({objectId:this.objectIdField&&e[this.objectIdField],globalId:this.globalIdField&&e[this.globalIdField]})):[],editedFeatures:(0,s.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,s.o8)(e.historicMoment)};return this.emit("edits",a),a}const i={edits:null,addedAttachments:[],deletedAttachments:[],updatedAttachments:[],addedFeatures:[],deletedFeatures:[],updatedFeatures:[],editedFeatures:(0,s.o8)(e.editedFeatures),exceededTransferLimit:!1,historicMoment:(0,s.o8)(e.historicMoment)};return"historicMoment"in this&&this._shouldUpdateHistoricMoment(t,r,i.historicMoment)&&this.emit("edits",i),i}).then(e=>("historicMoment"in this&&this._shouldUpdateHistoricMoment(t,r,e.historicMoment)&&(this.historicMoment=e.historicMoment),e));m.catch(()=>{}),this.emit("apply-edits",{result:m})},this._updateMomentHandler=e=>{const{serviceUrl:t,gdbVersion:n,moment:r}=e,i=t===this.url,s=h(this),a=h(this)&&v(t,n,this.gdbVersion),o=h(this)&&!v(t,this.gdbVersion,null);i&&s&&a&&o&&"historicMoment"in this&&this.historicMoment!==r&&(this.historicMoment=r)},this.when().then(()=>{this.addHandles(d(this._applyEditsHandler)),"historicMoment"in this&&this.addHandles(l(this._updateMomentHandler))},()=>{})}_shouldUpdateHistoricMoment(e,t,n){return"historicMoment"in this&&this.historicMoment!==n&&(0,o.w5)(e,t)}};return(0,r.Cg)([(0,a.MZ)()],i.prototype,"lastEditsEventDate",void 0),i=(0,r.Cg)([(0,a.$K)("esri.layers.mixins.EditBusLayer")],i),i}])},37352(e,t,n){n.d(t,{A:()=>u});var r,i=n(5482),s=n(7762),a=n(25482),o=n(91429);let u=r=class extends a.o{constructor(e){super(e),this.floorField=null,this.viewAllMode=!1,this.viewAllLevelIds=new s.A}clone(){return new r({floorField:this.floorField,viewAllMode:this.viewAllMode,viewAllLevelIds:this.viewAllLevelIds})}};(0,i.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],u.prototype,"floorField",void 0),(0,i.Cg)([(0,o.MZ)({json:{read:!1,write:!1}})],u.prototype,"viewAllMode",void 0),(0,i.Cg)([(0,o.MZ)({json:{read:!1,write:!1}})],u.prototype,"viewAllLevelIds",void 0),u=r=(0,i.Cg)([(0,o.$K)("esri.layers.support.LayerFloorInfo")],u)},20816(e,t,n){n.d(t,{We:()=>o,ZJ:()=>u,w5:()=>d});var r=n(11254);const i=(0,n(13069).vD)(),s=new Map,a=new Map;async function o(e,t,n){if(!e||!n)return!1;if(!t)return!0;const i=new URL(e).host;let a=s.get(i);if(!a){const t=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,"");a=(await(0,r.A)(t,{responseType:"json",query:{f:"json"}})).data.defaultVersionName}return a===t}async function u(e,t,r=!1){if(!e||!t)return!0;const s=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),o=a.get(s)?.entries();if(o)for(const[e,a]of o)if(a.name===t){const t=!a.stack?.hasForwardEdits();if(!t&&r){const[{deleteForwardEdits:t},{default:r}]=await Promise.all([n.e(2186).then(n.bind(n,32186)),n.e(2558).then(n.bind(n,32558))]),o=await t(s,e,new r({sessionId:i,moment:a.moment}));return o.success&&a.stack?.clearForwardEdits(),o.success}return t}return!0}function d(e,t){if(!e)return!1;const n=e.replace(/\/FeatureServer/i,"/VersionManagementServer").replace(/\/\d*$/,""),r=a.get(n)?.entries();if(r)for(const[e,n]of r)if(n.name===t)return"edit"===n.lockType;return!1}new Map,n.d(t,["TA",0,i,"Z3",0,s])},5682(e,t,n){n.d(t,{s1:()=>l});var r=n(11254),i=(n(4576),n(49186),n(44208),n(58083),n(9093)),s=(n(35522),n(51850)),a=(n(91218),n(16930),n(27993),n(19419));n(39516),n(30524),n(97552);var o=n(59418);n(73941),n(48353),n(90629);var u=n(91829);(0,u.fA)(0,0,0,.2);(0,u.fA)(0,0,0,.2),n(34727);var d=n(57005);async function l(e,t,n,i,s,a,u,d){const l=[];for(const r of t)if(r&&s.includes(r.name)){const t=`${e}/nodes/${n}/attributes/${r.key}/0`;l.push({url:t,storageInfo:r})}const c=await Promise.allSettled(l.map(e=>(0,r.A)(e.url,{responseType:"array-buffer",query:{...u,token:a},signal:d?.signal}).then(t=>(0,o.m0)(e.storageInfo,t.data)))),m=[];for(const e of i){const t={};for(let n=0;n<c.length;n++){const r=c[n];if("fulfilled"===r.status){const i=r.value;t[l[n].storageInfo.name]=(0,o.E5)(i,e)}}m.push(t)}return m}n(22911),(0,a.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,s.vt)(),(0,a.vt)(),(0,a.vt)(),new d.ab,(0,s.vt)(),new Array(72),(0,i.vt)()},49255(e,t,n){function r(e){return function(e){return d(e)||4===e}(e)||function(e){return 5===(t=e)||6===t||7===t||8===e||9===e;var t}(e)}function i(e){return 10===e||11===e}function s(e){return u(e)||i(e)}function a(e){return 1===e}function o(e){return 2===e}function u(e){return 0===e||function(e){return a(e)||o(e)}(e)}function d(e){return function(e){return u(e)||i(e)}(e)||l(e)}function l(e){return 3===e}n.d(t,{Ex:()=>i,Rb:()=>o,_$:()=>a,_o:()=>u,eh:()=>l,gr:()=>d,i3:()=>s,uw:()=>r})},53466(e,t,n){n.d(t,{U:()=>i});var r=n(31821);function i(e,t){switch(t.textureCoordinateType){case 1:return e.attributes.add("uv0","vec2"),e.varyings.add("vuv0","vec2"),void e.vertex.code.add(r.H`void forwardTextureCoordinates() { vuv0 = uv0; }`);case 2:return e.attributes.add("uv0","vec2"),e.attributes.add("uvRegion","vec4"),e.varyings.add("vuv0","vec2"),e.varyings.add("vuvRegion","vec4"),void e.vertex.code.add(r.H`void forwardTextureCoordinates() {
|
|
2
|
-
vuv0 = uv0;
|
|
3
|
-
vuvRegion = uvRegion;
|
|
4
|
-
}`);default:t.textureCoordinateType;case 0:return void e.vertex.code.add(r.H`void forwardTextureCoordinates() {}`);case 3:return}}},99208(e,t,n){n.d(t,{r:()=>a});var r=n(53466),i=n(31821);function s(e){e.fragment.code.add(i.H`vec4 textureAtlasLookup(sampler2D tex, vec2 textureCoordinates, vec4 atlasRegion) {
|
|
5
|
-
vec2 atlasScale = atlasRegion.zw - atlasRegion.xy;
|
|
6
|
-
vec2 uvAtlas = fract(textureCoordinates) * atlasScale + atlasRegion.xy;
|
|
7
|
-
float maxdUV = 0.125;
|
|
8
|
-
vec2 dUVdx = clamp(dFdx(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
9
|
-
vec2 dUVdy = clamp(dFdy(textureCoordinates), -maxdUV, maxdUV) * atlasScale;
|
|
10
|
-
return textureGrad(tex, uvAtlas, dUVdx, dUVdy);
|
|
11
|
-
}`)}function a(e,t){const{textureCoordinateType:n}=t;if(0===n||3===n)return;e.include(r.U,t);const a=2===n;a&&e.include(s),e.fragment.code.add(i.H`
|
|
12
|
-
vec4 textureLookup(sampler2D tex, vec2 uv) {
|
|
13
|
-
return ${a?"textureAtlasLookup(tex, uv, vuvRegion)":"texture(tex, uv)"};
|
|
14
|
-
}
|
|
15
|
-
`)}},22911(e,t,n){n.d(t,{NL:()=>h});var r=n(34727),i=n(49255),s=n(99208),a=n(65261),o=n(40710),u=n(33079),d=n(28421),l=n(20304),c=n(31821),m=n(15976),f=n(63761);function h(e,t){if(!(0,i._o)(t.output))return;e.fragment.include(a.C);const{emissionSource:n,hasEmissiveTextureTransform:h,bindType:v}=t,p=3===n||4===n||5===n;p&&(e.include(s.r,t),e.fragment.uniforms.add(1===v?new f.N("texEmission",e=>e.textureEmissive):new m.o("texEmission",e=>e.textureEmissive)));const g=2===n||p;g&&e.fragment.uniforms.add(1===v?new u.t("emissiveBaseColor",e=>e.emissiveBaseColor):new o.W("emissiveBaseColor",e=>e.emissiveBaseColor));const b=0!==n;if(b&&7!==n&&6!==n&&4!==n&&5!==n){const t=e=>(0,r.qE)(e??0,0,16);e.fragment.uniforms.add(1===v?new l.m("emissiveStrength",e=>t(e.emissiveStrength)):new d.J("emissiveStrength",e=>t(e.emissiveStrength)))}const x=7===n,y=5===n,I=1===n||6===n||x;e.fragment.code.add(c.H`
|
|
16
|
-
vec4 getEmissions(vec3 symbolColor) {
|
|
17
|
-
vec4 emissions = ${g?y?"emissiveSource == 0 ? vec4(emissiveBaseColor, 1.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(emissiveBaseColor, 1.0)":I?x?"emissiveSource == 0 ? vec4(0.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(linearizeGamma(symbolColor), 1.0)":"vec4(0.0)"};
|
|
18
|
-
${(0,c.If)(p,`${(0,c.If)(y,`if(emissiveSource == 0) {\n vec4 emissiveFromTex = textureLookup(texEmission, ${h?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);\n }`,`vec4 emissiveFromTex = textureLookup(texEmission, ${h?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);`)}\n emissions.a = emissions.rgb == vec3(0.0) ? 0.0: emissions.a;`)}
|
|
19
|
-
${(0,c.If)(b,`emissions.rgb *= emissiveStrength * ${c.H.float(1)};`)}
|
|
20
|
-
return emissions;
|
|
21
|
-
}
|
|
22
|
-
`)}n(72458)},65261(e,t,n){n.d(t,{C:()=>s});var r=n(40876),i=n(31821);function s(e){e.constants.add("GAMMA","float",2.2).constants.add("INV_GAMMA","float",r.iw).code.add(i.H`vec3 delinearizeGamma(vec3 color) {
|
|
23
|
-
return pow(color, vec3(INV_GAMMA));
|
|
24
|
-
}
|
|
25
|
-
vec4 delinearizeGamma(vec4 color) {
|
|
26
|
-
return vec4(delinearizeGamma(color.rgb), color.a);
|
|
27
|
-
}
|
|
28
|
-
vec3 linearizeGamma(vec3 color) {
|
|
29
|
-
return pow(color, vec3(GAMMA));
|
|
30
|
-
}`)}},40710(e,t,n){n.d(t,{W:()=>i});var r=n(74333);class i extends r.n{constructor(e,t,n){super(e,"vec3",2,(r,i,s,a)=>r.setUniform3fv(e,t(i,s,a),n))}}},33079(e,t,n){n.d(t,{t:()=>i});var r=n(74333);class i extends r.n{constructor(e,t,n){super(e,"vec3",1,(r,i,s)=>r.setUniform3fv(e,t(i,s),n))}}},28421(e,t,n){n.d(t,{J:()=>i});var r=n(74333);class i extends r.n{constructor(e,t,n){super(e,"float",2,(r,i,s)=>r.setUniform1f(e,t(i,s),n))}}},20304(e,t,n){n.d(t,{m:()=>i});var r=n(74333);class i extends r.n{constructor(e,t,n){super(e,"float",1,(r,i,s)=>r.setUniform1f(e,t(i,s),n))}}},15976(e,t,n){n.d(t,{o:()=>i});var r=n(74333);class i extends r.n{constructor(e,t,n){super(e,"sampler2D",2,(r,i,s)=>r.bindTexture(e,t(i,s),n?.(i,s)))}}},63761(e,t,n){n.d(t,{N:()=>i});var r=n(74333);class i extends r.n{constructor(e,t){super(e,"sampler2D",1,(n,r,i)=>n.bindTexture(e,t(r,i)))}}},31821(e,t,n){n.d(t,{If:()=>i});const r=(e,...t)=>{let n="";for(let r=0;r<t.length;r++)n+=e[r]+t[r];return n+=e[e.length-1],n};function i(e,t,n=""){return e?t:n}r.int=e=>e.toFixed(),r.uint=e=>`${Math.max(0,e).toFixed()}u`,r.hexuint=e=>`0x${Math.round(Math.max(0,e)).toString(16)}u`,r.float=e=>e.toPrecision(8),n.d(t,["H",0,r])},51976(e,t,n){n.d(t,{K:()=>o,W:()=>u});var r=n(49186),i=n(4576);class s{constructor(e){this._bits=[...e]}equals(e){return(0,i.aI)(this._bits,e.bits)}get code(){return this._code??=String.fromCharCode(...this._bits),this._code}get bits(){return this._bits}}var a=n(65786);class o extends a.Y{constructor(){super(),this._parameterBits=this._parameterBits?.map(()=>0)??[],this._parameterNames??=[]}get key(){return this._key??=new s(this._parameterBits),this._key}decode(e=this.key){const t=this._parameterBits;this._parameterBits=[...e.bits];const n=this._parameterNames.map(e=>` ${e}: ${this[e]}`).join("\n");return this._parameterBits=t,n}}function u(e={}){return(t,n)=>{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(n);const i=e.count||2,s=Math.ceil(Math.log2(i)),a=t._parameterBits;let o=0;for(;a[o]+s>16;)o++,o>=a.length&&a.push(0);const u=a[o],d=(1<<s)-1<<u;a[o]+=s,e.count?Object.defineProperty(t,n,{get(){return(this._parameterBits[o]&d)>>u},set(t){const i=this._parameterBits[o];if((i&d)>>u!==t){if(this._key=null,this._parameterBits[o]=i&~d|+t<<u&d,"number"!=typeof t)throw new r.A("internal:invalid-shader-configuration",`Configuration value for ${n} must be a number, got ${typeof t}`);if(null==e.count)throw new r.A("internal:invalid-shader-configuration",`Configuration value for ${n} must provide a count option`)}}}):Object.defineProperty(t,n,{get(){return!!((this._parameterBits[o]&d)>>u)},set(e){const t=this._parameterBits[o];if(!!((t&d)>>u)!==e&&(this._key=null,this._parameterBits[o]=t&~d|+e<<u,"boolean"!=typeof e))throw new r.A("internal:invalid-shader-configurationx",`Configuration value for ${n} must be boolean, got ${typeof e}`)}})}}},72458(e,t,n){n.d(t,{C:()=>s,O:()=>a});var r=n(5482),i=n(51976);class s extends i.K{constructor(){super(...arguments),this.useFloatBlend=!0}}function a(e,t){t.useFloatBlend?(e.constants.add("floatBlendOutputScale","float",1),e.constants.add("floatBlendInputScale","float",1)):(e.constants.add("floatBlendOutputScale","float",1/16),e.constants.add("floatBlendInputScale","float",16)),e.constants.add("maxEmissiveStrength","float",16)}(0,r.Cg)([(0,i.W)()],s.prototype,"useFloatBlend",void 0)},45671(e,t,n){n.d(t,{D8:()=>s,TO:()=>i});var r=n(30524);async function i(e,t=e.popupTemplate){if(null==t)return[];const n=await t.getRequiredFields(e.fieldsIndex),{lastEditInfoEnabled:i}=t,{objectIdField:s,typeIdField:a,globalIdField:o,relationships:u}=e;if(n.includes("*"))return["*"];const d=i?(0,r.eX)(e):[],l=(0,r.DB)(e.fieldsIndex,[...n,...d]);return a&&l.push(a),l&&s&&e.fieldsIndex?.has(s)&&!l.includes(s)&&l.push(s),l&&o&&e.fieldsIndex?.has(o)&&!l.includes(o)&&l.push(o),u?.forEach(t=>{const{keyField:n}=t;l&&n&&e.fieldsIndex?.has(n)&&!l.includes(n)&&l.push(n)}),l}function s(e,t){return e&&"object"==typeof e?t?.checkPopupEnabled&&"popupEnabled"in e&&!e.popupEnabled?null:"popupTemplate"in e&&e.popupTemplate?e.popupTemplate:null!=t&&t.defaultPopupTemplateEnabled&&"defaultPopupTemplate"in e&&e.defaultPopupTemplate?e.defaultPopupTemplate:null:null}},65786(e,t,n){const r=class{};new r,n.d(t,["Y",0,r])},74333(e,t,n){n.d(t,{n:()=>r});class r{constructor(e,t,n,r,i=null){if(this.name=e,this.type=t,this.arraySize=i,this.bind={0:null,1:null,2:null},r)switch(n){case void 0:break;case 0:this.bind[0]=r;break;case 1:this.bind[1]=r;break;case 2:this.bind[2]=r}}equals(e){return this.type===e.type&&this.name===e.name&&this.arraySize===e.arraySize}}}}]);
|