@arcgis/core 5.0.0-next.67 → 5.0.0-next.69

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 (619) hide show
  1. package/Ground.d.ts +3 -4
  2. package/WebDocument2D.d.ts +1 -1
  3. package/WebLinkChart.d.ts +2 -0
  4. package/analysis/ElevationProfile/ElevationProfileLineQuery.d.ts +3 -4
  5. package/analysis/ElevationProfile/ElevationProfileLineViewOptions.d.ts +9 -6
  6. package/analysis/ElevationProfile/ElevationProfileLineViewOptions.js +1 -1
  7. package/analysis/types.d.ts +1 -0
  8. package/applications/Components/analysisUtils.d.ts +1 -3
  9. package/applications/Components/arcadeFeatureUtils.d.ts +1 -1
  10. package/applications/ExperienceBuilder/sketchUtils.d.ts +2 -2
  11. package/applications/KnowledgeStudio/reshape.d.ts +2 -2
  12. package/applications/SceneViewer/sceneViewerUtils.d.ts +11 -0
  13. package/applications/SceneViewer/sceneViewerUtils.js +1 -1
  14. package/arcade/arcadeAsyncRuntime.js +1 -1
  15. package/arcade/arcadeCompiler.js +1 -1
  16. package/arcade/arcadeRuntime.js +1 -1
  17. package/arcade/batchExec.js +1 -1
  18. package/arcade/compilerUtils.js +1 -1
  19. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  20. package/arcade/geometry/unitConversion.js +1 -1
  21. package/arcade/treeAnalysis.js +1 -1
  22. package/arcade.js +1 -1
  23. package/assets/esri/core/libs/libtess/libtess-f32.wasm +0 -0
  24. package/assets/esri/core/libs/libtess/libtess-f64.wasm +0 -0
  25. package/assets/esri/core/workers/RemoteClient.js +1 -1
  26. package/assets/esri/core/workers/chunks/01d7542d85a453384cf1.js +1 -0
  27. package/assets/esri/core/workers/chunks/{251eb6e00f99a816d55c.js → 0326314947734b8e640a.js} +1 -1
  28. package/assets/esri/core/workers/chunks/04176244b0a3539c9681.js +1 -0
  29. package/assets/esri/core/workers/chunks/{168ec8fca2702617a543.js → 09dfec3e097ebbef6a89.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{942fad4ec96295672ce8.js → 10e474d664b20adcd917.js} +1 -1
  31. package/assets/esri/core/workers/chunks/12f9a55253084a910b2e.js +1 -0
  32. package/assets/esri/core/workers/chunks/{0629087bd5bb8048493e.js → 14dedd80fb797303f91f.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{81d89107ff82604a3ea0.js → 1b445981fbc8373f4dd8.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{794960ec36e11f4416c2.js → 1d1e25bb61eeeee8ee94.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{6ba3c2b9f699d94d62b8.js → 1ec1a1997b5577619040.js} +1 -1
  36. package/assets/esri/core/workers/chunks/2085084324cd5a81783f.js +1 -0
  37. package/assets/esri/core/workers/chunks/2c2c0f66cffc521df736.js +1 -0
  38. package/assets/esri/core/workers/chunks/2dd347aa2a061d536e69.js +1 -0
  39. package/assets/esri/core/workers/chunks/2dfa7abf2d39fa5a3874.js +1 -0
  40. package/assets/esri/core/workers/chunks/{6cb44cd319cb6c2539c8.js → 2e2c47f8a80ee9234350.js} +1 -1
  41. package/assets/esri/core/workers/chunks/322085d63719da6e443c.js +1 -0
  42. package/assets/esri/core/workers/chunks/{76086517591d0eb35156.js → 34a2e0462eb05986cdd1.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{a6dcd13c792b6538ac50.js → 35593a9790818b689455.js} +1 -1
  44. package/assets/esri/core/workers/chunks/3a04153ca9d8e4f01185.js +1 -0
  45. package/assets/esri/core/workers/chunks/{4e9a8fce55cad841c731.js → 3b25f5d9c8f78bb6e011.js} +1 -1
  46. package/assets/esri/core/workers/chunks/3e7ea06b342e33bc48a5.js +1 -0
  47. package/assets/esri/core/workers/chunks/3ed317900f0edf635508.js +1 -0
  48. package/assets/esri/core/workers/chunks/401ce5cb98fa14c1a725.js +1 -0
  49. package/assets/esri/core/workers/chunks/4319b89cfa02894a8cae.js +1 -0
  50. package/assets/esri/core/workers/chunks/{7bed14d9bcd7fc5e2eec.js → 4bcd74951477e8977ba1.js} +1 -1
  51. package/assets/esri/core/workers/chunks/4c04c54330b693892cfc.js +314 -0
  52. package/assets/esri/core/workers/chunks/{687d2b761dc5b5cf0c31.js → 4d4d71d24c1a9cb342b8.js} +1 -1
  53. package/assets/esri/core/workers/chunks/4fa230dc6e5e87b0dec1.js +1 -0
  54. package/assets/esri/core/workers/chunks/50f03813fba4b752ca9f.js +1 -0
  55. package/assets/esri/core/workers/chunks/{abc236e99b52be1c83b9.js → 52a14266fe239b95c5ce.js} +1 -1
  56. package/assets/esri/core/workers/chunks/53b5c77832df7df4d4e3.js +1 -0
  57. package/assets/esri/core/workers/chunks/{34178ace79e8dea3567d.js → 562cddaf63985e53ee6e.js} +1 -1
  58. package/assets/esri/core/workers/chunks/563933a84fc9b0e021f6.js +1 -0
  59. package/assets/esri/core/workers/chunks/58b3a776ef129f7f86dc.js +1 -0
  60. package/assets/esri/core/workers/chunks/58e8d41dcc450e6427c9.js +1 -0
  61. package/assets/esri/core/workers/chunks/{6599cc702a46f81a5634.js → 5dd5be91038df8902dc4.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{49a1b7f700b8a42de817.js → 60c7f896f2246a8aa6d7.js} +19 -19
  63. package/assets/esri/core/workers/chunks/60f363ee2add089e8f0b.js +1 -0
  64. package/assets/esri/core/workers/chunks/68074a484d7f9bc713c0.js +1 -0
  65. package/assets/esri/core/workers/chunks/6acfa51b81e6f4255118.js +1 -0
  66. package/assets/esri/core/workers/chunks/{3fe7be535affae31de7e.js → 6b85a8776ec2beff63cb.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{0dc3a04ce717b7ddd957.js → 6c9dac4a869742cc2718.js} +1 -1
  68. package/assets/esri/core/workers/chunks/6df484faf54e90a6cc77.js +1 -0
  69. package/assets/esri/core/workers/chunks/6ea6ad894ac634aa4391.js +1 -0
  70. package/assets/esri/core/workers/chunks/6f8098f9fe233833245a.js +1 -0
  71. package/assets/esri/core/workers/chunks/75fd2ef1236a9364ca7f.js +1 -0
  72. package/assets/esri/core/workers/chunks/7be9bbae23895d1cfa92.js +1 -0
  73. package/assets/esri/core/workers/chunks/7ea48661f1087d06aa41.js +1 -0
  74. package/assets/esri/core/workers/chunks/{47e5149765beee46f208.js → 7ee68f67f9cc48a328f0.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{e5aac523c37d906eece6.js → 827277e5da652bcecaf2.js} +1 -1
  76. package/assets/esri/core/workers/chunks/866477acdf03b8a40bc9.js +1 -0
  77. package/assets/esri/core/workers/chunks/8e83c133b201b9b61e70.js +1 -0
  78. package/assets/esri/core/workers/chunks/9086a4933d3d3d9ffa72.js +1 -0
  79. package/assets/esri/core/workers/chunks/94174d40de39dbe7d0bf.js +1 -0
  80. package/assets/esri/core/workers/chunks/{dd99b77a7c0a052507bb.js → 9d88b4ba8e511da64583.js} +3 -3
  81. package/assets/esri/core/workers/chunks/9f34cf024231f574009c.js +1 -0
  82. package/assets/esri/core/workers/chunks/{e705d041f6c1632bfbcc.js → a10c6dd3bb8b3602de68.js} +1 -1
  83. package/assets/esri/core/workers/chunks/a64cd02ca959d511101c.js +1 -0
  84. package/assets/esri/core/workers/chunks/a808be466812db51813d.js +1 -0
  85. package/assets/esri/core/workers/chunks/{6b4a24248182245167ca.js → a931515a2569713e743b.js} +1 -1
  86. package/assets/esri/core/workers/chunks/a95e28ade258b144cbb5.js +1 -0
  87. package/assets/esri/core/workers/chunks/adc68e2c6d2698a52bfe.js +1 -0
  88. package/assets/esri/core/workers/chunks/{0f8149fdcf0adeca268e.js → b28e0b89603d8b03f9e1.js} +1 -1
  89. package/assets/esri/core/workers/chunks/b5e4a36784d598ae6679.js +1 -0
  90. package/assets/esri/core/workers/chunks/{204d738c8b651314ae64.js → b899b4e7979c13b99526.js} +1 -1
  91. package/assets/esri/core/workers/chunks/bb4574a87ca21e719f0d.js +1 -0
  92. package/assets/esri/core/workers/chunks/{07639f406b71bb49ffd6.js → bdbb5b33f0f49661bf6d.js} +1 -1
  93. package/assets/esri/core/workers/chunks/bf05164b7a3e4f31e9db.js +1 -0
  94. package/assets/esri/core/workers/chunks/c042269586921e337be9.js +1 -0
  95. package/assets/esri/core/workers/chunks/c7391b0b5a9c916a53f7.js +1 -0
  96. package/assets/esri/core/workers/chunks/{43d28c6509c21b8917a8.js → ca7523c14d81c470e92e.js} +1 -1
  97. package/assets/esri/core/workers/chunks/d0ae8752419d5b761190.js +1 -0
  98. package/assets/esri/core/workers/chunks/d445e9399fe4ca3d2a50.js +1 -0
  99. package/assets/esri/core/workers/chunks/d7683a95775c9f401a7e.js +1 -0
  100. package/assets/esri/core/workers/chunks/{9d6945cda99d14af83ac.js → d7d9656b990ce8be2152.js} +1 -1
  101. package/assets/esri/core/workers/chunks/dbfb00fb28b8b9f687a1.js +1 -0
  102. package/assets/esri/core/workers/chunks/df4a0af329ce94a47a7b.js +1 -0
  103. package/assets/esri/core/workers/chunks/e071b912539304564b69.js +1 -0
  104. package/assets/esri/core/workers/chunks/e10d6e511921394474ca.js +1 -0
  105. package/assets/esri/core/workers/chunks/e4b6aa8f67c2bd285020.js +1 -0
  106. package/assets/esri/core/workers/chunks/e6ca02f98f855024f74b.js +1 -0
  107. package/assets/esri/core/workers/chunks/{892157696e8f9e38c472.js → e6e837e43b9348050832.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{d3325ed8d224e2350db7.js → e8a3ad00936f2ccaf362.js} +1 -1
  109. package/assets/esri/core/workers/chunks/ef7063ee790d2d64d4b2.js +1 -0
  110. package/assets/esri/core/workers/chunks/{b65fcfde62d49de1fa54.js → ef977be20a647aeded0a.js} +1 -1
  111. package/assets/esri/core/workers/chunks/efb631371b6bb3f043bb.js +1 -0
  112. package/assets/esri/core/workers/chunks/{0f5693541111fcae0c2f.js → f0914715e90e43466f8c.js} +1 -1
  113. package/assets/esri/core/workers/chunks/{ab71865b94022e78035c.js → f92845eb7df1804fcd6d.js} +1 -1
  114. package/assets/esri/core/workers/chunks/{bfc063d4431bfa162160.js → fd09f38fb4d99bf34988.js} +1 -1
  115. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +108 -0
  116. package/assets/esri/themes/dark/main.css +1 -1
  117. package/assets/esri/themes/light/main.css +1 -1
  118. package/assets/esri/themes/light/view.css +1 -1
  119. package/chunks/GaussianSplat.glsl.js +2 -2
  120. package/chunks/GaussianSplatDepthComposition.glsl.js +4 -5
  121. package/chunks/HUDMaterial.glsl.js +45 -47
  122. package/chunks/LineMarker.glsl.js +33 -34
  123. package/chunks/PointRenderer.glsl.js +6 -6
  124. package/chunks/RibbonLine.glsl.js +62 -54
  125. package/chunks/boundedPlane.js +1 -1
  126. package/chunks/libtess-f32.js +1 -1
  127. package/chunks/libtess-f64.js +1 -1
  128. package/config.js +1 -1
  129. package/core/Collection.d.ts +3 -2
  130. package/core/Identifiable.d.ts +1 -3
  131. package/core/accessorSupport/ensureType.js +1 -1
  132. package/core/accessorSupport/types.d.ts +0 -8
  133. package/core/compilerUtils.js +1 -1
  134. package/core/promiseUtils.d.ts +1 -1
  135. package/core/reactiveUtils.d.ts +2 -2
  136. package/core/typedArrayUtil.js +1 -1
  137. package/core/units.d.ts +8 -2
  138. package/core/units.js +1 -1
  139. package/core/workers/loaderConfig.js +1 -1
  140. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  141. package/geometry/HeightModelInfo.d.ts +3 -3
  142. package/geometry/SpatialReference.d.ts +2 -2
  143. package/geometry/libtess.js +1 -1
  144. package/geometry/support/MeshTexture.js +1 -1
  145. package/geometry/support/aaBoundingRect.js +1 -1
  146. package/geometry/support/boundedPlane.js +1 -1
  147. package/geometry/support/heightModelInfoUtils.js +1 -1
  148. package/geometry/support/meshUtils/External.js +1 -1
  149. package/geometry/support/meshUtils/exporters/gltf/imageutils.js +1 -1
  150. package/geometry/support/meshUtils/loadExternal.js +1 -1
  151. package/geometry/support/meshUtils/types.d.ts +2 -2
  152. package/geometry/support/rotate.js +1 -1
  153. package/geometry/types.d.ts +2 -0
  154. package/identity/IdentityManagerBase.d.ts +4 -4
  155. package/interfaces.d.ts +2937 -2955
  156. package/kernel.js +1 -1
  157. package/layers/BaseElevationLayer.d.ts +3 -4
  158. package/layers/BuildingSceneLayer.d.ts +1 -1
  159. package/layers/ElevationLayer.d.ts +3 -4
  160. package/layers/FeatureLayer.d.ts +12 -11
  161. package/layers/FeatureLayer.js +1 -1
  162. package/layers/GroupLayer.d.ts +3 -3
  163. package/layers/ImageryLayer.d.ts +3 -3
  164. package/layers/ImageryTileLayer.d.ts +3 -4
  165. package/layers/Layer.d.ts +4 -4
  166. package/layers/LineOfSightLayer.d.ts +1 -1
  167. package/layers/LinkChartLayer.js +1 -1
  168. package/layers/MapImageLayer.d.ts +7 -8
  169. package/layers/MediaLayer.d.ts +3 -3
  170. package/layers/OrientedImageryLayer.d.ts +3 -3
  171. package/layers/ParquetLayer.d.ts +1 -1
  172. package/layers/ParquetLayer.js +1 -1
  173. package/layers/RouteLayer.d.ts +2 -3
  174. package/layers/SceneLayer.d.ts +167 -3
  175. package/layers/SceneLayer.js +1 -1
  176. package/layers/StreamLayer.d.ts +3 -3
  177. package/layers/SubtypeGroupLayer.d.ts +3 -3
  178. package/layers/WCSLayer.d.ts +3 -3
  179. package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +1 -1
  180. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  181. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  182. package/layers/graphics/dehydratedFeatureComparison.js +1 -1
  183. package/layers/graphics/dehydratedFeatures.js +1 -1
  184. package/layers/graphics/hydratedFeatures.js +1 -1
  185. package/layers/graphics/sources/ParquetSource.d.ts +1 -1
  186. package/layers/graphics/sources/support/QueryTask.js +1 -1
  187. package/layers/mixins/SceneService.d.ts +2 -2
  188. package/layers/orientedImagery/queries.js +1 -1
  189. package/layers/orientedImagery/transformations/imageToWorld.d.ts +2 -2
  190. package/layers/orientedImagery/transformations/rectifyMapPoint.js +1 -1
  191. package/layers/orientedImagery/transformations/types.d.ts +1 -1
  192. package/layers/raster/datasets/pixelReader.d.ts +1 -7
  193. package/layers/raster/functions/changeDetectionUtils.js +1 -1
  194. package/layers/raster/functions/creators/createBandIndexFunctions.d.ts +29 -29
  195. package/layers/raster/functions/customBandIndexUtils.js +1 -1
  196. package/layers/raster/functions/focalStatUtils.js +1 -1
  197. package/layers/raster/functions/pixelTransformUtils.js +1 -1
  198. package/layers/save/featureLayerUtils.js +1 -1
  199. package/layers/support/BuildingFilterMode.d.ts +3 -1
  200. package/layers/support/BuildingFilterMode.js +1 -1
  201. package/layers/support/BuildingFilterModeSolid.js +1 -1
  202. package/layers/support/BuildingFilterModeWireFrame.js +1 -1
  203. package/layers/support/BuildingFilterModeXRay.js +1 -1
  204. package/layers/support/CodedValue.d.ts +1 -1
  205. package/layers/support/ControlPoint.d.ts +6 -20
  206. package/layers/support/ControlPointsGeoreference.d.ts +2 -1
  207. package/layers/support/ElevationSampler.d.ts +2 -2
  208. package/layers/support/ElevationSampler.js +1 -1
  209. package/layers/support/FeatureReductionBinning.d.ts +4 -4
  210. package/layers/support/FeatureReductionBinning.js +1 -1
  211. package/layers/support/FeatureReductionSelection.d.ts +3 -3
  212. package/layers/support/FeatureReductionSelection.js +1 -1
  213. package/layers/support/Field.d.ts +1 -2
  214. package/layers/support/ParquetGeometryEncodingLocation.d.ts +6 -4
  215. package/layers/support/ParquetGeometryEncodingLocation.js +1 -1
  216. package/layers/support/ParquetGeometryEncodingWkb.d.ts +6 -4
  217. package/layers/support/ParquetGeometryEncodingWkb.js +1 -1
  218. package/layers/support/PixelBlock.d.ts +11 -3
  219. package/layers/support/RangeDomain.d.ts +2 -1
  220. package/layers/support/SceneServiceTimeInfo.js +5 -0
  221. package/layers/support/SpriteSource.d.ts +1 -0
  222. package/layers/support/Sublayer.d.ts +17 -16
  223. package/layers/support/Sublayer.js +1 -1
  224. package/layers/support/SubtypeSublayer.js +1 -1
  225. package/layers/support/domains.js +1 -1
  226. package/layers/support/featureReductionUtils.js +1 -1
  227. package/layers/support/rasterFunctionUtils.d.ts +30 -30
  228. package/layers/support/types.d.ts +101 -1
  229. package/layers/types.d.ts +12 -1
  230. package/layers/wms/types.d.ts +0 -4
  231. package/networks/CircuitManager.d.ts +5 -5
  232. package/networks/Network.d.ts +5 -5
  233. package/networks/UtilityNetwork.d.ts +2 -2
  234. package/networks/support/TopologyValidationJobInfo.js +1 -1
  235. package/networks/support/TraceJobInfo.js +1 -1
  236. package/package.json +2 -2
  237. package/popup/content/types.d.ts +1 -3
  238. package/portal/PortalItem.d.ts +8 -8
  239. package/portal/PortalItemResource.d.ts +2 -2
  240. package/portal/PortalUser.d.ts +3 -3
  241. package/portal/support/resourceUtils.d.ts +3 -3
  242. package/portal/types.d.ts +6 -6
  243. package/renderers/support/RasterSymbolizer.js +1 -1
  244. package/renderers/support/pointCloud/types.d.ts +1 -0
  245. package/renderers/support/raster/types.d.ts +1 -0
  246. package/renderers/support/rendererConversion.js +1 -1
  247. package/renderers/types.d.ts +2 -0
  248. package/renderers/visualVariables/support/visualVariableUtils.js +1 -1
  249. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.d.ts +0 -2
  250. package/rest/layerSources/DynamicDataLayer.d.ts +102 -0
  251. package/rest/layerSources/DynamicDataLayer.js +5 -0
  252. package/{layers/support/source/MapLayerSource.d.ts → rest/layerSources/DynamicMapLayer.d.ts} +4 -4
  253. package/rest/layerSources/DynamicMapLayer.js +5 -0
  254. package/rest/layerSources/JoinTableDataSource.d.ts +75 -0
  255. package/rest/layerSources/JoinTableDataSource.js +5 -0
  256. package/{layers/support/source → rest/layerSources}/QueryTableDataSource.d.ts +8 -7
  257. package/rest/layerSources/QueryTableDataSource.js +5 -0
  258. package/{layers/support/source → rest/layerSources}/RasterDataSource.d.ts +2 -2
  259. package/rest/layerSources/RasterDataSource.js +5 -0
  260. package/{layers/support/source → rest/layerSources}/TableDataSource.d.ts +2 -2
  261. package/rest/layerSources/TableDataSource.js +5 -0
  262. package/rest/layerSources/utils.js +5 -0
  263. package/rest/print.js +1 -1
  264. package/rest/query/executeQuery.js +1 -1
  265. package/rest/query/operations/pbfDehydratedFeatureSet.js +1 -1
  266. package/rest/support/JobInfo.js +1 -1
  267. package/rest/support/Query.js +1 -1
  268. package/rest/support/RelationshipQuery.js +1 -1
  269. package/rest/support/ServiceAreaParameters.js +1 -1
  270. package/rest/support/types.d.ts +0 -4
  271. package/smartMapping/heuristics/binLevel.d.ts +2 -2
  272. package/smartMapping/heuristics/scaleRange.d.ts +2 -2
  273. package/smartMapping/heuristics/sizeRange.d.ts +2 -2
  274. package/smartMapping/heuristics/sizeRange.js +1 -1
  275. package/smartMapping/heuristics/types.d.ts +3 -3
  276. package/smartMapping/labels/bins.d.ts +2 -2
  277. package/smartMapping/labels/clusters.d.ts +2 -2
  278. package/smartMapping/renderers/color.d.ts +14 -14
  279. package/smartMapping/renderers/dotDensity.d.ts +2 -2
  280. package/smartMapping/renderers/heatmap.d.ts +4 -4
  281. package/smartMapping/renderers/location.d.ts +2 -2
  282. package/smartMapping/renderers/opacity.d.ts +2 -2
  283. package/smartMapping/renderers/pieChart.d.ts +4 -4
  284. package/smartMapping/renderers/predominance.d.ts +2 -2
  285. package/smartMapping/renderers/relationship.d.ts +4 -4
  286. package/smartMapping/renderers/size.d.ts +15 -15
  287. package/smartMapping/renderers/support/rendererUtils.d.ts +2 -2
  288. package/smartMapping/renderers/support/utils.js +1 -1
  289. package/smartMapping/renderers/type.d.ts +4 -4
  290. package/smartMapping/renderers/univariateColorSize.d.ts +4 -4
  291. package/smartMapping/statistics/classBreaks.d.ts +2 -2
  292. package/smartMapping/statistics/heatmapStatistics.d.ts +2 -2
  293. package/smartMapping/statistics/histogram.d.ts +2 -2
  294. package/smartMapping/statistics/predominantCategories.d.ts +2 -2
  295. package/smartMapping/statistics/summaryStatistics.d.ts +2 -2
  296. package/smartMapping/statistics/summaryStatisticsForAge.d.ts +2 -2
  297. package/smartMapping/statistics/support/ageUtils.d.ts +2 -2
  298. package/smartMapping/statistics/support/statsWorker.js +1 -1
  299. package/smartMapping/statistics/support/utils.js +1 -1
  300. package/smartMapping/statistics/types.d.ts +7 -7
  301. package/smartMapping/statistics/uniqueValues.d.ts +2 -2
  302. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  303. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  304. package/smartMapping/support/adapters/support/histogramUtils.js +1 -1
  305. package/smartMapping/support/utils.js +1 -1
  306. package/smartMapping/symbology/color.d.ts +8 -8
  307. package/smartMapping/symbology/dotDensity.d.ts +6 -6
  308. package/smartMapping/symbology/flow.d.ts +6 -6
  309. package/smartMapping/symbology/heatmap.d.ts +6 -6
  310. package/smartMapping/symbology/location.d.ts +2 -2
  311. package/smartMapping/symbology/pieChart.d.ts +6 -6
  312. package/smartMapping/symbology/predominance.d.ts +6 -6
  313. package/smartMapping/symbology/relationship.d.ts +6 -6
  314. package/smartMapping/symbology/size.d.ts +2 -2
  315. package/smartMapping/symbology/support/colorRamps.d.ts +2 -2
  316. package/smartMapping/symbology/type.d.ts +6 -6
  317. package/support/popupUtils.d.ts +2 -2
  318. package/support/revision.js +1 -1
  319. package/symbols/LineSymbol3D.d.ts +2 -2
  320. package/symbols/PointSymbol3D.d.ts +2 -2
  321. package/symbols/PolygonSymbol3D.d.ts +2 -2
  322. package/symbols/patterns/LinePattern3D.d.ts +8 -0
  323. package/symbols/patterns/LineStylePattern3D.d.ts +1 -2
  324. package/symbols/patterns/Pattern3D.d.ts +9 -0
  325. package/symbols/patterns/StylePattern3D.d.ts +1 -2
  326. package/symbols/support/ElevationInfo.d.ts +2 -2
  327. package/symbols/support/IconSymbol3DLayerResource.d.ts +1 -1
  328. package/symbols/support/defaults.js +1 -1
  329. package/symbols/support/defaults3D.js +1 -1
  330. package/symbols/support/previewSymbol3D.js +1 -1
  331. package/symbols/support/symbolLayerUtils3D.js +1 -1
  332. package/symbols/support/symbolUtils.js +1 -1
  333. package/symbols/support/utils.js +1 -1
  334. package/symbols/types.d.ts +7 -0
  335. package/unionTypes.d.ts +13 -13
  336. package/views/2d/analysis/ElevationProfile/ElevationProfileLineVisualization2D.js +1 -1
  337. package/views/2d/analysis/ElevationProfileAnalysisView2D.d.ts +16 -11
  338. package/views/2d/analysis/ElevationProfileAnalysisView2D.js +1 -1
  339. package/views/2d/analysis/types.d.ts +1 -0
  340. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  341. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  342. package/views/2d/engine/webgl/TextureUploadManager.js +1 -1
  343. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  344. package/views/2d/input/handlers/DoubleTapDragZoom.js +1 -1
  345. package/views/2d/input/handlers/KeyZoom.js +1 -1
  346. package/views/2d/layers/BaseLayerView2D.d.ts +0 -5
  347. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  348. package/views/2d/layers/StreamLayerView2D.js +1 -1
  349. package/views/2d/layers/TileLayerView2D.js +1 -1
  350. package/views/2d/layers/features/Processor.js +1 -1
  351. package/views/2d/layers/support/MediaLayerInteractionOptions.js +1 -1
  352. package/views/3d/analysis/AreaMeasurement/support/utils.js +1 -1
  353. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  354. package/views/3d/analysis/ElevationProfile/ElevationProfileLineVisualization3D.js +1 -1
  355. package/views/3d/analysis/ElevationProfileAnalysisView3D.d.ts +16 -11
  356. package/views/3d/analysis/ElevationProfileAnalysisView3D.js +1 -1
  357. package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +0 -2
  358. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  359. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  360. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
  361. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  362. package/views/3d/analysis/types.d.ts +1 -0
  363. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  364. package/views/3d/environment/CloudsParameters.js +1 -1
  365. package/views/3d/environment/CloudsRenderer.js +1 -1
  366. package/views/3d/environment/SceneViewEnvironment.js +1 -1
  367. package/views/3d/environment/SunLighting.d.ts +1 -3
  368. package/views/3d/glTF/internal/Resource.js +1 -1
  369. package/views/3d/glTF/internal/fillDefaults.js +1 -1
  370. package/views/3d/interactive/Manipulator3D.js +1 -1
  371. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  372. package/views/3d/interactive/editingTools/isSupportedObjectUtils.js +1 -1
  373. package/views/3d/interactive/editingTools/move/isSupportedObject.js +1 -1
  374. package/views/3d/interactive/editingTools/transform/isSupportedGraphic.js +1 -1
  375. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  376. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  377. package/views/3d/layers/I3SMeshView3D.js +1 -1
  378. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  379. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  380. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  381. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  382. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  383. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  384. package/views/3d/layers/graphics/LabelInfo.js +1 -1
  385. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  386. package/views/3d/layers/graphics/lineUtils.js +1 -1
  387. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  388. package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
  389. package/views/3d/layers/graphics/primitiveObjectSymbolUtils.js +1 -1
  390. package/views/3d/layers/i3s/BuildingFilterUtil.js +1 -1
  391. package/views/3d/layers/i3s/I3SIntersectionHandler.js +1 -1
  392. package/views/3d/layers/i3s/I3SNode.js +1 -1
  393. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  394. package/views/3d/layers/i3s/PointCloudWorkerUtil.js +1 -1
  395. package/views/3d/layers/i3s/SphereCone.js +5 -0
  396. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  397. package/views/3d/layers/support/MediaLayerInteractionOptions.d.ts +4 -0
  398. package/views/3d/layers/support/edgeUtils.js +1 -1
  399. package/views/3d/layers/support/featureReference.js +1 -1
  400. package/views/3d/layers/support/featureTileQuery3D.js +1 -1
  401. package/views/3d/layers/support/patternUtils.js +1 -1
  402. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  403. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  404. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  405. package/views/3d/support/QualityProfile.js +1 -1
  406. package/views/3d/support/QualitySettings.js +1 -1
  407. package/views/3d/support/buffer/glUtil.js +1 -1
  408. package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
  409. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  410. package/views/3d/support/gaussianSplatting/GaussianSplatFadeTexture.js +1 -1
  411. package/views/3d/support/viewpointUtils.js +1 -1
  412. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  413. package/views/3d/webgl/RenderNode.js +1 -1
  414. package/views/3d/webgl-engine/collections/Component/Material/ComponentData.glsl.js +8 -8
  415. package/views/3d/webgl-engine/collections/Component/Transform.js +1 -1
  416. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +3 -3
  417. package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +4 -4
  418. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +2 -2
  419. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +2 -2
  420. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +6 -6
  421. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +1 -1
  422. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +5 -5
  423. package/views/3d/webgl-engine/core/shaderLibrary/shading/PositionOutsideClipSpace.js +5 -0
  424. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +3 -3
  425. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendModes.glsl.js +1 -1
  426. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  427. package/views/3d/webgl-engine/lib/LocalOriginManager.js +1 -1
  428. package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
  429. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  430. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  431. package/views/3d/webgl-engine/lib/edgeRendering/LegacyTransform.js +5 -0
  432. package/views/3d/webgl-engine/materials/lineStippleUtils.js +1 -1
  433. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  434. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  435. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
  436. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  437. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  438. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  439. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  440. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  441. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +4 -4
  442. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +8 -8
  443. package/views/SceneView.js +1 -1
  444. package/views/VideoView.js +1 -1
  445. package/views/View.js +1 -1
  446. package/views/View2D.js +1 -1
  447. package/views/analysis/ElevationProfile/ElevationProfileController.js +1 -1
  448. package/views/analysis/ElevationProfile/ElevationProfileIndicatorPointVisualization.js +5 -0
  449. package/views/analysis/ElevationProfile/ElevationProfileLineComputation.js +1 -1
  450. package/views/analysis/ElevationProfile/ElevationProfileResult.js +1 -1
  451. package/views/analysis/ElevationProfile/ElevationProfileTool.js +1 -1
  452. package/views/analysis/ElevationProfile/constants.js +1 -1
  453. package/views/analysis/types.d.ts +4 -0
  454. package/views/draw/Draw.js +1 -1
  455. package/views/input/ViewEvents.js +1 -1
  456. package/views/input/types.d.ts +2 -4
  457. package/views/interactive/editGeometry/EditGeometry.js +1 -1
  458. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  459. package/views/interactive/snapping/featureSources/snappingCandidateElevationAlignment.js +1 -1
  460. package/views/interactive/snapping/featureSources/snappingCandidateElevationFilter.js +1 -1
  461. package/views/interactive/snapping/featureSources/symbologySnappingCandidates.js +1 -1
  462. package/views/layers/CatalogLayerView.d.ts +1 -4
  463. package/views/layers/DimensionLayerView.d.ts +4 -6
  464. package/views/layers/DimensionLayerViewMixin.d.ts +0 -97
  465. package/views/layers/LineOfSightLayerView.d.ts +4 -6
  466. package/views/layers/LineOfSightLayerViewMixin.d.ts +0 -77
  467. package/views/layers/StreamLayerView.d.ts +31 -2
  468. package/views/support/PromiseQueue.js +1 -1
  469. package/views/support/WebAssemblyRequirements.js +5 -0
  470. package/views/support/WebGLRequirements.js +1 -1
  471. package/views/support/screenUtils.js +1 -1
  472. package/views/support/screenshotUtils.js +1 -1
  473. package/views/webgl/FramebufferObject.js +1 -1
  474. package/views/webgl/Uniform.js +1 -1
  475. package/views/webgl/Util.js +1 -1
  476. package/webdoc/support/SlideThumbnail.d.ts +6 -3
  477. package/webdoc/support/SlideThumbnail.js +1 -1
  478. package/webscene/Slide.d.ts +2 -2
  479. package/webscene/spec-certification/api.js +1 -1
  480. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.d.ts +2 -2
  481. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.js +1 -1
  482. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.d.ts +2 -2
  483. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
  484. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  485. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  486. package/widgets/BatchAttributeForm/inputs/TextElementInput.d.ts +7 -0
  487. package/widgets/BatchAttributeForm/inputs/TextElementInput.js +1 -1
  488. package/widgets/BatchAttributeForm/inputs/support/textInputElementUtils.js +5 -0
  489. package/widgets/BatchAttributeForm/templates/TextElementTemplate.js +1 -1
  490. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  491. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  492. package/widgets/BatchAttributeForm.js +1 -1
  493. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.d.ts +2 -2
  494. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.js +1 -1
  495. package/widgets/Directions/DirectionsViewModel.d.ts +20 -4
  496. package/widgets/Directions/DirectionsViewModel.js +1 -1
  497. package/widgets/Directions.d.ts +2 -3
  498. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.d.ts +2 -2
  499. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.js +1 -1
  500. package/widgets/Editor/EditorViewModel.d.ts +2 -2
  501. package/widgets/Editor/workflowUtils.js +1 -1
  502. package/widgets/Editor.d.ts +2 -2
  503. package/widgets/ElevationProfile/support/HoveredPoints.js +1 -1
  504. package/widgets/ElevationProfile/types.d.ts +3 -4
  505. package/widgets/Feature/support/arcadeFeatureUtils.js +1 -1
  506. package/widgets/Feature/types.d.ts +1 -5
  507. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  508. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  509. package/widgets/FeatureForm.js +1 -1
  510. package/widgets/FeatureTable/Grid/types.d.ts +0 -2
  511. package/widgets/FeatureTable/support/types.d.ts +8 -8
  512. package/widgets/Features/FeaturesViewModel.d.ts +3 -3
  513. package/widgets/Features/FeaturesViewModel.js +1 -1
  514. package/widgets/LineOfSight/LineOfSightViewModel.d.ts +2 -2
  515. package/widgets/LineOfSight/LineOfSightViewModel.js +1 -1
  516. package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
  517. package/widgets/Popup/types.d.ts +0 -2
  518. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  519. package/widgets/ShadowCast/ShadowCastVisibleElements.d.ts +2 -0
  520. package/widgets/Sketch/SketchViewModel.js +1 -1
  521. package/widgets/Sketch/support/OperationHandle.js +1 -1
  522. package/widgets/Sketch/types.d.ts +2 -2
  523. package/widgets/Slice/SliceViewModel.d.ts +2 -2
  524. package/widgets/Slice/SliceViewModel.js +1 -1
  525. package/widgets/Spinner/SpinnerViewModel.js +1 -1
  526. package/widgets/TimeSlider.js +1 -1
  527. package/widgets/support/AnalysisViewModelMixin.js +5 -0
  528. package/widgets/support/AnchorElementViewModel.js +1 -1
  529. package/widgets/support/InteractiveToolViewModelMixin.js +5 -0
  530. package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
  531. package/widgets/support/dateUtils.js +1 -1
  532. package/assets/esri/core/workers/chunks/055fdc5134d54174444d.js +0 -316
  533. package/assets/esri/core/workers/chunks/058fb2cd6387acfd458c.js +0 -1
  534. package/assets/esri/core/workers/chunks/08359ae020238a565955.js +0 -1
  535. package/assets/esri/core/workers/chunks/0ae018098906d6a88904.js +0 -1
  536. package/assets/esri/core/workers/chunks/0cd3acfbf9ee991bdab4.js +0 -1
  537. package/assets/esri/core/workers/chunks/0e5cd0cf6ab7cb37d723.js +0 -1
  538. package/assets/esri/core/workers/chunks/0ee407b8db5c07a00d82.js +0 -1
  539. package/assets/esri/core/workers/chunks/10373885604655f673df.js +0 -1
  540. package/assets/esri/core/workers/chunks/119822a646834c1cebc0.js +0 -1
  541. package/assets/esri/core/workers/chunks/13d61d34e55c80e4ecdf.js +0 -1
  542. package/assets/esri/core/workers/chunks/17dea03fc4eb414f0022.js +0 -1
  543. package/assets/esri/core/workers/chunks/1967239713b58dccfd81.js +0 -1
  544. package/assets/esri/core/workers/chunks/1c350a2c4014146dbcd9.js +0 -1
  545. package/assets/esri/core/workers/chunks/2266a8f2c2ec37c19bb4.js +0 -1
  546. package/assets/esri/core/workers/chunks/226acd251ad7d7ee3b57.js +0 -1
  547. package/assets/esri/core/workers/chunks/22b07c54a5fcc27771b0.js +0 -1
  548. package/assets/esri/core/workers/chunks/22ca80f491e070b2a5e7.js +0 -1
  549. package/assets/esri/core/workers/chunks/2402d305a77fef4694a0.js +0 -1
  550. package/assets/esri/core/workers/chunks/27f096c434f049b8df01.js +0 -1
  551. package/assets/esri/core/workers/chunks/3371935a4fd6346d3a17.js +0 -1
  552. package/assets/esri/core/workers/chunks/3c3d311b88f5400951ef.js +0 -1
  553. package/assets/esri/core/workers/chunks/3c4f8597f602779174f1.js +0 -1
  554. package/assets/esri/core/workers/chunks/3da53c017f9c5d2d778a.js +0 -1
  555. package/assets/esri/core/workers/chunks/4773a358832f87963766.js +0 -1
  556. package/assets/esri/core/workers/chunks/492515860198f38dd698.js +0 -1
  557. package/assets/esri/core/workers/chunks/4f33a2ecb154a2c2449c.js +0 -1
  558. package/assets/esri/core/workers/chunks/4f6f181ee83b4d484518.js +0 -1
  559. package/assets/esri/core/workers/chunks/52726458f590e726d52c.js +0 -1
  560. package/assets/esri/core/workers/chunks/536c492fdda30f2f1288.js +0 -1
  561. package/assets/esri/core/workers/chunks/600e2e6b51e2fb9c598c.js +0 -1
  562. package/assets/esri/core/workers/chunks/62b28f73f814413c10fc.js +0 -1
  563. package/assets/esri/core/workers/chunks/63b8cd7d5cafbaeed894.js +0 -1
  564. package/assets/esri/core/workers/chunks/6925f09d44cc38480d53.js +0 -1
  565. package/assets/esri/core/workers/chunks/7f4fa2f2e85863d3cfb9.js +0 -1
  566. package/assets/esri/core/workers/chunks/8f4c480c418eba299c2b.js +0 -1
  567. package/assets/esri/core/workers/chunks/990341f7c47bd656c782.js +0 -1
  568. package/assets/esri/core/workers/chunks/a3836f6a93924ee4816e.js +0 -1
  569. package/assets/esri/core/workers/chunks/ab520fd1ae917daf07d8.js +0 -1
  570. package/assets/esri/core/workers/chunks/acc7ff44bfcb5c195114.js +0 -1
  571. package/assets/esri/core/workers/chunks/b25a131c04092c3ab75d.js +0 -1
  572. package/assets/esri/core/workers/chunks/b7960ab9a9da7f88184c.js +0 -1
  573. package/assets/esri/core/workers/chunks/b9909264cfea68d5f2a1.js +0 -1
  574. package/assets/esri/core/workers/chunks/ba7f57788847cc0f68df.js +0 -1
  575. package/assets/esri/core/workers/chunks/bb08359610a41e304b55.js +0 -1
  576. package/assets/esri/core/workers/chunks/bf06250be7a7a36306b1.js +0 -1
  577. package/assets/esri/core/workers/chunks/bfbbcaa1fb04f17fc869.js +0 -1
  578. package/assets/esri/core/workers/chunks/d30cfc5fa302cc08d862.js +0 -1
  579. package/assets/esri/core/workers/chunks/d75adfd4acb3c92accc9.js +0 -1
  580. package/assets/esri/core/workers/chunks/da99fd0d3106dd357743.js +0 -1
  581. package/assets/esri/core/workers/chunks/de71db3b0fb947b13c97.js +0 -1
  582. package/assets/esri/core/workers/chunks/dfbbead4c24d13682891.js +0 -1
  583. package/assets/esri/core/workers/chunks/e4ba850e8344ac2c5fc0.js +0 -1
  584. package/assets/esri/core/workers/chunks/f7d93aae350796b88562.js +0 -1
  585. package/assets/esri/core/workers/chunks/f9370830051865a3435b.js +0 -1
  586. package/layers/mixins/TemporalSceneLayer.d.ts +0 -177
  587. package/layers/mixins/TemporalSceneLayer.js +0 -5
  588. package/layers/mixins/properties/ILayerWithSave.d.ts +0 -11
  589. package/layers/support/ContingencyConstraintViolation.d.ts +0 -2
  590. package/layers/support/ContingentValue.d.ts +0 -2
  591. package/layers/support/ContingentValuesResult.d.ts +0 -2
  592. package/layers/support/ElevationQuery.d.ts +0 -35
  593. package/layers/support/ElevationQueryContext.d.ts +0 -37
  594. package/layers/support/FeatureReduction.d.ts +0 -3
  595. package/layers/support/FeatureReduction.js +0 -5
  596. package/layers/support/FieldGroup.d.ts +0 -2
  597. package/layers/support/FieldValueType.d.ts +0 -2
  598. package/layers/support/I3SLayer.d.ts +0 -9
  599. package/layers/support/ParquetGeometryEncodingBase.d.ts +0 -9
  600. package/layers/support/ParquetGeometryEncodingBase.js +0 -5
  601. package/layers/support/SimpleBandStatistics.d.ts +0 -10
  602. package/layers/support/source/DataLayerSource.d.ts +0 -171
  603. package/layers/support/source/DataLayerSource.js +0 -5
  604. package/layers/support/source/MapLayerSource.js +0 -5
  605. package/layers/support/source/QueryTableDataSource.js +0 -5
  606. package/layers/support/source/RasterDataSource.js +0 -5
  607. package/layers/support/source/TableDataSource.js +0 -5
  608. package/layers/support/source/types.d.ts +0 -4
  609. package/views/2d/layers/features/FeaturePipelineWorkerProxy.d.ts +0 -32
  610. package/views/3d/webgl-engine/shaders/GaussianSplatColorTechnique.js +0 -5
  611. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +0 -5
  612. package/views/3d/webgl-engine/shaders/GaussianSplatDepthTechnique.js +0 -5
  613. package/views/analysis/ElevationProfile/ElevationProfileHoveredPointVisualization.js +0 -5
  614. package/widgets/support/AnalysisViewModel.d.ts +0 -5
  615. package/widgets/support/AnalysisViewModel.js +0 -5
  616. package/widgets/support/AnchorElementViewModel.d.ts +0 -3
  617. package/widgets/support/InteractiveToolViewModel.d.ts +0 -4
  618. package/widgets/support/InteractiveToolViewModel.js +0 -5
  619. /package/webdoc/support/{thumbnailUtils.d.ts → types.d.ts} +0 -0
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
+ */
5
+ import{glsl as o}from"../../shaderModules/glsl.js";const s=o`vec4(0.0, 0.0, 2.0, 1.0)`;export{s as positionOutsideClipSpace};
@@ -2,15 +2,15 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../../../core/has.js";import{ZEROS as o}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{BackgroundGrid as r}from"./BackgroundGrid.glsl.js";import{BlendModes as e}from"../util/BlendModes.glsl.js";import{Float3PassUniform as a}from"../../shaderModules/Float3PassUniform.js";import{FloatPassUniform as c}from"../../shaderModules/FloatPassUniform.js";import{glsl as l,If as s}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as t}from"../../shaderModules/Texture2DPassUniform.js";import{NoParameters as d}from"../../../../../webgl/NoParameters.js";class i extends d{constructor(){super(...arguments),this.baseOpacity=1,this.backgroundColor=o,this.fboTexture=null}}function b(o,d){const{output:i,blendMode:b,applyBaseOpacity:g,premultipliedAlphaSource:n}=d,p=o.fragment;g&&p.uniforms.add(new c("baseOpacity",o=>o.baseOpacity));const u=0!==b,m=!u&&!n&&(1===i&&!g||4===i);p.include(e,d);let y="";switch(i){case 4:case 0:y=l`vec4(0.0)`;break;case 2:p.uniforms.add(new a("backgroundColor",o=>o.backgroundColor)),y=l`vec4(backgroundColor, 1.0)`;break;case 3:p.include(r),y=l`vec4(gridColor(uv), 1.0)`;break;case 1:p.uniforms.add(new t("fboColor",o=>o.fboTexture)),y=l`texelFetch(fboColor, ivec2(gl_FragCoord.xy), 0)`}p.code.add(l`
5
+ import{ZEROS as o}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{BackgroundGrid as r}from"./BackgroundGrid.glsl.js";import{BlendModes as e}from"../util/BlendModes.glsl.js";import{Float3PassUniform as a}from"../../shaderModules/Float3PassUniform.js";import{FloatPassUniform as c}from"../../shaderModules/FloatPassUniform.js";import{glsl as l,If as s}from"../../shaderModules/glsl.js";import{Texture2DPassUniform as t}from"../../shaderModules/Texture2DPassUniform.js";import{NoParameters as d}from"../../../../../webgl/NoParameters.js";class i extends d{constructor(){super(...arguments),this.baseOpacity=1,this.backgroundColor=o,this.fboTexture=null}}function b(o,d){const{output:i,blendMode:b,applyBaseOpacity:g,premultipliedAlphaSource:n}=d,u=o.fragment;g&&u.uniforms.add(new c("baseOpacity",o=>o.baseOpacity));const p=0!==b,m=!p&&!n&&(1===i&&!g||4===i);u.include(e,d);let y="";switch(i){case 4:case 0:y=l`vec4(0.0)`;break;case 2:u.uniforms.add(new a("backgroundColor",o=>o.backgroundColor)),y=l`vec4(backgroundColor, 1.0)`;break;case 3:u.include(r),y=l`vec4(gridColor(uv), 1.0)`;break;case 1:u.uniforms.add(new t("fboColor",o=>o.fboTexture)),y=l`texelFetch(fboColor, ivec2(gl_FragCoord.xy), 0)`}u.code.add(l`
6
6
  vec4 getBackground(vec2 uv) {
7
7
  return ${s(g,l`baseOpacity *`)} ${y};
8
- }`),u?p.code.add(l`vec4 blendLayers(vec2 bgUV, vec4 colorLayer, float opacity) {
8
+ }`),p?u.code.add(l`vec4 blendLayers(vec2 bgUV, vec4 colorLayer, float opacity) {
9
9
  vec3 cl = colorLayer.a == 0.0 ? colorLayer.rgb : colorLayer.rgb / colorLayer.a;
10
10
  vec4 bgColor = getBackground(bgUV);
11
11
  vec3 cb = bgColor.a == 0.0 ? bgColor.rgb : bgColor.rgb / bgColor.a;
12
12
  return applyBlendMode(clamp(cl, vec3(0.0), vec3(1.0)), colorLayer.a * opacity, cb, bgColor.a);
13
- }`):p.code.add(l`
13
+ }`):u.code.add(l`
14
14
  vec4 blendLayers(vec2 bgUV, vec4 colorLayer, float opacity) {
15
15
  float composeAlpha = colorLayer.a * opacity;
16
16
  ${s(m,l`return colorLayer * opacity;`,l`
@@ -2,7 +2,7 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../../../core/has.js";import{glsl as c}from"../../shaderModules/glsl.js";function o(o,e){const b=e.blendMode;switch(b){case 0:return;case 30:o.code.add(c`float reflectBlend(in float cb, in float cl) {
5
+ import{glsl as c}from"../../shaderModules/glsl.js";function o(o,e){const b=e.blendMode;switch(b){case 0:return;case 30:o.code.add(c`float reflectBlend(in float cb, in float cl) {
6
6
  return (cl == 1.0) ? cl : min(cb * cb / (1.0 - cl), 1.0);
7
7
  }`);break;case 6:case 9:case 13:o.code.add(c`float colorDodge(in float cb, in float cl) {
8
8
  return (cb == 0.0) ? 0.0 : (cl == 1.0) ? 1.0 : min(1.0, cb / (1.0 - cl));
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{watch as t}from"../../../../core/reactiveUtils.js";import{property as s,subclass as i}from"../../../../core/accessorSupport/decorators.js";import{set as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{e as r,b as n,j as o,q as l,g as h,D as u,d as p,K as c}from"../../../../chunks/vec32.js";import{create as d,clone as m}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{c as _}from"../../../../chunks/vec42.js";import{create as f}from"../../../../geometry/support/plane.js";import{fromPoints as g}from"../../../../geometry/support/ray.js";import{Sphere as b}from"../../../../geometry/support/sphere.js";import{RenderCategory as P}from"../../webgl.js";import{GaussianSplatTarget as C}from"../../layers/i3s/Intersector.js";import{GaussianSplatDataStore as S}from"../../support/gaussianSplatting/GaussianSplatDataStore.js";import x from"../../webgl/RenderNode.js";import{IntersectorResult as w}from"./IntersectorResult.js";import{G as v}from"../../../../chunks/GaussianSplat.glsl.js";import{GaussianSplatColorTechnique as y}from"../shaders/GaussianSplatColorTechnique.js";import{G as D}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as T}from"../shaders/GaussianSplatCompositionTechnique.js";import{G as q}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as A}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatDepthTechnique as E}from"../shaders/GaussianSplatDepthTechnique.js";import{GaussianSplatTechnique as G}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as O}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{DepthStencilAttachment as j,ColorAttachment1 as F,PrimitiveType as N}from"../../../webgl/enums.js";var I;let H=class extends x{static{I=this}constructor(e){super(e),this.gaussianPosition=d(),this.intersectionRayDir=d(),this.intersectionPlane=f(),this._slicePlaneEnabled=!1,this._data=null,this.produces=P.OPAQUE,this.type=0,this.isGround=!1,this.layerViewUid="",this._passParameters=new v,this._compositionPassParameters=new D,this._depthCompositionPassParameters=new q,this._previousCameraPosition=d(),this._previousCameraDirection=d(),this.fadeHelper=null,this._configuration=new O(e.view.state.isGlobal),this._colorOnlyConfiguration=new O(e.view.state.isGlobal,!0),this._depthOnlyConfiguration=new O(e.view.state.isGlobal,!1,!0)}async initialize(){this._data=new S(this),this.view.sceneIntersectionHelper.addIntersectionHandler(this),this.addHandles([t(()=>this.view.state.camera,()=>this._onCameraChange())])}precompile(){const e=this.view.qualitySettings.gaussianSplat.minimumOpacity,t=this.bindParameters.terrainDepthTest,s=this.fadeHelper.fadingEnabled,i=s=>{s.alphaCutoff=e,s.terrainDepthTest=t};this.renderingContext.capabilities.drawBuffersIndexed?(i(this._configuration),this._configuration.fadingEnabled=s,this.techniques.precompile(G,this._configuration)):(i(this._colorOnlyConfiguration),this._colorOnlyConfiguration.fadingEnabled=s,this.techniques.precompile(y,this._colorOnlyConfiguration),i(this._depthOnlyConfiguration),this.techniques.precompile(E,this._depthOnlyConfiguration)),this.techniques.precompile(T),this.techniques.precompile(A)}render(e){const t=e.find(({name:e})=>e===P.OPAQUE);if(this._handleFading(),!this._data.visibleGaussians||!this._data.orderTexture.texture||!this._data.textureAtlas.texture)return t;const s=!!this.renderingContext.capabilities.drawBuffersIndexed,i=s?this.techniques.get(G,this._configuration):null,a=s?null:this.techniques.get(y,this._colorOnlyConfiguration),r=s?null:this.techniques.get(E,this._depthOnlyConfiguration),n=this.techniques.get(T),o=this.techniques.get(A);if(!(i?.compiled||a?.compiled&&r?.compiled)||!o.compiled||!n.compiled)return this.requestRender(1),t;const{fullWidth:l,fullHeight:h}=this.bindParameters.camera;this._prepareParameters(h,l);const u=this.renderingContext,p=this.fboCache,c=p.acquire(l,h,"gaussian color output"),d=t.getAttachment(j);c.attachDepth(d);let m=null;s?this._singlePass(c,i):m=this._multiPass(c,d,a,r);const _=p.acquire(l,h,this.produces);return this._depthCompositionPassParameters.splatDepth=m?m.getTexture():c.getTexture(F),_.attachDepth(t.getAttachment(j)),u.bindFramebuffer(_.fbo),u.bindTechnique(o,this.bindParameters,this._depthCompositionPassParameters),u.screen.draw(),this._compositionPassParameters.color=t.getTexture(),this._compositionPassParameters.splatColor=c.getTexture(),u.bindFramebuffer(_.fbo),u.bindTechnique(n,this.bindParameters,this._compositionPassParameters),u.screen.draw(),c.release(),m?.release(),_}intersect(e,t,s,i){const{gaussianPosition:a,intersectionRayDir:p,intersectionPlane:c,layerViewUid:f}=this,P=g(s,i);r(p,i,s);const S=1/n(p);o(p,p,S);const x=d();l(x,p),_(c,p[0],p[1],p[2],-h(p,s));const v=new U,y=new U,D=new Array;this._data.visibleGaussianTiles.forEach(r=>{const{maxScale:n}=r,o=r.obb.minimumDistancePlane(c),l=r.obb.maximumDistancePlane(c),d=l<0,_=null!=v.dist&&null!=y.dist&&v.dist<o*S&&y.dist>l*S;if(d||_)return;if(!new b(r.obb.center,r.obb.radius+n).intersectRay(P,null))return;if(!r.obb.intersectRay(s,p,n))return;const{positions:g,squaredScales:C,gaussianAtlasIndices:w}=r,T=w.length;for(let c=0;c<T;c++){const r=3*c;a[0]=g[r]-s[0],a[1]=g[r+1]-s[1],a[2]=g[r+2]-s[2];const n=C[c],o=h(a,p),l=o*o;if(u(a)-l>n)continue;const d=o*S,_=e=>(e.point=e.point?e.point.fill(a[0],a[1],a[2]):m(a),e.dist=d,e.normal=x,e.layerViewUid=f,e);if((null==v.dist||d<v.dist)&&(null==t||t(s,i,d))&&_(v),0!==e.options.store&&(null==y.dist||d>y.dist)&&(null==t||t(s,i,d))&&_(y),2===e.options.store&&(null==t||t(s,i,d))){const e=new U;D.push(_(e))}}});const T=(e,t)=>{const{layerViewUid:s}=t,i=new C(t.point,s);e.set(0,i,t.dist,t.normal)};if(R(v)){const t=e.results.min;(null==t.distance||v.dist<t.distance)&&T(t,v)}if(R(y)&&0!==e.options.store){const t=e.results.max;(null==t.distance||y.dist>t.distance)&&T(t,y)}if(2===e.options.store)for(const r of D){const t=new w(P);T(t,r),e.results.all.push(t)}}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this.requestRender(1))}get data(){return this._data}destroy(){this._data.destroy(),super.destroy()}_onCameraChange(){const e=this.view.state.camera.eye,t=this.view.state.camera.ray.direction,s=.001;(Math.abs(e[0]-this._previousCameraPosition[0])>s||Math.abs(e[1]-this._previousCameraPosition[1])>s||Math.abs(e[2]-this._previousCameraPosition[2])>s||Math.abs(t[0]-this._previousCameraDirection[0])>s||Math.abs(t[1]-this._previousCameraDirection[1])>s||Math.abs(t[2]-this._previousCameraDirection[2])>s)&&(p(this._previousCameraPosition,e),p(this._previousCameraDirection,t),this._data.requestSort())}_prepareParameters(e,t){this._passParameters.totalGaussians=this._data.visibleGaussians,this._passParameters.splatOrder=this._data.orderTexture.texture,this._passParameters.splatFading=this._data.fadingTexture.texture,this._passParameters.splatAtlas=this._data.textureAtlas.texture;const s=Math.tan(.5*this.camera.fovY),i=s/e*t;a(this._passParameters.tanFov,i,s),this._passParameters.focalLength=e/(2*s);const r=this.view.qualitySettings.gaussianSplat.minimumSplatPixelRadius;this._passParameters.minSplatRadius=r*Math.sqrt(t*e)/Math.sqrt(2073600),this._prepareHighPrecisionCameraPosition()}_singlePass(e,t){const s=this.renderingContext,i=this.renderingContext.gl,a=this.renderingContext.capabilities.drawBuffersIndexed;e.acquireColor(F,this._getDepthTextureFormat(),"gaussian depth output"),s.bindFramebuffer(e.fbo),s.setClearColor(0,0,0,0),s.clear(16384),this.renderingContext.bindTechnique(t,this.bindParameters,this._passParameters),a.enableiOES(i.BLEND,0),a.blendEquationSeparateiOES(0,i.FUNC_ADD,i.FUNC_ADD),a.blendFuncSeparateiOES(0,i.ONE_MINUS_DST_ALPHA,i.ONE,i.ONE_MINUS_DST_ALPHA,i.ONE),a.enableiOES(i.BLEND,1),a.blendEquationSeparateiOES(1,i.FUNC_ADD,i.FUNC_ADD),a.blendFuncSeparateiOES(1,i.ONE_MINUS_DST_ALPHA,i.DST_ALPHA,i.ONE_MINUS_DST_ALPHA,i.ONE),this.renderingContext.drawArraysInstanced(N.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}_multiPass(e,t,s,i){const{fullWidth:a,fullHeight:r}=this.bindParameters.camera,n=this.renderingContext;n.bindFramebuffer(e.fbo),n.setClearColor(0,0,0,0),n.clear(16384),this.renderingContext.bindTechnique(s,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(N.TRIANGLE_STRIP,0,4,this._data.visibleGaussians);const o=this.fboCache.acquire(a,r,"gaussian depth output",this._getDepthTextureFormat());return o.attachDepth(t),n.bindFramebuffer(o.fbo),n.setClearColor(0,0,0,0),n.clear(16384),this.renderingContext.bindTechnique(i,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(N.TRIANGLE_STRIP,0,4,this._data.visibleGaussians),o}_prepareHighPrecisionCameraPosition(){o(this._passParameters.tileCameraPosition,this.camera.eye,1/I.tileSize),c(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),o(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,I.tileSize),r(this._passParameters.cameraDelta,this.camera.eye,this._passParameters.cameraDelta)}_handleFading(){if(0===this.fadeHelper.numFadingTiles)return void(this._previousFrameStart=null);this._previousFrameStart??=this.view.stage.renderer.renderContext.time;const e=this.view.stage?.renderer.renderContext.time-this._previousFrameStart;this.fadeHelper.updateAllTileFading(e),this._previousFrameStart=this.view.stage.renderer.renderContext.time,this._data.fadingTexture.updateTexture(this._data.textureAtlas.pageAllocator.pageCount)}_getDepthTextureFormat(){return this.renderingContext.capabilities.colorBufferFloat?.floatBlend?9:8}static{this.tileSize=2.048}};function R(e){return null!=e.dist&&null!=e.point}e([s({constructOnly:!0})],H.prototype,"fadeHelper",void 0),H=I=e([i("esri.views.3d.webgl-engine.lib.GaussianSplatRenderNode")],H);class U{constructor(){this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}export{H as GaussianSplatRenderNode};
5
+ import{__decorate as t}from"tslib";import{watch as e}from"../../../../core/reactiveUtils.js";import{property as s,subclass as i}from"../../../../core/accessorSupport/decorators.js";import{set as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{e as r,b as n,j as o,q as l,g as h,D as m,d as p,K as u}from"../../../../chunks/vec32.js";import{create as c,clone as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{c as f}from"../../../../chunks/vec42.js";import{create as _}from"../../../../geometry/support/plane.js";import{fromPoints as g}from"../../../../geometry/support/ray.js";import{Sphere as P}from"../../../../geometry/support/sphere.js";import{RenderCategory as b}from"../../webgl.js";import{GaussianSplatTarget as C}from"../../layers/i3s/Intersector.js";import{GaussianSplatDataStore as v}from"../../support/gaussianSplatting/GaussianSplatDataStore.js";import w from"../../webgl/RenderNode.js";import{IntersectorResult as x}from"./IntersectorResult.js";import{G as y}from"../../../../chunks/GaussianSplat.glsl.js";import{G as S}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as q}from"../shaders/GaussianSplatCompositionTechnique.js";import{G as j}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as D}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatTechnique as T}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as G}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{DepthStencilAttachment as A,ColorAttachment1 as F,PrimitiveType as R}from"../../../webgl/enums.js";var E;let H=class extends w{static{E=this}constructor(t){super(t),this.gaussianPosition=c(),this.intersectionRayDir=c(),this.intersectionPlane=_(),this._slicePlaneEnabled=!1,this._data=null,this.produces=b.OPAQUE,this.type=0,this.isGround=!1,this.layerViewUid="",this._passParameters=new y,this._compositionPassParameters=new S,this._depthCompositionPassParameters=new j,this._previousCameraPosition=c(),this._previousCameraDirection=c(),this.fadeHelper=null,this._configuration=new G(t.view.state.isGlobal)}async initialize(){this._data=new v(this),this.view.sceneIntersectionHelper.addIntersectionHandler(this),this.addHandles([e(()=>this.view.state.camera,()=>this._onCameraChange())])}precompile(){this._configuration.alphaCutoff=this.view.qualitySettings.gaussianSplat.minimumOpacity,this._configuration.terrainDepthTest=this.bindParameters.terrainDepthTest,this._configuration.fadingEnabled=this.fadeHelper.fadingEnabled,this.techniques.precompile(T,this._configuration),this.techniques.precompile(q),this.techniques.precompile(D)}render(t){const e=t.find(({name:t})=>t===b.OPAQUE);if(this._handleFading(),!this._data.visibleGaussians||!this._data.orderTexture.texture||!this._data.textureAtlas.texture)return e;const s=this.techniques.get(T,this._configuration),i=this.techniques.get(q),a=this.techniques.get(D);if(!s.compiled||!a.compiled||!i.compiled)return this.requestRender(1),e;const{fullWidth:r,fullHeight:n}=this.bindParameters.camera;this._prepareParameters(n,r);const o=this.renderingContext,l=this.fboCache,h=l.acquire(r,n,"gaussian color output"),m=e.getAttachment(A);h.attachDepth(m),this._renderGaussianColorAndDepth(h,s);const p=l.acquire(r,n,this.produces);return this._depthCompositionPassParameters.splatDepth=h.getTexture(F),p.attachDepth(e.getAttachment(A)),o.bindFramebuffer(p.fbo),o.bindTechnique(a,this.bindParameters,this._depthCompositionPassParameters),o.screen.draw(),this._compositionPassParameters.color=e.getTexture(),this._compositionPassParameters.splatColor=h.getTexture(),o.bindFramebuffer(p.fbo),o.bindTechnique(i,this.bindParameters,this._compositionPassParameters),o.screen.draw(),h.release(),p}intersect(t,e,s,i){const{gaussianPosition:a,intersectionRayDir:p,intersectionPlane:u,layerViewUid:_}=this,b=g(s,i);r(p,i,s);const v=1/n(p);o(p,p,v);const w=c();l(w,p),f(u,p[0],p[1],p[2],-h(p,s));const y=new I,S=new I,q=new Array;this._data.visibleGaussianTiles.forEach(r=>{const{maxScale:n}=r,o=r.obb.minimumDistancePlane(u),l=r.obb.maximumDistancePlane(u),c=l<0,f=null!=y.dist&&null!=S.dist&&y.dist<o*v&&S.dist>l*v;if(c||f)return;if(!new P(r.obb.center,r.obb.radius+n).intersectRay(b,null))return;if(!r.obb.intersectRay(s,p,n))return;const{positions:g,squaredScales:C,gaussianAtlasIndices:x}=r,j=x.length;for(let u=0;u<j;u++){const r=3*u;a[0]=g[r]-s[0],a[1]=g[r+1]-s[1],a[2]=g[r+2]-s[2];const n=C[u],o=h(a,p),l=o*o;if(m(a)-l>n)continue;const c=o*v,f=t=>(t.point=t.point?t.point.fill(a[0],a[1],a[2]):d(a),t.dist=c,t.normal=w,t.layerViewUid=_,t);if((null==y.dist||c<y.dist)&&(null==e||e(s,i,c))&&f(y),0!==t.options.store&&(null==S.dist||c>S.dist)&&(null==e||e(s,i,c))&&f(S),2===t.options.store&&(null==e||e(s,i,c))){const t=new I;q.push(f(t))}}});const j=(t,e)=>{const{layerViewUid:s}=e,i=new C(e.point,s);t.set(0,i,e.dist,e.normal)};if(M(y)){const e=t.results.min;(null==e.distance||y.dist<e.distance)&&j(e,y)}if(M(S)&&0!==t.options.store){const e=t.results.max;(null==e.distance||S.dist>e.distance)&&j(e,S)}if(2===t.options.store)for(const r of q){const e=new x(b);j(e,r),t.results.all.push(e)}}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(t){this._slicePlaneEnabled!==t&&(this._slicePlaneEnabled=t,this.requestRender(1))}get data(){return this._data}destroy(){this._data.destroy(),super.destroy()}_onCameraChange(){const t=this.view.state.camera.eye,e=this.view.state.camera.ray.direction,s=.001;(Math.abs(t[0]-this._previousCameraPosition[0])>s||Math.abs(t[1]-this._previousCameraPosition[1])>s||Math.abs(t[2]-this._previousCameraPosition[2])>s||Math.abs(e[0]-this._previousCameraDirection[0])>s||Math.abs(e[1]-this._previousCameraDirection[1])>s||Math.abs(e[2]-this._previousCameraDirection[2])>s)&&(p(this._previousCameraPosition,t),p(this._previousCameraDirection,e),this._data.requestSort())}_prepareParameters(t,e){this._passParameters.splatOrder=this._data.orderTexture.texture,this._passParameters.splatFading=this._data.fadingTexture.texture,this._passParameters.splatAtlas=this._data.textureAtlas.texture;const s=Math.tan(.5*this.camera.fovY),i=s/t*e;a(this._passParameters.tanFov,i,s),this._passParameters.focalLength=t/(2*s);const r=this.view.qualitySettings.gaussianSplat.minimumSplatPixelRadius;this._passParameters.minSplatRadius=r*Math.sqrt(e*t)/Math.sqrt(2073600),this._prepareHighPrecisionCameraPosition()}_renderGaussianColorAndDepth(t,e){const s=this.renderingContext;t.acquireColor(F,8,"gaussian depth output"),s.bindFramebuffer(t.fbo),s.setClearColor(0,0,0,0),s.clear(16384),this.renderingContext.bindTechnique(e,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(R.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}_prepareHighPrecisionCameraPosition(){o(this._passParameters.tileCameraPosition,this.camera.eye,1/E.tileSize),u(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),o(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,E.tileSize),r(this._passParameters.cameraDelta,this.camera.eye,this._passParameters.cameraDelta)}_handleFading(){if(0===this.fadeHelper.numFadingTiles)return void(this._previousFrameStart=null);this._previousFrameStart??=this.view.stage.renderer.renderContext.time;const t=this.view.stage?.renderer.renderContext.time-this._previousFrameStart;this.fadeHelper.updateAllTileFading(t),this._previousFrameStart=this.view.stage.renderer.renderContext.time,this._data.fadingTexture.updateTexture(this._data.textureAtlas.pageAllocator.pageCount)}static{this.tileSize=2.048}};function M(t){return null!=t.dist&&null!=t.point}t([s({constructOnly:!0})],H.prototype,"fadeHelper",void 0),H=E=t([i("esri.views.3d.webgl-engine.lib.GaussianSplatRenderNode")],H);class I{constructor(){this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}export{H as GaussianSplatRenderNode};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{copy as i}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{applyToViewMatrix as r}from"./localOriginHelper.js";class e{constructor(i){this._factory=i,this._originData=new Map}acquire(i){return this.register(this._factory.getOrigin(i))}register(i){const t=this._originData.get(i.id)||new o(i);return t.refCount++,this._originData.has(t.origin.id)||this._originData.set(t.origin.id,t),t}release(i){i&&(i.refCount--,0===i.refCount&&this._originData.delete(i.origin.id))}updateViewMatrices(t){this._originData.forEach(e=>{i(e.viewMatrix,t),r(e.origin.vec3,e.viewMatrix)})}}class o{constructor(i){this.origin=i,this.refCount=0,this.viewMatrix=t()}}export{e as LocalOriginManager,o as OriginData};
5
+ import{copy as i}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{applyToViewMatrix as r}from"./localOriginHelper.js";class e{constructor(i){this._factory=i,this._originData=new Map}acquire(i){return this.register(this._factory.getOrigin(i))}register(i){const t=this._originData.get(i.id)||new o(i);return t.refCount++,this._originData.has(t.origin.id)||this._originData.set(t.origin.id,t),t}release(i){i.refCount--,0===i.refCount&&this._originData.delete(i.origin.id)}updateViewMatrices(t){this._originData.forEach(e=>{i(e.viewMatrix,t),r(e.origin.vec3,e.viewMatrix)})}}class o{constructor(i){this.origin=i,this.refCount=0,this.viewMatrix=t()}}export{e as LocalOriginManager,o as OriginData};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/has.js";import t from"../../../../core/Error.js";import{EventEmitter as e}from"../../../../core/Evented.js";import{disposeMaybe as r,removeMaybe as a}from"../../../../core/maybe.js";import{throwIfAborted as i,onAbort as s,createAbortError as o}from"../../../../core/promiseUtils.js";import{isUint8Array as n,isArrayBuffer as m,isTypedArray as l}from"../../../../core/typedArrayUtil.js";import{generateUID as h}from"../../../../core/uid.js";import{isBlobProtocol as d,isDataProtocol as p}from"../../../../core/urlUtils.js";import{whenVideoPlayable as _}from"../../../../layers/support/videoUtils.js";import{requestImage as u}from"../../../../request/image.js";import{loadImage as c}from"../../../../request/loadImage.js";import{createTextureKTX2 as g,createTextureBasis as x,estimateMemoryKTX2 as y,estimateMemoryBasis as f}from"./BasisUtil.js";import{createDDSTexture as F}from"./DDSUtil.js";import{ensureImageMaxSize as E}from"./textureUtils.js";import{assert as T}from"./Util.js";import D from"../../../webgl/Texture.js";import{TextureDescriptor as w}from"../../../webgl/TextureDescriptor.js";import{getFormatComponents as A}from"../../../webgl/Util.js";class M{constructor(t,r){this._data=t,this.id=h(),this.events=new e,this._parameters={...L,...r},this._startPreload(t)}dispose(){this.unload(),this._data=this.update=void 0}_startPreload(t){t instanceof HTMLVideoElement?(this.update=e=>this._update(t,e),this._startPreloadVideoElement(t)):t instanceof HTMLImageElement&&this._startPreloadImageElement(t)}_startPreloadVideoElement(t){if(!(d(t.src)||"auto"===t.preload&&t.crossOrigin)&&(t.preload="auto",t.crossOrigin="anonymous",t.src=t.src,t.paused&&t.autoplay)){const e=[];_(t,t=>e.push(t)).then(()=>{t.play()}).finally(()=>e.forEach(t=>t.remove()))}}_startPreloadImageElement(t){p(t.src)||d(t.src)||t.crossOrigin||(t.crossOrigin="anonymous",t.src=t.src)}_createDescriptor(t){const e=new w;return e.wrapMode=this._parameters.wrap??10497,e.flipped=!this._parameters.noUnpackFlip,e.samplingMode=this._parameters.mipmap?9987:9729,e.hasMipmap=!!this._parameters.mipmap,e.preMultiplyAlpha=!!this._parameters.preMultiplyAlpha,e.maxAnisotropy=this._parameters.maxAnisotropy??(this._parameters.mipmap?t.parameters.maxMaxAnisotropy:1),e.dataType=this._parameters.dataType??e.dataType,e.pixelFormat=this._parameters.pixelFormat??e.pixelFormat,e.internalFormat=this._parameters.internalFormat??e.internalFormat,e}get texture(){return this._texture??this._emptyTexture}get loaded(){return null!=this._texture}get usedMemory(){return this._texture?.usedMemory||v(this._data,this._parameters)}load(t){if(this._loadingPromise)return this._loadingPromise;if(this._texture)return this._texture;const e=this._data;return null==e?(this._texture=new D(t,this._createDescriptor(t),null),this._texture):(this._emptyTexture=t.emptyTexture,this._parameters.reloadable||(this._data=void 0),"string"==typeof e?this._loadFromURL(t,e):e instanceof Image?this._loadFromImageElement(t,e):e instanceof HTMLVideoElement?this._loadFromVideoElement(t,e):e instanceof ImageData||e instanceof HTMLCanvasElement?this._loadFromImage(t,e):n(e)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(t,e):m(e)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(t,new Uint8Array(e)):(m(e)||n(e))&&"image/ktx2"===this._parameters.encoding?this._loadFromKTX2(t,e):(m(e)||n(e))&&"image/x.basis"===this._parameters.encoding?this._loadFromBasis(t,e):m(e)?this._loadFromPixelData(t,new Uint8Array(e)):l(e)?this._loadFromPixelData(t,e):null)}_update(t,e){return null==this._texture||t.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||e===t.currentTime?e:(this._texture.setData(t),this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._parameters.updateCallback&&this._parameters.updateCallback(),t.currentTime)}_loadFromDDSData(t,e){return this._texture=F(t,this._createDescriptor(t),e),this._emptyTexture=null,this._texture}_loadFromKTX2(t,e){return this._loadAsync(()=>g(t,this._createDescriptor(t),e).then(t=>(this._texture=t,t)))}_loadFromBasis(t,e){return this._loadAsync(()=>x(t,this._createDescriptor(t),e).then(t=>(this._texture=t,t)))}_loadFromPixelData(t,e){T(this._parameters.width>0&&this._parameters.height>0);const r=this._createDescriptor(t);return 6407!==r.pixelFormat&&6408!==r.pixelFormat||(r.compress=this._parameters.compressionOptions),r.width=this._parameters.width??0,r.height=this._parameters.height??0,this._texture=new D(t,r,e),this._texture}_loadFromURL(t,e){return this._loadAsync(async r=>{const a=await u(e,{signal:r});return i(r),this._loadFromImage(t,a)})}_loadFromImageElement(t,e){return e.complete?this._loadFromImage(t,e):this._loadAsync(async r=>{const a=await c(e,e.src,!1,r);return i(r),this._loadFromImage(t,a)})}_loadFromVideoElement(t,e){return e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA?this._loadFromImage(t,e):this._loadFromVideoElementAsync(t,e)}_loadFromVideoElementAsync(e,r){return this._loadAsync(i=>new Promise((n,m)=>{const l=()=>{r.removeEventListener("loadeddata",h),r.removeEventListener("error",d),a(p)},h=()=>{r.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&(l(),n(this._loadFromImage(e,r)))},d=e=>{l(),m(e||new t("texture:load-error","Failed to load video"))};r.addEventListener("loadeddata",h),r.addEventListener("error",d);const p=s(i,()=>d(o()))}))}_loadFromImage(t,e){let r=e;r instanceof HTMLVideoElement||(r=E(r,t.parameters));const a=j(r);this._parameters.width=a.width,this._parameters.height=a.height;const i=this._createDescriptor(t);return i.width=a.width,i.height=a.height,i.compress=this._parameters.compressionOptions,this._texture=new D(t,i,r),this._emptyTexture=null,this.events.emit("loaded"),this._texture}_loadAsync(t){const e=new AbortController;this._loadingController=e;const r=t(e.signal);this._loadingPromise=r;const a=()=>{this._loadingController===e&&(this._loadingController=null),this._loadingPromise===r&&(this._loadingPromise=null),this._emptyTexture=null};return r.then(a,a),r}unload(){if(this._texture=r(this._texture),this._emptyTexture=null,null!=this._loadingController){const t=this._loadingController;this._loadingController=null,this._loadingPromise=null,t.abort()}this.events.emit("unloaded")}get parameters(){return this._parameters}}function v(t,e){if(null==t)return 0;if(m(t)||n(t))return"image/ktx2"===e.encoding?y(t,!!e.mipmap):"image/x.basis"===e.encoding?f(t,!!e.mipmap):t.byteLength;const{width:r,height:a}=t instanceof Image||t instanceof ImageData||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement?j(t):e,i=e.pixelFormat??6408,s=A(i);return(e.mipmap?4/3:1)*r*a*s||0}function j(t){return t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t}const L={wrap:{s:10497,t:10497},mipmap:!0,noUnpackFlip:!1,preMultiplyAlpha:!1};export{M as ManagedTexture};
5
+ import t from"../../../../core/Error.js";import{EventEmitter as e}from"../../../../core/Evented.js";import{disposeMaybe as r,removeMaybe as a}from"../../../../core/maybe.js";import{throwIfAborted as i,onAbort as s,createAbortError as o}from"../../../../core/promiseUtils.js";import{isUint8Array as n,isArrayBuffer as m,isTypedArray as l}from"../../../../core/typedArrayUtil.js";import{generateUID as h}from"../../../../core/uid.js";import{isBlobProtocol as d,isDataProtocol as p}from"../../../../core/urlUtils.js";import{whenVideoPlayable as _}from"../../../../layers/support/videoUtils.js";import{requestImage as u}from"../../../../request/image.js";import{loadImage as c}from"../../../../request/loadImage.js";import{createTextureKTX2 as g,createTextureBasis as x,estimateMemoryKTX2 as y,estimateMemoryBasis as f}from"./BasisUtil.js";import{createDDSTexture as F}from"./DDSUtil.js";import{ensureImageMaxSize as E}from"./textureUtils.js";import{assert as T}from"./Util.js";import D from"../../../webgl/Texture.js";import{TextureDescriptor as w}from"../../../webgl/TextureDescriptor.js";import{getFormatComponents as A}from"../../../webgl/Util.js";class M{constructor(t,r){this._data=t,this.id=h(),this.events=new e,this._parameters={...U,...r},this._startPreload(t)}dispose(){this.unload(),this._data=this.update=void 0}_startPreload(t){t instanceof HTMLVideoElement?(this.update=e=>this._update(t,e),this._startPreloadVideoElement(t)):t instanceof HTMLImageElement&&this._startPreloadImageElement(t)}_startPreloadVideoElement(t){if(!(d(t.src)||"auto"===t.preload&&t.crossOrigin)&&(t.preload="auto",t.crossOrigin="anonymous",t.src=t.src,t.paused&&t.autoplay)){const e=[];_(t,t=>e.push(t)).then(()=>{t.play()}).finally(()=>e.forEach(t=>t.remove()))}}_startPreloadImageElement(t){p(t.src)||d(t.src)||t.crossOrigin||(t.crossOrigin="anonymous",t.src=t.src)}_createDescriptor(t){const e=new w;return e.wrapMode=this._parameters.wrap??10497,e.flipped=!this._parameters.noUnpackFlip,e.samplingMode=this._parameters.mipmap?9987:9729,e.hasMipmap=!!this._parameters.mipmap,e.preMultiplyAlpha=!!this._parameters.preMultiplyAlpha,e.maxAnisotropy=this._parameters.maxAnisotropy??(this._parameters.mipmap?t.parameters.maxMaxAnisotropy:1),e.dataType=this._parameters.dataType??e.dataType,e.pixelFormat=this._parameters.pixelFormat??e.pixelFormat,e.internalFormat=this._parameters.internalFormat??e.internalFormat,e}get texture(){return this._texture??this._emptyTexture}get loaded(){return null!=this._texture}get usedMemory(){return this._texture?.usedMemory||v(this._data,this._parameters)}load(t){if(this._loadingPromise)return this._loadingPromise;if(this._texture)return this._texture;const e=this._data;return null==e?(this._texture=new D(t,this._createDescriptor(t),null),this._texture):(this._emptyTexture=t.emptyTexture,this._parameters.reloadable||(this._data=void 0),"string"==typeof e?this._loadFromURL(t,e):e instanceof Image?this._loadFromImageElement(t,e):e instanceof HTMLVideoElement?this._loadFromVideoElement(t,e):e instanceof ImageData||e instanceof HTMLCanvasElement?this._loadFromImage(t,e):n(e)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(t,e):m(e)&&"image/vnd-ms.dds"===this._parameters.encoding?this._loadFromDDSData(t,new Uint8Array(e)):(m(e)||n(e))&&"image/ktx2"===this._parameters.encoding?this._loadFromKTX2(t,e):(m(e)||n(e))&&"image/x.basis"===this._parameters.encoding?this._loadFromBasis(t,e):m(e)?this._loadFromPixelData(t,new Uint8Array(e)):l(e)?this._loadFromPixelData(t,e):null)}_update(t,e){return null==this._texture||t.readyState<HTMLMediaElement.HAVE_CURRENT_DATA||e===t.currentTime?e:(this._texture.setData(t),this._texture.descriptor.hasMipmap&&this._texture.generateMipmap(),this._parameters.updateCallback&&this._parameters.updateCallback(),t.currentTime)}_loadFromDDSData(t,e){return this._texture=F(t,this._createDescriptor(t),e),this._emptyTexture=null,this._texture}_loadFromKTX2(t,e){return this._loadAsync(()=>g(t,this._createDescriptor(t),e).then(t=>(this._texture=t,t)))}_loadFromBasis(t,e){return this._loadAsync(()=>x(t,this._createDescriptor(t),e).then(t=>(this._texture=t,t)))}_loadFromPixelData(t,e){T(this._parameters.width>0&&this._parameters.height>0);const r=this._createDescriptor(t);return 6407!==r.pixelFormat&&6408!==r.pixelFormat||(r.compress=this._parameters.compressionOptions),r.width=this._parameters.width??0,r.height=this._parameters.height??0,this._texture=new D(t,r,e),this._texture}_loadFromURL(t,e){return this._loadAsync(async r=>{const a=await u(e,{signal:r});return i(r),this._loadFromImage(t,a)})}_loadFromImageElement(t,e){return e.complete?this._loadFromImage(t,e):this._loadAsync(async r=>{const a=await c(e,e.src,!1,r);return i(r),this._loadFromImage(t,a)})}_loadFromVideoElement(t,e){return e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA?this._loadFromImage(t,e):this._loadFromVideoElementAsync(t,e)}_loadFromVideoElementAsync(e,r){return this._loadAsync(i=>new Promise((n,m)=>{const l=()=>{r.removeEventListener("loadeddata",h),r.removeEventListener("error",d),a(p)},h=()=>{r.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA&&(l(),n(this._loadFromImage(e,r)))},d=e=>{l(),m(e||new t("texture:load-error","Failed to load video"))};r.addEventListener("loadeddata",h),r.addEventListener("error",d);const p=s(i,()=>d(o()))}))}_loadFromImage(t,e){let r=e;r instanceof HTMLVideoElement||(r=E(r,t.parameters));const a=L(r);this._parameters.width=a.width,this._parameters.height=a.height;const i=this._createDescriptor(t);return i.width=a.width,i.height=a.height,i.compress=this._parameters.compressionOptions,this._texture=new D(t,i,r),this._emptyTexture=null,this.events.emit("loaded"),this._texture}_loadAsync(t){const e=new AbortController;this._loadingController=e;const r=t(e.signal);this._loadingPromise=r;const a=()=>{this._loadingController===e&&(this._loadingController=null),this._loadingPromise===r&&(this._loadingPromise=null),this._emptyTexture=null};return r.then(a,a),r}unload(){if(this._texture=r(this._texture),this._emptyTexture=null,null!=this._loadingController){const t=this._loadingController;this._loadingController=null,this._loadingPromise=null,t.abort()}this.events.emit("unloaded")}get parameters(){return this._parameters}}function v(t,e){if(null==t)return 0;if(m(t)||n(t))return"image/ktx2"===e.encoding?y(t,!!e.mipmap):"image/x.basis"===e.encoding?f(t,!!e.mipmap):t.byteLength;const{width:r,height:a}=t instanceof Image||t instanceof ImageData||t instanceof HTMLCanvasElement||t instanceof HTMLVideoElement?L(t):e,i=e.pixelFormat??6408,s=A(i);return(e.mipmap?4/3:1)*r*a*s||0}function L(t){return t instanceof HTMLVideoElement?{width:t.videoWidth,height:t.videoHeight}:t}const U={wrap:{s:10497,t:10497},mipmap:!0,noUnpackFlip:!1,preMultiplyAlpha:!1};export{M as ManagedTexture};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../../core/PooledArray.js";import{transpose as r,invert as t}from"../../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as s}from"../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{h as i}from"../../../../../chunks/vec32.js";import{debugFlags as a}from"../../../support/debugFlags.js";import{TwoVectorPosition as o}from"../../core/util/TwoVectorPosition.js";import{EdgeDrawParameters as n}from"./EdgeShaderParameters.js";import{EdgeShaderTechnique as l}from"./EdgeShaderTechnique.js";import{EdgeShaderTechniqueConfiguration as d}from"./EdgeShaderTechniqueConfiguration.js";import{PrimitiveType as h}from"../../../../webgl/enums.js";const c=8,m=128,_={type:0,hasSlicePlane:!1,strokesTexture:null,legacy:!0,spherical:!0};class g{constructor(r,t,s){this.rctx=r,this._techniques=t,this._configuration=new d,this.refCount=0,this._renderables=new Set,this._sortedRenderables={0:{0:new e,1:new e},1:{0:new e,1:new e}},this._renderablesDirty=!1,this._drawParameters=new n,this._settings={..._,...s},this.key=g.getKey(this._settings.type,this._settings.hasSlicePlane,this._settings.legacy);const i=this._settings.strokesTexture.variants;this.writerSettings={variants:i,reducedPrecision:a.TESTS_DISABLE_OPTIMIZATIONS},this._configuration.legacy=this._settings.legacy,this._configuration.type=this._settings.type,this._configuration.silhouette=!1,this._configuration.hasSlicePlane=this._settings.hasSlicePlane,this._configuration.spherical=s.spherical}addRenderable(e){this._renderables.add(e),this._renderablesDirty=!0}removeRenderable(e){this._renderables.delete(e),this._renderablesDirty=!0}setRenderablesDirty(){this._renderablesDirty=!0}forEachRenderable(e,r){this._renderablesDirty&&this._sortRenderables();const t=this._sortedRenderables[r];t[0].forAll(e),t[1].forAll(e)}acquireTechnique(e,r){return this._lastOriginId=null,this._configuration.terrainDepthTest=e.terrainDepthTest,this._configuration.cullAboveTerrain=e.cullAboveTerrain,this._configuration.silhouette=r,this._techniques.get(l,this._configuration)}renderRegularEdges(e,r,t,s,i){this._render(e,r,r.regular.vao,t,s,i)}renderSilhouetteEdges(e,r,t,s,i){this._render(e,r,r.silhouette.vao,t,s,i)}_render(e,r,t,s,i,a){a>0&&(this._bindDraw(e,r,s,i),this.rctx.bindVAO(t),this.rctx.drawArraysInstanced(h.TRIANGLE_FAN,0,4,a))}_bindDraw(e,s,a,n){this._drawParameters.componentDataTextureBuffer=s.components.buffer.textureBuffer,this._drawParameters.strokesTexture=this._settings.strokesTexture;const l=s.transform.origin;if(l){const r=l.origin.id;this._lastOriginId!==r&&(e.setUniformMatrix4fv("localView",l.viewMatrix),this._lastOriginId=r),e.setUniformMatrix4fv("model",s.transform.modelMatrix),this._drawParameters.slicePlaneLocalOrigin=l.origin.vec3}else{const e=new o(s.transform.position),a=r(f,t(f,s.transform.rotationScale));this._drawParameters.transformWorldFromModelTL=e.low,this._drawParameters.transformWorldFromModelTH=e.high,this._drawParameters.transformWorldFromModelRS=s.transform.rotationScale,this._drawParameters.transformNormalGlobalFromModel=a;const l=n.camera.viewInverseTransposeMatrix;i(this._drawParameters.slicePlaneLocalOrigin,l[3],l[7],l[11])}e.bindDraw(n,a,this._drawParameters)}_sortRenderables(){this._renderablesDirty=!1,this._sortedRenderables[0][0].clear(),this._sortedRenderables[0][1].clear(),this._sortedRenderables[1][0].clear(),this._sortedRenderables[1][1].clear(),this._renderables.forEach(e=>this._sortedRenderables[e.objectTransparency][e.edgeTransparency].push(e));const e=(e,r)=>e.transform.origin?r.transform.origin?e.transform.origin.origin.id<r.transform.origin.origin.id?-1:e.transform.origin.origin.id>r.transform.origin.origin.id?1:0:1:0;this._sortedRenderables[0][0].sort(e),this._sortedRenderables[0][1].sort(e),this._sortedRenderables[1][0].sort(e),this._sortedRenderables[1][1].sort(e)}static getKey(e,r,t){return`edges-t:${e}:${r}:${t}`}}const f=s();export{g as EdgeRenderer,m as extensionLengthOffset,c as lineWidthFractionFactor};
5
+ import e from"../../../../../core/PooledArray.js";import{transpose as r,invert as t}from"../../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as s}from"../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{h as i}from"../../../../../chunks/vec32.js";import{debugFlags as a}from"../../../support/debugFlags.js";import{TwoVectorPosition as o}from"../../core/util/TwoVectorPosition.js";import{EdgeDrawParameters as n}from"./EdgeShaderParameters.js";import{EdgeShaderTechnique as l}from"./EdgeShaderTechnique.js";import{EdgeShaderTechniqueConfiguration as d}from"./EdgeShaderTechniqueConfiguration.js";import{isLegacyTransform as h}from"./LegacyTransform.js";import{PrimitiveType as c}from"../../../../webgl/enums.js";const m=8,_=128,g={type:0,hasSlicePlane:!1,strokesTexture:null,legacy:!0,spherical:!0};class f{constructor(r,t,s){this.rctx=r,this._techniques=t,this._configuration=new d,this.refCount=0,this._renderables=new Set,this._sortedRenderables={0:{0:new e,1:new e},1:{0:new e,1:new e}},this._renderablesDirty=!1,this._drawParameters=new n,this._settings={...g,...s},this.key=f.getKey(this._settings.type,this._settings.hasSlicePlane,this._settings.legacy);const i=this._settings.strokesTexture.variants;this.writerSettings={variants:i,reducedPrecision:a.TESTS_DISABLE_OPTIMIZATIONS},this._configuration.legacy=this._settings.legacy,this._configuration.type=this._settings.type,this._configuration.silhouette=!1,this._configuration.hasSlicePlane=this._settings.hasSlicePlane,this._configuration.spherical=s.spherical}addRenderable(e){this._renderables.add(e),this._renderablesDirty=!0}removeRenderable(e){this._renderables.delete(e),this._renderablesDirty=!0}setRenderablesDirty(){this._renderablesDirty=!0}forEachRenderable(e,r){this._renderablesDirty&&this._sortRenderables();const t=this._sortedRenderables[r];t[0].forAll(e),t[1].forAll(e)}acquireTechnique(e,r){return this._lastOriginId=null,this._configuration.terrainDepthTest=e.terrainDepthTest,this._configuration.cullAboveTerrain=e.cullAboveTerrain,this._configuration.silhouette=r,this._techniques.get(l,this._configuration)}renderRegularEdges(e,r,t,s,i){this._render(e,r,r.regular.vao,t,s,i)}renderSilhouetteEdges(e,r,t,s,i){this._render(e,r,r.silhouette.vao,t,s,i)}_render(e,r,t,s,i,a){a>0&&(this._bindDraw(e,r,s,i),this.rctx.bindVAO(t),this.rctx.drawArraysInstanced(c.TRIANGLE_FAN,0,4,a))}_bindDraw(e,s,a,n){if(this._drawParameters.componentDataTextureBuffer=s.components.buffer.textureBuffer,this._drawParameters.strokesTexture=this._settings.strokesTexture,h(s.transform)){const{origin:r}=s.transform,t=r.origin.id;this._lastOriginId!==t&&(e.setUniformMatrix4fv("localView",r.viewMatrix),this._lastOriginId=t),e.setUniformMatrix4fv("model",s.transform.modelMatrix),this._drawParameters.slicePlaneLocalOrigin=r.origin.vec3}else{const e=new o(s.transform.position),a=r(u,t(u,s.transform.rotationScale));this._drawParameters.transformWorldFromModelTL=e.low,this._drawParameters.transformWorldFromModelTH=e.high,this._drawParameters.transformWorldFromModelRS=s.transform.rotationScale,this._drawParameters.transformNormalGlobalFromModel=a;const l=n.camera.viewInverseTransposeMatrix;i(this._drawParameters.slicePlaneLocalOrigin,l[3],l[7],l[11])}e.bindDraw(n,a,this._drawParameters)}_sortRenderables(){this._renderablesDirty=!1,this._sortedRenderables[0][0].clear(),this._sortedRenderables[0][1].clear(),this._sortedRenderables[1][0].clear(),this._sortedRenderables[1][1].clear(),this._renderables.forEach(e=>this._sortedRenderables[e.objectTransparency][e.edgeTransparency].push(e));const e=(e,r)=>h(e.transform)?h(r.transform)?e.transform.origin.origin.id<r.transform.origin.origin.id?-1:e.transform.origin.origin.id>r.transform.origin.origin.id?1:0:1:0;this._sortedRenderables[0][0].sort(e),this._sortedRenderables[0][1].sort(e),this._sortedRenderables[1][0].sort(e),this._sortedRenderables[1][1].sort(e)}static getKey(e,r,t){return`edges-t:${e}:${r}:${t}`}}const u=s();export{f as EdgeRenderer,_ as extensionLengthOffset,m as lineWidthFractionFactor};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../../../../core/Accessor.js";import{equals as r,binaryIndexOf as s}from"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import n from"../../../../../core/Logger.js";import{clamp as i}from"../../../../../core/mathUtils.js";import{disposeMaybe as o,destroyMaybe as a}from"../../../../../core/maybe.js";import{isAbortError as c,onAbortOrThrow as l}from"../../../../../core/promiseUtils.js";import{property as d,subclass as h}from"../../../../../core/accessorSupport/decorators.js";import{fromMat4 as u,transpose as g,invert as m}from"../../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as f}from"../../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{create as p}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{h as _,d as b,a as y,g as w}from"../../../../../chunks/vec32.js";import{create as j,clone as O}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as E}from"../../../../../core/support/UpdatingHandles.js";import{c as v}from"../../../../../chunks/vec33.js";import{TwoVectorPosition as x}from"../../core/util/TwoVectorPosition.js";import{Attribute as M}from"../Attribute.js";import{GridLocalOriginFactory as T}from"../GridLocalOriginFactory.js";import{applyToModelMatrix as R}from"../localOriginHelper.js";import{LocalOriginManager as C}from"../LocalOriginManager.js";import{Object3D as A}from"../Object3D.js";import{VertexArrayObject as P}from"../VertexArrayObject.js";import{VertexLayout as D,glVertexLayout as k,edgeViewTextureLayout as S,EdgeInputBufferLayout as L,RegularEdgeInstancesGLLayout as U,SilhouetteEdgeInstancesGLLayout as q}from"./bufferLayouts.js";import{EdgeRenderer as H,lineWidthFractionFactor as B,extensionLengthOffset as V}from"./EdgeRenderer.js";import{EdgePassParameters as I}from"./EdgeShaderParameters.js";import{EdgeWorkerHandle as F}from"./EdgeWorkerHandle.js";import{generateStrokesTexture as N}from"./strokes.js";import{determineRendererType as z,determineEdgeTransparency as W,determineObjectTransparency as G,fillComponentBufferIndices as K}from"./util.js";import{BufferManager as J}from"../TextureBackedBuffer/BufferManager.js";import{VertexBuffer as Q}from"../../../../webgl/VertexBuffer.js";const X=128;let Y=class extends t{constructor(e){super(e),this._updatingHandles=new E,this._objectEntries=new Map,this._pendingDeletions=new Map,this._renderers=new Map,this._gpuMemoryUsage=0,this._workerAbort=new AbortController,this._tmpModelPosition=j(),this._localOrigins=new C(new T(e.renderSR));const t=D.createBuffer(4);for(let r=0;r<4;r++)t.sideness.set(r,0,0===r||3===r?0:1),t.sideness.set(r,1,0===r||1===r?0:1);this._vertexBuffer=new Q(e.rctx,k,t.buffer)}initialize(){this._workerHandle=new F(this.schedule),this._componentColorManager=new J(this.rctx,S)}destroy(){this.destroyed||(this._objectEntries.forEach(e=>this._discardObjectEntry(e)),this._objectEntries.clear(),this._pendingDeletions.forEach(e=>this._discardObjectEntry(e)),this._pendingDeletions.clear(),this._strokesTexture=o(this._strokesTexture),this._componentColorManager=a(this._componentColorManager),this._workerAbort.abort(),this._workerHandle.destroy(),this._vertexBuffer.dispose(),this._renderers.clear(),this._updatingHandles.destroy(),this._set("schedule",fe))}get updating(){return this._updatingHandles.updating}get usedMemory(){return this._gpuMemoryUsage}shouldRender(){return this._renderers.size>0}async addComponentObject(e,t,r,s,n,i,o){if(this.hasObject(e))return this._getObjectMemoryUsage(e);let a;const c=new ee(null,new Promise(e=>a=e),e.obb.center,e.obb.radius);this._objectEntries.set(e,c);const l=await this._updatingHandles.addPromise(this._addComponentGeometry(e.transform,c,t,r,s,n,i,o));return this.setNeedsRender(),a(),l}async addOrUpdateObject3D(e,t,r,s){if(this.destroyed)return void n.getLogger(this).warn("Attempt to add an object to a destroyed instance");const i=new AbortController;let o;const{center:a,radius:l}=e.boundingVolumeWorldSpace.bounds,d=new ee(i,new Promise(e=>o=e),a,l),h=this._objectEntries.get(e);h&&(this._pendingDeletions.has(e)?this._discardObjectEntry(h):this._pendingDeletions.set(e,h)),this._objectEntries.set(e,d);try{const n=new Array;if(e.geometries.length>1&&$(e))n.push(this._addObjectMergedGeometries(e,d,t,r,s));else for(const i of e.geometries)i.material.supportsEdges&&n.push(this._addGeometry(e,d,i,t,r,s));await this._updatingHandles.addPromise(Promise.all(n)),this._removePendingDeletion(e)}catch(u){c(u)?this._discardObjectEntry(d):this._removePendingDeletion(e)}finally{this.setNeedsRender(),o()}}removeObject(e){const t=this._objectEntries.get(e);this._objectEntries.delete(e),this._discardObjectEntry(t),this._removePendingDeletion(e)}_removePendingDeletion(e){const t=this._pendingDeletions.get(e);this._pendingDeletions.delete(e),this._discardObjectEntry(t)}async _getObjectEntry(e){const t=this._objectEntries.get(e);if(!t)throw new Error("no object");return await t.loaded,null==t.loaded?null:t}fastUpdateObject3DEdgesTransform(e){if(this.destroyed)return!1;const t=this._objectEntries.get(e);if(!t)return!1;const{geometries:r}=e,{renderables:s}=t;if(0===r.length||0===s.length)return!0;if(s.length>1)return!1;const[n]=s,i=n.transform;if(!(i instanceof se))return!1;const[o]=r;if(o.localOrigin!==i.origin.origin)return!1;const a=p(),c=this._computeModelTransformWithLocalOrigin(e,o,a);return n.transform=new se(a,c),this.setNeedsRender(),!0}_discardObjectEntry(e){e&&(e.abort?.abort(),e.renderables.length&&(e.renderables.forEach(e=>this._removeRenderable(e)),this.setNeedsRender()),e.loaded=null)}hasObject(e){return this._objectEntries.has(e)}async updateAllComponentOpacities(e,t){const r=await this._updatingHandles.addPromise(this._getObjectEntry(e));if(null==r)return;const s=Array.isArray(t)?e=>t[e]:()=>t;r.renderables.forEach(e=>{const{meta:t,buffer:r}=e.components,n=t.length,i=r.textureBuffer.getScalarField("opacity");for(let o=0;o<n;o++){const e=s(o),r=t[o],n=r.index;r.material.opacity=e,i.set(n,e)}this._updateTransparency(e)}),this.setNeedsRender()}async _getObjectMemoryUsage(e){const t=await this._getObjectEntry(e);return t?t.renderables.reduce((e,t)=>e+t.statistics.gpuMemoryUsage,0):0}async updateAllComponentMaterials(e,t,r,s){const n=e instanceof A,i=z(t),o=H.getKey(i,r,n),a=await this._updatingHandles.addPromise(this._getObjectEntry(e));null!=a&&(a.renderables.forEach(e=>{if(o!==e.rendererKey){const t=this._renderers.get(e.rendererKey),s=this._acquireRenderer(i,r,n);t.removeRenderable(e),--t.refCount,e.rendererKey=o,s.addRenderable(e)}if(Array.isArray(t))for(let r=0;r<t.length;r++)e.components.meta[r].material=t[r];else e.components.meta[0].material=t;s&&oe(e.components),this._updateTransparency(e)}),this.setNeedsRender())}async updateAllVerticalOffsets(e,t){const r=await this._updatingHandles.addPromise(this._getObjectEntry(e));null!=r&&this._updateAllVerticalOffsets(r,t)}_updateAllVerticalOffsets(e,t){e.renderables.forEach(e=>{const r=e.components.meta;for(let s=0;s<r.length;s++)e.components.meta[s].verticalOffset=t?.[s]??0;oe(e.components)}),this.setNeedsRender()}async updateObjectVisibility(e,t){const r=await this._updatingHandles.addPromise(this._getObjectEntry(e));r&&(r.renderables.forEach(e=>e.visible=t),this.setNeedsRender())}render(e,t){if(null==this._componentColorManager)return;this._localOrigins.updateViewMatrices(e.camera.viewMatrix);const r=e.camera.viewInverseTransposeMatrix,s=j(),n=new x;let i=0,o=0;if(this._renderers.forEach(r=>{0!==r.refCount?(++this.techniques.precompiling,r.forEachRenderable(t=>{t.visible&&(i+=t.statistics.averageEdgeLength,o++,t.regular&&r.acquireTechnique(e,!1),t.silhouette&&r.acquireTechnique(e,!0))},t),--this.techniques.precompiling):this._renderers.delete(r.key)}),this._componentColorManager.garbageCollect(),this._componentColorManager.updateTextures(),0===o)return;const a=new I(40*i/o,t);_(s,r[3],r[7],r[11]),n.set(s),b(a.transformWorldFromViewTH,n.high),b(a.transformWorldFromViewTL,n.low),u(a.transformViewFromCameraRelativeRS,e.camera.viewMatrix),g(me,a.transformViewFromCameraRelativeRS),m(a.transformNormalViewFromGlobal,me),this._updateObjectCameraDistances(e),this._renderers.forEach(t=>{ae(t,e,a),ce(t,e,a)})}_updateTransparency(e){const t=W(e.components.meta),r=G(e.components.meta);t===e.edgeTransparency&&r===e.objectTransparency||(e.edgeTransparency=t,e.objectTransparency=r,this._renderers.get(e.rendererKey).setRenderablesDirty())}_computeModelTransformWithLocalOrigin(e,t,r){e.getCombinedShaderTransformation(t,r);const s=null!=t.localOrigin?this._localOrigins.register(t.localOrigin):this._localOrigins.acquire(_(this._tmpModelPosition,r[12],r[13],r[14]));return t.localOrigin=s.origin,R(s.origin.vec3,r),s}_createComponentBuffers(e){if(null==this._componentColorManager)return null;const t=new Array,r=this._componentColorManager.getBuffer(e.length),s=r.acquireIndices(e.length);for(let i=0;i<e.length;i++){const r=e[i],n=s[i];t.push({index:n,verticalOffset:0,material:r})}const n=new te(r,t);return oe(n),n}_extractEdges(e,t,r,s,n,i,o=i.length){return o<X&&(n=!0),this._workerHandle.process({data:r,indices:i,indicesLength:o,writerSettings:t,skipDeduplicate:s},e,n)}_createRenderable(e,t,r,s,n){const i=t=>new re(new P(this.rctx,new Map([["vertices",this._vertexBuffer],["instances",0===t?new Q(this.rctx,U,e.regular.instancesData.buffer):new Q(this.rctx,q,e.silhouette.instancesData.buffer)]])),0===t?e.regular.lodInfo:e.silhouette.lodInfo),o=e.regular.lodInfo.lengths.length>0?i(0):null,a=e.silhouette.lodInfo.lengths.length>0?i(1):null,c=(o?.vao.usedMemory??0)+(a?.vao.usedMemory??0);return new ne(o,a,{gpuMemoryUsage:c,externalMemoryUsage:n,averageEdgeLength:e.averageEdgeLength},r,W(t.meta),G(t.meta),t,s)}async _addGeometry(e,t,r,s,n,i){if(r.edgeIndicesLength<=0)return;const o=r.attributes.get("position"),a=p(),c=this._computeModelTransformWithLocalOrigin(e,r,a),l=new ge(o,a,c);return this._addPositionData(t,l,r.edgeIndicesLength,s,n,i)}async _addPositionData(e,t,r,s,n,i=!1){if(null==e.loaded)return;const o=this._createComponentBuffers([s]);if(null==o)return;const a=this._acquireRenderer(s.type,n,!0),{modelTransform:c,origin:l}=t,d=t.position.indices,h=t.position,u=h.data.length/h.size,g=L.createBuffer(u);for(let p=0;p<u;p++)g.position.set(p,0,h.data[p*h.size]),g.position.set(p,1,h.data[p*h.size+1]),g.position.set(p,2,h.data[p*h.size+2]);K(o.meta,[0,g.componentIndex.count],g.componentIndex);const m=await this._updatingHandles.addPromise(this._extractEdges(e.abort?.signal||this._workerAbort.signal,a.writerSettings,g,!1,i,d,r));if(null==e.loaded)return;const f=this._createRenderable(m,o,new se(c,l),a.key,!1);e.renderables.push(f),a.addRenderable(f),this._gpuMemoryUsage+=f.statistics.gpuMemoryUsage}async _addComponentGeometry(e,t,r,s,n,i,o,a){if(null==t.loaded)return 0;const c=this._createComponentBuffers(i);if(null==c)return 0;const l=z(i),d=this._acquireRenderer(l,o||!1,!1),h=L.createBuffer(r.length/3);v(h.position.typedBuffer,r,h.position.typedBufferStride,3),K(c.meta,n,h.componentIndex,s);const u=!0,g=d.writerSettings,m=await this._updatingHandles.addPromise(this._extractEdges(this._workerAbort.signal,g,h,u,!1,s));if(null==t.loaded)return 0;const f=this._createRenderable(m,c,e,d.key,!0);return t.renderables.push(f),d.addRenderable(f),this._updateAllVerticalOffsets(t,a),f.statistics.gpuMemoryUsage}async _addObjectMergedGeometries(e,t,r,s,n){const i=new Map;let o=0,a=0,c=null;const l=e.geometries.filter(e=>{if(e.edgeIndicesLength<=0||!e.material.supportsEdges)return!1;!c&&e.localOrigin&&(c=e);const t=e.positionAttribute;return a+=t.data.length/t.size,o+=e.edgeIndicesLength,!0});if(0===l.length)return;const d=a>=65536?Uint32Array:Uint16Array,h=o?new d(o):null,u=[];let g=0;l.forEach(e=>{const t=e.attributes.get("position"),r=t.indices;let s=i.get(t.data);if(null==s){s=u.length/3;for(let e=0;e<t.data.length;e+=t.size)u.push(t.data[e]),u.push(t.data[e+1]),u.push(t.data[e+2]);i.set(t.data,s)}for(let n=0;n<e.edgeIndicesLength;n++)h[g++]=s+r[n]});const m=c||e.geometries[0],f=p(),_=this._computeModelTransformWithLocalOrigin(e,m,f);for(let p=0;p<e.geometries.length;p++)e.geometries[p].localOrigin=_.origin;const b=new ge(new M(u,h,3),f,_);await this._updatingHandles.addPromise(this._addPositionData(t,b,h.length,r,s,n))}_acquireRenderer(e,t,r){const s=H.getKey(e,t,r);let n=this._renderers.get(s);return null==this._strokesTexture&&(this._strokesTexture=N(this.rctx)),n||(n=new H(this.rctx,this.techniques,{type:e,hasSlicePlane:t,strokesTexture:this._strokesTexture,legacy:r,spherical:1===this.viewingMode}),this._renderers.set(s,n)),++n.refCount,n}_removeRenderable(e){Z(e.regular),Z(e.silhouette);const t=this._renderers.get(e.rendererKey);if(t){t.removeRenderable(e),--t.refCount,this._localOrigins.release(e.transform.origin),this._gpuMemoryUsage-=e.statistics.externalMemoryUsage?0:e.statistics.gpuMemoryUsage;for(const t of e.components.meta)e.components.buffer.releaseIndex(t.index)}}_updateObjectCameraDistances(e){const t=e.camera.eye,r=e.camera.viewForward,s=j(),n=e=>{y(s,e.center,t);const n=w(s,r),i=e.radius,o=n<-i?1/0:n<i?0:n-i;e.renderables.forEach(e=>e.distanceToCamera=o)};this._objectEntries.forEach(n),this._pendingDeletions.forEach(n)}get test(){}};function Z(e){e?.vao&&(e.vao.buffer("instances")?.dispose(),e.vao.disposeVAOOnly(),e.vao=null)}function $(e){let t=null,s=null;for(const n of e.geometries){if(n.material.supportsEdges){if(t){if(!r(t,n.transformation))return!1}else t=n.transformation;if(s||null==n.localOrigin){if(null!=s?.localOrigin&&null!=n.localOrigin&&s.localOrigin.id!==n.localOrigin.id)return!1}else s=n}}return!0}e([d({constructOnly:!0})],Y.prototype,"rctx",void 0),e([d({constructOnly:!0})],Y.prototype,"renderSR",void 0),e([d({constructOnly:!0})],Y.prototype,"viewingMode",void 0),e([d({constructOnly:!0})],Y.prototype,"techniques",void 0),e([d({constructOnly:!0})],Y.prototype,"setNeedsRender",void 0),e([d({constructOnly:!0})],Y.prototype,"schedule",void 0),e([d({readOnly:!0})],Y.prototype,"_updatingHandles",void 0),e([d({readOnly:!0})],Y.prototype,"updating",null),Y=e([h("esri.views.3d.webgl-engine.lib.edgeRendering.EdgeView")],Y);class ee{constructor(e,t,r,s){this.abort=e,this.radius=s,this.renderables=new Array;const n=e?l(e.signal,()=>e.abort()):null;this.loaded=t,this.loaded.then(()=>{null!=this.loaded&&(this.loaded=!0),this.abort=null,n?.remove()}),this.center=O(r)}}class te{constructor(e,t){this.buffer=e,this.meta=t}}class re{constructor(e,t){this.vao=e,this.lod=t}}class se{constructor(e,t){this.modelMatrix=e,this.origin=t}}class ne{constructor(e,t,r,s,n,i,o,a){this.regular=e,this.silhouette=t,this.statistics=r,this.transform=s,this.edgeTransparency=n,this.objectTransparency=i,this.components=o,this.rendererKey=a,this.distanceToCamera=0,this.visible=!0}}class ie extends ne{}function oe(e){const{meta:t,buffer:r}=e,s=r.textureBuffer,n=s.getVec4Field("color"),o=s.getScalarField("lineWidth"),a=s.getScalarField("extensionLength"),c=s.getScalarField("materialType"),l=s.getScalarField("opacity"),d=s.getScalarField("elevationOffset");for(let h=0;h<t.length;h++){const e=t[h].material,r=t[h].index,s=i(Math.round(e.size*B),0,255),u=i(e.extensionLength,-V,255-V)+V;n.setArray(r,e.color),o.set(r,s),a.set(r,u),c.set(r,e.type),l.set(r,e.opacity),d.set(r,t[h].verticalOffset)}}function ae(e,t,r){let s,n;const i=r.transparency,o=t.camera.perScreenPixelRatio;e.forEachRenderable(i=>{if(!le(i)||!i.visible)return;s??=e.acquireTechnique(t,!1),n??=e.rctx.bindTechnique(s,t,r);const a=ue(i.regular.lod.lengths,i.distanceToCamera,o);e.renderRegularEdges(n,i,r,t,a)},i)}function ce(e,t,r){let s,n;const i=r.transparency,o=t.camera.perScreenPixelRatio;e.forEachRenderable(i=>{if(!he(i)||!i.visible)return;s??=e.acquireTechnique(t,!0),n??=e.rctx.bindTechnique(s,t,r);const a=ue(i.silhouette.lod.lengths,i.distanceToCamera,o);e.renderSilhouetteEdges(n,i,r,t,a)},i)}function le(e){return null!=e.regular}class de extends ne{}function he(e){return null!=e.silhouette}function ue(e,t,r){const n=t*r,i=s(e,n,!0);return-1===i?n<e[0]?e.length:0:e.length-i}class ge{constructor(e,t,r){this.position=e,this.modelTransform=t,this.origin=r}}const me=f(),fe=()=>Promise.reject();export{Y as EdgeView,se as LegacyTransform,ie as RegularRenderable,ne as Renderable,de as SilhouetteRenderable};
5
+ import{__decorate as e}from"tslib";import t from"../../../../../core/Accessor.js";import{equals as r,binaryIndexOf as s}from"../../../../../core/arrayUtils.js";import"../../../../../core/has.js";import n from"../../../../../core/Logger.js";import{clamp as i}from"../../../../../core/mathUtils.js";import{disposeMaybe as o,destroyMaybe as a}from"../../../../../core/maybe.js";import{isAbortError as c,onAbortOrThrow as l}from"../../../../../core/promiseUtils.js";import{property as d,subclass as h}from"../../../../../core/accessorSupport/decorators.js";import{fromMat4 as u,transpose as g,invert as m}from"../../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as f}from"../../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{create as p}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{h as _,d as b,a as y,g as w}from"../../../../../chunks/vec32.js";import{create as j,clone as O}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as E}from"../../../../../core/support/UpdatingHandles.js";import{c as v}from"../../../../../chunks/vec33.js";import{TwoVectorPosition as x}from"../../core/util/TwoVectorPosition.js";import{Attribute as M}from"../Attribute.js";import{GridLocalOriginFactory as T}from"../GridLocalOriginFactory.js";import{applyToModelMatrix as R}from"../localOriginHelper.js";import{LocalOriginManager as C}from"../LocalOriginManager.js";import{Object3D as A}from"../Object3D.js";import{VertexArrayObject as P}from"../VertexArrayObject.js";import{VertexLayout as D,glVertexLayout as k,edgeViewTextureLayout as L,EdgeInputBufferLayout as S,RegularEdgeInstancesGLLayout as U,SilhouetteEdgeInstancesGLLayout as q}from"./bufferLayouts.js";import{EdgeRenderer as H,lineWidthFractionFactor as B,extensionLengthOffset as V}from"./EdgeRenderer.js";import{EdgePassParameters as I}from"./EdgeShaderParameters.js";import{EdgeWorkerHandle as F}from"./EdgeWorkerHandle.js";import{LegacyTransform as N,isLegacyTransform as z}from"./LegacyTransform.js";import{generateStrokesTexture as W}from"./strokes.js";import{determineRendererType as G,determineEdgeTransparency as K,determineObjectTransparency as J,fillComponentBufferIndices as Q}from"./util.js";import{BufferManager as X}from"../TextureBackedBuffer/BufferManager.js";import{VertexBuffer as Y}from"../../../../webgl/VertexBuffer.js";const Z=128;let $=class extends t{constructor(e){super(e),this._updatingHandles=new E,this._objectEntries=new Map,this._pendingDeletions=new Map,this._renderers=new Map,this._gpuMemoryUsage=0,this._workerAbort=new AbortController,this._tmpModelPosition=j(),this._localOrigins=new C(new T(e.renderSR));const t=D.createBuffer(4);for(let r=0;r<4;r++)t.sideness.set(r,0,0===r||3===r?0:1),t.sideness.set(r,1,0===r||1===r?0:1);this._vertexBuffer=new Y(e.rctx,k,t.buffer)}initialize(){this._workerHandle=new F(this.schedule),this._componentColorManager=new X(this.rctx,L)}destroy(){this.destroyed||(this._objectEntries.forEach(e=>this._discardObjectEntry(e)),this._objectEntries.clear(),this._pendingDeletions.forEach(e=>this._discardObjectEntry(e)),this._pendingDeletions.clear(),this._strokesTexture=o(this._strokesTexture),this._componentColorManager=a(this._componentColorManager),this._workerAbort.abort(),this._workerHandle.destroy(),this._vertexBuffer.dispose(),this._renderers.clear(),this._updatingHandles.destroy(),this._set("schedule",pe))}get updating(){return this._updatingHandles.updating}get usedMemory(){return this._gpuMemoryUsage}shouldRender(){return this._renderers.size>0}async addComponentObject(e,t,r,s,n,i,o){if(this.hasObject(e))return this._getObjectMemoryUsage(e);let a;const c=new re(null,new Promise(e=>a=e),e.obb.center,e.obb.radius);this._objectEntries.set(e,c);const l=await this._updatingHandles.addPromise(this._addComponentGeometry(e.transform,c,t,r,s,n,i,o));return this.setNeedsRender(),a(),l}async addOrUpdateObject3D(e,t,r,s){if(this.destroyed)return void n.getLogger(this).warn("Attempt to add an object to a destroyed instance");const i=new AbortController;let o;const{center:a,radius:l}=e.boundingVolumeWorldSpace.bounds,d=new re(i,new Promise(e=>o=e),a,l),h=this._objectEntries.get(e);h&&(this._pendingDeletions.has(e)?this._discardObjectEntry(h):this._pendingDeletions.set(e,h)),this._objectEntries.set(e,d);try{const n=new Array;if(e.geometries.length>1&&te(e))n.push(this._addObjectMergedGeometries(e,d,t,r,s));else for(const i of e.geometries)i.material.supportsEdges&&n.push(this._addGeometry(e,d,i,t,r,s));await this._updatingHandles.addPromise(Promise.all(n)),this._removePendingDeletion(e)}catch(u){c(u)?this._discardObjectEntry(d):this._removePendingDeletion(e)}finally{this.setNeedsRender(),o()}}removeObject(e){const t=this._objectEntries.get(e);this._objectEntries.delete(e),this._discardObjectEntry(t),this._removePendingDeletion(e)}_removePendingDeletion(e){const t=this._pendingDeletions.get(e);this._pendingDeletions.delete(e),this._discardObjectEntry(t)}async _getObjectEntry(e){const t=this._objectEntries.get(e);if(!t)throw new Error("no object");return await t.loaded,null==t.loaded?null:t}fastUpdateObject3DEdgesTransform(e){if(this.destroyed)return!1;const t=this._objectEntries.get(e);if(!t)return!1;const{geometries:r}=e,{renderables:s}=t;if(0===r.length||0===s.length)return!0;if(s.length>1)return!1;const[n]=s,i=n.transform;if(!(i instanceof N))return!1;const[o]=r;if(o.localOrigin!==i.origin.origin)return!1;const a=p(),c=this._computeModelTransformWithLocalOrigin(e,o,a);return n.transform=new N(a,c),this.setNeedsRender(),!0}_discardObjectEntry(e){e&&(e.abort?.abort(),e.renderables.length&&(e.renderables.forEach(e=>this._removeRenderable(e)),this.setNeedsRender()),e.loaded=null)}hasObject(e){return this._objectEntries.has(e)}async updateAllComponentOpacities(e,t){const r=await this._updatingHandles.addPromise(this._getObjectEntry(e));if(null==r)return;const s=Array.isArray(t)?e=>t[e]:()=>t;r.renderables.forEach(e=>{const{meta:t,buffer:r}=e.components,n=t.length,i=r.textureBuffer.getScalarField("opacity");for(let o=0;o<n;o++){const e=s(o),r=t[o],n=r.index;r.material.opacity=e,i.set(n,e)}this._updateTransparency(e)}),this.setNeedsRender()}async _getObjectMemoryUsage(e){const t=await this._getObjectEntry(e);return t?t.renderables.reduce((e,t)=>e+t.statistics.gpuMemoryUsage,0):0}async updateAllComponentMaterials(e,t,r,s){const n=e instanceof A,i=G(t),o=H.getKey(i,r,n),a=await this._updatingHandles.addPromise(this._getObjectEntry(e));null!=a&&(a.renderables.forEach(e=>{if(o!==e.rendererKey){const t=this._renderers.get(e.rendererKey),s=this._acquireRenderer(i,r,n);t.removeRenderable(e),--t.refCount,e.rendererKey=o,s.addRenderable(e)}if(Array.isArray(t))for(let r=0;r<t.length;r++)e.components.meta[r].material=t[r];else e.components.meta[0].material=t;s&&ae(e.components),this._updateTransparency(e)}),this.setNeedsRender())}async updateAllVerticalOffsets(e,t){const r=await this._updatingHandles.addPromise(this._getObjectEntry(e));null!=r&&this._updateAllVerticalOffsets(r,t)}_updateAllVerticalOffsets(e,t){e.renderables.forEach(e=>{const r=e.components.meta;for(let s=0;s<r.length;s++)e.components.meta[s].verticalOffset=t?.[s]??0;ae(e.components)}),this.setNeedsRender()}async updateObjectVisibility(e,t){const r=await this._updatingHandles.addPromise(this._getObjectEntry(e));r&&(r.renderables.forEach(e=>e.visible=t),this.setNeedsRender())}render(e,t){if(null==this._componentColorManager)return;this._localOrigins.updateViewMatrices(e.camera.viewMatrix);const r=e.camera.viewInverseTransposeMatrix,s=j(),n=new x;let i=0,o=0;if(this._renderers.forEach(r=>{0!==r.refCount?(++this.techniques.precompiling,r.forEachRenderable(t=>{t.visible&&(i+=t.statistics.averageEdgeLength,o++,t.regular&&r.acquireTechnique(e,!1),t.silhouette&&r.acquireTechnique(e,!0))},t),--this.techniques.precompiling):this._renderers.delete(r.key)}),this._componentColorManager.garbageCollect(),this._componentColorManager.updateTextures(),0===o)return;const a=new I(40*i/o,t);_(s,r[3],r[7],r[11]),n.set(s),b(a.transformWorldFromViewTH,n.high),b(a.transformWorldFromViewTL,n.low),u(a.transformViewFromCameraRelativeRS,e.camera.viewMatrix),g(fe,a.transformViewFromCameraRelativeRS),m(a.transformNormalViewFromGlobal,fe),this._updateObjectCameraDistances(e),this._renderers.forEach(t=>{ce(t,e,a),le(t,e,a)})}_updateTransparency(e){const t=K(e.components.meta),r=J(e.components.meta);t===e.edgeTransparency&&r===e.objectTransparency||(e.edgeTransparency=t,e.objectTransparency=r,this._renderers.get(e.rendererKey).setRenderablesDirty())}_computeModelTransformWithLocalOrigin(e,t,r){e.getCombinedShaderTransformation(t,r);const s=null!=t.localOrigin?this._localOrigins.register(t.localOrigin):this._localOrigins.acquire(_(this._tmpModelPosition,r[12],r[13],r[14]));return t.localOrigin=s.origin,R(s.origin.vec3,r),s}_createComponentBuffers(e){if(null==this._componentColorManager)return null;const t=new Array,r=this._componentColorManager.getBuffer(e.length),s=r.acquireIndices(e.length);for(let i=0;i<e.length;i++){const r=e[i],n=s[i];t.push({index:n,verticalOffset:0,material:r})}const n=new se(r,t);return ae(n),n}_extractEdges(e,t,r,s,n,i,o=i.length){return o<Z&&(n=!0),this._workerHandle.process({data:r,indices:i,indicesLength:o,writerSettings:t,skipDeduplicate:s},e,n)}_createRenderable(e,t,r,s,n){const i=t=>new ne(new P(this.rctx,new Map([["vertices",this._vertexBuffer],["instances",0===t?new Y(this.rctx,U,e.regular.instancesData.buffer):new Y(this.rctx,q,e.silhouette.instancesData.buffer)]])),0===t?e.regular.lodInfo:e.silhouette.lodInfo),o=e.regular.lodInfo.lengths.length>0?i(0):null,a=e.silhouette.lodInfo.lengths.length>0?i(1):null,c=(o?.vao.usedMemory??0)+(a?.vao.usedMemory??0);return new ie(o,a,{gpuMemoryUsage:c,externalMemoryUsage:n,averageEdgeLength:e.averageEdgeLength},r,K(t.meta),J(t.meta),t,s)}async _addGeometry(e,t,r,s,n,i){if(r.edgeIndicesLength<=0)return;const o=r.attributes.get("position"),a=p(),c=this._computeModelTransformWithLocalOrigin(e,r,a),l=new me(o,a,c);return this._addPositionData(t,l,r.edgeIndicesLength,s,n,i)}async _addPositionData(e,t,r,s,n,i=!1){if(null==e.loaded)return;const o=this._createComponentBuffers([s]);if(null==o)return;const a=this._acquireRenderer(s.type,n,!0),{modelTransform:c,origin:l}=t,d=t.position.indices,h=t.position,u=h.data.length/h.size,g=S.createBuffer(u);for(let p=0;p<u;p++)g.position.set(p,0,h.data[p*h.size]),g.position.set(p,1,h.data[p*h.size+1]),g.position.set(p,2,h.data[p*h.size+2]);Q(o.meta,[0,g.componentIndex.count],g.componentIndex);const m=await this._updatingHandles.addPromise(this._extractEdges(e.abort?.signal||this._workerAbort.signal,a.writerSettings,g,!1,i,d,r));if(null==e.loaded)return;const f=this._createRenderable(m,o,new N(c,l),a.key,!1);e.renderables.push(f),a.addRenderable(f),this._gpuMemoryUsage+=f.statistics.gpuMemoryUsage}async _addComponentGeometry(e,t,r,s,n,i,o,a){if(null==t.loaded)return 0;const c=this._createComponentBuffers(i);if(null==c)return 0;const l=G(i),d=this._acquireRenderer(l,o||!1,!1),h=S.createBuffer(r.length/3);v(h.position.typedBuffer,r,h.position.typedBufferStride,3),Q(c.meta,n,h.componentIndex,s);const u=!0,g=d.writerSettings,m=await this._updatingHandles.addPromise(this._extractEdges(this._workerAbort.signal,g,h,u,!1,s));if(null==t.loaded)return 0;const f=this._createRenderable(m,c,e,d.key,!0);return t.renderables.push(f),d.addRenderable(f),this._updateAllVerticalOffsets(t,a),f.statistics.gpuMemoryUsage}async _addObjectMergedGeometries(e,t,r,s,n){const i=new Map;let o=0,a=0,c=null;const l=e.geometries.filter(e=>{if(e.edgeIndicesLength<=0||!e.material.supportsEdges)return!1;!c&&e.localOrigin&&(c=e);const t=e.positionAttribute;return a+=t.data.length/t.size,o+=e.edgeIndicesLength,!0});if(0===l.length)return;const d=a>=65536?Uint32Array:Uint16Array,h=o?new d(o):null,u=[];let g=0;l.forEach(e=>{const t=e.attributes.get("position"),r=t.indices;let s=i.get(t.data);if(null==s){s=u.length/3;for(let e=0;e<t.data.length;e+=t.size)u.push(t.data[e]),u.push(t.data[e+1]),u.push(t.data[e+2]);i.set(t.data,s)}for(let n=0;n<e.edgeIndicesLength;n++)h[g++]=s+r[n]});const m=c||e.geometries[0],f=p(),_=this._computeModelTransformWithLocalOrigin(e,m,f);for(let p=0;p<e.geometries.length;p++)e.geometries[p].localOrigin=_.origin;const b=new me(new M(u,h,3),f,_);await this._updatingHandles.addPromise(this._addPositionData(t,b,h.length,r,s,n))}_acquireRenderer(e,t,r){const s=H.getKey(e,t,r);let n=this._renderers.get(s);return null==this._strokesTexture&&(this._strokesTexture=W(this.rctx)),n||(n=new H(this.rctx,this.techniques,{type:e,hasSlicePlane:t,strokesTexture:this._strokesTexture,legacy:r,spherical:1===this.viewingMode}),this._renderers.set(s,n)),++n.refCount,n}_removeRenderable(e){ee(e.regular),ee(e.silhouette);const t=this._renderers.get(e.rendererKey);if(t){t.removeRenderable(e),--t.refCount,z(e.transform)&&this._localOrigins.release(e.transform.origin),this._gpuMemoryUsage-=e.statistics.externalMemoryUsage?0:e.statistics.gpuMemoryUsage;for(const t of e.components.meta)e.components.buffer.releaseIndex(t.index)}}_updateObjectCameraDistances(e){const t=e.camera.eye,r=e.camera.viewForward,s=j(),n=e=>{y(s,e.center,t);const n=w(s,r),i=e.radius,o=n<-i?1/0:n<i?0:n-i;e.renderables.forEach(e=>e.distanceToCamera=o)};this._objectEntries.forEach(n),this._pendingDeletions.forEach(n)}get test(){}};function ee(e){e?.vao&&(e.vao.buffer("instances")?.dispose(),e.vao.disposeVAOOnly(),e.vao=null)}function te(e){let t=null,s=null;for(const n of e.geometries){if(n.material.supportsEdges){if(t){if(!r(t,n.transformation))return!1}else t=n.transformation;if(s||null==n.localOrigin){if(null!=s?.localOrigin&&null!=n.localOrigin&&s.localOrigin.id!==n.localOrigin.id)return!1}else s=n}}return!0}e([d({constructOnly:!0})],$.prototype,"rctx",void 0),e([d({constructOnly:!0})],$.prototype,"renderSR",void 0),e([d({constructOnly:!0})],$.prototype,"viewingMode",void 0),e([d({constructOnly:!0})],$.prototype,"techniques",void 0),e([d({constructOnly:!0})],$.prototype,"setNeedsRender",void 0),e([d({constructOnly:!0})],$.prototype,"schedule",void 0),e([d({readOnly:!0})],$.prototype,"_updatingHandles",void 0),e([d({readOnly:!0})],$.prototype,"updating",null),$=e([h("esri.views.3d.webgl-engine.lib.edgeRendering.EdgeView")],$);class re{constructor(e,t,r,s){this.abort=e,this.radius=s,this.renderables=new Array;const n=e?l(e.signal,()=>e.abort()):null;this.loaded=t,this.loaded.then(()=>{null!=this.loaded&&(this.loaded=!0),this.abort=null,n?.remove()}),this.center=O(r)}}class se{constructor(e,t){this.buffer=e,this.meta=t}}class ne{constructor(e,t){this.vao=e,this.lod=t}}class ie{constructor(e,t,r,s,n,i,o,a){this.regular=e,this.silhouette=t,this.statistics=r,this.transform=s,this.edgeTransparency=n,this.objectTransparency=i,this.components=o,this.rendererKey=a,this.distanceToCamera=0,this.visible=!0}}class oe extends ie{}function ae(e){const{meta:t,buffer:r}=e,s=r.textureBuffer,n=s.getVec4Field("color"),o=s.getScalarField("lineWidth"),a=s.getScalarField("extensionLength"),c=s.getScalarField("materialType"),l=s.getScalarField("opacity"),d=s.getScalarField("elevationOffset");for(let h=0;h<t.length;h++){const e=t[h].material,r=t[h].index,s=i(Math.round(e.size*B),0,255),u=i(e.extensionLength,-V,255-V)+V;n.setArray(r,e.color),o.set(r,s),a.set(r,u),c.set(r,e.type),l.set(r,e.opacity),d.set(r,t[h].verticalOffset)}}function ce(e,t,r){let s,n;const i=r.transparency,o=t.camera.perScreenPixelRatio;e.forEachRenderable(i=>{if(!de(i)||!i.visible)return;s??=e.acquireTechnique(t,!1),n??=e.rctx.bindTechnique(s,t,r);const a=ge(i.regular.lod.lengths,i.distanceToCamera,o);e.renderRegularEdges(n,i,r,t,a)},i)}function le(e,t,r){let s,n;const i=r.transparency,o=t.camera.perScreenPixelRatio;e.forEachRenderable(i=>{if(!ue(i)||!i.visible)return;s??=e.acquireTechnique(t,!0),n??=e.rctx.bindTechnique(s,t,r);const a=ge(i.silhouette.lod.lengths,i.distanceToCamera,o);e.renderSilhouetteEdges(n,i,r,t,a)},i)}function de(e){return null!=e.regular}class he extends ie{}function ue(e){return null!=e.silhouette}function ge(e,t,r){const n=t*r,i=s(e,n,!0);return-1===i?n<e[0]?e.length:0:e.length-i}class me{constructor(e,t,r){this.position=e,this.modelTransform=t,this.origin=r}}const fe=f(),pe=()=>Promise.reject();export{$ as EdgeView,oe as RegularRenderable,ie as Renderable,he as SilhouetteRenderable};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
+ */
5
+ class i{constructor(i,r){this.modelMatrix=i,this.origin=r}}function r(i){return"origin"in i}export{i as LegacyTransform,r as isLegacyTransform};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/has.js";import{generateUUID as t}from"../../../../core/uuid.js";const o={dash:[4,3],dot:[1,3],"long-dash":[8,3],"short-dash":[4,1],"short-dot":[1,1]},s={dash:o.dash,"dash-dot":[...o.dash,...o.dot],dot:o.dot,"long-dash":o["long-dash"],"long-dash-dot":[...o["long-dash"],...o.dot],"long-dash-dot-dot":[...o["long-dash"],...o.dot,...o.dot],none:null,"short-dash":o["short-dash"],"short-dash-dot":[...o["short-dash"],...o["short-dot"]],"short-dash-dot-dot":[...o["short-dash"],...o["short-dot"],...o["short-dot"]],"short-dot":o["short-dot"],solid:null},d=8;class n{constructor(o,s,d){this.image=o,this.width=s,this.length=d,this.uuid=t()}}function h(t){return null!=t&&"image"in t}function r(t,o){return null==t?t:{pattern:t.slice(),pixelRatio:o}}function l(t){return{pattern:[t,t],pixelRatio:2}}function a(t){switch(t?.type){case"style":return e(t.style);case"image":return new n(t.image,t.width,t.length);case void 0:case null:return null}return null}function e(t){return null!=t?r(s[t],d):null}export{n as ImagePattern,l as createStipplePatternSimple,a as getStipplePatternForLinePattern,e as getStipplePatternForPatternStyle,h as isImagePattern};
5
+ import{generateUUID as t}from"../../../../core/uuid.js";const o={dash:[4,3],dot:[1,3],"long-dash":[8,3],"short-dash":[4,1],"short-dot":[1,1]},s={dash:o.dash,"dash-dot":[...o.dash,...o.dot],dot:o.dot,"long-dash":o["long-dash"],"long-dash-dot":[...o["long-dash"],...o.dot],"long-dash-dot-dot":[...o["long-dash"],...o.dot,...o.dot],none:null,"short-dash":o["short-dash"],"short-dash-dot":[...o["short-dash"],...o["short-dot"]],"short-dash-dot-dot":[...o["short-dash"],...o["short-dot"],...o["short-dot"]],"short-dot":o["short-dot"],solid:null},d=8;class n{constructor(o,s,d){this.image=o,this.width=s,this.length=d,this.uuid=t()}}function h(t){return null!=t&&"image"in t}function r(t,o){return null==t?t:{pattern:t.slice(),pixelRatio:o}}function l(t){return{pattern:[t,t],pixelRatio:2}}function a(t){switch(t?.type){case"style":return e(t.style);case"image":return new n(t.image,t.width,t.length);case void 0:case null:return null}return null}function e(t){return null!=t?r(s[t],d):null}export{n as ImagePattern,l as createStipplePatternSimple,a as getStipplePatternForLinePattern,e as getStipplePatternForPatternStyle,h as isImagePattern};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import"../../../../core/has.js";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{drawBuffers as i}from"../lib/OrderIndependentTransparency.js";import{a as t}from"../../../../chunks/Compositing.glsl.js";import{makePipelineState as n,defaultColorWrite as a,premultipliedAlpha as c,unpremultipliedAlphaToPremultipliedAlpha as d}from"../../../webgl/renderState.js";let l=class extends o{constructor(){super(...arguments),this.shader=new s(t,()=>import("./Compositing.glsl.js"))}initializePipeline(e){const{blitMode:r,blendEmissive:s}=e;switch(r){case 0:case 3:return n({colorWrite:a,drawBuffers:i(0,s)});case 1:return n({blending:d,colorWrite:a,drawBuffers:i(0,s)});default:return n({blending:c,colorWrite:a,drawBuffers:i(0,s)})}}};l=e([r("esri.views.3d.webgl-engine.shaders.CompositingTechnique")],l);export{l as CompositingTechnique};
5
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{drawBuffers as i}from"../lib/OrderIndependentTransparency.js";import{a as t}from"../../../../chunks/Compositing.glsl.js";import{makePipelineState as n,defaultColorWrite as a,premultipliedAlpha as c,unpremultipliedAlphaToPremultipliedAlpha as d}from"../../../webgl/renderState.js";let l=class extends o{constructor(){super(...arguments),this.shader=new s(t,()=>import("./Compositing.glsl.js"))}initializePipeline(e){const{blitMode:r,blendEmissive:s}=e;switch(r){case 0:case 3:return n({colorWrite:a,drawBuffers:i(0,s)});case 1:return n({blending:d,colorWrite:a,drawBuffers:i(0,s)});default:return n({blending:c,colorWrite:a,drawBuffers:i(0,s)})}}};l=e([r("esri.views.3d.webgl-engine.shaders.CompositingTechnique")],l);export{l as CompositingTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import"../core/shaderLibrary/shading/NormalUtils.glsl.js";import"../core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import"../core/shaderLibrary/util/ComputeCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3BindUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/IntegerPassUniform.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"./GaussianSplatTechniqueConfiguration.js";import"../../../webgl/ShaderBuilder.js";export{G as GaussianSplatPassParameters,b as build}from"../../../../chunks/GaussianSplat.glsl.js";
5
+ import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import"../core/shaderLibrary/shading/NormalUtils.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import"../core/shaderLibrary/util/ComputeCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3BindUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"./GaussianSplatTechniqueConfiguration.js";import"../../../webgl/ShaderBuilder.js";export{G as GaussianSplatPassParameters,b as build}from"../../../../chunks/GaussianSplat.glsl.js";
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import{ShaderTechniqueConfiguration as e,parameter as i}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";class o extends e{constructor(t,e=!1,i=!1){super(),this.spherical=t,this.colorOnlyPass=e,this.dephtOnlyPass=i,this.alphaCutoff=1,this.fadingEnabled=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.receiveAmbientOcclusion=!1,this.pbrMode=0,this.useCustomDTRExponentForWater=!1,this.useFillLights=!1,this.hasColorTexture=!0}}function s(t){switch(t){case 2:return.005;case 0:return.05;default:return.01}}t([i({count:3})],o.prototype,"alphaCutoff",void 0),t([i()],o.prototype,"fadingEnabled",void 0),t([i()],o.prototype,"terrainDepthTest",void 0),t([i()],o.prototype,"cullAboveTerrain",void 0),t([i()],o.prototype,"receiveAmbientOcclusion",void 0);export{o as GaussianSplatTechniqueConfiguration,s as getGaussianSplatAlphaCutoffValue};
5
+ import{__decorate as t}from"tslib";import{ShaderTechniqueConfiguration as e,parameter as i}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";class o extends e{constructor(t){super(),this.spherical=t,this.alphaCutoff=1,this.fadingEnabled=!1,this.terrainDepthTest=!1,this.cullAboveTerrain=!1,this.occlusionPass=!1,this.receiveAmbientOcclusion=!1,this.pbrMode=0,this.useCustomDTRExponentForWater=!1,this.useFillLights=!1,this.hasColorTexture=!0}}function r(t){switch(t){case 2:return.005;case 0:return.05;default:return.01}}t([i({count:3})],o.prototype,"alphaCutoff",void 0),t([i()],o.prototype,"fadingEnabled",void 0),t([i()],o.prototype,"terrainDepthTest",void 0),t([i()],o.prototype,"cullAboveTerrain",void 0),t([i()],o.prototype,"receiveAmbientOcclusion",void 0);export{o as GaussianSplatTechniqueConfiguration,r as getGaussianSplatAlphaCutoffValue};
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import"../../../../geometry/support/Ellipsoid.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import"../core/shaderLibrary/hud/AlignPixel.glsl.js";import"../core/shaderLibrary/hud/HUD.glsl.js";import"../core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import"../core/shaderLibrary/hud/HUDVisibility.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderLibrary/shading/VisualVariables.glsl.js";import"../core/shaderLibrary/util/ColorConversion.glsl.js";import"../core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float4BindUniform.js";import"../core/shaderModules/Float4DrawUniform.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatBindUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DBindUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/ShaderBuilder.js";import"../../../../webscene/support/AlphaCutoff.js";export{b as build,c as calculateAnchorPosition,f as fullUV}from"../../../../chunks/HUDMaterial.glsl.js";
5
+ import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import"../../../../geometry/support/Ellipsoid.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import"../core/shaderLibrary/hud/AlignPixel.glsl.js";import"../core/shaderLibrary/hud/HUD.glsl.js";import"../core/shaderLibrary/hud/HUDOcclusionPass.glsl.js";import"../core/shaderLibrary/hud/HUDVisibility.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/shading/VisualVariables.glsl.js";import"../core/shaderLibrary/util/ColorConversion.glsl.js";import"../core/shaderLibrary/util/ScreenSizePerspective.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float4BindUniform.js";import"../core/shaderModules/Float4DrawUniform.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatBindUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DBindUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/ShaderBuilder.js";import"../../../../webscene/support/AlphaCutoff.js";export{b as build,c as calculateAnchorPosition,f as fullUV}from"../../../../chunks/HUDMaterial.glsl.js";
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../../support/engineContent/marker.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderLibrary/shading/MarkerSizing.glsl.js";import"../core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import"../core/shaderLibrary/util/ColorConversion.glsl.js";import"../core/shaderLibrary/util/NoPerspective.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float4BindUniform.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatBindUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";export{b as build}from"../../../../chunks/LineMarker.glsl.js";
5
+ import"../../support/engineContent/marker.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderLibrary/shading/MarkerSizing.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import"../core/shaderLibrary/util/ColorConversion.glsl.js";import"../core/shaderLibrary/util/NoPerspective.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float4BindUniform.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatBindUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";export{b as build}from"../../../../chunks/LineMarker.glsl.js";
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/mathUtils.js";import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../chunks/vec32.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../../../../geometry/support/aaBoundingBox.js";import"../core/shaderLibrary/ShaderOutput.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderModules/Float2DrawUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3DrawUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Matrix4DrawUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as PointRendererDrawParameters,P as PointRendererPassParameters,c as build,g as getMaxPointSizeScreenspace}from"../../../../chunks/PointRenderer.glsl.js";
5
+ import"../../../../core/mathUtils.js";import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../chunks/vec32.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../../../../geometry/support/aaBoundingBox.js";import"../core/shaderLibrary/ShaderOutput.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderModules/Float2DrawUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3DrawUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Matrix4DrawUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as PointRendererDrawParameters,P as PointRendererPassParameters,c as build,g as getMaxPointSizeScreenspace}from"../../../../chunks/PointRenderer.glsl.js";
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import"../core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import"../core/shaderLibrary/shading/LineStipple.glsl.js";import"../core/shaderLibrary/shading/MarkerSizing.glsl.js";import"../core/shaderLibrary/shading/PiUtils.glsl.js";import"../core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import"../core/shaderLibrary/util/ColorConversion.glsl.js";import"../core/shaderLibrary/util/NoPerspective.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float4BindUniform.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatBindUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"./AnimatedLine.glsl.js";import"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";import"../../../../webscene/support/AlphaCutoff.js";export{b as build,r as ribbonlineNumRoundJoinSubdivisions}from"../../../../chunks/RibbonLine.glsl.js";
5
+ import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js";import"../core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js";import"../core/shaderLibrary/shading/LineStipple.glsl.js";import"../core/shaderLibrary/shading/MarkerSizing.glsl.js";import"../core/shaderLibrary/shading/PiUtils.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/shading/TerrainDepthTest.glsl.js";import"../core/shaderLibrary/util/ColorConversion.glsl.js";import"../core/shaderLibrary/util/NoPerspective.glsl.js";import"../core/shaderLibrary/util/View.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float4BindUniform.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatBindUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"./AnimatedLine.glsl.js";import"./OutputColorHighlightOLID.glsl.js";import"../../../webgl/ShaderBuilder.js";import"../../../../webscene/support/AlphaCutoff.js";export{b as build,r as ribbonlineNumRoundJoinSubdivisions}from"../../../../chunks/RibbonLine.glsl.js";
@@ -2,4 +2,4 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{neverReached as t}from"../../../../core/compilerUtils.js";import{subclass as i}from"../../../../core/accessorSupport/decorators.js";import{glLayout as r}from"../../support/buffer/glUtil.js";import{newLayout as l}from"../../support/buffer/InterleavedLayout.js";import{isColor as s}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShader as o}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as n,depthOnlyOutputBuffersOr as c}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as u}from"../effects/geometry/olidUtils.js";import{OITPolygonOffset as p,depthWrite as a,depthTest as f,blending as d,drawBuffers as h}from"../lib/OrderIndependentTransparency.js";import{stencilToolMaskBaseParams as m,stencilBaseAllZerosParams as b,stencilWriteMaskOn as g,stencilToolTransparentOccluderParams as P,depthCompareAlways as T,stencilToolMaskOccluderParams as j,stencilWriteMaskOff as W,depthCompareLess as y}from"../lib/StencilUtils.js";import{R as O}from"../../../../chunks/RibbonLine.glsl.js";import{PrimitiveType as S}from"../../../webgl/enums.js";import{makePipelineState as v,defaultColorWrite as _,unpremultipliedAlphaToPremultipliedAlpha as w}from"../../../webgl/renderState.js";let L=class extends n{constructor(e,t){super(e,t,r(k(t))),this.shader=new o(O,()=>import("./RibbonLine.glsl.js")),this.primitiveType=t.wireframe?S.LINES:S.TRIANGLE_STRIP}_makePipelineState(e,t){const{oitPass:i,output:r,hasEmission:l,hasOccludees:o,hasPolygonOffset:n}=e,u=0===i,P=2===i;return v({blending:s(r)?d(i):null,depthTest:f(i),depthWrite:a(e),drawBuffers:c(r,h(i,l)),colorWrite:_,stencilWrite:o?g:null,stencilTest:o?t?m:b:null,polygonOffset:u||P?n?R:null:p})}initializePipeline(e){if(e.occluder){const t=e.hasPolygonOffset?R:null,{output:i,hasOccludees:r}=e;this._occluderPipelineTransparent=v({blending:w,polygonOffset:t,depthTest:T,depthWrite:null,colorWrite:_,stencilWrite:null,stencilTest:r?P:null,drawBuffers:c(i)}),this._occluderPipelineOpaque=v({blending:w,polygonOffset:t,depthTest:r?T:y,depthWrite:null,colorWrite:_,stencilWrite:r?W:null,stencilTest:r?j:null,drawBuffers:c(i)}),this._occluderPipelineMaskWrite=v({blending:null,polygonOffset:t,depthTest:y,depthWrite:null,colorWrite:null,stencilWrite:r?g:null,stencilTest:r?m:null,drawBuffers:c(i)})}return this._occludeePipeline=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,i){if(i)return this._occludeePipeline;switch(e.occluder){case 12:return this._occluderPipelineTransparent??super.getPipeline(e);case 11:return this._occluderPipelineOpaque??super.getPipeline(e);default:t(e.occluder);case void 0:case null:return this._occluderPipelineMaskWrite??super.getPipeline(e)}}};L=e([i("esri.views.3d.webgl-engine.shaders.RibbonLineTechnique")],L);const R={factor:0,units:-4};function k(e){const t=l().vec3f("position").vec4f16("previousDelta").vec4f16("nextDelta").f32("u0").vec2f16("lineParameters");return e.hasVVColor?t.f32("colorFeatureAttribute"):t.vec4u8("color",{glNormalized:!0}),e.hasVVSize?t.f32("sizeFeatureAttribute"):t.f32("size"),e.hasVVOpacity&&t.f32("opacityFeatureAttribute"),u()&&t.vec4u8("olidColor"),e.hasAnimation&&t.vec4f16("timeStamps"),t}export{L as RibbonLineTechnique,k as getLayout};
5
+ import{__decorate as e}from"tslib";import{subclass as t}from"../../../../core/accessorSupport/decorators.js";import{glLayout as i}from"../../support/buffer/glUtil.js";import{newLayout as r}from"../../support/buffer/InterleavedLayout.js";import{isColor as l}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as n,depthOnlyOutputBuffersOr as o}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as u}from"../effects/geometry/olidUtils.js";import{OITPolygonOffset as c,depthWrite as p,depthTest as a,blending as f,drawBuffers as d}from"../lib/OrderIndependentTransparency.js";import{stencilToolMaskBaseParams as h,stencilBaseAllZerosParams as m,stencilWriteMaskOn as b,stencilToolTransparentOccluderParams as g,depthCompareAlways as P,stencilToolMaskOccluderParams as T,stencilWriteMaskOff as W,depthCompareLess as j}from"../lib/StencilUtils.js";import{R as y}from"../../../../chunks/RibbonLine.glsl.js";import{PrimitiveType as O}from"../../../webgl/enums.js";import{makePipelineState as S,defaultColorWrite as v,unpremultipliedAlphaToPremultipliedAlpha as _}from"../../../webgl/renderState.js";let w=class extends n{constructor(e,t){super(e,t,i(R(t))),this.shader=new s(y,()=>import("./RibbonLine.glsl.js")),this.primitiveType=t.wireframe?O.LINES:O.TRIANGLE_STRIP}_makePipelineState(e,t){const{oitPass:i,output:r,hasEmission:s,hasOccludees:n,hasPolygonOffset:u}=e,g=0===i,P=2===i;return S({blending:l(r)?f(i):null,depthTest:a(i),depthWrite:p(e),drawBuffers:o(r,d(i,s)),colorWrite:v,stencilWrite:n?b:null,stencilTest:n?t?h:m:null,polygonOffset:g||P?u?L:null:c})}initializePipeline(e){if(e.occluder){const t=e.hasPolygonOffset?L:null,{output:i,hasOccludees:r}=e;this._occluderPipelineTransparent=S({blending:_,polygonOffset:t,depthTest:P,depthWrite:null,colorWrite:v,stencilWrite:null,stencilTest:r?g:null,drawBuffers:o(i)}),this._occluderPipelineOpaque=S({blending:_,polygonOffset:t,depthTest:r?P:j,depthWrite:null,colorWrite:v,stencilWrite:r?W:null,stencilTest:r?T:null,drawBuffers:o(i)}),this._occluderPipelineMaskWrite=S({blending:null,polygonOffset:t,depthTest:j,depthWrite:null,colorWrite:null,stencilWrite:r?b:null,stencilTest:r?h:null,drawBuffers:o(i)})}return this._occludeePipeline=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,t){if(t)return this._occludeePipeline;switch(e.occluder){case 12:return this._occluderPipelineTransparent??super.getPipeline(e);case 11:return this._occluderPipelineOpaque??super.getPipeline(e);default:e.occluder;case void 0:case null:return this._occluderPipelineMaskWrite??super.getPipeline(e)}}};w=e([t("esri.views.3d.webgl-engine.shaders.RibbonLineTechnique")],w);const L={factor:0,units:-4};function R(e){const t=r().vec3f("position").vec4f16("previousDelta").vec4f16("nextDelta").f32("u0").vec2f16("lineParameters");return e.hasVVColor?t.f32("colorFeatureAttribute"):t.vec4u8("color",{glNormalized:!0}),e.hasVVSize?t.f32("sizeFeatureAttribute"):t.f32("size"),e.hasVVOpacity&&t.f32("opacityFeatureAttribute"),u()&&t.vec4u8("olidColor"),e.hasAnimation&&t.vec4f16("timeStamps"),t}export{w as RibbonLineTechnique,R as getLayout};
@@ -2,14 +2,14 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{neverReached as e}from"../../../../../../core/compilerUtils.js";import{FloatDrawUniform as t}from"../../../core/shaderModules/FloatDrawUniform.js";import{glsl as r}from"../../../core/shaderModules/glsl.js";import{UnpackAttributes as s}from"./UnpackAttributes.glsl.js";function a(a,u){const d=a.vertex;switch(a.include(s,u),u.type){case 0:d.code.add(r`float calculateLineAmplitude(UnpackedAttributes unpackedAttributes) {
5
+ import{FloatDrawUniform as e}from"../../../core/shaderModules/FloatDrawUniform.js";import{glsl as t}from"../../../core/shaderModules/glsl.js";import{UnpackAttributes as r}from"./UnpackAttributes.glsl.js";function a(a,s){const u=a.vertex;switch(a.include(r,s),s.type){case 0:u.code.add(t`float calculateLineAmplitude(UnpackedAttributes unpackedAttributes) {
6
6
  return 0.0;
7
- }`);break;case 1:d.uniforms.add(new t("strokesAmplitude",e=>e.strokesTexture.amplitude)).code.add(r`float calculateLineAmplitude(UnpackedAttributes unpackedAttributes) {
7
+ }`);break;case 1:u.uniforms.add(new e("strokesAmplitude",e=>e.strokesTexture.amplitude)).code.add(t`float calculateLineAmplitude(UnpackedAttributes unpackedAttributes) {
8
8
  return strokesAmplitude;
9
- }`);break;case 2:d.uniforms.add(new t("strokesAmplitude",e=>e.strokesTexture.amplitude)).code.add(r`float calculateLineAmplitude(UnpackedAttributes unpackedAttributes) {
9
+ }`);break;case 2:u.uniforms.add(new e("strokesAmplitude",e=>e.strokesTexture.amplitude)).code.add(t`float calculateLineAmplitude(UnpackedAttributes unpackedAttributes) {
10
10
  float type = unpackedAttributes.type;
11
11
  if (type <= 0.0) {
12
12
  return strokesAmplitude;
13
13
  }
14
14
  return 0.0;
15
- }`);break;case 3:break;default:e(u.type)}}export{a as LineAmplitude};
15
+ }`);break;case 3:break;default:s.type}}export{a as LineAmplitude};
@@ -2,36 +2,36 @@
2
2
  All material copyright Esri, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/5.0/esri/copyright.txt for details.
4
4
  */
5
- import{neverReached as e}from"../../../../../../core/compilerUtils.js";import{FloatDrawUniform as t}from"../../../core/shaderModules/FloatDrawUniform.js";import{glsl as r}from"../../../core/shaderModules/glsl.js";import{Texture2DDrawUniform as s}from"../../../core/shaderModules/Texture2DDrawUniform.js";import{usesSketchLogic as a}from"./EdgeUtil.glsl.js";import{UnpackAttributes as u}from"./UnpackAttributes.glsl.js";import{NoParameters as c}from"../../../../../webgl/NoParameters.js";class l extends c{}function o(c,l){c.include(u,l);const{vertex:o,fragment:n}=c;switch(a(l.type)&&(c.varyings.add("vStrokeUV","vec2"),o.uniforms.add(new s("strokesTexture",e=>e.strokesTexture.texture),new t("strokesLog2Resolution",e=>Math.log2(e.strokesTexture.resolution)),new t("strokeVariants",e=>e.strokesTexture.variants)).code.add(r`void calculateStyleOutputsSketch(float lineLength, UnpackedAttributes unpackedAttributes) {
5
+ import{FloatDrawUniform as e}from"../../../core/shaderModules/FloatDrawUniform.js";import{glsl as t}from"../../../core/shaderModules/glsl.js";import{Texture2DDrawUniform as r}from"../../../core/shaderModules/Texture2DDrawUniform.js";import{usesSketchLogic as s}from"./EdgeUtil.glsl.js";import{UnpackAttributes as a}from"./UnpackAttributes.glsl.js";import{NoParameters as u}from"../../../../../webgl/NoParameters.js";class c extends u{}function l(u,c){u.include(a,c);const{vertex:l,fragment:o}=u;switch(s(c.type)&&(u.varyings.add("vStrokeUV","vec2"),l.uniforms.add(new r("strokesTexture",e=>e.strokesTexture.texture),new e("strokesLog2Resolution",e=>Math.log2(e.strokesTexture.resolution)),new e("strokeVariants",e=>e.strokesTexture.variants)).code.add(t`void calculateStyleOutputsSketch(float lineLength, UnpackedAttributes unpackedAttributes) {
6
6
  vec2 sidenessNorm = unpackedAttributes.sidenessNorm;
7
7
  float lineIndex = clamp(ceil(log2(lineLength)), 0.0, strokesLog2Resolution);
8
8
  vStrokeUV = vec2(exp2(lineIndex) * sidenessNorm.y, lineIndex * strokeVariants + variantStroke + 0.5) / vec2(textureSize(strokesTexture, 0));
9
9
  vStrokeUV.x += variantOffset;
10
- }`),n.uniforms.add(new s("strokesTexture",e=>e.strokesTexture.texture)).code.add(r`float calculateLineOffsetSketch() {
10
+ }`),o.uniforms.add(new r("strokesTexture",e=>e.strokesTexture.texture)).code.add(t`float calculateLineOffsetSketch() {
11
11
  return texture(strokesTexture, vStrokeUV).r;
12
12
  }
13
13
  float calculateLinePressureSketch() {
14
14
  return texture(strokesTexture, vStrokeUV + vec2(0.0, 0.5)).r;
15
- }`)),l.type){case 0:o.code.add(r`void calculateStyleOutputs(UnpackedAttributes unpackedAttributes) {}`),n.code.add(r`float calculateLineOffset() {
15
+ }`)),c.type){case 0:l.code.add(t`void calculateStyleOutputs(UnpackedAttributes unpackedAttributes) {}`),o.code.add(t`float calculateLineOffset() {
16
16
  return 0.0;
17
17
  }
18
18
  float calculateLinePressure() {
19
19
  return 1.0;
20
- }`);break;case 1:o.code.add(r`void calculateStyleOutputs(UnpackedAttributes unpackedAttributes)
20
+ }`);break;case 1:l.code.add(t`void calculateStyleOutputs(UnpackedAttributes unpackedAttributes)
21
21
  {
22
22
  calculateStyleOutputsSketch(vLineLengthPixels, unpackedAttributes);
23
- }`),n.code.add(r`float calculateLineOffset() {
23
+ }`),o.code.add(t`float calculateLineOffset() {
24
24
  return calculateLineOffsetSketch();
25
25
  }
26
26
  float calculateLinePressure() {
27
27
  return calculateLinePressureSketch();
28
- }`);break;case 2:c.varyings.add("vType","float"),o.code.add(r`void calculateStyleOutputs(UnpackedAttributes unpackedAttributes)
28
+ }`);break;case 2:u.varyings.add("vType","float"),l.code.add(t`void calculateStyleOutputs(UnpackedAttributes unpackedAttributes)
29
29
  {
30
30
  vType = unpackedAttributes.type;
31
31
  if (unpackedAttributes.type <= 0.0) {
32
32
  calculateStyleOutputsSketch(vLineLengthPixels, unpackedAttributes);
33
33
  }
34
- }`),n.code.add(r`float calculateLineOffset() {
34
+ }`),o.code.add(t`float calculateLineOffset() {
35
35
  if (vType <= 0.0) {
36
36
  return calculateLineOffsetSketch();
37
37
  }
@@ -46,4 +46,4 @@ return calculateLinePressureSketch();
46
46
  else {
47
47
  return 1.0;
48
48
  }
49
- }`);break;case 3:break;default:e(l.type)}}export{o as LineOffset,l as LineOffsetDrawParameters};
49
+ }`);break;case 3:break;default:c.type}}export{l as LineOffset,c as LineOffsetDrawParameters};