@arcgis/core 6.0.0-next.26 → 6.0.0-next.28

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.
Files changed (343) hide show
  1. package/Map.d.ts +6 -0
  2. package/analysis/AreaMeasurementAnalysis.d.ts +4 -2
  3. package/analysis/DirectLineMeasurementAnalysis.d.ts +8 -4
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/0363d29fc665d169ebc4.js +1 -0
  6. package/assets/esri/core/workers/chunks/037c67ef5c4398d5954d.js +1 -0
  7. package/assets/esri/core/workers/chunks/03f33cb78b5405ab7e23.js +1 -0
  8. package/assets/esri/core/workers/chunks/07b726a46864501b90a0.js +1 -0
  9. package/assets/esri/core/workers/chunks/0864da8f8f147016cf1c.js +1 -0
  10. package/assets/esri/core/workers/chunks/{768389f7f8dba6080df7.js → 0cc7fba402a93e6d2455.js} +2 -2
  11. package/assets/esri/core/workers/chunks/0cfdeb53fb7d5532cf01.js +1 -0
  12. package/assets/esri/core/workers/chunks/112ed86f812e4400a7e0.js +1 -0
  13. package/assets/esri/core/workers/chunks/177f353ce72133e2eeed.js +1 -0
  14. package/assets/esri/core/workers/chunks/1dc6f093028530a492e6.js +1 -0
  15. package/assets/esri/core/workers/chunks/2294254af2c6afb560ee.js +1 -0
  16. package/assets/esri/core/workers/chunks/23a4806b4cdf7cc32e4d.js +1 -0
  17. package/assets/esri/core/workers/chunks/2447d2e2a4a3ab8fcf94.js +1 -0
  18. package/assets/esri/core/workers/chunks/271ae7deccb94112c2df.js +1 -0
  19. package/assets/esri/core/workers/chunks/2df37a9a95ceebb87a5f.js +1 -0
  20. package/assets/esri/core/workers/chunks/2e00c155e447e4930442.js +1 -0
  21. package/assets/esri/core/workers/chunks/2e9a1673b1d51aa082b6.js +1 -0
  22. package/assets/esri/core/workers/chunks/344f5334ad95c7974349.js +1 -0
  23. package/assets/esri/core/workers/chunks/348f1def9cd2ddf92e87.js +1 -0
  24. package/assets/esri/core/workers/chunks/{8e4206068c6953bb7df2.js → 3a47fc97c400fca2c736.js} +1 -1
  25. package/assets/esri/core/workers/chunks/47c97640ec525676918b.js +1 -0
  26. package/assets/esri/core/workers/chunks/50763ea061d5fb3f2e49.js +1 -0
  27. package/assets/esri/core/workers/chunks/518ab22f80c3300bcfff.js +1 -0
  28. package/assets/esri/core/workers/chunks/58609bf94f72bc4f1952.js +1 -0
  29. package/assets/esri/core/workers/chunks/586a929bc037e23857af.js +1 -0
  30. package/assets/esri/core/workers/chunks/58d10e0b35968680fd9f.js +1 -0
  31. package/assets/esri/core/workers/chunks/59bc55880e6fd8ce20c0.js +1 -0
  32. package/assets/esri/core/workers/chunks/{7c75a8ee266c36baa902.js → 5eec1c1162779574f46e.js} +1 -1
  33. package/assets/esri/core/workers/chunks/62a0abcf45a2bd14ecbe.js +1 -0
  34. package/assets/esri/core/workers/chunks/63c4412c16d8a44a5668.js +1 -0
  35. package/assets/esri/core/workers/chunks/6b4c3411f63a9ad9354c.js +1 -0
  36. package/assets/esri/core/workers/chunks/{f528ac5c648ca6a98582.js → 711cfb84659cb4437679.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{9dd1fc56eb1ea6eb705e.js → 76e27e36050a3dd9d249.js} +1 -1
  38. package/assets/esri/core/workers/chunks/76f877e2d2493d56afab.js +1 -0
  39. package/assets/esri/core/workers/chunks/77463141652bf1ca6fb2.js +1 -0
  40. package/assets/esri/core/workers/chunks/7d3f7940815fa5dc244e.js +1 -0
  41. package/assets/esri/core/workers/chunks/914a0b5d9fef683cdf9c.js +1 -0
  42. package/assets/esri/core/workers/chunks/96f87c8efd4b11b37686.js +1 -0
  43. package/assets/esri/core/workers/chunks/97ec46605f16333144b7.js +1 -0
  44. package/assets/esri/core/workers/chunks/{7b482afb9fd1229f5707.js → 9934e8e19f94e9169eea.js} +1 -1
  45. package/assets/esri/core/workers/chunks/99f51d5d9da6e9bfc430.js +1 -0
  46. package/assets/esri/core/workers/chunks/9aebe876b1a2fb075f9c.js +1 -0
  47. package/assets/esri/core/workers/chunks/9c3db7a7c05fa0e81f0a.js +1 -0
  48. package/assets/esri/core/workers/chunks/{6f1d6453184e0a1530ad.js → 9c4961213ac6ec283dd9.js} +25 -25
  49. package/assets/esri/core/workers/chunks/a2cc53ad1a514167e4b8.js +1 -0
  50. package/assets/esri/core/workers/chunks/a33ba23aee3f8f40200f.js +1 -0
  51. package/assets/esri/core/workers/chunks/{45ba4aa87a4732198596.js → b13d8f4e4e80ef00b1bd.js} +1 -1
  52. package/assets/esri/core/workers/chunks/b3801d58c024224917df.js +1 -0
  53. package/assets/esri/core/workers/chunks/b3aa29589dcfb5b93106.js +1 -0
  54. package/assets/esri/core/workers/chunks/b3dbcf43f136ba2dadc5.js +1 -0
  55. package/assets/esri/core/workers/chunks/b9596d862da1ec342cd3.js +1 -0
  56. package/assets/esri/core/workers/chunks/bc1fcc9c897461e68e29.js +1 -0
  57. package/assets/esri/core/workers/chunks/{8b4e9fd88c0c313416d4.js → be04f40f8b403befd0ef.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{150e7a7bd5df25693da7.js → c90388932a7825d9d933.js} +1 -1
  59. package/assets/esri/core/workers/chunks/ca21786e519c914fc9e1.js +1 -0
  60. package/assets/esri/core/workers/chunks/cdb5c26fed7d9a97db49.js +1 -0
  61. package/assets/esri/core/workers/chunks/cdf0c7706d3e1221f49b.js +1 -0
  62. package/assets/esri/core/workers/chunks/d63e181f0e48bde73395.js +1 -0
  63. package/assets/esri/core/workers/chunks/d77888c84a8b49478807.js +1 -0
  64. package/assets/esri/core/workers/chunks/d7f2f1708d2a2668676c.js +1 -0
  65. package/assets/esri/core/workers/chunks/{13c64087be3b2985a21b.js → dbda982485d3fe26c729.js} +1 -1
  66. package/assets/esri/core/workers/chunks/dc7aa0a1eb6c6e361f9f.js +1 -0
  67. package/assets/esri/core/workers/chunks/ec1c4d66142b6efb0e8b.js +1 -0
  68. package/assets/esri/core/workers/chunks/ef2c3febcceedc44b3ac.js +1 -0
  69. package/assets/esri/core/workers/chunks/f08a2a262a3b55149396.js +1 -0
  70. package/assets/esri/core/workers/chunks/f2d56f5c15d5977e1d19.js +1 -0
  71. package/assets/esri/core/workers/chunks/ffe2077a9df7c838ea27.js +1 -0
  72. package/assets/esri/layers/raster/formats/lerc-wasm.wasm +0 -0
  73. package/chunks/BlendLayers.glsl.js +1 -1
  74. package/chunks/Component.glsl.js +9 -12
  75. package/chunks/GaussianSplat.glsl.js +65 -21
  76. package/chunks/GaussianSplatDepth.glsl.js +45 -4
  77. package/chunks/GaussianSplatShadow.glsl.js +73 -19
  78. package/chunks/GlobalIllumination.glsl.js +17 -47
  79. package/chunks/LineMarker.glsl.js +32 -31
  80. package/chunks/OITAddEmission.glsl.js +1 -1
  81. package/chunks/RasterColorizer.glsl.js +1 -1
  82. package/chunks/RibbonLine.glsl.js +36 -36
  83. package/chunks/Terrain.glsl.js +3 -4
  84. package/chunks/Water.glsl.js +22 -23
  85. package/config.js +1 -1
  86. package/core/ReentrantObjectPool.js +1 -1
  87. package/core/memoryEstimations.js +1 -1
  88. package/core/workers/workers.js +2 -2
  89. package/core/workers.d.ts +1 -1
  90. package/form/elements/inputs/DynamicChoiceInput.d.ts +2 -2
  91. package/form/elements/inputs.d.ts +126 -25
  92. package/form/elements/inputs.js +1 -1
  93. package/form/elements.d.ts +1 -0
  94. package/geometry/operators/containsOperator.d.ts +1 -1
  95. package/geometry/operators/densifyOperator.d.ts +1 -1
  96. package/geometry/operators/differenceOperator.d.ts +6 -4
  97. package/geometry/operators/distanceOperator.d.ts +1 -1
  98. package/geometry/operators/geodesicProximityOperator.d.ts +8 -8
  99. package/geometry/operators/graphicBufferOperator.d.ts +6 -6
  100. package/geometry/operators/integrateOperator.d.ts +2 -2
  101. package/geometry/operators/intersectsOperator.d.ts +3 -3
  102. package/geometry/operators/linesToPolygonsOperator.d.ts +2 -2
  103. package/geometry/operators/locateBetweenOperator.d.ts +2 -2
  104. package/geometry/operators/minimumBoundingCircleOperator.d.ts +1 -1
  105. package/geometry/operators/multiPartToSinglePartOperator.d.ts +2 -2
  106. package/geometry/operators/polygonSlicerOperator.d.ts +2 -2
  107. package/geometry/operators/projectOperator.d.ts +2 -2
  108. package/geometry/operators/proximityOperator.d.ts +15 -15
  109. package/geometry/operators/shapePreservingProjectOperator.d.ts +2 -2
  110. package/geometry/operators/simplifyOperator.d.ts +2 -2
  111. package/geometry/operators/support/GeographicTransformationStep.d.ts +3 -3
  112. package/geometry/operators/support/Transformation.d.ts +8 -8
  113. package/geometry/operators/support/geographicTransformationUtils.d.ts +3 -3
  114. package/geometry/operators/symmetricDifferenceOperator.d.ts +2 -2
  115. package/geometry/operators/withinOperator.d.ts +3 -3
  116. package/geometry/support/Indices.js +1 -1
  117. package/graphic/MapNotesGraphicOrigin.d.ts +1 -0
  118. package/kernel.js +1 -1
  119. package/layers/GeospatialPDFLayer.d.ts +2 -2
  120. package/layers/GeospatialPDFLayer.js +1 -1
  121. package/layers/MapNotesLayer.d.ts +3 -2
  122. package/layers/ParquetLayer.d.ts +1 -1
  123. package/layers/VectorTileLayer.d.ts +10 -1
  124. package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +2 -1
  125. package/layers/geospatialPDF/CIM2DLayerview.js +2 -0
  126. package/layers/geospatialPDF/GeospatialPDFFrame.js +1 -1
  127. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  128. package/layers/mixins/SublayersOwner.js +1 -1
  129. package/layers/orientedImagery/transformations/imageToWorld.js +1 -1
  130. package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
  131. package/layers/support/Sublayer.d.ts +2 -2
  132. package/layers/support/Sublayer.js +1 -1
  133. package/layers/support/SubtypeSublayer.js +1 -1
  134. package/layers/support/layerUtils.js +1 -1
  135. package/package.json +3 -3
  136. package/popup/FeaturesModel.js +1 -1
  137. package/popup/support/featureUtils.js +1 -1
  138. package/rest/featureService/FeatureService.d.ts +0 -5
  139. package/rest/networks/support/TraceLocation.d.ts +2 -1
  140. package/rest/networks/support/TraceResult.d.ts +0 -4
  141. package/rest/support/AttributeBinsQuery.d.ts +3 -2
  142. package/rest/support/ImageGPSInfoParameters.d.ts +2 -1
  143. package/rest/support/OutDistance.d.ts +2 -2
  144. package/rest/support/Query.d.ts +3 -2
  145. package/rest/support/TopFeaturesQuery.d.ts +2 -1
  146. package/rest/support/types.d.ts +10 -1
  147. package/smartMapping/raster/renderers/flow.d.ts +2 -1
  148. package/smartMapping/renderers/color.d.ts +11 -8
  149. package/smartMapping/renderers/location.d.ts +7 -4
  150. package/smartMapping/renderers/predominance.d.ts +7 -4
  151. package/smartMapping/renderers/relationship.d.ts +7 -4
  152. package/smartMapping/renderers/size.d.ts +6 -4
  153. package/smartMapping/renderers/type.d.ts +7 -4
  154. package/smartMapping/renderers/types.d.ts +15 -0
  155. package/smartMapping/renderers/univariateColorSize.d.ts +4 -2
  156. package/smartMapping/statistics/histogramForTimeSeries.js +1 -1
  157. package/smartMapping/statistics/summaryStatisticsForTimeSeries.js +1 -1
  158. package/smartMapping/symbology/flow.d.ts +2 -1
  159. package/smartMapping/symbology/types.d.ts +2 -1
  160. package/support/BasemapStyle.d.ts +2 -2
  161. package/symbols/cim/CIMCursor.js +1 -1
  162. package/symbols/cim/types.d.ts +7 -9
  163. package/tables/elements.d.ts +1 -0
  164. package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
  165. package/views/2d/engine/webgl/animations/instructions.js +1 -1
  166. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  167. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterVertexPack.js +1 -1
  168. package/views/2d/engine/webgl/textureUtils.js +1 -1
  169. package/views/2d/layers/GeospatialPDFLayerView2D.js +1 -1
  170. package/views/2d/layers/MediaLayerView2D.js +1 -1
  171. package/views/2d/layers/TileLayerView2D.js +1 -1
  172. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  173. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementPathHelper.js +1 -1
  174. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  175. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  176. package/views/3d/analysis/support/projectionUtils.js +1 -1
  177. package/views/3d/environment/SunLighting.d.ts +15 -2
  178. package/views/3d/environment/VirtualLighting.d.ts +15 -2
  179. package/views/3d/input/SceneInputManager.js +1 -1
  180. package/views/3d/input/handlers/ground/GroundMouseWheelMove.js +2 -0
  181. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  182. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  183. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  184. package/views/3d/layers/GeospatialPDFLayerView3D.js +1 -1
  185. package/views/3d/layers/ImageryTileLayerView3D.js +1 -1
  186. package/views/3d/layers/graphics/Graphics3DBufferGraphicLayer.js +1 -1
  187. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  188. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayerBase.js +1 -1
  189. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  190. package/views/3d/layers/graphics/Graphics3DFeatureStore.js +1 -1
  191. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  192. package/views/3d/layers/graphics/Graphics3DGraphicCreationContext.js +1 -1
  193. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  194. package/views/3d/layers/graphics/Graphics3DMeshObject3DGraphicLayer.js +1 -1
  195. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  196. package/views/3d/layers/graphics/Graphics3DStageObjectGraphicLayer.js +1 -1
  197. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  198. package/views/3d/layers/graphics/Labeler.js +1 -1
  199. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  200. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  201. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  202. package/views/3d/layers/support/featureReference.js +1 -1
  203. package/views/3d/navigation/Navigation3D.js +1 -1
  204. package/views/3d/state/controllers/GroundMouseWheelController.js +2 -0
  205. package/views/3d/state/utils/OffsetCorrectionController.js +1 -1
  206. package/views/3d/state/utils/groundNavigationUtils.js +1 -1
  207. package/views/3d/terrain/BlendLayers.glsl.js +1 -1
  208. package/views/3d/terrain/PatchRenderData.js +1 -1
  209. package/views/3d/terrain/RasterColorizer.glsl.js +1 -1
  210. package/views/3d/terrain/TerrainData.js +1 -1
  211. package/views/3d/terrain/TerrainRenderer.js +1 -1
  212. package/views/3d/terrain/TerrainSurface.js +1 -1
  213. package/views/3d/terrain/TextureFader.js +1 -1
  214. package/views/3d/terrain/TextureReference.js +1 -1
  215. package/views/3d/terrain/TileCompositor.js +1 -1
  216. package/views/3d/terrain/TileRenderInfo.js +1 -1
  217. package/views/3d/terrain/TileRenderer.js +1 -1
  218. package/views/3d/terrain/terrainUtils.js +1 -1
  219. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTangent.glsl.js +7 -8
  220. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +25 -25
  221. package/views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js +3 -5
  222. package/views/3d/webgl-engine/core/shaderLibrary/shading/forwardLocalUp.glsl.js +6 -0
  223. package/views/3d/webgl-engine/core/shaderLibrary/shading/getLocalUp.glsl.js +4 -0
  224. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +1 -1
  225. package/views/3d/webgl-engine/core/shaderLibrary/terrain/{TileBackground.glsl.js → blendLayers.glsl.js} +10 -11
  226. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +8 -2
  227. package/views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js +1 -1
  228. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  229. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  230. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
  231. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  232. package/views/3d/webgl-engine/lib/BoundingInfo.js +1 -1
  233. package/views/3d/webgl-engine/lib/BufferGeometry.js +1 -1
  234. package/views/3d/webgl-engine/lib/BufferObject3D.js +1 -1
  235. package/views/3d/webgl-engine/lib/DirtyEvents.js +1 -1
  236. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  237. package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
  238. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  239. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  240. package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
  241. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  242. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBuffer.js +1 -1
  243. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  244. package/views/3d/webgl-engine/lib/geometryMemoryUtils.js +2 -0
  245. package/views/3d/webgl-engine/materials/Water.glsl.js +1 -1
  246. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  247. package/views/3d/webgl-engine/shaders/GaussianSplatDepth.glsl.js +1 -1
  248. package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +61 -108
  249. package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
  250. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  251. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  252. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  253. package/views/VideoView.js +1 -1
  254. package/views/draw/DrawOperation.js +1 -1
  255. package/views/draw/DrawScreenTool.js +1 -1
  256. package/views/input/types.d.ts +2 -4
  257. package/views/interactive/options/LabelOptions.d.ts +5 -5
  258. package/views/interactive/options/SnappingOptions.d.ts +2 -2
  259. package/views/selection/SelectionOperation.js +1 -1
  260. package/views/selection/types.d.ts +43 -3
  261. package/views/support/layerViewUtils.js +1 -1
  262. package/views/support/selectionUtils.js +1 -1
  263. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +0 -1
  264. package/widgets/Editor/VisibleElements.d.ts +4 -0
  265. package/widgets/Editor.d.ts +2 -0
  266. package/widgets/FeatureTable.js +1 -1
  267. package/widgets/Features/FeaturesViewModel.js +1 -1
  268. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  269. package/widgets/OrientedImageryViewer/adapters/view/SceneViewAdapter.js +1 -1
  270. package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
  271. package/widgets/OrientedImageryViewer/support/NonPanoramicMedia.js +1 -1
  272. package/widgets/OrientedImageryViewer/support/dataCaptureUtils.js +1 -1
  273. package/widgets/OrientedImageryViewer.js +2 -2
  274. package/widgets/PanoramicViewer/utils.js +1 -1
  275. package/widgets/Print.js +1 -1
  276. package/widgets/Search/LayerSearchSource.d.ts +1 -1
  277. package/widgets/Sketch/VisibleElements.d.ts +4 -0
  278. package/widgets/Sketch.d.ts +2 -0
  279. package/widgets/support/SelectionList/GroupLayerItem.d.ts +6 -0
  280. package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
  281. package/widgets/support/SelectionList/ItemBase.js +1 -1
  282. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.d.ts +6 -1
  283. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  284. package/widgets/support/SelectionToolbar.d.ts +8 -1
  285. package/widgets/support/SelectionToolbar.js +1 -1
  286. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  287. package/assets/esri/core/workers/chunks/0320cbd825f9a4222042.js +0 -1
  288. package/assets/esri/core/workers/chunks/067de1910190da228291.js +0 -1
  289. package/assets/esri/core/workers/chunks/09bd5df07eab80ae7b15.js +0 -1
  290. package/assets/esri/core/workers/chunks/164e74d586297946a717.js +0 -1
  291. package/assets/esri/core/workers/chunks/1c0c5cb13c2590aae906.js +0 -1
  292. package/assets/esri/core/workers/chunks/1c77de1e79860f8d2228.js +0 -1
  293. package/assets/esri/core/workers/chunks/24dac4970526a4e0ae63.js +0 -1
  294. package/assets/esri/core/workers/chunks/2acf2952cef69e382a35.js +0 -1
  295. package/assets/esri/core/workers/chunks/30dcf2cfb31cb70de7df.js +0 -1
  296. package/assets/esri/core/workers/chunks/371e2ddb88cc6b9a41e8.js +0 -1
  297. package/assets/esri/core/workers/chunks/42f6194633c2d879c8da.js +0 -1
  298. package/assets/esri/core/workers/chunks/44f90e75c1dc3d726a95.js +0 -1
  299. package/assets/esri/core/workers/chunks/4abd3753cd9b80e4d937.js +0 -1
  300. package/assets/esri/core/workers/chunks/4bb9a5f4ca944d3fc206.js +0 -1
  301. package/assets/esri/core/workers/chunks/4c389472b8cdb0c55154.js +0 -1
  302. package/assets/esri/core/workers/chunks/4d93bed14945e3d34d5c.js +0 -1
  303. package/assets/esri/core/workers/chunks/4e3f651ac76fcd53df2b.js +0 -1
  304. package/assets/esri/core/workers/chunks/505227797bcf2a1d908d.js +0 -1
  305. package/assets/esri/core/workers/chunks/58da3f8cf0f7f6a7e4fa.js +0 -1
  306. package/assets/esri/core/workers/chunks/5a19a9c3e01d3d415188.js +0 -1
  307. package/assets/esri/core/workers/chunks/5a830bc35adbedd33783.js +0 -1
  308. package/assets/esri/core/workers/chunks/6db0f8fe1402643fbe1a.js +0 -1
  309. package/assets/esri/core/workers/chunks/7124ad8dc5ad40dc66f3.js +0 -1
  310. package/assets/esri/core/workers/chunks/7446d0dfebf93e86c098.js +0 -1
  311. package/assets/esri/core/workers/chunks/7c631e2947243e2c9bde.js +0 -1
  312. package/assets/esri/core/workers/chunks/7f0f9dddc44b1f1600f0.js +0 -1
  313. package/assets/esri/core/workers/chunks/7fb7493f483cd9878bfa.js +0 -1
  314. package/assets/esri/core/workers/chunks/8e310e9cb9d84ac3ca2f.js +0 -1
  315. package/assets/esri/core/workers/chunks/950d4578dc450467404c.js +0 -1
  316. package/assets/esri/core/workers/chunks/99a0a434ea2162166754.js +0 -1
  317. package/assets/esri/core/workers/chunks/9afc87474cef1fc4fe4a.js +0 -1
  318. package/assets/esri/core/workers/chunks/9cbde13e536676767900.js +0 -1
  319. package/assets/esri/core/workers/chunks/9cd3fcb5fca6f9dbbcd8.js +0 -1
  320. package/assets/esri/core/workers/chunks/a025ee38d402504193df.js +0 -1
  321. package/assets/esri/core/workers/chunks/a4b822ee45810c4c292a.js +0 -1
  322. package/assets/esri/core/workers/chunks/a51576d84edca88e41dd.js +0 -1
  323. package/assets/esri/core/workers/chunks/ac24b4370dc7194a3107.js +0 -1
  324. package/assets/esri/core/workers/chunks/ace41659a5ca0e5abfc3.js +0 -1
  325. package/assets/esri/core/workers/chunks/b01804aa6c47a220a603.js +0 -1
  326. package/assets/esri/core/workers/chunks/b3273f847405799e3362.js +0 -1
  327. package/assets/esri/core/workers/chunks/ba3d5abff65aefcb8dee.js +0 -1
  328. package/assets/esri/core/workers/chunks/bca6b469940b7b954123.js +0 -1
  329. package/assets/esri/core/workers/chunks/c0d7ae314ebfad1e3791.js +0 -1
  330. package/assets/esri/core/workers/chunks/c337fc0e6dc69c233e6d.js +0 -1
  331. package/assets/esri/core/workers/chunks/c8eae00b0ec87d8b2ff3.js +0 -1
  332. package/assets/esri/core/workers/chunks/cd9aa950cb74b09008fe.js +0 -1
  333. package/assets/esri/core/workers/chunks/e0d9dc97985561320bd4.js +0 -1
  334. package/assets/esri/core/workers/chunks/e2775b4b753306dc8477.js +0 -1
  335. package/assets/esri/core/workers/chunks/eaddffcc7004101fc230.js +0 -1
  336. package/assets/esri/core/workers/chunks/ebbf425af348e6ede814.js +0 -1
  337. package/assets/esri/core/workers/chunks/efc53007cd2e4991d7d4.js +0 -1
  338. package/assets/esri/core/workers/chunks/f46e92c67986c8c09bdd.js +0 -1
  339. package/assets/esri/core/workers/chunks/f8bc474434fd365ab174.js +0 -1
  340. package/assets/esri/core/workers/chunks/f8d2225f333524ce1d88.js +0 -1
  341. package/assets/esri/core/workers/chunks/f95a1f878c9c1146180e.js +0 -1
  342. package/assets/esri/core/workers/chunks/fb37f0848196c28b7fd7.js +0 -1
  343. /package/assets/esri/core/workers/chunks/{768389f7f8dba6080df7.js.LICENSE.txt → 0cc7fba402a93e6d2455.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[8247],{78247(e,t,i){i.d(t,{A:()=>pe});var n,o=i(32198),s=i(69540),r=i(25482),p=i(3483),l=i(91429),a=i(36005);let u=n=class extends r.o{constructor(e){super(e),this.expression=null,this.name=null,this.returnType="boolean",this.title=null}clone(){return new n({name:this.name,title:this.title,expression:this.expression,returnType:this.returnType})}};(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],u.prototype,"expression",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],u.prototype,"name",void 0),(0,o.Cg)([(0,l.MZ)({type:["boolean","date","dictionary","number","string"],json:{write:!0}})],u.prototype,"returnType",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],u.prototype,"title",void 0),u=n=(0,o.Cg)([(0,l.$K)("esri.form.ExpressionInfo")],u);const y=u;var m=i(4718),d=i(79901),c=i(43937),h=i(28787),g=i(78888);let w=class extends((0,s.OU)(r.o)){constructor(){super(...arguments),this.type=null}};(0,o.Cg)([(0,l.MZ)()],w.prototype,"type",void 0),w=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.Input")],w);const C=w,x=["any","capture","upload"];let M=class extends C{constructor(e){super(e),this.type="audio",this.inputMethod="any",this.maxDuration=null}};(0,o.Cg)([(0,l.MZ)({type:["audio"],readOnly:!0,json:{write:!0}})],M.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:x,json:{write:!0}})],M.prototype,"inputMethod",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],M.prototype,"maxDuration",void 0),M=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.AudioInput")],M);const v=M;let f=class extends C{constructor(e){super(e),this.type="document",this.maxFileSize=null}};(0,o.Cg)([(0,l.MZ)({type:["document"],readOnly:!0,json:{write:!0}})],f.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],f.prototype,"maxFileSize",void 0),f=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.DocumentInput")],f);const b=f;let Z=class extends C{constructor(e){super(e),this.type="image",this.inputMethod="any",this.maxImageSize=null}};(0,o.Cg)([(0,l.MZ)({type:["image"],readOnly:!0,json:{write:!0}})],Z.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:x,json:{write:!0}})],Z.prototype,"inputMethod",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],Z.prototype,"maxImageSize",void 0),Z=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.ImageInput")],Z);const j=Z;let E=class extends C{constructor(e){super(e),this.type="video",this.inputMethod="any",this.maxDuration=null}};(0,o.Cg)([(0,l.MZ)({type:["video"],readOnly:!0,json:{write:!0}})],E.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:x,json:{write:!0}})],E.prototype,"inputMethod",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],E.prototype,"maxDuration",void 0),E=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.VideoInput")],E);const S=E;let T=class extends C{constructor(e){super(e),this.type="signature",this.inputMethod="any"}};(0,o.Cg)([(0,l.MZ)({type:["signature"],readOnly:!0,json:{write:!0}})],T.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:x,json:{write:!0}})],T.prototype,"inputMethod",void 0),T=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.SignatureInput")],T);const K=T;function A(e){return{nestableTypes:{base:C,key:"type",typeMap:{audio:v,document:b,image:j,signature:K,video:S}},allTypes:{base:C,key:"type",typeMap:{attachment:e,audio:v,document:b,image:j,signature:K,video:S}}}}let N=class extends C{constructor(e){super(e),this.type="attachment",this.attachmentAssociationType="exact"}get inputTypes(){return this._get("inputTypes")??null}set inputTypes(e){this._set("inputTypes",e)}castInputs(e){return i=I,(t=e)?t.map(e=>(0,g.aq)(i.nestableTypes,e)):null;var t,i}readInputs(e,t){let i=function(e,t){if(!e)return null;let i=t.nestableTypes.typeMap;return e.filter(e=>i[e.type]).map(e=>i[e.type].fromJSON(e))}(t.inputTypes,I);return null==i||Array.isArray(i)&&i.length<1?[new j,new b,new S,new v]:i}writeInputs(e,t){(null==e||Array.isArray(e)&&e.length<1)&&(e=[new j,new b,new S,new v]),t.inputTypes=function(e,t){if(!e)return null;let i=t.nestableTypes.typeMap;return e.filter(e=>i[e.type]).map(e=>e.toJSON())}(e,I)}};(0,o.Cg)([(0,l.MZ)({type:["attachment"],readOnly:!0,json:{write:!0}})],N.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:["any","exact","exactOrNone"],json:{write:!0}})],N.prototype,"attachmentAssociationType",void 0),(0,o.Cg)([(0,l.MZ)({json:{write:{isRequired:!0,writerEnsuresNonNull:!0}}})],N.prototype,"inputTypes",null),(0,o.Cg)([(0,l.wg)("inputTypes")],N.prototype,"castInputs",null),(0,o.Cg)([(0,a.w)("inputTypes")],N.prototype,"readInputs",null),(0,o.Cg)([(0,c.K)("inputTypes")],N.prototype,"writeInputs",null),N=(0,o.Cg)([(0,l.$K)("esri.form.elements.inputs.attachments.AttachmentInput")],N);const I=A(N);var O;const k=A(N);let R=O=class extends h.A{constructor(e){super(e),this.allowUserRename=!0,this.attachmentKeyword=null,this.displayFilename=!1,this.editableExpression=null,this.filenameExpression='StandardizeFilename(`${$formElement.attachmentKeyword}_${Text(Now(), "YMMDDHHmmss")}`)',this.input=null,this.maxAttachmentCount=null,this.minAttachmentCount=null,this.type="attachment",this.useOriginalFilename=!0}clone(){return new O({allowUserRename:this.allowUserRename,attachmentKeyword:this.attachmentKeyword,description:this.description,displayFilename:this.displayFilename,editableExpression:this.editableExpression,filenameExpression:this.filenameExpression,input:this.input?.clone(),label:this.label,maxAttachmentCount:this.maxAttachmentCount,minAttachmentCount:this.minAttachmentCount,useOriginalFilename:this.useOriginalFilename,visibilityExpression:this.visibilityExpression})}};(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],R.prototype,"allowUserRename",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:{isRequired:!0}}})],R.prototype,"attachmentKeyword",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],R.prototype,"displayFilename",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],R.prototype,"editableExpression",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],R.prototype,"filenameExpression",void 0),(0,o.Cg)([(0,l.MZ)({types:k.allTypes,json:{read:{source:"inputType"},write:{target:"inputType",isRequired:!0}}})],R.prototype,"input",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],R.prototype,"maxAttachmentCount",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],R.prototype,"minAttachmentCount",void 0),(0,o.Cg)([(0,l.MZ)({type:["attachment"],readOnly:!0,json:{read:!1,write:!0}})],R.prototype,"type",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{write:!0}})],R.prototype,"useOriginalFilename",void 0),R=O=(0,o.Cg)([(0,l.$K)("esri.form.elements.AttachmentElement")],R);const $=R;var F,V=i(89909),L=i(49852);let B=F=class extends h.A{constructor(e){super(e),this.displayCount=null,this.displayType="list",this.editableExpression=null,this.orderByFields=null,this.relationshipId=null,this.type="relationship"}clone(){return new F({description:this.description,displayCount:this.displayCount,displayType:this.displayType,editableExpression:this.editableExpression,label:this.label,orderByFields:(0,m.o8)(this.orderByFields),relationshipId:this.relationshipId,visibilityExpression:this.visibilityExpression})}};(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],B.prototype,"displayCount",void 0),(0,o.Cg)([(0,l.MZ)({type:["list"],json:{write:!0}})],B.prototype,"displayType",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],B.prototype,"editableExpression",void 0),(0,o.Cg)([(0,l.MZ)({type:[L.A],json:{write:!0}})],B.prototype,"orderByFields",void 0),(0,o.Cg)([(0,l.MZ)({type:Number,json:{write:!0}})],B.prototype,"relationshipId",void 0),(0,o.Cg)([(0,l.MZ)({type:["relationship"],json:{read:!1,write:!0}})],B.prototype,"type",void 0),B=F=(0,o.Cg)([(0,l.$K)("esri.form.elements.RelationshipElement")],B);const D=B;var q;let W=q=class extends h.A{constructor(e){super(e),this.text=null,this.textFormat="plain-text",this.type="text"}clone(){return new q({text:this.text,textFormat:this.textFormat,visibilityExpression:this.visibilityExpression})}};(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],W.prototype,"text",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],W.prototype,"textFormat",void 0),(0,o.Cg)([(0,l.MZ)({type:["text"],readOnly:!0,json:{read:!1,write:!0}})],W.prototype,"type",void 0),W=q=(0,o.Cg)([(0,l.$K)("esri.form.elements.TextElement")],W);const G=W;var U=i(83342);let _=class extends((0,s.OU)(h.A)){constructor(e){super(e),this.associationTypes=null,this.editableExpression=null,this.type="utilityNetworkAssociations"}};(0,o.Cg)([(0,l.MZ)({type:[U.A],json:{write:{isRequired:!0}}})],_.prototype,"associationTypes",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],_.prototype,"editableExpression",void 0),(0,o.Cg)([(0,l.MZ)({type:["utilityNetworkAssociations"],json:{read:!1,write:!0}})],_.prototype,"type",void 0),_=(0,o.Cg)([(0,l.$K)("esri.form.elements.UtilityNetworkAssociationsElement")],_);const z=_,P=e=>"field"===e.type,H=e=>"group"===e.type,J=e=>"text"===e.type;function Y(e){return{typesWithGroup:{base:h.A,key:"type",typeMap:{attachment:$,field:V.A,group:e,relationship:D,text:G,utilityNetworkAssociations:z}},typesWithoutGroup:{base:h.A,key:"type",typeMap:{attachment:$,field:V.A,relationship:D,text:G,utilityNetworkAssociations:z}}}}function Q(e,t,i=!0){if(!e)return null;let n=i?t.typesWithGroup.typeMap:t.typesWithoutGroup.typeMap;return e.filter(e=>n[e.type]).map(e=>n[e.type].fromJSON(e))}function X(e,t,i=!0){if(!e)return null;let n=i?t.typesWithGroup.typeMap:t.typesWithoutGroup.typeMap;return e.filter(e=>n[e.type]).map(e=>e.toJSON())}function ee(e,t,i=!0){return e?e.map(e=>(0,g.aq)(i?t.typesWithGroup:t.typesWithoutGroup,e)):null}var te;let ie=te=class extends h.A{constructor(e){super(e),this.initialState="expanded",this.type="group"}get elements(){return this._get("elements")??null}set elements(e){this._set("elements",e)}castElements(e){return ee(e,ne,!1)}readElements(e,t){return Q(t.formElements,ne,!1)}writeElements(e,t){t.formElements=X(e,ne,!1)}clone(){return new te({description:this.description,elements:(0,m.o8)(this.elements),initialState:this.initialState,label:this.label,visibilityExpression:this.visibilityExpression})}};(0,o.Cg)([(0,l.MZ)({json:{write:!0}})],ie.prototype,"elements",null),(0,o.Cg)([(0,d.w)("elements")],ie.prototype,"castElements",null),(0,o.Cg)([(0,a.w)("elements",["formElements"])],ie.prototype,"readElements",null),(0,o.Cg)([(0,c.K)("elements")],ie.prototype,"writeElements",null),(0,o.Cg)([(0,l.MZ)({type:["collapsed","expanded"],json:{write:!0}})],ie.prototype,"initialState",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{read:!1,write:!0}})],ie.prototype,"type",void 0),ie=te=(0,o.Cg)([(0,l.$K)("esri.form.elements.GroupElement")],ie);const ne=Y(ie),oe=ie;var se=i(30524);const re=Y(oe);let pe=class extends((0,s.OU)(r.o)){constructor(e){super(e),this.description=null,this.expressionInfos=null,this.preserveFieldValuesWhenHidden=!1,this.supportsAttachmentElements=!1,this.title=null}get elements(){return this._get("elements")??null}set elements(e){this._set("elements",e)}castElements(e){return ee(e,re)}readElements(e,t){return Q(t.formElements,re)}writeElements(e,t){t.formElements=X(e,re)}async getFieldsUsed(e,t){let i=new Set,{description:n,elements:o,expressionInfos:s,title:r}=this;if(ue(i,e,n),ue(i,e,r),!o)return[];let p=function(e,t){if(!t||0===t.length)return[];let i=ae(e),n=[];for(let e of t)i.has(e.name)&&n.push(e.expression);return n}(o,s).map(t=>(0,se.Dx)(i,e,null,t));await Promise.all(p);for(let n of o)le(i,{fieldsIndex:e,relationships:t},n);return Array.from(i).sort()}};function le(e,t,i){let{fieldsIndex:n}=t;if(n?.fields.length!==e.size)switch(ue(e,n,i.label),ue(e,n,i.description),i.type){case"field":(0,se.rq)(e,n,i.fieldName);break;case"group":i.elements.forEach(i=>le(e,t,i));break;case"relationship":if(t.relationships){let o=t.relationships.find(e=>e.id===i.relationshipId);o&&(0,se.rq)(e,n,o.keyField)}(0,se._w)(e,n,i.orderByFields?.map(e=>e.field));break;case"text":ue(e,n,i.text)}}function ae(e){let t=new Set;for(let i of e)if((0,p.kb)(t,i.visibilityExpression),!J(i))if(H(i))(0,p.FB)(t,ae(i.elements));else if((0,p.kb)(t,i.editableExpression),P(i)){let{requiredExpression:e,valueExpression:n}=i;(0,p.FB)(t,[e,n])}return t}function ue(e,t,i){(0,se._w)(e,t,(0,se.nw)(i))}(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],pe.prototype,"description",void 0),(0,o.Cg)([(0,l.MZ)({json:{write:!0}})],pe.prototype,"elements",null),(0,o.Cg)([(0,l.wg)("elements")],pe.prototype,"castElements",null),(0,o.Cg)([(0,a.w)("elements",["formElements"])],pe.prototype,"readElements",null),(0,o.Cg)([(0,c.K)("elements")],pe.prototype,"writeElements",null),(0,o.Cg)([(0,l.MZ)({type:[y],json:{write:!0}})],pe.prototype,"expressionInfos",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{default:!1,write:!0}})],pe.prototype,"preserveFieldValuesWhenHidden",void 0),(0,o.Cg)([(0,l.MZ)({type:Boolean,json:{default:!1,write:!0}})],pe.prototype,"supportsAttachmentElements",void 0),(0,o.Cg)([(0,l.MZ)({type:String,json:{write:!0}})],pe.prototype,"title",void 0),pe=(0,o.Cg)([(0,l.$K)("esri.form.FormTemplate")],pe)},28787(e,t,i){i.d(t,{A:()=>p});var n=i(32198),o=i(25482),s=i(10107),r=i(64108);let p=class extends o.o{constructor(e){super(e),this.description=null,this.label=null,this.type=null,this.visibilityExpression=null}};(0,n.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],p.prototype,"description",void 0),(0,n.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],p.prototype,"label",void 0),(0,n.Cg)([(0,s.MZ)()],p.prototype,"type",void 0),(0,n.Cg)([(0,s.MZ)({type:String,json:{write:!0}})],p.prototype,"visibilityExpression",void 0),p=(0,n.Cg)([(0,r.$)("esri.form.elements.Element")],p)},89909(e,t,i){i.d(t,{A:()=>ge});var n=i(32198),o=i(91429),s=i(28787),r=i(51447),p=i(53966),l=i(25482);let a=class extends l.o{constructor(e){super(e),this.type=null}};(0,n.Cg)([(0,o.MZ)()],a.prototype,"type",void 0),a=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.Input")],a);const u=a;let y=class extends u{constructor(e){super(e),this.maxLength=null,this.minLength=0}};(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],y.prototype,"maxLength",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],y.prototype,"minLength",void 0),y=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.TextInput")],y);const m=y;var d;let c=d=class extends m{constructor(e){super(e),this.type="barcode-scanner"}clone(){return new d({maxLength:this.maxLength,minLength:this.minLength})}};(0,n.Cg)([(0,o.MZ)({type:["barcode-scanner"],json:{read:!1,write:!0}})],c.prototype,"type",void 0),c=d=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.BarcodeScannerInput")],c);const h=c;let g=class extends u{constructor(){super(...arguments),this.noValueOptionLabel=null,this.showNoValueOption=!0}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],g.prototype,"noValueOptionLabel",void 0),(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],g.prototype,"showNoValueOption",void 0),g=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.SingleChoiceInput")],g);const w=g;var C;let x=C=class extends w{constructor(e){super(e),this.type="combo-box"}clone(){return new C({showNoValueOption:this.showNoValueOption,noValueOptionLabel:this.noValueOptionLabel})}};(0,n.Cg)([(0,o.MZ)({type:["combo-box"],json:{read:!1,write:!0}})],x.prototype,"type",void 0),x=C=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.ComboBoxInput")],x);const M=x;var v,f=i(36005),b=i(43937);function Z(e){return e??null}function j(e){return e??null}let E=v=class extends u{constructor(e){super(e),this.max=null,this.min=null,this.type="date-picker"}readMax(e,t){return Z(t.max)}writeMax(e,t){t.max=j(e)}readMin(e,t){return Z(t.min)}writeMin(e,t){t.min=j(e)}clone(){return new v({max:this.max,min:this.min})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],E.prototype,"max",void 0),(0,n.Cg)([(0,f.w)("max")],E.prototype,"readMax",null),(0,n.Cg)([(0,b.K)("max")],E.prototype,"writeMax",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],E.prototype,"min",void 0),(0,n.Cg)([(0,f.w)("min")],E.prototype,"readMin",null),(0,n.Cg)([(0,b.K)("min")],E.prototype,"writeMin",null),(0,n.Cg)([(0,o.MZ)({type:["date-picker"],json:{read:!1,write:!0}})],E.prototype,"type",void 0),E=v=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.DatePickerInput")],E);const S=E;var T;function K(e){return e??null}function A(e){return e??null}let N=T=class extends u{constructor(e){super(e),this.includeTimeOffset=!0,this.max=null,this.min=null,this.timeResolution="minutes",this.type="timestampoffset-picker"}readMax(e,t){return K(t.max)}writeMax(e,t){t.max=A(e)}readMin(e,t){return K(t.min)}writeMin(e,t){t.min=A(e)}readTimeResolution(e,t){return K(t.timeResolution)}writeTimeResolution(e,t){t.timeResolution=A(e)}clone(){return new T({includeTimeOffset:this.includeTimeOffset,max:this.max,min:this.min,timeResolution:this.timeResolution})}};(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],N.prototype,"includeTimeOffset",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],N.prototype,"max",void 0),(0,n.Cg)([(0,f.w)("max")],N.prototype,"readMax",null),(0,n.Cg)([(0,b.K)("max")],N.prototype,"writeMax",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],N.prototype,"min",void 0),(0,n.Cg)([(0,f.w)("min")],N.prototype,"readMin",null),(0,n.Cg)([(0,b.K)("min")],N.prototype,"writeMin",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],N.prototype,"timeResolution",void 0),(0,n.Cg)([(0,f.w)("timeResolution")],N.prototype,"readTimeResolution",null),(0,n.Cg)([(0,b.K)("timeResolution")],N.prototype,"writeTimeResolution",null),(0,n.Cg)([(0,o.MZ)({type:["timestampoffset-picker"],json:{read:!1,write:!0}})],N.prototype,"type",void 0),N=T=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.DateTimeOffsetPickerInput")],N);const I=N;var O;function k(e){return null==e?null:new Date(e)}function R(e){return e?e.getTime():null}let $=O=class extends u{constructor(e){super(e),this.includeTime=!1,this.max=null,this.min=null,this.type="datetime-picker"}readMax(e,t){return k(t.max)}writeMax(e,t){t.max=R(e)}readMin(e,t){return k(t.min)}writeMin(e,t){t.min=R(e)}clone(){return new O({includeTime:this.includeTime,max:this.max,min:this.min})}};(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],$.prototype,"includeTime",void 0),(0,n.Cg)([(0,o.MZ)({type:Date,json:{type:Number,write:!0}})],$.prototype,"max",void 0),(0,n.Cg)([(0,f.w)("max")],$.prototype,"readMax",null),(0,n.Cg)([(0,b.K)("max")],$.prototype,"writeMax",null),(0,n.Cg)([(0,o.MZ)({type:Date,json:{type:Number,write:!0}})],$.prototype,"min",void 0),(0,n.Cg)([(0,f.w)("min")],$.prototype,"readMin",null),(0,n.Cg)([(0,b.K)("min")],$.prototype,"writeMin",null),(0,n.Cg)([(0,o.MZ)({type:["datetime-picker"],json:{read:!1,write:!0}})],$.prototype,"type",void 0),$=O=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.DateTimePickerInput")],$);const F=$;var V;let L=V=class extends w{constructor(e){super(e),this.choiceExpression=null,this.type="dynamic-choice"}clone(){return new V({choiceExpression:this.choiceExpression,showNoValueOption:this.showNoValueOption,noValueOptionLabel:this.noValueOptionLabel})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:{isRequired:!0}}})],L.prototype,"choiceExpression",void 0),(0,n.Cg)([(0,o.MZ)({type:["dynamic-choice"],json:{read:!1,write:!0}})],L.prototype,"type",void 0),L=V=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.DynamicChoiceInput")],L);const B=L;var D;let q=D=class extends l.o{constructor(e){super(e),this.label="",this.value=""}clone(){return new D({label:this.label,value:this.value})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],q.prototype,"label",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],q.prototype,"value",void 0),q=D=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.multipleChoice.Choice")],q);const W=q;var G;let U=G=class extends l.o{constructor(e){super(e),this.fieldName="",this.hint=null,this.label=null}clone(){return new G({fieldName:this.fieldName,hint:this.hint,label:this.label})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],U.prototype,"fieldName",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],U.prototype,"hint",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],U.prototype,"label",void 0),U=G=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.multipleChoice.OtherChoice")],U);const _=U;var z;let P=z=class extends u{constructor(e){super(e),this.choiceDelimiter=",",this.choices=[],this.includeSelectAllChoices=null,this.maximumChoices=null,this.minimumChoices=null,this.otherChoice=null,this.type="multiple-choice"}clone(){return new z({choiceDelimiter:this.choiceDelimiter,choices:this.choices.map(e=>e.clone()),includeSelectAllChoices:this.includeSelectAllChoices,maximumChoices:this.maximumChoices,minimumChoices:this.minimumChoices,otherChoice:this.otherChoice?.clone()??null})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],P.prototype,"choiceDelimiter",void 0),(0,n.Cg)([(0,o.MZ)({type:[W],json:{write:!0}})],P.prototype,"choices",void 0),(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],P.prototype,"includeSelectAllChoices",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],P.prototype,"maximumChoices",void 0),(0,n.Cg)([(0,o.MZ)({type:Number,json:{write:!0}})],P.prototype,"minimumChoices",void 0),(0,n.Cg)([(0,o.MZ)({type:_,json:{write:!0}})],P.prototype,"otherChoice",void 0),(0,n.Cg)([(0,o.MZ)({type:["multiple-choice"],json:{read:!1,write:!0}})],P.prototype,"type",void 0),P=z=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.MultipleChoiceInput")],P);const H=P;var J;let Y=J=class extends w{constructor(e){super(e),this.type="radio-buttons"}clone(){return new J({noValueOptionLabel:this.noValueOptionLabel,showNoValueOption:this.showNoValueOption})}};(0,n.Cg)([(0,o.MZ)({type:["radio-buttons"],json:{read:!1,write:!0}})],Y.prototype,"type",void 0),Y=J=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.RadioButtonsInput")],Y);const Q=Y;var X;let ee=X=class extends u{constructor(e){super(e),this.offValue=null,this.onValue=null,this.type="switch"}clone(){return new X({offValue:this.offValue,onValue:this.onValue})}};(0,n.Cg)([(0,o.MZ)({type:[String,Number],json:{write:!0}})],ee.prototype,"offValue",void 0),(0,n.Cg)([(0,o.MZ)({type:[String,Number],json:{write:!0}})],ee.prototype,"onValue",void 0),(0,n.Cg)([(0,o.MZ)({type:["switch"],json:{read:!1,write:!0}})],ee.prototype,"type",void 0),ee=X=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.SwitchInput")],ee);const te=ee;var ie;let ne=ie=class extends m{constructor(e){super(e),this.type="text-area"}clone(){return new ie({maxLength:this.maxLength,minLength:this.minLength})}};(0,n.Cg)([(0,o.MZ)({type:["text-area"],json:{read:!1,write:!0}})],ne.prototype,"type",void 0),ne=ie=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.TextAreaInput")],ne);const oe=ne;var se;let re=se=class extends m{constructor(e){super(e),this.type="text-box"}clone(){return new se({maxLength:this.maxLength,minLength:this.minLength})}};(0,n.Cg)([(0,o.MZ)({type:["text-box"],json:{read:!1,write:!0}})],re.prototype,"type",void 0),re=se=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.TextBoxInput")],re);const pe=re;var le;function ae(e){return e??null}function ue(e){return e??null}let ye=le=class extends u{constructor(e){super(e),this.max=null,this.min=null,this.timeResolution="minutes",this.type="time-picker"}readMax(e,t){return ae(t.max)}writeMax(e,t){t.max=ue(e)}readMin(e,t){return ae(t.min)}writeMin(e,t){t.min=ue(e)}readTimeResolution(e,t){return ae(t.timeResolution)}writeTimeResolution(e,t){t.timeResolution=ue(e)}clone(){return new le({max:this.max,min:this.min,timeResolution:this.timeResolution})}};(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],ye.prototype,"max",void 0),(0,n.Cg)([(0,f.w)("max")],ye.prototype,"readMax",null),(0,n.Cg)([(0,b.K)("max")],ye.prototype,"writeMax",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],ye.prototype,"min",void 0),(0,n.Cg)([(0,f.w)("min")],ye.prototype,"readMin",null),(0,n.Cg)([(0,b.K)("min")],ye.prototype,"writeMin",null),(0,n.Cg)([(0,o.MZ)({type:String,json:{type:String,write:!0}})],ye.prototype,"timeResolution",void 0),(0,n.Cg)([(0,f.w)("timeResolution")],ye.prototype,"readTimeResolution",null),(0,n.Cg)([(0,b.K)("timeResolution")],ye.prototype,"writeTimeResolution",null),(0,n.Cg)([(0,o.MZ)({type:["time-picker"],json:{read:!1,write:!0}})],ye.prototype,"type",void 0),ye=le=(0,n.Cg)([(0,o.$K)("esri.form.elements.inputs.TimePickerInput")],ye);const me=ye;(0,r.uW)(p.A.getLogger("esri.form.elements.inputs"),"esri.form.elements.inputs",{replacement:"Individual input module imports",version:"5.2",warnOnce:!0});const de={base:u,key:"type",typeMap:{"barcode-scanner":h,"combo-box":M,"date-picker":S,"datetime-picker":F,"dynamic-choice":B,"multiple-choice":H,"timestampoffset-picker":I,"datetimeoffset-picker":I,"radio-buttons":Q,switch:te,"text-area":oe,"text-box":pe,"time-picker":me}};var ce,he=i(8631);let ge=ce=class extends s.A{constructor(e){super(e),this.domain=null,this.editable=null,this.editableExpression=null,this.fieldName=null,this.hint=null,this.input=null,this.requiredExpression=null,this.type="field",this.valueExpression=null}clone(){return new ce({description:this.description,domain:this.domain?.clone()??null,editable:this.editable,editableExpression:this.editableExpression,fieldName:this.fieldName,hint:this.hint,input:this.input?.clone(),label:this.label,requiredExpression:this.requiredExpression,valueExpression:this.valueExpression,visibilityExpression:this.visibilityExpression})}};(0,n.Cg)([(0,o.MZ)({types:he.g,json:{read:{reader:he.r},write:!0}})],ge.prototype,"domain",void 0),(0,n.Cg)([(0,o.MZ)({type:Boolean,json:{write:!0}})],ge.prototype,"editable",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"editableExpression",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"fieldName",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"hint",void 0),(0,n.Cg)([(0,o.MZ)({types:de,json:{read:{source:"inputType"},write:{target:"inputType"}}})],ge.prototype,"input",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"requiredExpression",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{read:!1,write:!0}})],ge.prototype,"type",void 0),(0,n.Cg)([(0,o.MZ)({type:String,json:{write:!0}})],ge.prototype,"valueExpression",void 0),ge=ce=(0,n.Cg)([(0,o.$K)("esri.form.elements.FieldElement")],ge)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[31,506,1132,1550,1666,1948,7992,8125],{61691(e,t,r){r.d(t,{G:()=>s});class s{*[Symbol.iterator](){let e=this.next();for(;e;)yield e,e=this.next()}}},70031(e,t,r){r.d(t,{OperatorIntersects:()=>n});var s=r(39117);class n extends s.Z{getOperatorType(){return 4}execute(e,t,r,n){return!(0,s._)(e,t,r,4,n)}}},76061(e,t,r){r.d(t,{S:()=>n});var s=r(61691);class n extends s.G{m_aGeoms;m_iGeom=-1;constructor(e){super(),this.m_aGeoms=e?e.slice():[]}next(){if(this.m_iGeom<this.m_aGeoms.length-1){let e=this.m_aGeoms[++this.m_iGeom];return this.m_aGeoms[this.m_iGeom]=null,e}return null}tock(){return!1}getGeometryID(){return this.m_iGeom}getRank(){return 1}}},69397(e,t,r){r.d(t,{Qf:()=>l,Qh:()=>i,lM:()=>a,ro:()=>h,rq:()=>u});var s=r(44208),n=r(34275);function a(e){if(!e)return 0;let t=f;for(let r in e)e.hasOwnProperty(r)&&(t+=o(e[r],!1));return t}function i(e){if(!e)return 0;if("number"==typeof e[0])return l(e);if(Array.isArray(e))return function(e){let t=e.length;if(0===t||"number"==typeof e[0])return u(e,8);let r=g;for(let s=0;s<t;s++)r+=o(e[s]);return r}(e);let t=f;for(let r in e)e.hasOwnProperty(r)&&(t+=o(e[r]));return t}function o(e,t=!0){switch(typeof e){case"object":return t?i(e):f;case"string":return function(e){return 32+e.length}(e);case"number":return 16;case"boolean":return 4;default:return 8}}function l(...e){return e.reduce((e,t)=>e+h(t),0)}function h(e,t=16){return e?(0,n.iu)(e)?e.byteLength+c:Array.isArray(e)?u(e,t):0:0}function u(e,t){return g+e.length*t}const f=32,g=16,m=(0,s.A)("ios")||!(0,s.A)("chrome")&&!(0,s.A)("opr")?8:4,c=145;r.d(t,["JY",0,m])},87992(e,t,r){r.d(t,{JR:()=>Z,ME:()=>M,MY:()=>O,NO:()=>C,Nh:()=>P,V2:()=>_,_s:()=>I,e6:()=>F,gh:()=>E,jm:()=>V,tr:()=>X,uX:()=>p});var s=r(32198),n=(r(69397),r(16930)),a=r(19419),i=r(60408),o=r(21325),l=r(513),h=r(50954),u=r(79567),f=r(52006),g=r(49663),m=r(46068),c=r(92722);class p{constructor({type:e,spatialReference:t,vertexCount:r,vertexXY:s,vertexZ:n,vertexM:a,partCount:i,partOffsets:o,partFlags:l,segmentFlags:h,segmentIndices:u,segmentParams:f,segmentCountArc:g,segmentCountBezier:m}){this.segmentCountArc=0,this.segmentCountBezier=0,this.type=e,this.spatialReference=t,this.vertexCount=r,this.vertexXY=s,this.vertexZ=n,this.vertexM=a,this.partCount=i,this.partOffsets=o,this.partFlags=l,this.segmentFlags=h,this.segmentIndices=u,this.segmentParams=f,this.segmentCountArc=g,this.segmentCountBezier=m}get segmentParamCount(){return 10*this.segmentCountArc+4*this.segmentCountBezier}get segmentCountLine(){let{segmentCount:e,segmentCountArc:t,segmentCountBezier:r}=this;return e&&e-t-r}get segmentCount(){return"polyline"===this.type?this.vertexCount-this.partCount:"polygon"===this.type?this.vertexCount:0}get hasZ(){return null!=this.vertexZ}get hasM(){return null!=this.vertexM}hasCurves(){return this.segmentCountArc+this.segmentCountBezier>0}isMultipart(){return"polyline"===this.type||"polygon"===this.type}get usedMemory(){function e(e){return e?64+e.byteLength:0}return e(this.vertexXY)+e(this.vertexZ)+e(this.vertexM)+e(this.partOffsets)+e(this.partFlags)+e(this.segmentFlags)+e(this.segmentIndices)+e(this.segmentParams)}clone(){let{type:e,vertexCount:t,partCount:r,hasZ:s,hasM:n,segmentCountArc:a,segmentCountBezier:i}=this,o=_(e,t,r,s,n,this.hasCurves(),a,i);o.spatialReference=this.spatialReference;let{vertexXY:l,vertexZ:h,vertexM:u}=this;if(o.vertexXY.set(l.subarray(0,2*t),0),o.vertexZ?.set(h.subarray(0,t),0),o.vertexM?.set(u.subarray(0,t),0),this.isMultipart()){let{partOffsets:e,partFlags:t}=this;o.partFlags.set(t.subarray(0,r+1)),o.partOffsets.set(e.subarray(0,r+1))}if(this.hasCurves()){let{segmentFlags:e,segmentIndices:r,segmentParams:s,segmentParamCount:n}=this;o.segmentFlags.set(e.subarray(0,t),0),o.segmentIndices.set(r.subarray(0,t),0),o.segmentParams.set(s.subarray(0,n),0)}return o}equals(e){return this.equalsWithinTolerance(e,0)}equalsWithinTolerance(e,t){if(null==e)return!1;if(this===e)return!0;if(!(0,o.aI)(this.spatialReference,e.spatialReference)||this.vertexCount!==e.vertexCount||this.partCount!==e.partCount||this.hasZ!==e.hasZ||this.hasM!==e.hasM||this.hasCurves()!==e.hasCurves()||this.segmentCountArc!==e.segmentCountArc||this.segmentCountBezier!==e.segmentCountBezier)return!1;let r=0===t?(e,t)=>e!==t||isNaN(e)!==isNaN(t):(e,r)=>Math.abs(e-r)>t||isNaN(e)!==isNaN(r);for(let t=0;t<this.vertexCount;++t)if(r(this.vertexXY[2*t],e.vertexXY[2*t])||r(this.vertexXY[2*t+1],e.vertexXY[2*t+1]))return!1;if(this.hasZ)for(let t=0;t<this.vertexCount;++t)if(r(this.vertexZ[t],e.vertexZ[t]))return!1;if(this.hasM)for(let t=0;t<this.vertexCount;++t)if(r(this.vertexM[t],e.vertexM[t]))return!1;for(let t=0;t<this.partCount;++t)if(this.partFlags[t]!==e.partFlags[t]||this.partOffsets[t]!==e.partOffsets[t])return!1;if(this.hasCurves()){for(let t=0;t<this.vertexCount;++t)if(this.segmentFlags[t]!==e.segmentFlags[t]||this.segmentIndices[t]!==e.segmentIndices[t])return!1;for(let t=0;t<this.segmentParamCount;++t)if(r(this.segmentParams[t],e.segmentParams[t]))return!1}return!0}get parts(){return this.isMultipart()?new x(this):[][Symbol.iterator]()}}class x{constructor(e){this.geometry=e,this.value=new d(e)}get done(){return this.value.index>=this.geometry.partCount}next(){return++this.value.index,this}[Symbol.iterator](){return this}}class d{constructor(e){this.geometry=e,this.index=-1,this._readVertex=w(e),this._segments=new y(this)}get segments(){return this._segments.reset(),this._segments}get startVertex(){return this._readVertex(this.geometry.partOffsets[this.index])}get vertexCount(){let e=this.geometry.partOffsets;return e[this.index+1]-e[this.index]}}class y{constructor(e){this._part=e,this._partStart=0,this._partEnd=0,this.value=new v(e.geometry)}get _partIsClosed(){return!!(1&this._part.geometry.partFlags?.[this._part.index])}get done(){return this.value.indexOfStartVertex>this._partEnd}next(){++this.value.indexOfStartVertex;let e=this.value.indexOfStartVertex>=this._partEnd;return this.value.indexOfEndVertex=e&&this._partIsClosed?this._partStart:this.value.indexOfStartVertex+1,this}[Symbol.iterator](){return this}reset(){let{index:e}=this._part,t=this._part.geometry.partOffsets;this._partStart=t[e],this._partEnd=t[e+1]-(this._partIsClosed?1:2),this.value.indexOfStartVertex=this._partStart-1}}class v{constructor(e){this.geometry=e,this.indexOfStartVertex=-1,this.indexOfEndVertex=-1,this._readVertex=w(e)}get xStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex]}get yStart(){return this.geometry.vertexXY[2*this.indexOfStartVertex+1]}get zStart(){return this.geometry.vertexZ[this.indexOfStartVertex]}get mStart(){return this.geometry.vertexM[this.indexOfStartVertex]}get xEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex]}get yEnd(){return this.geometry.vertexXY[2*this.indexOfEndVertex+1]}get zEnd(){return this.geometry.vertexZ[this.indexOfEndVertex]}get mEnd(){return this.geometry.vertexM[this.indexOfEndVertex]}get start(){return this._readVertex(this.indexOfStartVertex)}get end(){return this._readVertex(this.indexOfEndVertex)}get curve(){let e=this.geometry.segmentFlags?.[this.indexOfStartVertex]??1;if(1===e)return this.end;let t=this.geometry.segmentParams,r=this.geometry.segmentIndices[this.indexOfStartVertex];if(2===e){let e=t[r++],s=t[r++],n=t[r++],a=t[r++];return{b:[this.end,[e,s],[n,a]]}}let s=t[r++],n=t[r++],a=t[r++],i=t[r++],o=t[r++],l=t[r++];r++,r++;let h=t[r++],u=t[r++];if(!(4&s)&&1===a)return{c:[this.end,[h,u]]};let f=2&s?0:1,g=1&s?0:1;return{a:[this.end,[o,l],f,g,i,n,a]}}}function C(e,t){let r={stack:[],error:void 0,hasError:!1};try{return t??=(0,a.Ie)(),(0,s.mS)(r,new A(e,["vertexZ","vertexM","spatialReference"]),!1),(0,a.bx)(t,function(e){let t,{vertexCount:r,vertexXY:n,vertexZ:i,vertexM:o}=e,l=R(e);if(e.hasCurves()){let r={stack:[],error:void 0,hasError:!1};try{(0,s.mS)(r,new A(e,["vertexZ","vertexM"]),!1);let n=(0,a.Ie)();for(let t of e.parts){let e=t.startVertex;for(let{curve:r}of t.segments)(0,u.e)(n,e,r),e=(0,f.yP)(r)}let[i,o,h,g]=n;t={xmin:i,ymin:o,xmax:h,ymax:g,spatialReference:l}}catch(e){r.error=e,r.hasError=!0}finally{(0,s.hk)(r)}}else{let e,s,a,i;e=s=1/0,a=i=-1/0;for(let t=0;t<r;++t){let r=n[2*t],o=n[2*t+1];e=Math.min(e,r),a=Math.max(a,r),s=Math.min(s,o),i=Math.max(i,o)}t={xmin:e,ymin:s,xmax:a,ymax:i,spatialReference:l}}if(i){let e=1/0,r=-1/0;for(let t of i)e=Math.min(e,t),r=Math.max(r,t);t.zmin=e,t.zmax=r}if(o){let e=1/0,r=-1/0;for(let t of o)e=Math.min(e,t),r=Math.max(r,t);t.mmin=e,t.mmax=r}return t}(e)),t}catch(e){r.error=e,r.hasError=!0}finally{(0,s.hk)(r)}}function M(e){let t,r,s;if((0,i.fT)(e)){s="point";let{x:n,y:a,z:i,m:o}=e,l=[n,a];null!=i&&l.push(i),null!=o&&l.push(o),r=[[l]],t=1}else(0,i.U9)(e)?(s="multipoint",r=[e.points],t=e.points.length):(0,i.Rg)(e)?(s="polyline",r=e.curvePaths??e.paths,t=r.reduce((e,t)=>e+t.length,0)):(s="polygon",r=e.curveRings??e.rings,t=r.reduce((e,t)=>(0===t.length||(e+=t.length,S(t[0],(0,f.yP)(t.at(-1)))&&--e),e),0));let n=_(s,t,s.includes("point")?0:r.length,(0,i.Pv)(e),(0,i.W0)(e),(0,f.Ed)(e)),{hasZ:a,hasM:o,vertexXY:l,vertexZ:h,vertexM:u}=n;function g(e){l[2*c]=e[0],l[2*c+1]=e[1],a&&(h[c]=e[2]),o&&(u[c]=e[m]),++c}n.spatialReference=e.spatialReference??void 0;let m=n.hasZ?3:2,c=0;if(!n.isMultipart()){if(!a&&!o){for(let[e,t]of r[0])l[2*c]=e,l[2*c+1]=t,++c;return n}for(let e of r[0])g(e);return n}let p="polygon"===s,{partOffsets:x}=n,d=0;if(!(0,f.Ed)(e)){for(let e of r){if(x[d++]=c,0===e.length)continue;let t=e.length;if(p&&S(e[0],e.at(-1))&&--t,a||o)for(let r=0;r<t;++r)g(e[r]);else for(let r=0;r<t;++r){let[t,s]=e[r];l[2*c]=t,l[2*c+1]=s,++c}}return x[d]=c,n}function y(e){let t=v+e;if(t<=(n.segmentParams?.length??0))return;let r=t*G;r=20*Math.ceil(r/20);let s=n.segmentParams;n.segmentParams=new Float64Array(r),null!=s&&n.segmentParams.set(s)}let v=0;for(let e of r){if(n.partOffsets[d++]=c,0===e.length)continue;let t=e[0],r=t;for(let t=1;t<e.length;++t){let s=e[t];g(r);let a=c-1;(0,f.wY)(s)?(y(10),++n.segmentCountArc,v=I(r,s,n,a,v),r=s.a[0]):(0,f.DA)(s)?(y(10),++n.segmentCountArc,v=Y(r,s,n,a,v),r=s.a[0]):(0,f.aO)(s)?(y(10),++n.segmentCountArc,v=F(r,s,n,a,v),r=s.c[0]):(0,f.n1)(s)?(y(4),++n.segmentCountBezier,v=X(0,s,n,a,v),r=s.b[0]):r=s}p&&S(t,r)||g(r)}return n.partOffsets[d]=c,n}function E(e){let t=w(e),{vertexCount:r,partCount:s,hasZ:n,hasM:a}=e,i=R(e),o=0;if(!e.isMultipart()){if("point"===e.type){let[t,r]=e.vertexXY;return{x:t,y:r,z:e.vertexZ?.[0],m:e.vertexM?.[0],spatialReference:i}}let s=[];for(;o<r;)s.push(t(o++));return{points:s,spatialReference:i,hasZ:n,hasM:a}}if(!e.hasCurves()){let r=[];for(let n=0;n<s;++n){let s=!!(1&e.partFlags[n]),a=e.partOffsets[n+1],i=[];for(;o<a;)i.push(t(o++));s&&i.length>0&&i.push([...i[0]]),r.push(i)}return"polygon"===e.type?{rings:r,hasZ:n,hasM:a,spatialReference:i}:{paths:r,hasZ:n,hasM:a,spatialReference:i}}let l=[];for(let{segments:t,startVertex:r}of e.parts){let e=[r];for(let{curve:r}of t)e.push(r);l.push(e)}return"polygon"===e.type?{rings:[],curveRings:l,hasZ:n,hasM:a,spatialReference:i}:{paths:[],curvePaths:l,hasZ:n,hasM:a,spatialReference:i}}function P(e,{lengths:t,coords:r,hasZ:s,hasM:n},a){let i=e.includes("point")?0:t.length,o="polygon"===e,l="point"===e?1:t.reduce((e,t)=>e+t,0)-(o?i:0);s??=!1,n??=!1;let h=_(e,l,i,s,n,!1,0,0);if(h.spatialReference=a??void 0,!h.isMultipart()){for(let e=0,t=0;e<l;++e)h.vertexXY[2*e]=r[t++],h.vertexXY[2*e+1]=r[t++],s&&(h.vertexZ[e]=r[t++]),n&&(h.vertexM[e]=r[t++]);return h}let u=2+Number(s)+Number(n),f=0,g=0;h.partOffsets[0]=0;for(let e of t){let t=h.partOffsets[g],a=t+e-Number(o);h.partOffsets[++g]=a;for(let e=t;e<a;++e)h.vertexXY[2*e]=r[f++],h.vertexXY[2*e+1]=r[f++],s&&(h.vertexZ[e]=r[f++]),n&&(h.vertexM[e]=r[f++]);o&&(f+=u)}return h}function Z({type:e,vertexCount:t,vertexXY:r,vertexZ:s,vertexM:n,partCount:a,partOffsets:i,partFlags:o,hasZ:l,hasM:h}){let u=new c.A([],[],l,h);a=Math.max(a,1);let f=0;for(let e=0;e<a;++e){let a=i?.[e+1]??t,g=u.coords.length;for(let e=f;e<a;++e)u.coords.push(r[2*e],r[2*e+1]),l&&u.coords.push(s[e]),h&&u.coords.push(n[e]);if(o&&1&o[e]){let e=f;u.coords.push(r[2*e],r[2*e+1]),l&&u.coords.push(s[e]),h&&u.coords.push(n[e])}u.lengths.push((u.coords.length-g)/u.stride),f=a}return"point"===e&&(u.lengths.length=0),u}function V(...e){let t=new Set;for(let r of e){if(!r)continue;let e=[r.vertexXY,r.vertexZ,r.vertexM,r.partOffsets,r.partFlags,r.segmentFlags,r.segmentIndices,r.segmentParams];for(let r of e){let e=r?.buffer;e&&t.add(e)}}return Array.from(t)}function O(e,t){return"getSpatialReference"in e&&(t=function(e){if(null==e)return;let t=e.getText()||void 0,r=e.isCustomWkid()?0:e.getOldID();if(r<=0)return{wkt:t};let s=e.getLatestID();(s<=0||s===r)&&(s=void 0);let n=e.getVCS();if(null==n)return{wkid:r,latestWkid:s,wkt:t};let a=n.isCustomWkid()?0:n.getOldID();if(a<=0)return{wkt:t};let i=e.getLatestVerticalID();return(i<=0||i===a)&&(i=void 0),{wkid:r,wkt:t,latestWkid:s,vcsWkid:a,latestVcsWkid:i}}(e.getSpatialReference()),e=e.getGeometry()),new p({...e.toFlatGeometry(),spatialReference:t})}class A{constructor(e,t){this.target=e,this.keys=t,this.oldValues=t.map(t=>e[t]);for(let r of t)e[r]=void 0}[Symbol.dispose](){this.keys.map((e,t)=>{this.target[e]=this.oldValues[t]})}}function R({spatialReference:e}){return e instanceof n.A?e.toJSON():e}function w({vertexXY:e,vertexZ:t,vertexM:r}){return t?r?s=>[e[2*s],e[2*s+1],t[s],r[s]]:r=>[e[2*r],e[2*r+1],t[r]]:r?t=>[e[2*t],e[2*t+1],r[t]]:t=>[e[2*t],e[2*t+1]]}function S(e,t){return e.every((e,r)=>e===t[r])}function _(e,t,r,s,n,a,i,o){i??=0,o??=0;let l=new p({type:e,vertexCount:t,vertexXY:null,vertexZ:void 0,vertexM:void 0,partCount:r,partOffsets:void 0,partFlags:void 0,segmentFlags:void 0,segmentIndices:void 0,segmentParams:void 0,segmentCountArc:i,segmentCountBezier:o}),h=2*Float64Array.BYTES_PER_ELEMENT*t;s&&(h+=Float64Array.BYTES_PER_ELEMENT*t),n&&(h+=Float64Array.BYTES_PER_ELEMENT*t),l.isMultipart()&&(h+=(r+1)*Int32Array.BYTES_PER_ELEMENT,h+=(r+1)*Int8Array.BYTES_PER_ELEMENT),a&&(h+=t*Int8Array.BYTES_PER_ELEMENT,h+=t*Int32Array.BYTES_PER_ELEMENT,h+=l.segmentParamCount*Float64Array.BYTES_PER_ELEMENT);let u=new ArrayBuffer(h),f=0;return l.vertexXY=new Float64Array(u,f,2*t),f+=l.vertexXY.byteLength,s&&(l.vertexZ=new Float64Array(u,f,t),f+=l.vertexZ.byteLength),n&&(l.vertexM=new Float64Array(u,f,t),f+=l.vertexM.byteLength),a&&(l.segmentParams=new Float64Array(u,f,l.segmentParamCount),f+=l.segmentParams.byteLength,l.segmentIndices=new Int32Array(u,f,t),l.segmentIndices.fill(z),f+=l.segmentIndices.byteLength),l.isMultipart()&&(l.partOffsets=new Int32Array(u,f,r+1),f+=l.partOffsets.byteLength,l.partFlags=new Int8Array(u,f,r+1),f+=l.partFlags.byteLength,"polygon"===l.type&&l.partFlags.subarray(0,r).fill(1)),a&&(l.segmentFlags=new Int8Array(u,f,t),l.segmentFlags.fill(1),f+=l.segmentFlags.byteLength),l}function I(e,t,{segmentFlags:r,segmentIndices:s,segmentParams:n},a,i){r[a]=4,s[a]=i;let[o,[l,h],u,f,g,c,p]=t.a,x=4;f||(x|=1),u||(x|=2);let d=(0,m.SW)(e,t),[y,v]=(0,m.Uk)(d,.5);return n[i++]=x,n[i++]=c,n[i++]=p,n[i++]=g,n[i++]=l,n[i++]=h,n[i++]=d.u2-d.u1,n[i++]=d.u1,n[i++]=y,n[i++]=v,i}function Y(e,t,{segmentFlags:r,segmentIndices:s,segmentParams:n},a,i){r[a]=4,s[a]=i;let o=(0,g.io)(e,t);return b(o,4,...(0,l.mq)(o,.5),n,i)}function F(e,t,{segmentFlags:r,segmentIndices:s,segmentParams:n},a,i){return r[a]=4,s[a]=i,b((0,h.pM)(e,t),0,...t.c[1],n,i)}function b(e,t,r,s,n,a){let{cx:i,cy:o,thetaStart:l,thetaEnd:h,radius:u}=e;return l>h||(t|=1),Math.abs(h-l)<=Math.PI||(t|=2),n[a++]=t,n[a++]=u,n[a++]=1,n[a++]=0,n[a++]=i,n[a++]=o,n[a++]=h-l,n[a++]=l,n[a++]=r,n[a++]=s,a}function X(e,{b:[t,[r,s],[n,a]]},{segmentFlags:i,segmentIndices:o,segmentParams:l},h,u){return i[h]=2,o[h]=u,l[u++]=r,l[u++]=s,l[u++]=n,l[u++]=a,u}const G=1.61803,z=-1},97479(e,t,r){r.d(t,{fz:()=>a,g7:()=>n});const s=new(r(70031).OperatorIntersects);function n(e,t,r){return s.execute(e,t,r,null)}function a(){return s.supportsCurves()}},25275(e,t,r){r.d(t,{intersectsExecute:()=>a});var s=r(97479),n=r(78125);function a(e,t){let r=(0,n.getSpatialReference)(e);return(0,s.g7)((0,n.fromGeometry)(e),(0,n.fromGeometry)(t),(0,n.fromSpatialReference)(r))}r(85036),(0,s.fz)()},78125(e,t,r){r.r(t),r.d(t,{fromExtent:()=>x,fromGeometry:()=>p,fromMultipoint:()=>d,fromPoint:()=>y,fromPolygon:()=>v,fromPolyline:()=>C,fromPolylineUsingImportOperator:()=>M,fromSpatialReference:()=>E,getSpatialReference:()=>c,toExtent:()=>Z,toGeometry:()=>P,toMultipoint:()=>V,toPoint:()=>O,toPolygon:()=>A,toPolyline:()=>R});var s=r(83661),n=r(55537),a=r(95213),i=r(88885),o=r(5443),l=r(48526),h=r(86738),u=r(39829),f=r(82799),g=(r(90293),r(83299));const m="_gxVersion";function c(e){return Array.isArray(e)?e[0].spatialReference:e.spatialReference}function p(e){switch(e.type){case"point":return y(e);case"multipoint":return d(e);case"polyline":return C(e);case"polygon":return v(e);case"extent":return x(e);default:throw Error(`Unsupported geometry type: ${e.type}`)}}function x(e){if(!e.getCacheValue(m)){let t=new a.E;t.setCoords(e.xmin,e.ymin,e.xmax,e.ymax),e.hasM&&t.setInterval(2,0,e.mmin,e.mmax),e.hasZ&&t.setInterval(1,0,e.zmin,e.zmax),e.setCacheValue(m,t)}return e.getCacheValue(m)}function d(e){if(!e.getCacheValue(m)){let t=new i.M,r=new a.P,s=e.points,n=e.hasM,o=e.hasZ,l=o?3:2;for(let e=0,a=s.length;e<a;e++){let a=s[e];r.setXYCoords(a[0],a[1]),o&&r.setZ(a[2]??0),n&&r.setM(a[l]??NaN),t.add(r)}e.setCacheValue(m,t)}return e.getCacheValue(m)}function y(e){if(!e.getCacheValue(m)){let t=new a.P;t.setXYCoords(e.x,e.y),e.hasM&&t.setM(e.m),e.hasZ&&t.setZ(e.z),e.setCacheValue(m,t)}return e.getCacheValue(m)}function v(e){if(!e.getCacheValue(m)){let{curveRings:t,hasM:r,hasZ:s,rings:n}=e,a=(0,g.fromGeometryToGXGeometry)({curveRings:t,hasM:r,hasZ:s,rings:n});e.setCacheValue(m,a)}return e.getCacheValue(m)}function C(e){if(!e.getCacheValue(m)){let{curvePaths:t,hasM:r,hasZ:s,paths:n}=e,a=(0,g.fromGeometryToGXGeometry)({curvePaths:t,hasM:r,hasZ:s,paths:n});e.setCacheValue(m,a)}return e.getCacheValue(m)}function M(e){if(!e.getCacheValue(m)){let{curvePaths:t,hasM:r,hasZ:s,paths:n}=e,a=(0,g.fromGeometryToGXGeometryUsingImportOperator)({curvePaths:t,hasM:r,hasZ:s,paths:n});e.setCacheValue(m,a)}return e.getCacheValue(m)}function E(e){return e.cache?(e.cache[m]??=(0,g.fromSpatialReference)(e),e.cache[m]):(0,g.fromSpatialReference)(e)}function P(e,t){if(e)switch(e.getGeometryType()){case n.G.enumPoint:return O(e,t);case n.G.enumEnvelope:return Z(e,t);case n.G.enumMultiPoint:return V(e,t);case n.G.enumPolyline:return R(e,t);case n.G.enumPolygon:return A(e,t)}return null}function Z(e,t){if(e.isEmpty())return null;let r=new o.A({xmin:e.getXMin(),ymin:e.getYMin(),xmax:e.getXMax(),ymax:e.getYMax(),spatialReference:t}),s=e.getDescription();if(s.hasM()){let t=e.queryInterval(2,0);r.mmin=t.vmin,r.mmax=t.vmax}if(s.hasZ()){let t=e.queryInterval(1,0);r.zmin=t.vmin,r.zmax=t.vmax}return r.setCacheValue(m,e),r}function V(e,t){if(e.isEmpty())return null;let r=e.getDescription(),s=r.hasM(),n=r.hasZ(),i=[],o=new a.P;for(let t=0,r=e.getPointCount();t<r;t++){e.getPointByVal(t,o);let r=[o.getX(),o.getY()];n&&r.push(o.getZ()),s&&r.push(o.getM()),i.push(r)}let h=new l.A({hasM:s,hasZ:n,points:i,spatialReference:t});return h.setCacheValue(m,e),h}function O(e,t){if(e instanceof s.P)return new h.A({x:e.x,y:e.y,spatialReference:t});if(e.isEmpty())return null;let r=new h.A({x:e.getX(),y:e.getY(),spatialReference:t}),n=e.getDescription();return n.hasM()&&(r.m=e.getM()),n.hasZ()&&(r.z=e.getZ()),r.setCacheValue(m,e),r}function A(e,t){if(e.isEmpty())return null;let r=u.A.fromJSON({...(0,g.toGeometry)(e,null),spatialReference:t});return r.setCacheValue(m,e),r}function R(e,t){if(e.isEmpty())return null;let r=f.A.fromJSON({...(0,g.toGeometry)(e,null),spatialReference:t});return r.setCacheValue(m,e),r}},85036(e,t,r){r.d(t,{Q:()=>a});var s=r(51447),n=r(53966);function a(e,t,r){(0,s.io)(n.A.getLogger(`esri.geometry.operators.${e}`),`${t} is deprecated. Refactor using @arcgis/codemod or manually replace usages with ${r} instead.`,{replacement:r,warnOnce:!0})}},92722(e,t,r){r.d(t,{A:()=>n});var s=r(69397);class n{constructor(e=[],t=[],r=!1,s=!1){this.lengths=e??[],this.coords=t??[],this.hasZ=r,this.hasM=s}static fromJSON({lengths:e,coords:t,hasZ:r,hasM:s}){return new n(e,t,r||!1,s||!1)}static fromRect([e,t,r,s]){let a=r-e,i=s-t;return new n([5],[e,t,a,0,0,i,-a,0,0,-i])}get isPoint(){return 0===this.lengths.length&&this.coords.length>=2}get maxLength(){return Math.max(...this.lengths)}get size(){return this.isPoint?1:this.lengths.reduce((e,t)=>e+t,0)}get usedMemory(){return 64+(0,s.Qf)(this.lengths,this.coords)}get stride(){return+!!this.hasZ+2+ +!!this.hasM}area(){if(this.isPoint)return 0;let e=0,t=0;for(let r of this.lengths){if(r<3)continue;let{stride:s}=this,n=this.coords[s*t],a=this.coords[s*t+1];for(let i=1;i<r;i+=1){let r=s*(t+i),o=this.coords[r],l=this.coords[r+1];e+=-.5*(o-n)*(l+a),n=o,a=l}t+=r}return e}forEachVertex(e){let t=0;if(this.isPoint)return e(this.coords[0],this.coords[1]);let{stride:r}=this;for(let s of this.lengths){for(let n=0;n<s;n++){let s=r*(t+n);e(this.coords[s],this.coords[s+1])}t+=s}}deltaDecode(){let e=this.clone(),{coords:t,lengths:r}=e,s=0,{stride:n}=this;for(let e of r){for(let r=1;r<e;r++){let e=n*(s+r);t[e]+=t[e-n],t[e+1]+=t[e+1-n]}s+=e}return e}clone(e){if(this.isPoint)return new n([],Array.from(this.coords.slice(0,this.stride)),this.hasZ,this.hasM);let t=Array.from(this.lengths),{stride:r,size:s}=this,a=this.coords.slice(0,s*r);return e?(e.set(a),new n(t,e,this.hasZ,this.hasM)):new n(t,Array.from(a),this.hasZ,this.hasM)}justXY(){let{stride:e,size:t}=this;if(2===e)return this;let r=Array(t*e);for(let t=0,s=0;t<r.length;t+=e)r[s++]=this.coords[t],r[s++]=this.coords[t+1];return new n(this.lengths,r,!1,!1)}}}}]);
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{BackgroundGrid as e}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js";import{TileBackground as t}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js";import{TileComposite as n}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{Float3PassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as a}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DPassUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as s}from"../views/webgl/ShaderBuilder.js";function c(c){let l=new s,u=l.fragment;if(l.include(n),c.background===1){let t=c.output===2;return t?u.uniforms.add(new r(`backgroundColor`,e=>e.backgroundColor)):u.include(e),u.main.add(a`fragColor = vec4(${t?a`backgroundColor`:a`gridColor(uv)`}, 1.0);`),l}return l.include(t,c),u.uniforms.add(new o(`tex`,e=>e.texture),new i(`opacity`,e=>e.opacity)).main.add(a`fragColor = blendLayers(uv, texture(tex, uv), opacity);`),l}const l=Object.freeze(Object.defineProperty({__proto__:null,build:c},Symbol.toStringTag,{value:`Module`}));export{l as B,c as b};
2
+ import{BackgroundGrid as e}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/BackgroundGrid.glsl.js";import{blendLayers as t}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/blendLayers.glsl.js";import{TileComposite as n}from"../views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{Float3PassUniform as r}from"../views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js";import{FloatPassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{Texture2DPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let c=new o,l=c.fragment;return c.include(n),s.background===1?(s.output===2?l.uniforms.add(new r(`backgroundColor`,e=>e.backgroundColor)).main.add(`fragColor = vec4(backgroundColor, 1.0);`):(l.include(e),l.main.add(`fragColor = vec4(gridColor(uv), 1.0);`)),c):(c.include(t,s),l.uniforms.add(new a(`tex`,e=>e.texture),new i(`opacity`,e=>e.opacity)).main.add(`fragColor = blendLayers(uv, texture(tex, uv), opacity);`),c)}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as B,s as b};
@@ -49,7 +49,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
49
49
  ? selectLocalOverlayUVs(projectOverlay(vPositionForDraping))
50
50
  : selectMapOverlayUVs(overlayMapUVFromWorldPosition());
51
51
  }
52
- `)):O.code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy; }`));let Q=R&&H&&j===4;Q&&(D.varyings.add(`tbnTangent`,`vec3`),D.varyings.add(`tbnBiTangent`,`vec3`),D.varyings.add(`upNormal`,`vec3`));let ge=z===0,_e=z===2;if(D.include(_,E),D.include(ee,E),O.include(C),O.main.add(S`
52
+ `)):O.code.add(`vec2 projectOverlay(vec3 pos) { return pos.xy; }`));let Q=R&&H&&j===4;Q&&I&&(D.varyings.add(`tbnTangent`,`vec3`),D.varyings.add(`tbnBiTangent`,`vec3`));let ge=z===0,_e=z===2;if(D.include(_,E),D.include(ee,E),O.include(C),O.main.add(S`
53
53
  bool castShadows;
54
54
  vec4 externalColor = forwardExternalColor(castShadows);
55
55
  ${x(he,`if(!castShadows) { gl_Position = vec4(vec3(1e38), 1.0); return; }`)}
@@ -66,13 +66,10 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
66
66
  forwardLinearDepthToWriteShadow();
67
67
  forwardEmissiveStrength();
68
68
  forwardObjectAndLayerIdColor();
69
- ${x(Q,I?S`
70
- upNormal = normalize(positionWorld());
71
- tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), upNormal));
72
- tbnBiTangent = normalize(cross(upNormal, tbnTangent));`:S`
73
- upNormal = vec3(0.0, 0.0, 1.0);
74
- tbnTangent = vec3(1.0, 0.0, 0.0);
75
- tbnBiTangent = vec3(0.0, 1.0, 0.0);`)}
69
+ ${x(Q&&I,S`
70
+ vec3 upNormal = normalize(positionWorld());
71
+ tbnTangent = normalize(cross(vec3(0.0, 0.0, 1.0), upNormal));
72
+ tbnBiTangent = normalize(cross(upNormal, tbnTangent));`)}
76
73
  ${x(R||G,x(I,`vPositionForDraping = positionForDraping();
77
74
  vtcOverlay = vec4(0.0);`,`setOverlayVTC(projectOverlay(positionForDraping()));`))}
78
75
 
@@ -121,7 +118,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
121
118
  vec3 shadingNormal = ${M?`computeTextureNormal(tangentSpace, vuv0)`:`fragmentShadingNormal`};
122
119
 
123
120
  float ssao = occlusion * evaluateAmbientOcclusionInverse();
124
- ${x(N,S`float snow = applySnow(fragmentFaceNormal, normalize(positionWorld(), materialColor.rgb, ssao));
121
+ ${x(N,S`float snow = applySnow(fragmentFaceNormal, upNormal, materialColor.rgb, ssao);
125
122
  shadingNormal = mix(shadingNormal, fragmentFaceNormal, snow);`)}
126
123
  ${x(R,`materialColor = compositeOverlayUnpremultiplied(materialColor, overlayColor);`)}
127
124
 
@@ -138,10 +135,10 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
138
135
  float dotFL = dot(fragmentFaceNormal, mainLightDirection);
139
136
  if( dotFL <= 0.0) shadow = 1.0;
140
137
  `)}
141
- ${x(N,`float snow = applySnow(fragmentFaceNormal, normalize(positionWorld()), materialColor.rgb, ssao);`)}
138
+ vec3 upNormal = getLocalUp(positionWorld());
139
+ ${x(N,`float snow = applySnow(fragmentFaceNormal, upNormal, materialColor.rgb, ssao);`)}
142
140
 
143
141
  vec3 viewDirection = normalize(vPositionWorldCameraRelative);
144
- vec3 upNormal = getLocalUp(positionWorld());
145
142
 
146
143
  // At global scale we create some additional ambient light based on the main light to simulate global illumination
147
144
  vec3 additionalLight = evaluateAdditionalLighting(1.0 - ssao, positionWorld());
@@ -152,7 +149,7 @@ import{ComponentData as e}from"../views/3d/webgl-engine/collections/Component/Ma
152
149
  ${x(Q,S`vec4 overlayWaterMask = getOverlayColor(waterNormals, overlayUVs);
153
150
  float waterNormalLength = length(overlayWaterMask);
154
151
  if (waterNormalLength > 0.95) {
155
- mat3 tbnMatrix = mat3(tbnTangent, tbnBiTangent, upNormal);
152
+ mat3 tbnMatrix = ${I?`mat3(tbnTangent, tbnBiTangent, upNormal)`:`mat3(1.0)`};
156
153
  vec4 waterColorLinear = getOverlayWaterColor(overlayWaterMask, overlayColor, -normalize(vPositionWorldCameraRelative), shadow, upNormal, tbnMatrix, vPosition_view, positionWorld());
157
154
  vec4 waterColorNonLinear = delinearizeGamma(vec4(waterColorLinear.xyz, 1.0));
158
155
  // un-gamma the ground color to mix in linear space
@@ -1,20 +1,20 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{readShadowPass as a,readShadowMaps as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{cameraPosition as s}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{RgbNormalizedDepthEncoding as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{glsl as l,If as u}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as d}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as f,GaussianSplatFading as p,gaussianSplatPerspectiveVertex as m}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as h}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(_){let{receiveShadows:v,spherical:y}=_,b=v&&_.fragmentShading,x=b&&_.preciseDepth,S=new g,{varyings:C,vertex:w,fragment:T,outputs:E}=S;C.add(`vColor`,`vec4`),x&&C.add(`shadowReceiverRay`,`vec3`),S.include(f,_),_.fadingEnabled&&w.include(p),w.uniforms.add(s);let D=b?T:w;D.uniforms.add(s),D.include(t,_),D.include(i,_),n(D),D.uniforms.add(r),b?S.include(a,_):v&&(w.include(e),_.hasShadowHighlights&&w.code.add(l`ivec2 getShadowHighlightCoordinates() {
2
+ import{calculateUVZShadowPass as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/calculateUVZShadow.glsl.js";import{EvaluateSceneLighting as t,addAmbientBoostFactor as n}from"../views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import{lightingGlobalFactor as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/lightingUniforms.js";import{NormalUtils as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/NormalUtils.glsl.js";import{positionOutsideClipSpace as a}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{readShadowPass as o,readShadowMaps as s}from"../views/3d/webgl-engine/core/shaderLibrary/shading/readShadow.glsl.js";import{cameraPosition as c}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{RgbNormalizedDepthEncoding as l}from"../views/3d/webgl-engine/core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import{glsl as u,If as d}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as f}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatPerspective as p,gaussianSplatFading as m}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{getGaussianSplatAlphaCutoffValue as h}from"../views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";function _(_){let{receiveShadows:v,spherical:y}=_,b=v&&_.fragmentShading,x=b&&_.preciseDepth,S=new g,{varyings:C,vertex:w,fragment:T,outputs:E}=S;C.add(`vColor`,`vec4`),C.add(`gaussianCoordinates`,`vec2`),C.add(`gaussianLogFalloffCutoff`,`float`),C.add(`fragmentPositionCameraRelative`,`vec3`),_.preciseDepth&&C.add(`rayGaussianFactor`,`vec4`),x&&C.add(`shadowReceiverRay`,`vec3`),S.include(p,_),_.fadingEnabled&&w.include(m),w.uniforms.add(c);let D=b?T:w;D.uniforms.add(c),D.include(t,_),D.include(i,_),n(D),D.uniforms.add(r),b?S.include(o,_):v&&(w.include(e),_.hasShadowHighlights&&w.code.add(u`ivec2 getShadowHighlightCoordinates() {
3
3
  vec2 screenUV = gl_Position.xy / gl_Position.w * 0.5 + 0.5;
4
4
  ivec2 screenPixel = ivec2(screenUV / inverseScreenSize);
5
5
  return clamp(screenPixel, ivec2(0), textureSize(shadowHighlight, 0) - 1);
6
- }`),o(w,_.hasShadowHighlights,`getShadowHighlightCoordinates()`)),E.add(`fragColor`,`vec4`,0),E.add(`fragDepthColor`,`vec4`,1);let O=h(_.alphaCutoff),k=l`float groundLightAlignment = dot(upNormal, mainLightDirection);
6
+ }`),s(w,_.hasShadowHighlights,`getShadowHighlightCoordinates()`)),E.add(`fragColor`,`vec4`,0),E.add(`fragDepthColor`,`vec4`,1);let O=h(_.alphaCutoff),k=u`float groundLightAlignment = dot(upNormal, mainLightDirection);
7
7
  float additionalAmbientScale = additionalDirectedAmbientLight(groundLightAlignment);
8
- vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,A=l`
8
+ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoostFactor * lightingGlobalFactor;`,A=u`
9
9
  vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
10
10
  vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
11
11
  ${k}
12
- float shadow = ${y?l`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:l`0.0`};
13
- ${u(v,l`
14
- ${_.preciseDepth?l`
15
- float receiverDepth = gaussianSplatRayDepth();
12
+ float shadow = ${y?u`lightingGlobalFactor * (1.0 - additionalAmbientScale)`:u`0.0`};
13
+ ${d(v,u`
14
+ ${_.preciseDepth?u`
15
+ float receiverDepth = computeGaussianRayDepth(rayGaussianFactor);
16
16
  vec3 receiverPosition = transpose(mat3(view)) * rayView * receiverDepth;
17
- `:l`
17
+ `:u`
18
18
  float receiverDepth = -viewPos.z;
19
19
  vec3 receiverPosition = fragmentPositionCameraRelative;
20
20
  `}
@@ -22,18 +22,19 @@ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoos
22
22
  shadow = max(shadow, readShadowMaps(uvzShadow));
23
23
  `)}
24
24
  vColor.rgb = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
25
- `,j=l`
25
+ `,j=u`
26
26
  vec3 viewDirection = normalize(fragmentPositionCameraRelative - cameraPosition);
27
27
  vec3 upNormal = getLocalUp(fragmentPositionCameraRelative, cameraPosition);
28
28
  ${k}
29
- ${x?l`
29
+ ${x?u`
30
30
  float shadow = max(
31
31
  lightingGlobalFactor * (1.0 - additionalAmbientScale),
32
32
  readShadowMap(shadowReceiverRay * receiverDepth, receiverDepth)
33
33
  );
34
34
  `:`float shadow = readShadow(additionalAmbientScale, fragmentPositionCameraRelative);`}
35
35
  shadedColor = evaluateSceneLighting(upNormal, vColor.rgb, shadow, 0.0, additionalLight, viewDirection, upNormal);
36
- `;return w.main.add(`
36
+ `;return w.main.add(u`
37
+ gl_Position = ${a};
37
38
  uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
38
39
  uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
39
40
 
@@ -42,34 +43,77 @@ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoos
42
43
  float opacity = vColor.a;
43
44
 
44
45
  // Apply per-page fading before the early alpha rejection.
45
- ${u(_.fadingEnabled,l`opacity = applyGaussianSplatFading(opacity, gaussianIndex);
46
- vColor.a = opacity;`)}
46
+ ${d(_.fadingEnabled,u`
47
+ opacity = applyGaussianSplatFading(opacity, gaussianIndex);
48
+ vColor.a = opacity;
49
+ `)}
50
+
51
+ if (opacity < ${u.float(O)}) {
52
+ return;
53
+ }
54
+
55
+ vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
56
+ if (rejectGaussianPosition(cameraRelativePosition)) {
57
+ return;
58
+ }
59
+
60
+ vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
61
+ if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
62
+ return;
63
+ }
47
64
 
48
- ${m(_,O)}
65
+ vec3 gaussianScale = unpackScale(packedGaussian);
66
+ mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
67
+ GaussianSplatProjection projection;
68
+ if (!projectGaussianSplat(
69
+ viewPos.xyz, gaussianScale, gaussianRotation,
70
+ ${u.float(O)}, ${u.float(Math.log(O))}, opacity, projection
71
+ )) {
72
+ return;
73
+ }
74
+
75
+ gaussianCoordinates = projection.coordinates;
76
+ gaussianLogFalloffCutoff = projection.logFalloffCutoff;
77
+ fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * projection.viewOffset;
78
+
79
+ ${d(_.preciseDepth,u`
80
+ vec3 rayView = reconstructViewRay(projection.clipPosition.xy, inverseProjectionMatrix);
81
+ rayGaussianFactor = computeGaussianRayFactor(
82
+ rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
83
+ );
84
+ `)}
85
+ gl_Position = projection.clipPosition;
49
86
  vColor.a = opacity;
50
- ${u(x,`shadowReceiverRay = transpose(mat3(view)) * rayView;`)}
87
+ ${d(x,`shadowReceiverRay = transpose(mat3(view)) * rayView;`)}
51
88
 
52
89
  // Per-fragment lighting preserves crisp shadow borders; vertex lighting reduces overdraw cost.
53
- ${u(b,`forwardLinearDepth(-viewPos.z);`,A)}
54
- `),T.include(c),T.main.add(`
90
+ ${d(b,`forwardLinearDepth(-viewPos.z);`,A)}
91
+ `),T.include(l),T.main.add(u`
92
+ if (rejectGaussianPosition(fragmentPositionCameraRelative)) {
93
+ discard;
94
+ }
95
+ float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
96
+ if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
97
+ discard;
98
+ }
55
99
  float gaussianFalloff = exp(gaussianExponent);
56
100
 
57
101
  // Cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians.
58
102
  float alpha = min(.99f, vColor.a * gaussianFalloff);
59
103
 
60
- ${u(x,l`float receiverDepth = gaussianSplatRayDepth();`)}
104
+ ${d(_.preciseDepth,u`float receiverDepth = computeGaussianRayDepth(rayGaussianFactor);`)}
61
105
  vec3 shadedColor = vColor.rgb;
62
- ${u(b,j)}
106
+ ${d(b,j)}
63
107
  fragColor = vec4(shadedColor * alpha, alpha);
64
108
 
65
109
  // We simulate first hit based depth using the shared opacity threshold.
66
110
  // This works because we render in front-to-back order,
67
111
  // i.e. the first hit that counts completely saturates the alpha channel
68
112
  // and further splats do not contribute.
69
- float depthHit = step(${l.float(d)}, alpha);
113
+ float depthHit = step(${u.float(f)}, alpha);
70
114
  vec3 encodedDepth = vec3(0.0);
71
115
  if (depthHit > 0.0) {
72
- encodedDepth = encodeNormalizedDepthToRGB(${x?`delinearizeDepth(-receiverDepth)`:`gaussianSplatDepth()`});
116
+ encodedDepth = encodeNormalizedDepthToRGB(${_.preciseDepth?`delinearizeDepth(-receiverDepth)`:`gl_FragCoord.z`});
73
117
  }
74
118
  fragDepthColor = vec4(encodedDepth, depthHit);
75
119
  `),S}const v=Object.freeze(Object.defineProperty({__proto__:null,build:_},Symbol.toStringTag,{value:`Module`}));export{v as G,_ as b};
@@ -1,11 +1,52 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{If as e,glsl as t}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as n}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{GaussianSplatPerspectivePass as r,GaussianSplatFading as i,gaussianSplatPerspectiveVertex as a}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let{fadingEnabled:c}=s,l=new o,{fragment:u,vertex:d}=l;return l.include(r,s),s.fadingEnabled&&l.vertex.include(i),s.writeNormals&&l.outputs.add(`fragNormal`,`vec4`,0),d.main.add(t`
2
+ import{positionOutsideClipSpace as e}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{If as t,glsl as n}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{gaussianSplatFirstHitAlpha as r}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatPerspective as i,gaussianSplatFading as a}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{ShaderBuilder as o}from"../views/webgl/ShaderBuilder.js";function s(s){let{fadingEnabled:c}=s,l=new o,{fragment:u,vertex:d,varyings:f}=l;return l.include(i,s),f.add(`gaussianCoordinates`,`vec2`),f.add(`gaussianLogFalloffCutoff`,`float`),f.add(`fragmentPositionCameraRelative`,`vec3`),s.preciseDepth&&f.add(`rayGaussianFactor`,`vec4`),s.fadingEnabled&&l.vertex.include(a),s.writeNormals&&l.outputs.add(`fragNormal`,`vec4`,0),d.main.add(n`
3
+ gl_Position = ${e};
3
4
  uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
4
5
  uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
5
6
 
6
7
  float opacity = unpackOpacity(packedGaussian);
7
8
 
8
- ${e(c,t`opacity = applyGaussianSplatFading(opacity, gaussianIndex);`)}
9
+ ${t(c,n`opacity = applyGaussianSplatFading(opacity, gaussianIndex);`)}
9
10
 
10
- ${a(s,n)}
11
- `),s.preciseDepth&&u.main.add(`gl_FragDepth = gaussianSplatDepth();`),s.writeNormals&&u.main.add(`fragNormal = vec4(0.0);`),l}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as G,s as b};
11
+ if (opacity < ${n.float(r)}) {
12
+ return;
13
+ }
14
+
15
+ vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
16
+ if (rejectGaussianPosition(cameraRelativePosition)) {
17
+ return;
18
+ }
19
+
20
+ vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
21
+ if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
22
+ return;
23
+ }
24
+
25
+ vec3 gaussianScale = unpackScale(packedGaussian);
26
+ mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
27
+ GaussianSplatProjection projection;
28
+ if (!projectGaussianSplat(
29
+ viewPos.xyz, gaussianScale, gaussianRotation,
30
+ ${n.float(r)}, ${n.float(Math.log(r))}, opacity, projection
31
+ )) {
32
+ return;
33
+ }
34
+
35
+ gaussianCoordinates = projection.coordinates;
36
+ gaussianLogFalloffCutoff = projection.logFalloffCutoff;
37
+ fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * projection.viewOffset;
38
+
39
+ ${t(s.preciseDepth,n`
40
+ vec3 rayView = reconstructViewRay(projection.clipPosition.xy, inverseProjectionMatrix);
41
+ rayGaussianFactor = computeGaussianRayFactor(
42
+ rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
43
+ );
44
+ `)}
45
+ gl_Position = projection.clipPosition;
46
+ `),u.main.add(n`if (rejectGaussianPosition(fragmentPositionCameraRelative)) {
47
+ discard;
48
+ }
49
+ float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
50
+ if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
51
+ discard;
52
+ }`),s.preciseDepth&&u.main.add(n`gl_FragDepth = delinearizeDepth(-computeGaussianRayDepth(rayGaussianFactor));`),s.writeNormals&&u.main.add(`fragNormal = vec4(0.0);`),l}const c=Object.freeze(Object.defineProperty({__proto__:null,build:s},Symbol.toStringTag,{value:`Module`}));export{c as G,s as b};
@@ -1,5 +1,11 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/6.0/LICENSE.txt */
2
- import{create as e}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{nearFar as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{glsl as n,If as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4PassUniform as i}from"../views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js";import{shadowDepthBias as a,gaussianSplatFirstHitAlpha as o}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatRayDepth as s,GaussianSplatPass as c,gaussianSplatUnpackScaleAndRotation as l,gaussianSplatComputeQuad as u,gaussianSplatCullAndTransformVertex as d,gaussianSplatComputeEllipse as f}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{GaussianSplatRenderParameters as p}from"../views/3d/webgl-engine/shaders/GaussianSplatPassParameters.js";import{ShaderBuilder as m}from"../views/webgl/ShaderBuilder.js";class h extends p{constructor(){super(...arguments),this.inverseProjectionMatrix=e()}}function g(e){let p=new m,{vertex:h,fragment:g}=p,_=e.output===8;return e.preciseDepth&&(_?p.include(s):(p.varyings.add(`shadowRayDepth`,`vec2`),h.code.add(n`vec2 gaussianSplatPrepareParallelRayDepth(
2
+ import{create as e}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{positionOutsideClipSpace as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js";import{nearFar as n}from"../views/3d/webgl-engine/core/shaderLibrary/util/cameraUniforms.js";import{glsl as r,If as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4PassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js";import{shadowDepthBias as o,gaussianSplatFirstHitAlpha as s}from"../views/3d/webgl-engine/shaders/GaussianSplatDepthPolicy.js";import{gaussianSplatCommon as c,gaussianSplatRayDepth as l}from"../views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js";import{GaussianSplatRenderParameters as u}from"../views/3d/webgl-engine/shaders/GaussianSplatPassParameters.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";class f extends u{constructor(){super(...arguments),this.inverseProjectionMatrix=e()}}function p(e){let u=new d,{vertex:f,fragment:p,varyings:m}=u,h=e.output===8,g=e.clippingEnabled||e.hasSlicePlane;return u.include(c,e),m.add(`gaussianCoordinates`,`vec2`),m.add(`gaussianLogFalloffCutoff`,`float`),(e.preciseDepth||g)&&f.uniforms.add(new a(`inverseProjectionMatrix`,e=>e.inverseProjectionMatrix)),g&&(m.add(`homogeneousPositionCameraRelative`,`vec4`),f.code.add(r`vec4 reconstructHomogeneousViewPosition(vec2 clipPosition, float viewZ, mat4 inverseProjection) {
3
+ vec4 origin = inverseProjection * vec4(clipPosition, 0.0, 1.0);
4
+ vec4 depthAxis = inverseProjection[2];
5
+ float denominator = depthAxis.z - viewZ * depthAxis.w;
6
+ float numerator = viewZ * origin.w - origin.z;
7
+ return origin * denominator + depthAxis * numerator;
8
+ }`)),e.preciseDepth&&(h?(u.include(l),m.add(`rayGaussianFactor`,`vec4`)):(u.varyings.add(`shadowRayDepth`,`vec2`),f.code.add(r`vec2 gaussianSplatPrepareParallelRayDepth(
3
9
  vec2 clipPosition,
4
10
  vec3 viewPosition,
5
11
  vec3 gaussianScale,
@@ -14,18 +20,27 @@ vec3 homogeneousCenterOffset = vec3(viewPosition.xy * homogeneousOrigin.w - homo
14
20
  vec3 factorSpaceOffset = (viewToGaussian * homogeneousCenterOffset) / gaussianScale;
15
21
  float homogeneousPeakOffset = dot(factorSpaceDirection, factorSpaceOffset) / dot(factorSpaceDirection, factorSpaceDirection);
16
22
  return vec2(-viewPosition.z * homogeneousOrigin.w + homogeneousPeakOffset, homogeneousOrigin.w);
17
- }`)),h.uniforms.add(new i(`inverseProjectionMatrix`,e=>e.inverseProjectionMatrix)),g.uniforms.add(t),g.constants.add(`depthBias`,`float`,a),g.main.add(n`
18
- float rayDepth = ${_?`gaussianSplatRayDepth()`:`shadowRayDepth.x / (shadowRayDepth.y == 0.0 ? 1.0 : shadowRayDepth.y)`};
23
+ }`)),p.uniforms.add(n),p.constants.add(`depthBias`,`float`,o),p.main.add(r`
24
+ float rayDepth = ${h?`computeGaussianRayDepth(rayGaussianFactor)`:`shadowRayDepth.x / (shadowRayDepth.y == 0.0 ? 1.0 : shadowRayDepth.y)`};
19
25
  float linearDepth = (rayDepth - nearFar.x) / (nearFar.y - nearFar.x);
20
26
  float slopeBias = 2.0 * max(abs(dFdx(linearDepth)), abs(dFdy(linearDepth)));
21
- ${r(!_,n`if (shadowRayDepth.y == 0.0) { discard; }`)}
27
+ ${i(!h,r`if (shadowRayDepth.y == 0.0) { discard; }`)}
22
28
  if (rayDepth < nearFar.x || rayDepth > nearFar.y) {
23
29
  discard;
24
30
  }
25
31
  gl_FragDepth = min(linearDepth + depthBias + slopeBias, 1.0);
26
- `)),p.include(c,e),h.constants.add(`alphaCutoff`,`float`,o),h.constants.add(`depthBias`,`float`,a),h.code.add(n`float safeClipW(float clipW) {
32
+ `)),g&&p.main.add(r`if (homogeneousPositionCameraRelative.w == 0.0) {
33
+ discard;
34
+ }
35
+ vec3 positionCameraRelative = homogeneousPositionCameraRelative.xyz / homogeneousPositionCameraRelative.w;
36
+ if (rejectGaussianPosition(positionCameraRelative)) {
37
+ discard;
38
+ }`),p.main.add(r`float gaussianExponent = evaluateGaussianExponent(gaussianCoordinates);
39
+ if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogFalloffCutoff) {
40
+ discard;
41
+ }`),f.constants.add(`alphaCutoff`,`float`,s),f.constants.add(`depthBias`,`float`,o),f.code.add(r`float safeClipW(float clipW) {
27
42
  return abs(clipW) < 1e-7 ? (clipW < 0.0 ? -1e-7 : 1e-7) : clipW;
28
- }`),h.code.add(n`vec3 computeProjectivePixelGradient(
43
+ }`),f.code.add(r`vec3 computeProjectivePixelGradient(
29
44
  vec3 clipGradient,
30
45
  vec3 clipWGradient,
31
46
  float clipValue,
@@ -34,17 +49,31 @@ float invWSquared,
34
49
  float halfScreenSize
35
50
  ) {
36
51
  return (clipGradient * safeW - clipValue * clipWGradient) * invWSquared * halfScreenSize;
37
- }`),h.code.add(n`float biasDepth(float linearDepth) {
52
+ }`),f.code.add(r`float biasDepth(float linearDepth) {
38
53
  return min(linearDepth + depthBias, 1.0);
39
- }`),h.main.add(`
54
+ }`),f.main.add(r`
55
+ gl_Position = ${t};
40
56
  uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));
41
57
  uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);
42
58
 
43
59
  float opacity = unpackOpacity(packedGaussian);
44
60
 
45
- ${d(e,`alphaCutoff`)}
61
+ if (opacity < alphaCutoff) {
62
+ return;
63
+ }
64
+
65
+ vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);
66
+ if (rejectGaussianPosition(cameraRelativePosition)) {
67
+ return;
68
+ }
69
+
70
+ vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);
71
+ if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {
72
+ return;
73
+ }
46
74
 
47
- ${l}
75
+ vec3 gaussianScale = unpackScale(packedGaussian);
76
+ mat3 gaussianRotation = quaternionToRotationMatrix(unpackQuaternion(packedGaussian));
48
77
 
49
78
  vec4 projPos = proj * viewPos;
50
79
  float safeW = safeClipW(projPos.w);
@@ -78,7 +107,19 @@ return min(linearDepth + depthBias, 1.0);
78
107
  return;
79
108
  }
80
109
 
81
- ${f(`log(alphaCutoff) - log(opacity)`,`minimumRadiusOpacity`)}
110
+ float determinant = computeGaussianCovarianceDeterminant(covariance2D);
111
+ if (determinant <= 0.0) {
112
+ return;
113
+ }
114
+
115
+ vec2 eigenvalues = computeGaussianCovarianceEigenvalues(covariance2D);
116
+ gaussianLogFalloffCutoff = log(alphaCutoff) - log(opacity);
117
+ float gaussianEllipseThreshold = computeGaussianEllipseThreshold(gaussianLogFalloffCutoff);
118
+ vec2 screenRadii = computeGaussianScreenRadii(covariance2D, gaussianEllipseThreshold);
119
+ float maxRadius = ceil(sqrt(eigenvalues.x * gaussianEllipseThreshold));
120
+ if (rejectGaussianByMinimumRadius(maxRadius, minimumRadiusOpacity, minSplatRadius)) {
121
+ return;
122
+ }
82
123
 
83
124
  // Avoid invalid/extremely large footprints.
84
125
  if (maxRadius < 0.0 || maxRadius > maxShadowSplatRadius) {
@@ -86,16 +127,29 @@ return min(linearDepth + depthBias, 1.0);
86
127
  }
87
128
 
88
129
  vec3 ndcPos = projPos.xyz / safeW;
89
- ${u}
130
+ vec2 clipSpacePixelScale = 2.0 * inverseScreenSize;
131
+ if (rejectGaussianByScreenBounds(ndcPos.xy, screenRadii, clipSpacePixelScale)) {
132
+ return;
133
+ }
134
+ gaussianCoordinates = computeGaussianUnitQuadCorner(gl_VertexID) * sqrt(gaussianEllipseThreshold);
135
+ vec2 offsetFromCenter = computeGaussianQuadOffset(covariance2D, determinant, gaussianCoordinates);
90
136
  float linearDepth = (-viewPos.z - nearFar.x) / (nearFar.y - nearFar.x);
91
137
  float biasedDepth = biasDepth(linearDepth);
92
138
 
93
139
  vec2 clipPos = ndcPos.xy + offsetFromCenter * clipSpacePixelScale - inverseScreenSize;
94
- ${r(e.preciseDepth,_?n`vec3 rayView = reconstructViewRay(clipPos, inverseProjectionMatrix);
95
- rayGaussianFactor = computeGaussianRayFactor(
96
- rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
97
- );`:n`shadowRayDepth = gaussianSplatPrepareParallelRayDepth(
98
- clipPos, viewPos.xyz, gaussianScale, gaussianRotation, inverseProjectionMatrix, mat3(view)
99
- );`)}
140
+ ${i(g,r`
141
+ vec4 homogeneousViewPosition = reconstructHomogeneousViewPosition(clipPos, viewPos.z, inverseProjectionMatrix);
142
+ homogeneousPositionCameraRelative = vec4(transpose(mat3(view)) * homogeneousViewPosition.xyz, homogeneousViewPosition.w);
143
+ `)}
144
+ ${i(e.preciseDepth,h?r`
145
+ vec3 rayView = reconstructViewRay(clipPos, inverseProjectionMatrix);
146
+ rayGaussianFactor = computeGaussianRayFactor(
147
+ rayView, cameraRelativePosition, gaussianScale, gaussianRotation, mat3(view)
148
+ );
149
+ `:r`
150
+ shadowRayDepth = gaussianSplatPrepareParallelRayDepth(
151
+ clipPos, viewPos.xyz, gaussianScale, gaussianRotation, inverseProjectionMatrix, mat3(view)
152
+ );
153
+ `)}
100
154
  gl_Position = vec4(clipPos, biasedDepth * 2.0 - 1.0, 1.0);
101
- `),p}const _=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatShadowPassParameters:h,build:g},Symbol.toStringTag,{value:`Module`}));export{h as G,_ as a,g as b};
155
+ `),u}const m=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatShadowPassParameters:f,build:p},Symbol.toStringTag,{value:`Module`}));export{f as G,m as a,p as b};