@arcgis/core 5.0.0-next.70 → 5.0.0-next.72

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 (636) hide show
  1. package/Ground.js +1 -1
  2. package/analysis/Dimension/types.d.ts +5 -1
  3. package/analysis/DistanceMeasurementAnalysis.d.ts +22 -3
  4. package/analysis/ElevationProfile/types.d.ts +10 -2
  5. package/analysis/ShadowCast/DiscreteOptions.d.ts +4 -0
  6. package/analysis/ShadowCast/MinDurationOptions.d.ts +7 -0
  7. package/analysis/ShadowCast/TotalDurationOptions.d.ts +4 -0
  8. package/analysis/ShadowCastAnalysis.d.ts +51 -8
  9. package/analysis/Slice/types.d.ts +5 -1
  10. package/analysis/VolumeMeasurement/types.d.ts +5 -1
  11. package/analysis/VolumeMeasurement/volumeMeasurementConfiguration.js +1 -1
  12. package/analysis/types.d.ts +39 -7
  13. package/applications/Components/QuantityFormatter.js +1 -1
  14. package/applications/Components/analysisUtils.d.ts +1 -2
  15. package/applications/Components/analysisUtils.js +1 -1
  16. package/applications/Components/imageryUtils.d.ts +2 -2
  17. package/applications/Components/testUtils.d.ts +2 -0
  18. package/applications/KnowledgeStudio/dataModelVisualization.d.ts +1 -0
  19. package/applications/KnowledgeStudio/generalSdkInternalAccess.d.ts +59 -13
  20. package/applications/KnowledgeStudio/generalSharedKgUtils.d.ts +1 -1
  21. package/applications/PortalApp/layerUtils.d.ts +1 -0
  22. package/applications/Urban/LineImagePattern3D.d.ts +2 -0
  23. package/applications/Urban/imagePatternUtils.d.ts +4 -0
  24. package/arcade.d.ts +20 -11
  25. package/assets/esri/core/workers/RemoteClient.js +1 -1
  26. package/assets/esri/core/workers/chunks/00631252e8bd4a456253.js +1 -0
  27. package/assets/esri/core/workers/chunks/{322085d63719da6e443c.js → 0c02b084ae30ba138c5d.js} +1 -1
  28. package/assets/esri/core/workers/chunks/0f2f1731543ed21db0a8.js +1 -0
  29. package/assets/esri/core/workers/chunks/1b201d83e9ba7d8615c0.js +1 -0
  30. package/assets/esri/core/workers/chunks/1b284a6f32effe28aafc.js +1 -0
  31. package/assets/esri/core/workers/chunks/1bd5b421152fb0f46aa5.js +37 -0
  32. package/assets/esri/core/workers/chunks/{2e2c47f8a80ee9234350.js → 1d8fc0239c907ff5d1e8.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{b4f944ef6c174b20b619.js → 23545a9adc75564ecf6e.js} +1 -1
  34. package/assets/esri/core/workers/chunks/261b5a5db022ef580a1b.js +1 -0
  35. package/assets/esri/core/workers/chunks/2bd59ece927b5c1c9f80.js +1 -0
  36. package/assets/esri/core/workers/chunks/{37e46461da3000949a26.js → 2d8b8880e6bff4414e95.js} +1 -1
  37. package/assets/esri/core/workers/chunks/2fba74bae99ece15706c.js +1 -0
  38. package/assets/esri/core/workers/chunks/2fc64404bc42b7250086.js +1 -0
  39. package/assets/esri/core/workers/chunks/33cbfc34d5e2fc1a1a4f.js +1 -0
  40. package/assets/esri/core/workers/chunks/35887be3e4a218268d99.js +1 -0
  41. package/assets/esri/core/workers/chunks/3596ae4cb2bd2f3f35d9.js +1 -0
  42. package/assets/esri/core/workers/chunks/37814bf052ab59a5fb9e.js +1 -0
  43. package/assets/esri/core/workers/chunks/4e0d299054da075e5103.js +1 -0
  44. package/assets/esri/core/workers/chunks/50186162cd6d7c2ef0f9.js +1 -0
  45. package/assets/esri/core/workers/chunks/543ea1a0e7a6f1d267d1.js +1 -0
  46. package/assets/esri/core/workers/chunks/{dbfb00fb28b8b9f687a1.js → 5bbf20135c87a1cc8a18.js} +1 -1
  47. package/assets/esri/core/workers/chunks/5ed31ec0f53c1d55c4ea.js +1 -0
  48. package/assets/esri/core/workers/chunks/{c448540065690cac0744.js → 6087d5dc40bb62ec48c8.js} +1 -1
  49. package/assets/esri/core/workers/chunks/6309e8beedf5e7f2a50f.js +1 -0
  50. package/assets/esri/core/workers/chunks/{1a45b4b4803337f4b99f.js → 64985e9b6e2edb3ceb37.js} +38 -38
  51. package/assets/esri/core/workers/chunks/65475370cc4ebe2aa657.js +1 -0
  52. package/assets/esri/core/workers/chunks/65d9f3bc88472008443a.js +1 -0
  53. package/assets/esri/core/workers/chunks/6ab0f16f5c8806855c47.js +1 -0
  54. package/assets/esri/core/workers/chunks/7e37a3005f2ad2c0a918.js +1 -0
  55. package/assets/esri/core/workers/chunks/7f2496a59379e1a61ee5.js +1 -0
  56. package/assets/esri/core/workers/chunks/88379cd8e8e1c7ae3c7c.js +1 -0
  57. package/assets/esri/core/workers/chunks/{244006d4b0547d574401.js → 935a6dccb88557f98189.js} +143 -140
  58. package/assets/esri/core/workers/chunks/{a808be466812db51813d.js → 9382af94bf6bf1b09c8c.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{8e83c133b201b9b61e70.js → 979bc762ccc0d3fc2467.js} +1 -1
  60. package/assets/esri/core/workers/chunks/9c417f4dfb19e4c4bd71.js +1 -0
  61. package/assets/esri/core/workers/chunks/a554ad74be03b1ed1a72.js +1 -0
  62. package/assets/esri/core/workers/chunks/{e6e837e43b9348050832.js → a67c86f4254807eb6a05.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{1ec1a1997b5577619040.js → b211b53aa7616a093b90.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{866477acdf03b8a40bc9.js → bd1d159dce4094694c93.js} +1 -1
  65. package/assets/esri/core/workers/chunks/c31babdb59382b6bc007.js +1 -0
  66. package/assets/esri/core/workers/chunks/c8182c2cbb0ead202af6.js +1 -0
  67. package/assets/esri/core/workers/chunks/ce218c10b209b58e04fd.js +1 -0
  68. package/assets/esri/core/workers/chunks/ceef586d8cc8adc4d249.js +1 -0
  69. package/assets/esri/core/workers/chunks/d13e8ce9270dc0662b87.js +1 -0
  70. package/assets/esri/core/workers/chunks/db28d00171240b4fffac.js +1 -0
  71. package/assets/esri/core/workers/chunks/{8d6641d0f7c93f83c414.js → db9c7182847e8f96ffe3.js} +1 -1
  72. package/assets/esri/core/workers/chunks/dbd382546837aa7709e2.js +1 -0
  73. package/assets/esri/core/workers/chunks/{6c9dac4a869742cc2718.js → e246b256347a281c13fd.js} +1 -1
  74. package/assets/esri/core/workers/chunks/ea6f897f21b4f30e8e99.js +1 -0
  75. package/assets/esri/core/workers/chunks/{a10c6dd3bb8b3602de68.js → ee175fd4ec706f7878c0.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{e8a3ad00936f2ccaf362.js → f0a667d8d33bc51c795d.js} +1 -1
  77. package/assets/esri/core/workers/chunks/f65b27fc0bc2f242aac7.js +1 -0
  78. package/assets/esri/core/workers/chunks/{29b09db309ff75fb3e97.js → f65d26588d2d80680a26.js} +1 -1
  79. package/assets/esri/core/workers/chunks/f72e6c903f55ce95a6c5.js +1 -0
  80. package/assets/esri/core/workers/chunks/{5dd5be91038df8902dc4.js → f7dfbf24859f4ac2421b.js} +1 -1
  81. package/assets/esri/core/workers/chunks/f893e10d660e819cca45.js +1 -0
  82. package/assets/esri/core/workers/chunks/{878010ca23da0bca9405.js → fb1ed5ef2f95ab093346.js} +1 -1
  83. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  84. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  85. package/chunks/lyr3DMain.js +1 -1
  86. package/config.js +1 -1
  87. package/core/Version.d.ts +11 -2
  88. package/core/accessorSupport/types.d.ts +35 -5
  89. package/core/quantityFormatUtils.js +1 -1
  90. package/core/sql/types.d.ts +226 -31
  91. package/core/types.d.ts +24 -4
  92. package/core/workers/registry.js +1 -1
  93. package/editing/sharedTemplates/types.d.ts +1 -0
  94. package/editing/types.d.ts +2 -0
  95. package/effects/types.d.ts +1 -0
  96. package/form/ExpressionInfo.d.ts +1 -1
  97. package/form/FormTemplate.d.ts +4 -4
  98. package/form/elements/GroupElement.d.ts +1 -1
  99. package/form/elements/RelationshipElement.d.ts +3 -3
  100. package/form/elements/inputs/attachments/AttachmentInput.d.ts +2 -1
  101. package/form/elements/inputs/attachments/AudioInput.d.ts +1 -0
  102. package/form/elements/inputs/attachments/DocumentInput.d.ts +1 -0
  103. package/form/elements/inputs/attachments/ImageInput.d.ts +1 -0
  104. package/form/elements/inputs/attachments/Input.d.ts +5 -1
  105. package/form/elements/inputs/attachments/SignatureInput.d.ts +1 -0
  106. package/form/elements/inputs/attachments/VideoInput.d.ts +1 -0
  107. package/form/elements/inputs/attachments/types.d.ts +12 -3
  108. package/form/elements/inputs.d.ts +2 -2
  109. package/form/types.d.ts +3 -0
  110. package/geometry/geometryEngineTypes.d.ts +49 -9
  111. package/geometry/operators/types.d.ts +29 -4
  112. package/geometry/spatialReferenceEllipsoidUtils.js +1 -1
  113. package/geometry/support/MeshVertexAttributes.d.ts +21 -2
  114. package/geometry/support/meshUtils/types.d.ts +126 -18
  115. package/geometry/types.d.ts +37 -6
  116. package/ground/NavigationConstraint.d.ts +3 -0
  117. package/identity/IdentityManagerBase.d.ts +153 -27
  118. package/interfaces.d.ts +27 -27
  119. package/intl/date.d.ts +5 -0
  120. package/intl/locale.d.ts +1 -0
  121. package/intl/messages.d.ts +12 -2
  122. package/intl/number.d.ts +5 -0
  123. package/intl/substitute.d.ts +28 -5
  124. package/intl/t9n.d.ts +13 -2
  125. package/kernel.js +1 -1
  126. package/layers/GaussianSplatLayer.d.ts +87 -6
  127. package/layers/ImageryTileLayer.d.ts +8 -8
  128. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  129. package/layers/LinkChartLayer.d.ts +1 -1
  130. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  131. package/layers/RouteLayer.d.ts +3 -3
  132. package/layers/buildingSublayers/utils.d.ts +1 -0
  133. package/layers/effects/types.d.ts +12 -2
  134. package/layers/graphics/editingSupport.d.ts +202 -38
  135. package/layers/graphics/sources/ParquetSource.d.ts +23 -4
  136. package/layers/knowledgeGraph/IdTypePair.d.ts +15 -3
  137. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.d.ts +61 -9
  138. package/layers/knowledgeGraph/LayoutMode.d.ts +1 -0
  139. package/layers/knowledgeGraph/dataModelVisualizationUtils.d.ts +6 -0
  140. package/layers/media/types.d.ts +25 -4
  141. package/layers/mixins/ArcGISImageService.d.ts +8 -9
  142. package/layers/mixins/ArcGISMapService.d.ts +5 -1
  143. package/layers/mixins/EditBusLayer.d.ts +3 -5
  144. package/layers/mixins/ImageryTileMixin.d.ts +2 -4
  145. package/layers/mixins/RasterJobHandlerMixin.js +1 -1
  146. package/layers/mixins/ScaleRange.d.ts +11 -2
  147. package/layers/mixins/properties/ILayerWithGetFeatureTitle.d.ts +11 -2
  148. package/layers/mixins/properties/ILayerWithGetField.d.ts +6 -1
  149. package/layers/ogc/ogcFeatureUtils.d.ts +2 -0
  150. package/layers/ogc/types.d.ts +55 -10
  151. package/layers/ogc/wcsUtils.d.ts +1 -0
  152. package/layers/ogc/wfsUtils.d.ts +8 -17
  153. package/layers/orientedImagery/core/ElevationSourceDefinitions.d.ts +6 -1
  154. package/layers/orientedImagery/transformations/types.d.ts +117 -21
  155. package/layers/orientedImagery/types.d.ts +37 -6
  156. package/layers/pointCloudFilters/typeUtils.d.ts +1 -0
  157. package/layers/raster/datasets/TIFFRaster.js +1 -1
  158. package/layers/raster/datasets/pixelReader.d.ts +2 -0
  159. package/layers/raster/datasets/types.d.ts +1 -0
  160. package/layers/raster/datasets/wcsCapabilitiesParser.d.ts +86 -17
  161. package/layers/raster/datasets/wcsCoverageParser.d.ts +601 -115
  162. package/layers/raster/formats/ImageCanvasDecoder.js +1 -1
  163. package/layers/raster/formats/JpgPlus.js +1 -1
  164. package/layers/raster/formats/RasterCodec.js +1 -1
  165. package/layers/raster/formats/Raw.js +1 -1
  166. package/layers/raster/formats/TiffDecoder.js +1 -1
  167. package/layers/raster/functions/changeDetectionUtils.d.ts +1 -0
  168. package/layers/raster/functions/creators/createAppearenceFunctions.d.ts +82 -15
  169. package/layers/raster/functions/creators/createBandIndexFunctions.d.ts +380 -70
  170. package/layers/raster/functions/creators/createChangeFunctions.d.ts +11 -2
  171. package/layers/raster/functions/creators/createConversionFunctions.d.ts +18 -3
  172. package/layers/raster/functions/creators/createDataManagementFunctions.d.ts +179 -35
  173. package/layers/raster/functions/creators/createLocalFunctions.d.ts +47 -9
  174. package/layers/raster/functions/creators/createMultiRasterAnalysisFunctions.d.ts +47 -9
  175. package/layers/raster/functions/creators/createStatisticsFunctions.d.ts +42 -8
  176. package/layers/raster/functions/creators/createSurfaceFunctions.d.ts +72 -11
  177. package/layers/raster/functions/focalStatUtils.d.ts +1 -0
  178. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  179. package/layers/raster/functions/types.d.ts +29 -5
  180. package/layers/raster/types.d.ts +498 -6
  181. package/layers/support/BuildingFilterBlock.d.ts +19 -3
  182. package/layers/support/BuildingFilterMode.d.ts +1 -0
  183. package/layers/support/BuildingFilterModeSolid.d.ts +7 -1
  184. package/layers/support/BuildingFilterModeWireFrame.d.ts +17 -3
  185. package/layers/support/BuildingFilterModeXRay.d.ts +7 -1
  186. package/layers/support/CodedValue.d.ts +16 -3
  187. package/layers/support/ControlPoint.d.ts +17 -3
  188. package/layers/support/EditFieldsInfo.d.ts +21 -4
  189. package/layers/support/EditingCapabilities.d.ts +36 -7
  190. package/layers/support/ElevationQuery.js +1 -1
  191. package/layers/support/ElevationTileData.d.ts +25 -5
  192. package/layers/support/FieldFormat.d.ts +1 -0
  193. package/layers/support/GeometryDescriptor.js +1 -1
  194. package/layers/support/GeoreferenceBase.d.ts +1 -0
  195. package/layers/support/KMLMapImage.d.ts +13 -2
  196. package/layers/support/LabelExpressionInfo.d.ts +9 -1
  197. package/layers/support/MosaicRule.d.ts +41 -1
  198. package/layers/support/ParquetGeometryEncodingLocation.d.ts +13 -2
  199. package/layers/support/ParquetGeometryEncodingWkb.d.ts +7 -0
  200. package/layers/support/PixelBlock.d.ts +9 -4
  201. package/layers/support/PurgeOptions.d.ts +15 -2
  202. package/layers/support/RasterInfo.d.ts +1 -2
  203. package/layers/support/RasterJobHandler.js +1 -1
  204. package/layers/support/RasterWorker.js +1 -1
  205. package/layers/support/SpriteSource.d.ts +28 -6
  206. package/layers/support/layerUtils.d.ts +4 -0
  207. package/layers/support/rasterFunctionConstants.d.ts +39 -0
  208. package/layers/support/types.d.ts +423 -227
  209. package/layers/types.d.ts +771 -196
  210. package/layers/video/types.d.ts +72 -14
  211. package/layers/voxel/VoxelColorStop.d.ts +17 -3
  212. package/layers/voxel/VoxelFormat.d.ts +15 -2
  213. package/layers/voxel/VoxelIsosurface.d.ts +17 -2
  214. package/layers/voxel/VoxelOpacityStop.d.ts +8 -1
  215. package/layers/voxel/VoxelRangeFilter.d.ts +12 -2
  216. package/layers/voxel/VoxelUniqueValue.d.ts +19 -3
  217. package/layers/wms/types.d.ts +104 -19
  218. package/layers/wmts/types.d.ts +1 -0
  219. package/linkChart/ChronologicalLayoutSettings.d.ts +1 -1
  220. package/linkChart/OrganicLayoutSettings.d.ts +1 -1
  221. package/linkChart/types.d.ts +2 -0
  222. package/networks/UtilityNetworkTraceAnalysis.d.ts +61 -10
  223. package/networks/support/jsonTypes.d.ts +373 -71
  224. package/networks/support/typeUtils.d.ts +10 -0
  225. package/networks/support/utils.d.ts +30 -6
  226. package/package.json +1 -1
  227. package/popup/content/types.d.ts +1 -0
  228. package/popup/types.d.ts +33 -5
  229. package/portal/jsonTypes.d.ts +231 -39
  230. package/portal/support/resourceUtils.d.ts +49 -9
  231. package/portal/types.d.ts +98 -14
  232. package/renderers/FlowRenderer.js +1 -1
  233. package/renderers/RasterStretchRenderer.d.ts +1 -1
  234. package/renderers/support/AuthoringInfoClassBreakInfo.d.ts +4 -0
  235. package/renderers/support/AuthoringInfoFieldInfo.d.ts +15 -2
  236. package/renderers/support/DotDensityLegendOptions.d.ts +4 -0
  237. package/renderers/support/HeatmapLegendOptions.d.ts +8 -0
  238. package/renderers/support/OthersCategory.d.ts +6 -0
  239. package/renderers/support/RendererLegendOptions.d.ts +14 -2
  240. package/renderers/support/pointCloud/ColorClassBreakInfo.d.ts +13 -1
  241. package/renderers/support/pointCloud/ColorModulation.d.ts +6 -0
  242. package/renderers/support/pointCloud/ColorUniqueValueInfo.d.ts +19 -3
  243. package/renderers/support/pointCloud/PointSizeAlgorithm.d.ts +1 -0
  244. package/renderers/support/pointCloud/PointSizeFixedSizeAlgorithm.d.ts +14 -2
  245. package/renderers/support/pointCloud/PointSizeSplatAlgorithm.d.ts +9 -1
  246. package/renderers/support/pointCloud/types.d.ts +7 -1
  247. package/renderers/support/raster/types.d.ts +22 -2
  248. package/renderers/support/types.d.ts +29 -2
  249. package/renderers/types.d.ts +47 -4
  250. package/renderers/visualVariables/support/SizeVariableLegendOptions.d.ts +4 -0
  251. package/renderers/visualVariables/support/VisualVariableLegendOptions.d.ts +9 -1
  252. package/request/types.d.ts +152 -24
  253. package/rest/featureService/FeatureService.d.ts +1 -1
  254. package/rest/featureService/types.d.ts +426 -80
  255. package/rest/geometryService/types.d.ts +23 -1
  256. package/rest/geoprocessor/GPOptions.d.ts +5 -5
  257. package/rest/geoprocessor/execute.d.ts +6 -0
  258. package/rest/imageService.d.ts +5 -5
  259. package/rest/knowledgeGraph/DataModel.d.ts +2 -2
  260. package/rest/knowledgeGraph/GraphAnyValue.d.ts +1 -0
  261. package/rest/knowledgeGraph/GraphDataModelSingletonOperationResult.d.ts +12 -2
  262. package/rest/knowledgeGraph/GraphDeleteNamedTypeResult.d.ts +1 -1
  263. package/rest/knowledgeGraph/GraphDeletePropertyResult.d.ts +1 -1
  264. package/rest/knowledgeGraph/GraphQuery.d.ts +1 -1
  265. package/rest/knowledgeGraph/GraphSearch.d.ts +3 -3
  266. package/rest/knowledgeGraph/GraphSearchStreaming.d.ts +3 -3
  267. package/rest/knowledgeGraph/SearchIndex.d.ts +1 -1
  268. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.d.ts +3 -3
  269. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsResultJSON.d.ts +151 -29
  270. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.d.ts +1 -1
  271. package/rest/knowledgeGraph/wasmInterface/KnowledgeWasmInterface.d.ts +1 -0
  272. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.d.ts +9 -0
  273. package/rest/knowledgeGraphService.d.ts +4 -4
  274. package/rest/lastMileDelivery/types.d.ts +5 -0
  275. package/rest/layerSources/DynamicDataLayer.d.ts +14 -2
  276. package/rest/layerSources/DynamicMapLayer.d.ts +14 -2
  277. package/rest/layerSources/JoinTableDataSource.d.ts +21 -2
  278. package/rest/layerSources/QueryTableDataSource.d.ts +33 -6
  279. package/rest/layerSources/RasterDataSource.d.ts +17 -3
  280. package/rest/layerSources/TableDataSource.d.ts +22 -4
  281. package/rest/networks/circuits/support/ExportCircuitsParameters.d.ts +8 -1
  282. package/rest/networks/circuits/support/QueryCircuitsParameters.d.ts +18 -3
  283. package/rest/networks/support/QueryNamedTraceConfigurationsParameters.d.ts +22 -4
  284. package/rest/print.d.ts +1 -1
  285. package/rest/query/support/AttachmentInfo.d.ts +1 -1
  286. package/rest/support/AddressToLocationsParameters.d.ts +39 -3
  287. package/rest/support/AddressesToLocationsParameters.d.ts +14 -0
  288. package/rest/support/BaseImageMeasureResultValue.d.ts +21 -4
  289. package/rest/support/ClosestFacilityParameters.d.ts +3 -3
  290. package/rest/support/ClosestFacilitySolveResult.d.ts +2 -2
  291. package/rest/support/DirectionsString.d.ts +16 -3
  292. package/rest/support/ImageMeasureResultAngleValue.d.ts +12 -2
  293. package/rest/support/ImageMeasureResultAreaValue.d.ts +12 -2
  294. package/rest/support/ImageMeasureResultLengthValue.d.ts +12 -2
  295. package/rest/support/LocateSetting.d.ts +12 -2
  296. package/rest/support/LocateSettingBase.d.ts +14 -2
  297. package/rest/support/LocateSettingSource.d.ts +12 -2
  298. package/rest/support/LocateSettings.d.ts +22 -4
  299. package/rest/support/LocateSettingsOverrides.d.ts +42 -8
  300. package/rest/support/LocationToAddressParameters.d.ts +7 -0
  301. package/rest/support/NetworkAttribute.d.ts +11 -2
  302. package/rest/support/NetworkServiceDescription.d.ts +20 -4
  303. package/rest/support/QuantizationParameters.d.ts +9 -0
  304. package/rest/support/Query.d.ts +2 -2
  305. package/rest/support/RouteParameters.d.ts +2 -5
  306. package/rest/support/RouteResult.d.ts +1 -1
  307. package/rest/support/ServiceAreaParameters.d.ts +1 -1
  308. package/rest/support/ServiceAreaSolveResult.d.ts +2 -2
  309. package/rest/support/SuggestLocationsParameters.d.ts +10 -0
  310. package/rest/support/SuggestionCandidate.d.ts +14 -2
  311. package/rest/support/types.d.ts +54 -4
  312. package/rest/symbolService.d.ts +2 -2
  313. package/rest/types.d.ts +50 -5
  314. package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.d.ts +22 -4
  315. package/rest/versionManagement/gdbVersion/support/PostResult.d.ts +6 -1
  316. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.d.ts +10 -1
  317. package/rest/versionManagement/gdbVersion/support/ReconcileResult.d.ts +8 -1
  318. package/rest/versionManagement/support/CreateVersionParameters.d.ts +13 -2
  319. package/rest/versionManagement/support/GetVersionInfosParameters.d.ts +8 -1
  320. package/smartMapping/heuristics/types.d.ts +50 -6
  321. package/smartMapping/popup/types.d.ts +29 -5
  322. package/smartMapping/raster/renderers/types.d.ts +12 -1
  323. package/smartMapping/raster/support/adapters/types.d.ts +1 -0
  324. package/smartMapping/renderers/color.d.ts +9 -3
  325. package/smartMapping/renderers/dotDensity.d.ts +3 -1
  326. package/smartMapping/renderers/heatmap.d.ts +3 -1
  327. package/smartMapping/renderers/location.d.ts +3 -1
  328. package/smartMapping/renderers/opacity.d.ts +3 -1
  329. package/smartMapping/renderers/pieChart.d.ts +3 -1
  330. package/smartMapping/renderers/predominance.d.ts +3 -1
  331. package/smartMapping/renderers/relationship.d.ts +3 -1
  332. package/smartMapping/renderers/size.d.ts +23 -7
  333. package/smartMapping/renderers/support/rendererUtils.d.ts +3 -1
  334. package/smartMapping/renderers/type.d.ts +3 -1
  335. package/smartMapping/renderers/univariateColorSize.d.ts +3 -1
  336. package/smartMapping/statistics/types.d.ts +16 -4
  337. package/smartMapping/symbology/type.d.ts +5 -1
  338. package/smartMapping/symbology/types.d.ts +1303 -241
  339. package/smartMapping/types.d.ts +5 -0
  340. package/statistics/types.d.ts +13 -2
  341. package/support/revision.js +1 -1
  342. package/symbols/callouts/LineCallout3DBorder.d.ts +4 -0
  343. package/symbols/cim/types.d.ts +764 -111
  344. package/symbols/patterns/LinePattern3D.d.ts +1 -0
  345. package/symbols/patterns/Pattern3D.d.ts +1 -0
  346. package/symbols/support/IconSymbol3DLayerResource.d.ts +7 -0
  347. package/symbols/support/ObjectSymbol3DLayerResource.d.ts +7 -0
  348. package/symbols/support/OccludedVisibility.d.ts +3 -0
  349. package/symbols/support/Symbol3DAnchorPosition2D.d.ts +4 -0
  350. package/symbols/support/Symbol3DAnchorPosition3D.d.ts +5 -0
  351. package/symbols/support/Symbol3DFillMaterial.d.ts +4 -0
  352. package/symbols/support/Symbol3DHalo.d.ts +10 -0
  353. package/symbols/support/Symbol3DIconOutline.d.ts +10 -0
  354. package/symbols/support/Symbol3DMaterial.d.ts +6 -0
  355. package/symbols/support/Symbol3DOutline.d.ts +21 -2
  356. package/symbols/support/Symbol3DTextBackground.d.ts +12 -2
  357. package/symbols/support/symbolUtils.d.ts +5 -1
  358. package/symbols/support/types.d.ts +4 -0
  359. package/symbols/types.d.ts +67 -7
  360. package/tables/AttributeTableTemplate.d.ts +2 -2
  361. package/tables/elements/AttributeTableAttachmentElement.d.ts +1 -1
  362. package/tables/elements/AttributeTableElement.d.ts +2 -2
  363. package/tables/elements/AttributeTableFieldElement.d.ts +1 -1
  364. package/tables/elements/AttributeTableGroupElement.d.ts +1 -1
  365. package/tables/elements/AttributeTableRelationshipElement.d.ts +1 -1
  366. package/tables/support/FieldOrder.d.ts +16 -3
  367. package/tables/support/tablesUtils.d.ts +1 -0
  368. package/time/types.d.ts +4 -0
  369. package/versionManagement/VersionManagementService.d.ts +3 -6
  370. package/versionManagement/VersionManager.d.ts +126 -23
  371. package/versionManagement/VersioningState.d.ts +1 -1
  372. package/versionManagement/support/jsonTypes.d.ts +152 -30
  373. package/versionManagement/support/type.d.ts +2 -0
  374. package/versionManagement/versionAdapters/types.d.ts +25 -5
  375. package/views/2d/MapViewConstraints.d.ts +37 -5
  376. package/views/2d/analysis/AnalysisView2D.d.ts +5 -1
  377. package/views/2d/analysis/AreaMeasurementAnalysisView2D.d.ts +28 -4
  378. package/views/2d/analysis/DistanceMeasurementAnalysisView2D.d.ts +28 -4
  379. package/views/2d/analysis/types.d.ts +5 -1
  380. package/views/2d/engine/flow/BrushFlow.js +1 -1
  381. package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
  382. package/views/2d/engine/flow/FlowStrategy.js +1 -1
  383. package/views/2d/engine/flow/FlowView2D.js +1 -1
  384. package/views/2d/engine/flow/ProcessingTimeEstimate.js +5 -0
  385. package/views/2d/engine/flow/animatedValues.js +5 -0
  386. package/views/2d/engine/flow/dataUtils.js +1 -1
  387. package/views/2d/engine/flow/flowPathsIO.js +5 -0
  388. package/views/2d/engine/flow/styles/AFlowResources.js +5 -0
  389. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  390. package/views/2d/engine/flow/styles/Particles.js +1 -1
  391. package/views/2d/engine/flow/styles/Stack.js +1 -1
  392. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  393. package/views/2d/engine/flow/utils.js +1 -1
  394. package/views/2d/engine/vectorTiles/shaders/sources/shaderRepository.js +1 -1
  395. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  396. package/views/2d/layers/support/MediaLayerInteractionOptions.d.ts +1 -0
  397. package/views/2d/layers/types.d.ts +1 -0
  398. package/views/2d/types.d.ts +93 -6
  399. package/views/3d/analysis/AnalysisView3D.d.ts +5 -1
  400. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementController.js +1 -1
  401. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  402. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  403. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  404. package/views/3d/analysis/DirectLineMeasurement/types.d.ts +24 -4
  405. package/views/3d/analysis/LineOfSight/types.d.ts +1 -0
  406. package/views/3d/analysis/ShadowCastAnalysisView3D.d.ts +19 -3
  407. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  408. package/views/3d/analysis/VolumeMeasurement/types.d.ts +5 -1
  409. package/views/3d/analysis/support/measurementUtils.js +1 -1
  410. package/views/3d/analysis/types.d.ts +25 -3
  411. package/views/3d/constraints/AltitudeConstraint.d.ts +5 -0
  412. package/views/3d/constraints/ClipDistanceConstraint.d.ts +13 -2
  413. package/views/3d/constraints/Constraints.d.ts +26 -4
  414. package/views/3d/constraints/TiltConstraint.d.ts +5 -0
  415. package/views/3d/environment/SceneViewEnvironment.d.ts +9 -0
  416. package/views/3d/environment/types.d.ts +3 -0
  417. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DView.js +1 -1
  418. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  419. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  420. package/views/3d/interactive/visualElements/support/Segment.js +1 -1
  421. package/views/3d/layers/ImageryLayerView3D.js +1 -1
  422. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  423. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  424. package/views/3d/layers/support/MediaLayerInteractionOptions.d.ts +15 -2
  425. package/views/3d/layers/support/MediaLayerInteractionReshapeOptions.d.ts +3 -0
  426. package/views/3d/types.d.ts +52 -0
  427. package/views/3d/webgl/ManagedColorAttachment.d.ts +2 -0
  428. package/views/3d/webgl/ManagedDepthAttachment.d.ts +2 -0
  429. package/views/3d/webgl/ManagedFBO.d.ts +4 -0
  430. package/views/3d/webgl/ManagedFBOAttachment.d.ts +1 -0
  431. package/views/3d/webgl/ManagedFBOResource.d.ts +5 -0
  432. package/views/3d/webgl/types.d.ts +32 -6
  433. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +20 -22
  434. package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +9 -5
  435. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +8 -6
  436. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  437. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  438. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  439. package/views/3d/webgl-engine/lib/Material.js +1 -1
  440. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  441. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  442. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  443. package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
  444. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  445. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  446. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +9 -8
  447. package/views/MapViewOrSceneView.d.ts +1 -0
  448. package/views/SceneView.d.ts +59 -0
  449. package/views/SceneView.js +1 -1
  450. package/views/View.d.ts +2 -2
  451. package/views/View2D.d.ts +37 -0
  452. package/views/View2D.js +1 -1
  453. package/views/Viewport2DMixin.d.ts +9 -6
  454. package/views/analysis/AnalysisView.d.ts +2 -0
  455. package/views/analysis/AreaMeasurement/types.d.ts +18 -3
  456. package/views/analysis/DistanceMeasurement/types.d.ts +13 -2
  457. package/views/analysis/ElevationProfile/ElevationProfileLineGroundComputation.js +1 -1
  458. package/views/analysis/ElevationProfile/elevationProfileGenerationUtils.js +1 -1
  459. package/views/analysis/types.d.ts +7 -1
  460. package/views/animation/easing.js +1 -1
  461. package/views/animation/types.d.ts +3 -4
  462. package/views/draw/CursorUpdateEvent.d.ts +24 -4
  463. package/views/draw/DrawAction.d.ts +4 -6
  464. package/views/draw/DrawCompleteEvent.d.ts +18 -3
  465. package/views/draw/VertexAddEvent.d.ts +19 -3
  466. package/views/draw/VertexRemoveEvent.d.ts +19 -3
  467. package/views/draw/types.d.ts +4 -0
  468. package/views/input/types.d.ts +371 -57
  469. package/views/interactive/sketch/SketchTooltipVisibleElements.d.ts +19 -1
  470. package/views/interactive/sketch/Units.d.ts +5 -0
  471. package/views/interactive/tooltip/types.d.ts +2 -0
  472. package/views/layers/HighlightLayerViewMixin.d.ts +59 -1
  473. package/views/layers/HighlightLayerViewMixin.js +1 -1
  474. package/views/layers/ImageryLayerViewMixin.d.ts +60 -2
  475. package/views/layers/ImageryTileLayerViewMixin.d.ts +2 -0
  476. package/views/layers/LayerView.d.ts +6 -0
  477. package/views/layers/MediaLayerViewMixin.d.ts +8 -1
  478. package/views/layers/types.d.ts +3 -0
  479. package/views/navigation/types.d.ts +6 -1
  480. package/views/support/AttributionItem.d.ts +10 -2
  481. package/views/support/MeasurementWorker.js +5 -0
  482. package/views/support/MeasurementWorkerHandle.js +5 -0
  483. package/views/support/automaticAreaMeasurementUtils.js +1 -1
  484. package/views/support/geodesicAreaMeasurementUtils.js +1 -1
  485. package/views/support/geodesicLengthMeasurementUtils.js +1 -1
  486. package/views/types.d.ts +306 -53
  487. package/views/ui/types.d.ts +42 -6
  488. package/webdoc/Widgets.d.ts +26 -5
  489. package/webdoc/geotriggersInfo/support/typeUtils.d.ts +3 -0
  490. package/webdoc/support/SlideThumbnail.d.ts +4 -0
  491. package/webdoc/support/types.d.ts +11 -2
  492. package/webdoc/support/webdocSaveUtils.d.ts +6 -0
  493. package/webdoc/widgets/FloorFilter.d.ts +25 -4
  494. package/webmap/Version.d.ts +1 -0
  495. package/webscene/Version.d.ts +1 -0
  496. package/webscene/support/Description.d.ts +3 -0
  497. package/webscene/support/SlideEnvironment.d.ts +6 -0
  498. package/webscene/support/SlideGround.d.ts +7 -1
  499. package/webscene/support/SlideVisibleLayer.d.ts +5 -0
  500. package/webscene/support/Title.d.ts +3 -0
  501. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.js +1 -1
  502. package/widgets/Attachments/types.d.ts +32 -6
  503. package/widgets/BasemapGallery/types.d.ts +3 -0
  504. package/widgets/BasemapLayerList/BasemapLayerListVisibleElements.d.ts +14 -0
  505. package/widgets/BasemapLayerList/types.d.ts +1 -0
  506. package/widgets/BatchAttributeForm/VisibleElements.d.ts +7 -1
  507. package/widgets/BatchAttributeForm/inputs/SingleFeatureInput.d.ts +2 -0
  508. package/widgets/BatchAttributeForm/inputs/TextElementInput.d.ts +14 -2
  509. package/widgets/BatchAttributeForm/inputs/types.d.ts +2 -0
  510. package/widgets/BatchAttributeForm/types.d.ts +75 -14
  511. package/widgets/BatchAttributeForm.d.ts +2 -2
  512. package/widgets/Bookmarks/BookmarksVisibleElements.d.ts +30 -9
  513. package/widgets/Bookmarks/types.d.ts +32 -10
  514. package/widgets/CatalogLayerList/CatalogLayerListVisibleElements.d.ts +11 -0
  515. package/widgets/CatalogLayerList/types.d.ts +1 -0
  516. package/widgets/Daylight/VisibleElements.d.ts +11 -1
  517. package/widgets/Daylight/types.d.ts +8 -2
  518. package/widgets/DirectionalPad/VisibleElements.d.ts +6 -0
  519. package/widgets/DirectionalPad/types.d.ts +13 -2
  520. package/widgets/Directions/DirectionsViewModel.d.ts +2 -2
  521. package/widgets/Directions/DirectionsVisibleElements.d.ts +8 -0
  522. package/widgets/Editor/CreateFeaturesWorkflowData.d.ts +3 -3
  523. package/widgets/Editor/EditorViewModel.d.ts +2 -3
  524. package/widgets/Editor/Edits.d.ts +1 -2
  525. package/widgets/Editor/SplitFeatureWorkflow.d.ts +2 -2
  526. package/widgets/Editor/VisibleElements.d.ts +46 -13
  527. package/widgets/Editor/support/EditorEditingCapabilities.d.ts +46 -9
  528. package/widgets/Editor/types.d.ts +149 -24
  529. package/widgets/ElevationProfile/ElevationProfileVisibleElements.d.ts +13 -1
  530. package/widgets/ElevationProfile/types.d.ts +87 -14
  531. package/widgets/Expand.d.ts +2 -2
  532. package/widgets/Feature/types.d.ts +105 -18
  533. package/widgets/FeatureForm/GroupInput.d.ts +1 -1
  534. package/widgets/FeatureForm/RelationshipInput.d.ts +1 -1
  535. package/widgets/FeatureForm/TextElementInput.d.ts +3 -5
  536. package/widgets/FeatureForm/UtilityNetworkAssociationInput.d.ts +1 -1
  537. package/widgets/FeatureForm/VisibleElements.d.ts +7 -1
  538. package/widgets/FeatureForm/types.d.ts +3 -0
  539. package/widgets/FeatureForm.d.ts +1 -1
  540. package/widgets/FeatureTable/ColumnMenuVisibleElements.d.ts +4 -0
  541. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +14 -4
  542. package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
  543. package/widgets/FeatureTable/Grid/GridViewModel.d.ts +2 -0
  544. package/widgets/FeatureTable/Grid/types.d.ts +137 -24
  545. package/widgets/FeatureTable/TableMenuVisibleElements.d.ts +10 -0
  546. package/widgets/FeatureTable/VisibleElements.d.ts +16 -2
  547. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
  548. package/widgets/FeatureTable/support/types.d.ts +155 -27
  549. package/widgets/FeatureTable.d.ts +3 -3
  550. package/widgets/FeatureTemplates/VisibleElements.d.ts +4 -0
  551. package/widgets/FeatureTemplates/types.d.ts +17 -2
  552. package/widgets/Features/FeaturesVisibleElements.d.ts +12 -0
  553. package/widgets/FloorFilter/FloorFilterViewModel.js +1 -1
  554. package/widgets/Histogram/types.d.ts +14 -2
  555. package/widgets/HistogramRangeSlider/types.d.ts +1 -0
  556. package/widgets/LayerList/LayerListVisibleElements.d.ts +10 -0
  557. package/widgets/LayerList/types.d.ts +8 -0
  558. package/widgets/Legend/styles/card/CardView.d.ts +13 -2
  559. package/widgets/Legend/styles/classic/ClassicView.d.ts +11 -2
  560. package/widgets/Measurement/types.d.ts +3 -0
  561. package/widgets/OrientedImageryViewer/types.d.ts +15 -3
  562. package/widgets/Popup/PopupVisibleElements.d.ts +11 -0
  563. package/widgets/Popup/types.d.ts +64 -7
  564. package/widgets/Print/FileLink.d.ts +36 -6
  565. package/widgets/Print/types.d.ts +77 -13
  566. package/widgets/ScaleRangeSlider/types.d.ts +4 -0
  567. package/widgets/ScaleRangeSlider.d.ts +5 -1
  568. package/widgets/Search/SearchResultRenderer.d.ts +0 -2
  569. package/widgets/Search/SearchSource.d.ts +2 -2
  570. package/widgets/Search/SearchViewModel.d.ts +6 -7
  571. package/widgets/Search/types.d.ts +4 -4
  572. package/widgets/ShadowCast/ShadowCastVisibleElements.d.ts +15 -1
  573. package/widgets/ShadowCast/types.d.ts +8 -2
  574. package/widgets/Sketch/CreateToolVisibilityMap.d.ts +19 -4
  575. package/widgets/Sketch/SelectionToolVisibilityMap.d.ts +4 -0
  576. package/widgets/Sketch/VisibleElements.d.ts +38 -6
  577. package/widgets/Sketch/types.d.ts +364 -60
  578. package/widgets/Slider/types.d.ts +249 -46
  579. package/widgets/Swipe/types.d.ts +6 -0
  580. package/widgets/TableList/TableListVisibleElements.d.ts +11 -0
  581. package/widgets/TableList/types.d.ts +5 -0
  582. package/widgets/TimeSlider/types.d.ts +45 -7
  583. package/widgets/Track/types.d.ts +4 -1
  584. package/widgets/UtilityNetworkAssociations/VisibleElements.d.ts +23 -4
  585. package/widgets/UtilityNetworkAssociations/VisibleElementsSettingsPane.d.ts +7 -0
  586. package/widgets/UtilityNetworkTrace/types.d.ts +26 -5
  587. package/widgets/ValuePicker/ValuePickerBaseComponent.d.ts +2 -0
  588. package/widgets/ValuePicker/ValuePickerSliderVisibleElements.d.ts +7 -1
  589. package/widgets/ValuePicker/ValuePickerVisibleElements.d.ts +9 -1
  590. package/widgets/ValuePicker/types.d.ts +8 -0
  591. package/widgets/Weather/VisibleElements.d.ts +6 -1
  592. package/widgets/Weather/types.d.ts +1 -0
  593. package/widgets/smartMapping/types.d.ts +63 -6
  594. package/widgets/support/GridControls/VisibleElements.d.ts +11 -0
  595. package/widgets/support/GridControls/types.d.ts +1 -0
  596. package/widgets/support/SnappingControls/VisibleElements.d.ts +26 -4
  597. package/widgets/support/forms/types.d.ts +2 -0
  598. package/widgets/support/types.d.ts +19 -3
  599. package/widgets/types.d.ts +549 -89
  600. package/assets/esri/core/workers/chunks/0367a8580fede8f804f9.js +0 -1
  601. package/assets/esri/core/workers/chunks/14f4f5b7549cea7b5a6a.js +0 -1
  602. package/assets/esri/core/workers/chunks/1b475593c80d7bccdda5.js +0 -1
  603. package/assets/esri/core/workers/chunks/27ec8688f72130239b98.js +0 -1
  604. package/assets/esri/core/workers/chunks/2dd347aa2a061d536e69.js +0 -1
  605. package/assets/esri/core/workers/chunks/2f6fa33692478e99d24b.js +0 -1
  606. package/assets/esri/core/workers/chunks/329b10897c6965948b84.js +0 -1
  607. package/assets/esri/core/workers/chunks/35593a9790818b689455.js +0 -1
  608. package/assets/esri/core/workers/chunks/3e7ea06b342e33bc48a5.js +0 -1
  609. package/assets/esri/core/workers/chunks/401ce5cb98fa14c1a725.js +0 -1
  610. package/assets/esri/core/workers/chunks/4387aaf9d5e8f6d1833d.js +0 -1
  611. package/assets/esri/core/workers/chunks/668a868fe2dcb6384ac9.js +0 -1
  612. package/assets/esri/core/workers/chunks/6acfa51b81e6f4255118.js +0 -1
  613. package/assets/esri/core/workers/chunks/6f8098f9fe233833245a.js +0 -1
  614. package/assets/esri/core/workers/chunks/76dbaef0d0794913f36f.js +0 -1
  615. package/assets/esri/core/workers/chunks/7c5218eae13d3bd30598.js +0 -1
  616. package/assets/esri/core/workers/chunks/7fc09382f934e9223a9b.js +0 -1
  617. package/assets/esri/core/workers/chunks/822ef6a043c7e147b4b6.js +0 -1
  618. package/assets/esri/core/workers/chunks/980313a6c35e79812d17.js +0 -1
  619. package/assets/esri/core/workers/chunks/98d68b145226e7527c84.js +0 -33
  620. package/assets/esri/core/workers/chunks/9c157c0eeadb824ad01e.js +0 -1
  621. package/assets/esri/core/workers/chunks/a39ac9127a215d14d412.js +0 -1
  622. package/assets/esri/core/workers/chunks/a893f8db2477cf677ac8.js +0 -1
  623. package/assets/esri/core/workers/chunks/a95e28ade258b144cbb5.js +0 -1
  624. package/assets/esri/core/workers/chunks/abcee7cfd53cfe1d91e9.js +0 -1
  625. package/assets/esri/core/workers/chunks/b9f0d313f59fc7c43560.js +0 -1
  626. package/assets/esri/core/workers/chunks/bbe2eaef7edfa33b6eea.js +0 -1
  627. package/assets/esri/core/workers/chunks/bfdf646d4c8f175a4236.js +0 -1
  628. package/assets/esri/core/workers/chunks/d749aa62ad694147aebe.js +0 -1
  629. package/assets/esri/core/workers/chunks/d7d9656b990ce8be2152.js +0 -1
  630. package/assets/esri/core/workers/chunks/df92239eefff04471a0b.js +0 -1
  631. package/assets/esri/core/workers/chunks/ee2ca25048a920e43743.js +0 -1
  632. package/assets/esri/core/workers/chunks/eeb24a4ab4993f1f4e8e.js +0 -1
  633. package/assets/esri/core/workers/chunks/fe5d2735f057c7789f4b.js +0 -1
  634. package/views/2d/engine/flow/FlowDisplayData.js +0 -5
  635. package/views/support/GeodesicMeasurementWorker.js +0 -5
  636. package/views/support/GeodesicMeasurementWorkerHandle.js +0 -5
@@ -6,6 +6,7 @@ import type { PolygonProperties } from "../../geometry/Polygon.js";
6
6
  import type { ExtentProperties } from "../../geometry/Extent.js";
7
7
  import type { LODProperties } from "../../layers/support/LOD.js";
8
8
 
9
+ /** @since 5.0 */
9
10
  export interface MapViewConstraintsProperties extends Partial<Pick<MapViewConstraints, "maxScale" | "maxZoom" | "minScale" | "minZoom" | "rotationEnabled" | "snapToZoom">> {
10
11
  /**
11
12
  * The area in which the user is allowed to navigate laterally. Only [Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) and [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html) geometry types are supported. Z-values are ignored. This property is honored by interactive [MapView navigation](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-MapViewConstraints.html#mapview-navigation) and [MapView#goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo). This property may be [autocast](https://developers.arcgis.com/javascript/latest/autocasting/).
@@ -17,20 +18,43 @@ export interface MapViewConstraintsProperties extends Partial<Pick<MapViewConstr
17
18
  * An array of [LODs](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LOD.html). If not specified, this value is read from the [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html). It is possible to generate additional LODs via the
18
19
  * [TileInfo#create()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-TileInfo.html#create) method. This is useful in cases where the default amount of LODs provided are not sufficient. One example of when
19
20
  * this is needed is when setting the view scale 1:1. Additionally, this property may be [autocast](https://developers.arcgis.com/javascript/latest/autocasting/).
21
+ *
22
+ * @since 5.0
20
23
  */
21
24
  lods?: LODProperties[] | null;
22
25
  }
23
26
 
27
+ /** @since 5.0 */
24
28
  export default abstract class MapViewConstraints extends Accessor {
25
- /** A read-only property that specifies the levels of detail (LODs) read from the [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html). */
29
+ /**
30
+ * A read-only property that specifies the levels of detail (LODs) read from the [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html).
31
+ *
32
+ * @since 5.0
33
+ */
26
34
  get effectiveLODs(): LOD[] | null;
27
- /** A read-only property that specifies the maximum [scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#scale) the user is allowed to zoom to within the view. */
35
+ /**
36
+ * A read-only property that specifies the maximum [scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#scale) the user is allowed to zoom to within the view.
37
+ *
38
+ * @since 5.0
39
+ */
28
40
  get effectiveMaxScale(): number;
29
- /** A read-only property that specifies the maximum [zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#zoom) level the user is allowed to zoom to within the view. */
41
+ /**
42
+ * A read-only property that specifies the maximum [zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#zoom) level the user is allowed to zoom to within the view.
43
+ *
44
+ * @since 5.0
45
+ */
30
46
  get effectiveMaxZoom(): number;
31
- /** A read-only property that specifies the minimum [scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#scale) the user is allowed to zoom to within the view. */
47
+ /**
48
+ * A read-only property that specifies the minimum [scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#scale) the user is allowed to zoom to within the view.
49
+ *
50
+ * @since 5.0
51
+ */
32
52
  get effectiveMinScale(): number;
33
- /** A read-only property that specifies the minimum [zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#zoom) level the user is allowed to zoom to within the view. */
53
+ /**
54
+ * A read-only property that specifies the minimum [zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#zoom) level the user is allowed to zoom to within the view.
55
+ *
56
+ * @since 5.0
57
+ */
34
58
  get effectiveMinZoom(): number;
35
59
  /**
36
60
  * The area in which the user is allowed to navigate laterally. Only [Extent](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Extent.html) and [Polygon](https://developers.arcgis.com/javascript/latest/api-reference/esri-geometry-Polygon.html) geometry types are supported. Z-values are ignored. This property is honored by interactive [MapView navigation](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-MapViewConstraints.html#mapview-navigation) and [MapView#goTo()](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html#goTo). This property may be [autocast](https://developers.arcgis.com/javascript/latest/autocasting/).
@@ -43,6 +67,8 @@ export default abstract class MapViewConstraints extends Accessor {
43
67
  * An array of [LODs](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-LOD.html). If not specified, this value is read from the [Map](https://developers.arcgis.com/javascript/latest/api-reference/esri-Map.html). It is possible to generate additional LODs via the
44
68
  * [TileInfo#create()](https://developers.arcgis.com/javascript/latest/api-reference/esri-layers-support-TileInfo.html#create) method. This is useful in cases where the default amount of LODs provided are not sufficient. One example of when
45
69
  * this is needed is when setting the view scale 1:1. Additionally, this property may be [autocast](https://developers.arcgis.com/javascript/latest/autocasting/).
70
+ *
71
+ * @since 5.0
46
72
  */
47
73
  get lods(): LOD[] | null;
48
74
  set lods(value: LODProperties[] | null);
@@ -50,36 +76,42 @@ export default abstract class MapViewConstraints extends Accessor {
50
76
  * The maximum [scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#scale) the user is allowed to zoom to within the view. Setting this value to `0` allows the user to overzoom layer tiles.
51
77
  *
52
78
  * @default 0
79
+ * @since 5.0
53
80
  */
54
81
  accessor maxScale: number;
55
82
  /**
56
83
  * The maximum [zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#zoom) level the user is allowed to zoom to within the view. Setting this value to `0` allows the user to over-zoom layer tiles.
57
84
  *
58
85
  * @default -1
86
+ * @since 5.0
59
87
  */
60
88
  accessor maxZoom: number;
61
89
  /**
62
90
  * The minimum [scale](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#scale) the user is allowed to zoom to within the view.
63
91
  *
64
92
  * @default 0
93
+ * @since 5.0
65
94
  */
66
95
  accessor minScale: number;
67
96
  /**
68
97
  * The minimum [zoom](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-View2D.html#zoom) level the user is allowed to zoom to within the view.
69
98
  *
70
99
  * @default -1
100
+ * @since 5.0
71
101
  */
72
102
  accessor minZoom: number;
73
103
  /**
74
104
  * Indicates whether the user can rotate the map.
75
105
  *
76
106
  * @default true
107
+ * @since 5.0
77
108
  */
78
109
  accessor rotationEnabled: boolean;
79
110
  /**
80
111
  * When `true`, the view snaps to the next LOD when zooming in or out. When `false`, the zoom is continuous. This does not apply when zooming in/out using two finger pinch in/out.
81
112
  *
82
113
  * @default true
114
+ * @since 5.0
83
115
  */
84
116
  accessor snapToZoom: boolean;
85
117
  }
@@ -1,5 +1,9 @@
1
1
  import type MapView from "../../MapView.js";
2
2
  import type AnalysisView from "../../analysis/AnalysisView.js";
3
3
 
4
- /** Base class for 2D analysis views. */
4
+ /**
5
+ * Base class for 2D analysis views.
6
+ *
7
+ * @since 5.0
8
+ */
5
9
  export default abstract class AnalysisView2D extends AnalysisView<MapView> {}
@@ -31,37 +31,60 @@ import type { SnappingOptionsProperties } from "../../interactive/snapping/Snapp
31
31
  * @since 5.0
32
32
  */
33
33
  export default abstract class AreaMeasurementAnalysisView2D extends AnalysisView2D {
34
- /** The area measurement analysis associated with the analysis view. */
34
+ /**
35
+ * The area measurement analysis associated with the analysis view.
36
+ *
37
+ * @since 5.0
38
+ */
35
39
  get analysis(): AreaMeasurementAnalysis;
36
40
  /**
37
41
  * Enables interactivity for the [analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-AreaMeasurementAnalysisView2D.html#analysis). When set to `true` the input geometry can be edited interactively.
38
42
  *
39
43
  * @default false
44
+ * @since 5.0
40
45
  */
41
46
  accessor interactive: boolean;
42
47
  /**
43
48
  * Result of the area measurement analysis. Result objects are created immediately but they are gradually updated as
44
49
  * the analysis is computed.
50
+ *
51
+ * @since 5.0
45
52
  */
46
53
  get result(): AreaMeasurementResult | null | undefined;
47
54
  /**
48
55
  * The [SnappingOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html) for sketching.
49
56
  * It supports [self](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html#selfEnabled) and
50
57
  * [feature](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html#featureEnabled) snapping.
58
+ *
59
+ * @since 5.0
51
60
  */
52
61
  get snappingOptions(): SnappingOptions;
53
62
  set snappingOptions(value: SnappingOptionsProperties);
54
- /** The analysis view type. */
63
+ /**
64
+ * The analysis view type.
65
+ *
66
+ * @since 5.0
67
+ */
55
68
  get type(): "area-measurement-view-2d";
56
69
  /**
57
70
  * Unit system (imperial, metric) or specific unit used for displaying the computed area in the view. This value is
58
71
  * useful when [AreaMeasurementAnalysis#unit](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html#unit) is not explicitly set on the
59
72
  * [analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-AreaMeasurementAnalysisView2D.html#analysis).
73
+ *
74
+ * @since 5.0
60
75
  */
61
76
  get unit(): SystemOrAreaUnit;
62
- /** This property is `true` when the analysis is recomputing or updating its visualization. */
77
+ /**
78
+ * This property is `true` when the analysis is recomputing or updating its visualization.
79
+ *
80
+ * @since 5.0
81
+ */
63
82
  get updating(): boolean;
64
- /** When `true`, the [analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-AreaMeasurementAnalysisView2D.html#analysis) is visualized in the view. */
83
+ /**
84
+ * When `true`, the [analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-AreaMeasurementAnalysisView2D.html#analysis) is visualized in the view.
85
+ *
86
+ * @since 5.0
87
+ */
65
88
  accessor visible: boolean;
66
89
  /**
67
90
  * Starts an interactive placement operation to create a new [AreaMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-AreaMeasurementAnalysis.html).
@@ -73,6 +96,7 @@ export default abstract class AreaMeasurementAnalysisView2D extends AnalysisView
73
96
  *
74
97
  * @param options - An object specifying additional options.
75
98
  * @returns A promise which resolves when the operation is completed successfully or rejected if it is canceled.
99
+ * @since 5.0
76
100
  */
77
101
  place(options?: AbortOptions | null | undefined): Promise<AreaMeasurementPlacementResult>;
78
102
  }
@@ -31,37 +31,60 @@ import type { SnappingOptionsProperties } from "../../interactive/snapping/Snapp
31
31
  * @since 5.0
32
32
  */
33
33
  export default abstract class DistanceMeasurementAnalysisView2D extends AnalysisView2D {
34
- /** The distance measurement analysis associated with the analysis view. */
34
+ /**
35
+ * The distance measurement analysis associated with the analysis view.
36
+ *
37
+ * @since 5.0
38
+ */
35
39
  get analysis(): DistanceMeasurementAnalysis;
36
40
  /**
37
41
  * Enables interactivity for the [analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-DistanceMeasurementAnalysisView2D.html#analysis). When set to `true` the input geometry can be edited interactively.
38
42
  *
39
43
  * @default false
44
+ * @since 5.0
40
45
  */
41
46
  accessor interactive: boolean;
42
47
  /**
43
48
  * Result of the distance measurement analysis. The result object is created immediately and updated as the
44
49
  * measurement is computed.
50
+ *
51
+ * @since 5.0
45
52
  */
46
53
  get result(): DistanceMeasurementResult | null | undefined;
47
54
  /**
48
55
  * The [SnappingOptions](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html) for sketching.
49
56
  * It supports [self](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html#selfEnabled) and
50
57
  * [feature](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-interactive-snapping-SnappingOptions.html#featureEnabled) snapping.
58
+ *
59
+ * @since 5.0
51
60
  */
52
61
  get snappingOptions(): SnappingOptions;
53
62
  set snappingOptions(value: SnappingOptionsProperties);
54
- /** The analysis view type. */
63
+ /**
64
+ * The analysis view type.
65
+ *
66
+ * @since 5.0
67
+ */
55
68
  get type(): "distance-measurement-view-2d";
56
69
  /**
57
70
  * Unit system (imperial, metric) or specific unit used for displaying the computed length in the view. This value is
58
71
  * useful when [DistanceMeasurementAnalysis#unit](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DistanceMeasurementAnalysis.html#unit) is not explicitly set on the
59
72
  * [analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-DistanceMeasurementAnalysisView2D.html#analysis).
73
+ *
74
+ * @since 5.0
60
75
  */
61
76
  get unit(): SystemOrLengthUnit;
62
- /** This property is `true` when the analysis is recomputing or updating its visualization. */
77
+ /**
78
+ * This property is `true` when the analysis is recomputing or updating its visualization.
79
+ *
80
+ * @since 5.0
81
+ */
63
82
  get updating(): boolean;
64
- /** When `true`, the [analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-DistanceMeasurementAnalysisView2D.html#analysis) is visualized in the view. */
83
+ /**
84
+ * When `true`, the [analysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-2d-analysis-DistanceMeasurementAnalysisView2D.html#analysis) is visualized in the view.
85
+ *
86
+ * @since 5.0
87
+ */
65
88
  accessor visible: boolean;
66
89
  /**
67
90
  * Starts an interactive placement operation to create a new [DistanceMeasurementAnalysis](https://developers.arcgis.com/javascript/latest/api-reference/esri-analysis-DistanceMeasurementAnalysis.html).
@@ -73,6 +96,7 @@ export default abstract class DistanceMeasurementAnalysisView2D extends Analysis
73
96
  *
74
97
  * @param options - An object specifying additional options.
75
98
  * @returns A promise which resolves when the operation is completed successfully or rejected if it is canceled.
99
+ * @since 5.0
76
100
  */
77
101
  place(options?: AbortOptions | null | undefined): Promise<DistanceMeasurementPlacementResult>;
78
102
  }
@@ -2,5 +2,9 @@ import type AreaMeasurementAnalysisView2D from "./AreaMeasurementAnalysisView2D.
2
2
  import type DistanceMeasurementAnalysisView2D from "./DistanceMeasurementAnalysisView2D.js";
3
3
  import type ElevationProfileAnalysisView2D from "./ElevationProfileAnalysisView2D.js";
4
4
 
5
- /** Union of all possible analysis views that can be added to a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html). */
5
+ /**
6
+ * Union of all possible analysis views that can be added to a [MapView](https://developers.arcgis.com/javascript/latest/api-reference/esri-views-MapView.html).
7
+ *
8
+ * @since 5.0
9
+ */
6
10
  export type AnalysisView2DUnion = AreaMeasurementAnalysisView2D | DistanceMeasurementAnalysisView2D | ElevationProfileAnalysisView2D;
@@ -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{create as t}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import e from"../webgl/brushes/WGLBrush.js";class a extends e{constructor(){super(...arguments),this._visualState={time:0,dvsMat3:t(),displayViewMat3:t()}}dispose(){}prepareState(t){const{context:e}=t;e.setColorMask(!0,!0,!0,!0),e.setStencilFunction(514,0,255)}draw(t,e){const{requestRender:a,allowDelayedRender:s}=t,{displayData:r}=e;if(null==r)return;if("loaded"===r.state.name&&r.attach({context:t.context,getProgram:(e,a)=>t.painter.materialManager.getProgram(e,a)}),"attached"!==r.state.name)return;const i=r.state.resources;!s||i.ready||null==a?(this._visualState.time=t.animationsEnabled?t.time/1e3:0,this._visualState.dvsMat3=e.transforms.displayViewScreenMat3,this._visualState.displayViewMat3=t.state.displayViewMat3,r.flowStyle.render({context:t.context,getProgram:(e,a)=>t.painter.materialManager.getProgram(e,a)},this._visualState,i),r.flowStyle.animated&&null!=a&&t.animationsEnabled&&a()):a()}}export{a as default};
5
+ import{create as t}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{isForeverZero as e,getEndValue as a,getValue as s}from"./animatedValues.js";import{longSafetyTime as i}from"./utils.js";import r from"../webgl/brushes/WGLBrush.js";class l extends r{constructor(){super(...arguments),this._visualState={time:0,dvsMat3:t(),displayViewMat3:t(),displayOpacity:1,startTime:0,endTime:0}}dispose(){}prepareState(t){const{context:e}=t;e.setColorMask(!0,!0,!0,!0),e.setStencilFunction(514,0,255)}draw(t,r){const{requestRender:l,allowDelayedRender:n}=t,{items:o}=r,d=[];for(const m of o){m.attached||(m.resources.attach({context:t.context,getProgram:(e,a)=>t.painter.materialManager.getProgram(e,a)}),m.attached=!0);const o=t.time/1e3;if(t.animationsEnabled?e(m.displayOpacity,o)||o>m.endTime+m.style.slideoutDuration:0===a(m.displayOpacity))m.attached&&(m.resources.detach(),m.attached=!1);else{if(d.push(m),n&&!m.resources.ready&&null!=l)return void l();this._visualState.time=t.animationsEnabled?o:i,r.updateMatrix(t.state,m.resources.query),this._visualState.dvsMat3=r.transforms.displayViewScreenMat3,this._visualState.displayViewMat3=t.state.displayViewMat3,this._visualState.displayOpacity=t.animationsEnabled?s(m.displayOpacity,o):a(m.displayOpacity),this._visualState.startTime=m.startTime,this._visualState.endTime=m.endTime,m.style.render({context:t.context,getProgram:(e,a)=>t.painter.materialManager.getProgram(e,a)},this._visualState,m.resources),m.style.animated&&null!=l&&t.animationsEnabled&&l()}}r.items.splice(0,r.items.length,...d)}}export{l as default};
@@ -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{deg2rad as t}from"../../../../core/mathUtils.js";import{fromTranslation as a,scale as e,translate as s,rotate as i}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{DisplayObject as l}from"../DisplayObject.js";class o extends l{constructor(){super(...arguments),this._displayData=null}get displayData(){return this._displayData}set displayData(t){this._displayData=t,this.requestRender()}clear(){null!=this._displayData&&(this._displayData.detach(),this._displayData=null,this.requestRender())}setTransform(r){const{displayData:l}=this;if(null==l)return;const o=l.extent.xmin,n=l.extent.ymax,p=[0,0];r.toScreen(p,[o,n]);const m=(l.extent.xmax-l.extent.xmin)/l.size[0]/r.resolution,c=t(r.rotation),{displayViewScreenMat3:x}=this.transforms;a(x,[-1,1,0]),e(x,x,[2/(r.size[0]*r.pixelRatio),-2/(r.size[1]*r.pixelRatio),1]),s(x,x,[p[0],p[1],0]),i(x,x,c),e(x,x,[m*r.pixelRatio,m*r.pixelRatio,1])}_createTransforms(){return{displayViewScreenMat3:r()}}}export{o as FlowDisplayObject};
5
+ import{deg2rad as t}from"../../../../core/mathUtils.js";import{fromTranslation as e,scale as i,translate as s,rotate as r}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as o}from"../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{DisplayObject as a}from"../DisplayObject.js";class m extends a{constructor(){super(...arguments),this.items=[]}clear(){for(const t of this.items)t.attached&&(t.resources.detach(),t.attached=!1);this.items.length=0}setTransform(t){}updateMatrix(o,a){const m=a.extent.xmin,n=a.extent.ymax,c=[0,0];o.toScreen(c,[m,n]);const x=(a.extent.xmax-a.extent.xmin)/a.size[0]/o.resolution,l=t(o.rotation),{displayViewScreenMat3:p}=this.transforms;e(p,[-1,1,0]),i(p,p,[2/(o.size[0]*o.pixelRatio),-2/(o.size[1]*o.pixelRatio),1]),s(p,p,[c[0],c[1],0]),r(p,p,l),i(p,p,[x*o.pixelRatio,x*o.pixelRatio,1])}_createTransforms(){return{displayViewScreenMat3:o()}}}export{m as FlowDisplayObject};
@@ -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 i from"../../../../core/Accessor.js";import o from"../../../../core/Logger.js";import{deg2rad as e}from"../../../../core/mathUtils.js";import{isAbortError as a}from"../../../../core/promiseUtils.js";import{property as l,subclass as n}from"../../../../core/accessorSupport/decorators.js";import s from"../../../../geometry/Extent.js";import r from"../../../../geometry/Point.js";import p from"./FlowDisplayData.js";import{FlowDisplayObject as c}from"./FlowDisplayObject.js";const d=1.15;let m=class extends i{constructor(t){super(t),this._flowDisplayObject=new c,this._loading=null}initialize(){this.flowContainer.addChild(this._flowDisplayObject)}destroy(){this._clear(),this.flowContainer.removeAllChildren()}get updating(){return null!=this._loading}update(t){const{flowStyle:i}=this.flowContainer;if(null==i)return void this._clear();const{extent:e,rotation:l,resolution:n,pixelRatio:s}=t.state,r=h(e,l);r.expand(d);const c=[Math.round((r.xmax-r.xmin)/n),Math.round((r.ymax-r.ymin)/n)],m=performance.now()/1e3,f=new p(i,r,c,s,m);if(null!=this._loading){if(this._loading.update(f))return;this._loading.detach(),this._loading=null}null!=this._flowDisplayObject.displayData&&this._flowDisplayObject.displayData.update(f)||(f.load().then(()=>{this._flowDisplayObject.clear(),this._flowDisplayObject.displayData=this._loading,this._loading=null},t=>{a(t)||(o.getLogger(this).error("A resource failed to load.",t),this._loading=null)}),this._loading=f)}_clear(){this._flowDisplayObject.clear(),null!=this._loading&&(this._loading.detach(),this._loading=null)}};function h(t,i){const o=new r({x:(t.xmax+t.xmin)/2,y:(t.ymax+t.ymin)/2,spatialReference:t.spatialReference}),a=t.xmax-t.xmin,l=t.ymax-t.ymin,n=Math.abs(Math.cos(e(i))),p=Math.abs(Math.sin(e(i))),c=n*a+p*l,d=p*a+n*l,m=new s({xmin:o.x-c/2,ymin:o.y-d/2,xmax:o.x+c/2,ymax:o.y+d/2,spatialReference:t.spatialReference});return m.centerAt(o),m}t([l()],m.prototype,"_loading",void 0),t([l()],m.prototype,"flowContainer",void 0),t([l()],m.prototype,"updating",null),m=t([n("esri.views.2d.engine.flow.FlowStrategy")],m);export{m as default};
5
+ import{__decorate as t}from"tslib";import e from"../../../../core/Accessor.js";import i from"../../../../core/Logger.js";import{deg2rad as o}from"../../../../core/mathUtils.js";import{isAbortError as r}from"../../../../core/promiseUtils.js";import{property as s,subclass as n}from"../../../../core/accessorSupport/decorators.js";import a from"../../../../geometry/Extent.js";import l from"../../../../geometry/Point.js";import{fadeToZero as m,animate as p}from"./animatedValues.js";import{FlowDisplayObject as u}from"./FlowDisplayObject.js";import{ProcessingTimeEstimate as c}from"./ProcessingTimeEstimate.js";import{longSafetyTime as d,shortMarginTime as h}from"./utils.js";const f=1.15,y=1;let g=class extends e{constructor(t){super(t),this._flowDisplayObject=new u,this._loading=null,this._processingTimeEstimate=new c}initialize(){this.flowContainer.addChild(this._flowDisplayObject)}destroy(){this._clear(),this.flowContainer.removeAllChildren()}get updating(){return null!=this._loading}update(t){const{flowStyle:e}=this.flowContainer;if(null==e)return void this._clear();const{extent:o,rotation:s,resolution:n,pixelRatio:a}=t.state,l=x(o,s);l.expand(f);const u=[Math.round((l.xmax-l.xmin)/n),Math.round((l.ymax-l.ymin)/n)],c=performance.now()/1e3,g={extent:l,size:u,pixelRatio:a,time:c+this._processingTimeEstimate.getSafeTime()},_=new AbortController,{items:w}=this._flowDisplayObject,b=w.at(-1);if(b&&this._fastUpdate(b.style,b.resources.query,e,g))return b.style=e,void(this._loading&&(this._loading.abortController.abort(),this._loading=null));if(this._loading&&this._fastUpdate(this._loading.flowStyle,this._loading.query,e,g))return void(this._loading.flowStyle=e);const{canContinue:C,previousItem:j}=this._previousItemPrevious(b,e,g),v=e.load(g,C?j.resources:null,_.signal).then(t=>{const i=performance.now()/1e3,o=i-c;if(this._processingTimeEstimate.addSample(o),C){for(const e of w)e.endTime=t.query.time;w.push({attached:!1,startTime:t.query.time,endTime:t.query.time+d,displayOpacity:1,resources:t,style:e})}else{for(const t of w)t.displayOpacity=m(t.displayOpacity,y,i);w.push({attached:!1,startTime:i-h,endTime:i+d,displayOpacity:p(i,0,i+y,1),resources:t,style:e})}this._flowDisplayObject.requestRender(),this._loading=null},t=>{r(t)||i.getLogger(this).error("A resource failed to load.",t)});this._loading?.abortController.abort(),this._loading={abortController:_,promise:v,query:g,flowStyle:e}}_fastUpdate(t,e,i,o){if(!t.isCompatible(i))return!1;return!(!e.extent.equals(o.extent)||e.size[0]!==o.size[0]||e.size[1]!==o.size[1]||e.pixelRatio!==o.pixelRatio)}_previousItemPrevious(t,e,i){if(!t)return{canContinue:!1,previousItem:t};if(!t.style.supportsContinuation)return{canContinue:!1,previousItem:t};if(!e.supportsContinuation)return{canContinue:!1,previousItem:t};const o=Math.abs(t.resources.query.extent.width-i.extent.width)/i.extent.width,r=Math.abs(t.resources.query.extent.height-i.extent.height)/i.extent.height;return o>.1||r>.1?{canContinue:!1,previousItem:t}:{canContinue:!0,previousItem:t}}_clear(){this._flowDisplayObject.clear(),null!=this._loading&&(this._loading.abortController.abort(),this._loading=null)}};function x(t,e){const i=new l({x:(t.xmax+t.xmin)/2,y:(t.ymax+t.ymin)/2,spatialReference:t.spatialReference}),r=t.xmax-t.xmin,s=t.ymax-t.ymin,n=Math.abs(Math.cos(o(e))),m=Math.abs(Math.sin(o(e))),p=n*r+m*s,u=m*r+n*s,c=new a({xmin:i.x-p/2,ymin:i.y-u/2,xmax:i.x+p/2,ymax:i.y+u/2,spatialReference:t.spatialReference});return c.centerAt(i),c}t([s()],g.prototype,"_loading",void 0),t([s()],g.prototype,"flowContainer",void 0),t([s()],g.prototype,"updating",null),g=t([n("esri.views.2d.engine.flow.FlowStrategy")],g);export{g as default};
@@ -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 e from"../../../../Graphic.js";import i from"../../../../core/Accessor.js";import{watch as o}from"../../../../core/reactiveUtils.js";import{property as r,subclass as s}from"../../../../core/accessorSupport/decorators.js";import a from"./createFlowStyle.js";import{loadImagery as n}from"./dataUtils.js";import l from"./FlowContainer.js";import h from"./FlowStrategy.js";let d=class extends i{constructor(){super(...arguments),this._loadImagery=(t,e,i,o,r)=>n(this.layer,t,e,i,o,r),this._createFlowMesh=(t,e,i,o)=>this.layer.createFlowMesh({meshType:t,flowData:i,simulationSettings:e},{signal:o}),this.attached=!1,this.type="flow",this.timeExtent=null,this.redrawOrRefetch=async()=>{this._updateVisualization()}}get updating(){return!this.attached||this._strategy.updating}attach(){const{layer:t}=this,e=()=>{this._loadImagery=(e,i,o,r,s)=>n(t,e,i,o,r,s),this._updateVisualization()};"multidimensionalDefinition"in t?this.addHandles(o(()=>t.multidimensionalDefinition,e)):this.addHandles([o(()=>t.mosaicRule,e),o(()=>t.rasterFunction,e),o(()=>t.definitionExpression,e)]),this.container=new l,this._strategy=new h({flowContainer:this.container}),this._updateVisualization()}detach(){this._strategy.destroy(),this.container?.removeAllChildren(),this.container=null,this.removeHandles()}update(t){t.stationary?this._strategy.update(t):this.layerView.requestUpdate()}hitTest(t){return new e({attributes:{},geometry:t.clone(),layer:this.layer})}moveEnd(){}async doRefresh(){}_updateVisualization(){const t=this.layer.renderer;if(null==t||"flow"!==t.type)return;const e=a(t,{loadImagery:this._loadImagery,createFlowMesh:this._createFlowMesh,timeExtent:this.timeExtent});this.container.flowStyle=e,this.layerView.requestUpdate()}};t([r()],d.prototype,"_strategy",void 0),t([r()],d.prototype,"attached",void 0),t([r()],d.prototype,"container",void 0),t([r()],d.prototype,"layer",void 0),t([r()],d.prototype,"layerView",void 0),t([r()],d.prototype,"type",void 0),t([r()],d.prototype,"updating",null),t([r()],d.prototype,"timeExtent",void 0),d=t([s("esri.views.2d.engine.flow.FlowView2D")],d);export{d as default};
5
+ import{__decorate as t}from"tslib";import e from"../../../../Graphic.js";import i from"../../../../core/Accessor.js";import{watch as o}from"../../../../core/reactiveUtils.js";import{property as r,subclass as s}from"../../../../core/accessorSupport/decorators.js";import a from"./createFlowStyle.js";import{loadImagery as n}from"./dataUtils.js";import l from"./FlowContainer.js";import h from"./FlowStrategy.js";let d=class extends i{constructor(){super(...arguments),this._loadImagery=(t,e,i,o,r)=>n(this.layer,t,e,i,o,r),this._createFlowMesh=(t,e,i,o,r)=>this.layer.createFlowMesh({meshType:t,flowData:i,simulationSettings:e,startInfo:o},{signal:r}),this.attached=!1,this.type="flow",this.timeExtent=null,this.redrawOrRefetch=async()=>{this._updateVisualization()}}get updating(){return!this.attached||this._strategy.updating}attach(){const{layer:t}=this,e=()=>{this._loadImagery=(e,i,o,r,s)=>n(t,e,i,o,r,s),this._updateVisualization()};"multidimensionalDefinition"in t?this.addHandles(o(()=>t.multidimensionalDefinition,e)):this.addHandles([o(()=>t.mosaicRule,e),o(()=>t.rasterFunction,e),o(()=>t.definitionExpression,e)]),this.container=new l,this._strategy=new h({flowContainer:this.container}),this._updateVisualization()}detach(){this._strategy.destroy(),this.container?.removeAllChildren(),this.container=null,this.removeHandles()}update(t){t.stationary?this._strategy.update(t):this.layerView.requestUpdate()}hitTest(t){return new e({attributes:{},geometry:t.clone(),layer:this.layer})}moveEnd(){}async doRefresh(){}_updateVisualization(){const t=this.layer.renderer;if(null==t||"flow"!==t.type)return;const e=a(t,{loadImagery:this._loadImagery,createFlowMesh:this._createFlowMesh,timeExtent:this.timeExtent});this.container.flowStyle=e,this.layerView.requestUpdate()}};t([r()],d.prototype,"_strategy",void 0),t([r()],d.prototype,"attached",void 0),t([r()],d.prototype,"container",void 0),t([r()],d.prototype,"layer",void 0),t([r()],d.prototype,"layerView",void 0),t([r()],d.prototype,"type",void 0),t([r()],d.prototype,"updating",null),t([r()],d.prototype,"timeExtent",void 0),d=t([s("esri.views.2d.engine.flow.FlowView2D")],d);export{d as default};
@@ -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 e{constructor(){this._skipInitialSamples=3,this._samples=[.35,.4,.45,.4,.35],this._maxSampleMemory=this._samples.length,this._average=this._computeAverage(),this._standardDeviation=this._computeStandardDeviation()}get average(){return this._average}get standardDeviation(){return this._standardDeviation}addSample(e){this._skipInitialSamples--,this._skipInitialSamples>0||(this._samples.push(e),this._samples.length>this._maxSampleMemory&&this._samples.splice(0,this._samples.length-this._maxSampleMemory),this._average=this._computeAverage(),this._standardDeviation=this._computeStandardDeviation())}getSafeTime(){return this._average+3*this._standardDeviation}_computeAverage(){return this._samples.reduce((e,t)=>e+t,0)/this._samples.length}_computeStandardDeviation(){return Math.sqrt(this._samples.map(e=>t(e-this._average)).reduce((e,t)=>e+t,0)/this._samples.length)}}function t(e){return e*e}export{e as ProcessingTimeEstimate};
@@ -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 t{constructor(t,e,r,n){this.startTime=t,this.startValue=e,this.endTime=r,this.endValue=n}getValue(t){if(t<=this.startTime)return this.startValue;if(t>=this.endTime)return this.endValue;const e=(t-this.startTime)/(this.endTime-this.startTime);return this.startValue+e*(this.endValue-this.startValue)}isForeverZero(t){return 0===this.startValue&&0===this.endValue||0===this.endValue&&t>=this.endTime}}function e(t,e){return"number"==typeof t?t:t.getValue(e)}function r(t){return"number"==typeof t?t:t.endValue}function n(t,e){return"number"==typeof t?0===t:t.isForeverZero(e)}function i(e,r,n,i){return e===n?e:new t(e,r,n,i)}function s(t,r,n){const s=e(t,n),u=s*r;return 0===u?0:i(n,s,n+u,0)}export{i as animate,s as fadeToZero,r as getEndValue,e as getValue,n as isForeverZero};
@@ -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 has from"../../../../core/has.js";import t from"../../../../core/Logger.js";import{moduloPositive as e,deg2rad as n}from"../../../../core/mathUtils.js";import{throwIfAborted as r}from"../../../../core/promiseUtils.js";import o from"../../../../core/RandomLCG.js";import{Seconds as i}from"../../../../core/time.js";import s from"../../../../geometry/Extent.js";import{getInfo as l}from"../../../../geometry/support/spatialReferenceUtils.js";const a=()=>t.getLogger("esri.views.2d.engine.flow.dataUtils"),c=10;async function f(t,e,n,o){const i=performance.now(),s=h(e,n),l=performance.now(),f=m(e,s,n.width,n.height),u=performance.now(),d=p(f,!0),w=performance.now(),x="Streamlines"===t?g(d,c):y(d),M=performance.now();return has("esri-2d-profiler")&&(a().info("I.1","_createFlowFieldFromData (ms)",Math.round(l-i)),a().info("I.2","_getStreamlines (ms)",Math.round(u-l)),a().info("I.3","createAnimatedLinesData (ms)",Math.round(w-u)),a().info("I.4","create{Streamlines|Particles}Mesh (ms)",Math.round(M-w)),a().info("I.5","createFlowMesh (ms)",Math.round(M-i)),a().info("I.6","Mesh size (bytes)",x.vertexData.buffer.byteLength+x.indexData.buffer.byteLength)),await Promise.resolve(),r(o),x}function h(t,e){const n=w(e.data,e.width,e.height,t.smoothing);if(t.interpolate){return(t,r)=>{const o=Math.floor(t),i=Math.floor(r);if(o<0||o>=e.width)return[0,0];if(i<0||i>=e.height)return[0,0];const s=t-o,l=r-i,a=o,c=i,f=o<e.width-1?o+1:o,h=i<e.height-1?i+1:i,u=n[2*(c*e.width+a)],d=n[2*(c*e.width+f)],m=n[2*(h*e.width+a)],w=n[2*(h*e.width+f)],p=n[2*(c*e.width+a)+1],g=n[2*(c*e.width+f)+1];return[(u*(1-l)+m*l)*(1-s)+(d*(1-l)+w*l)*s,(p*(1-l)+n[2*(h*e.width+a)+1]*l)*(1-s)+(g*(1-l)+n[2*(h*e.width+f)+1]*l)*s]}}return(t,r)=>{const o=Math.round(t),i=Math.round(r);return o<0||o>=e.width||i<0||i>=e.height?[0,0]:[n[2*(i*e.width+o)],n[2*(i*e.width+o)+1]]}}function u(t,n,r,o,s,l,a,c){const f=[],{raster:h,width:u,height:d,resolutionFactor:m}=c;let w=o,p=s,g=i(0),[y,x]=r(w,p);y*=n.velocityScale,x*=n.velocityScale;const M=Math.sqrt(y*y+x*x);let A,v;f.push({x:w,y:p,time:g,speed:M});for(let F=0;F<n.verticesPerLine;F++){let[o,s]=r(w,p);o*=n.velocityScale,s*=n.velocityScale;const c=Math.sqrt(o*o+s*s);if(c<n.minSpeedThreshold)return f;const y=t*o/c,x=t*s/c;w+=y*n.segmentLength,p+=x*n.segmentLength,n.wrapAround&&(w=e(w,l[0]));const M=t*n.segmentLength/c;if(g=i(g+M),Math.acos(y*A+x*v)>n.maxTurnAngle)return f;if(n.collisions){let t=Math.round(w*m);const r=Math.round(p*m);if(n.wrapAround&&(t=e(t,u)),t<0||t>u-1||r<0||r>d-1)return f;const o=h[r*u+t];if(-1!==o&&o!==a)return f;h[r*u+t]=a}f.push({x:w,y:p,time:g,speed:c}),A=y,v=x}return f}function d(t,e,n,r,o,i,s,l){const a=Math.round((.2+.6*s.getFloat())*t.verticesPerLine),c=t.verticesPerLine-a,f=u(-1,{...t,verticesPerLine:c},e,n,r,o,i,l),h=u(1,{...t,verticesPerLine:a},e,n,r,o,i,l),d=f.reverse();d.splice(-1,1);return d.concat(h)}function m(t,e,n,r,i={positions:[]}){if(t.density<=0)return[];const{positions:s}=i,l=[],a=new o,c=1/Math.max(t.lineCollisionWidth,1),f=Math.round(n*c),h=Math.round(r*c),m=new Int32Array(f*h);for(let o=0;o<m.length;o++)m[o]=-1;const w={raster:m,width:f,height:h,resolutionFactor:c},p={},g=t.lineSpacing/Math.sqrt(t.density),y=Math.floor(r/g),x=Math.floor(n/g);for(let o=0;o<y;o++){const t=o*g;for(let e=0;e<x;e++){const n=e*g;p[`${e}-${o}`]={x:n,y:t,positions:[]}}}for(const{x:o,y:u}of s){const t=p[`${Math.floor(o/g)}-${Math.floor(u/g)}`];t&&t.positions.push([o,u])}const M=[];for(const o in p){const t=p[o];if(0===t.positions.length)M.push({x:t.x+g/2,y:t.y+g/2,sort:.66+.33*a.getFloat(),stage:0});else{const[e]=t.positions.splice(0,1);M.push({x:e[0],y:e[1],sort:.33*a.getFloat(),stage:1});for(const[n,r]of t.positions)M.push({x:n,y:r,sort:.33+.33*a.getFloat(),stage:2})}}M.sort((t,e)=>t.sort-e.sort);for(const{x:o,y:A,stage:v}of M){const i=t.onlyForwardTracing?u(1,t,e,o,A,[n,r],l.length,w):d(t,e,o,A,[n,r],l.length,a,w);i.length<2||l.push({stage:v,vertices:i})}return l}function w(t,e,n,r){if(0===r)return t;const o=Math.round(3*r),i=new Array(2*o+1);let s=0;for(let c=-o;c<=o;c++){const t=Math.exp(-c*c/(r*r));i[c+o]=t,s+=t}for(let c=-o;c<=o;c++)i[c+o]/=s;const l=new Float32Array(t.length);for(let c=0;c<n;c++)for(let n=0;n<e;n++){let r=0,s=0;for(let l=-o;l<=o;l++){if(n+l<0||n+l>=e)continue;const a=i[l+o];r+=a*t[2*(c*e+(n+l))],s+=a*t[2*(c*e+(n+l))+1]}l[2*(c*e+n)]=r,l[2*(c*e+n)+1]=s}const a=new Float32Array(t.length);for(let c=0;c<e;c++)for(let t=0;t<n;t++){let r=0,s=0;for(let a=-o;a<=o;a++){if(t+a<0||t+a>=n)continue;const f=i[a+o];r+=f*l[2*((t+a)*e+c)],s+=f*l[2*((t+a)*e+c)+1]}a[2*(t*e+c)]=r,a[2*(t*e+c)+1]=s}return a}function p(t,e){const n=new o,r=t.reduce((t,e)=>t+e.vertices.length,0),i=new Float32Array(4*r),s=new Array(t.length);let l=0,a=0;for(const{vertices:o}of t){const t=l;for(const e of o)i[4*l]=e.x,i[4*l+1]=e.y,i[4*l+2]=e.time,i[4*l+3]=e.speed,l++;s[a++]={startVertex:t,numberOfVertices:o.length,totalTime:o[o.length-1].time,timeSeed:e?n.getFloat():0}}return{lineVertices:i,lineDescriptors:s}}function g(t,e){const n=9,{lineVertices:r,lineDescriptors:o}=t;let i=0,s=0;for(const d of o){i+=2*d.numberOfVertices;s+=6*(d.numberOfVertices-1)}const l=new Float32Array(i*n),a=new Uint32Array(s);let c=0,f=0;function h(){a[f++]=c-2,a[f++]=c,a[f++]=c-1,a[f++]=c,a[f++]=c+1,a[f++]=c-1}function u(t,e,r,o,i,s,a,f){const h=c*n;let u=0;l[h+u++]=t,l[h+u++]=e,l[h+u++]=1,l[h+u++]=r,l[h+u++]=s,l[h+u++]=a,l[h+u++]=o/2,l[h+u++]=i/2,l[h+u++]=f,c++,l[h+u++]=t,l[h+u++]=e,l[h+u++]=-1,l[h+u++]=r,l[h+u++]=s,l[h+u++]=a,l[h+u++]=-o/2,l[h+u++]=-i/2,l[h+u++]=f,c++}for(const d of o){const{totalTime:t,timeSeed:n}=d;let o=null,i=null,s=null,l=null,a=null,c=null;for(let f=0;f<d.numberOfVertices;f++){const m=r[4*(d.startVertex+f)],w=r[4*(d.startVertex+f)+1],p=r[4*(d.startVertex+f)+2],g=r[4*(d.startVertex+f)+3];let y=null,x=null,M=null,A=null;if(f>0){y=m-o,x=w-i;const r=Math.sqrt(y*y+x*x);if(y/=r,x/=r,f>1){let t=y+a,n=x+c;const r=Math.sqrt(t*t+n*n);t/=r,n/=r;const o=Math.min(1/(t*y+n*x),e);t*=o,n*=o,M=-n,A=t}else M=-x,A=y;null!==M&&null!==A&&(u(o,i,s,M,A,t,n,g),h())}o=m,i=w,s=p,a=y,c=x,l=g}u(o,i,s,-c,a,t,n,l)}return{vertexData:l,indexData:a}}function y(t){const e=16,n=1,r=2,{lineVertices:o,lineDescriptors:i}=t;let s=0,l=0;for(const S of i){const t=S.numberOfVertices-1;s+=4*t*2,l+=6*t*2}const a=new Float32Array(s*e),c=new Uint32Array(l);let f,h,u,d,m,w,p,g,y,x,M,A,v,F,I=0,V=0;function L(){c[V++]=I-8,c[V++]=I-7,c[V++]=I-6,c[V++]=I-7,c[V++]=I-5,c[V++]=I-6,c[V++]=I-4,c[V++]=I-3,c[V++]=I-2,c[V++]=I-3,c[V++]=I-1,c[V++]=I-2}function b(t,o,i,s,l,c,f,h,u,d,m,w,p,g){const y=I*e;let x=0;for(const e of[n,r])for(const n of[1,2,3,4])a[y+x++]=t,a[y+x++]=o,a[y+x++]=i,a[y+x++]=s,a[y+x++]=f,a[y+x++]=h,a[y+x++]=u,a[y+x++]=d,a[y+x++]=e,a[y+x++]=n,a[y+x++]=p,a[y+x++]=g,a[y+x++]=l/2,a[y+x++]=c/2,a[y+x++]=m/2,a[y+x++]=w/2,I++}function k(t,e){let n=y+M,r=x+A;const o=Math.sqrt(n*n+r*r);n/=o,r/=o;const i=y*n+x*r;n/=i,r/=i;let s=M+v,l=A+F;const a=Math.sqrt(s*s+l*l);s/=a,l/=a;const c=M*s+A*l;s/=c,l/=c,b(f,h,u,d,-r,n,m,w,p,g,-l,s,t,e),L()}function D(t,e,n,r,o,i){if(y=M,x=A,M=v,A=F,null==y&&null==x&&(y=M,x=A),null!=m&&null!=w){v=t-m,F=e-w;const n=Math.sqrt(v*v+F*F);v/=n,F/=n}null!=y&&null!=x&&k(o,i),f=m,h=w,u=p,d=g,m=t,w=e,p=n,g=r}function P(t,e){y=M,x=A,M=v,A=F,null==y&&null==x&&(y=M,x=A),null!=y&&null!=x&&k(t,e)}for(const S of i){f=null,h=null,u=null,d=null,m=null,w=null,p=null,g=null,y=null,x=null,M=null,A=null,v=null,F=null;const{totalTime:t,timeSeed:e}=S;for(let n=0;n<S.numberOfVertices;n++){D(o[4*(S.startVertex+n)],o[4*(S.startVertex+n)+1],o[4*(S.startVertex+n)+2],o[4*(S.startVertex+n)+3],t,e)}P(t,e)}return{vertexData:a,indexData:c}}function x(t,e,r=e.width,o=e.height,i=0,s=0){const l=e.pixels,a=r*o,c=2,f=new Float32Array(a*c),h=e.width,u=(t,e)=>t+i+(e+s)*h,d=(t,e)=>t+e*r;let m;if(null!=e.mask)if(r!==e.width||o!==e.height||0!==i||0!==s){m=new Uint8Array(a*c);const t=e.mask;for(let e=0;e<o;++e)for(let n=0;n<r;++n){const r=u(n,e),o=d(n,e);m[c*o]=t[c*r],m[c*o+1]=t[c*r+1]}}else m=e.mask;else m=new Uint8Array(a*c),m.fill(255);if("vector-uv"===t)for(let n=0;n<o;++n)for(let t=0;t<r;++t){const e=u(t,n),r=d(t,n);f[c*r]=l[0][e],f[c*r+1]=-l[1][e]}else if("vector-magdir"===t){const{cos:t,sin:e}=Math;for(let i=0;i<o;++i)for(let o=0;o<r;++o){const r=u(o,i),s=d(o,i),a=l[0][r],h=n(l[1][r]),m=t(h-Math.PI/2),w=e(h-Math.PI/2);f[c*s]=m*a,f[c*s+1]=w*a}}return{data:f,mask:m,width:r,height:o}}async function M(t,e,n,r,o,i){const c=performance.now(),f=l(e.spatialReference);if(!f){const s=await A(t,e,n,r,o,i);return has("esri-2d-profiler")&&a().info("I.7","loadImagery, early exit (ms)",Math.round(performance.now()-c)),has("esri-2d-profiler")&&a().info("I.9","Number of parts",1),s}const[h,u]=f.valid,d=u-h,m=Math.ceil(e.width/d),w=e.width/m,p=Math.round(n/m);let g=e.xmin;const y=[],x=performance.now();for(let l=0;l<m;l++){const n=new s({xmin:g,xmax:g+w,ymin:e.ymin,ymax:e.ymax,spatialReference:e.spatialReference});y.push(A(t,n,p,r,o,i)),g+=w}const M=await Promise.all(y);if(has("esri-2d-profiler")&&a().info("I.8","All calls to _fetchPart (ms)",Math.round(performance.now()-x)),has("esri-2d-profiler")&&a().info("I.9","Number of parts",M.length),1===M.length)return has("esri-2d-profiler")&&a().info("I.10","loadImagery, general exit without stitching back (ms)",Math.round(performance.now()-c)),M[0];const v={data:new Float32Array(n*r*2),mask:new Uint8Array(n*r),width:n,height:r};let F=0;for(const s of M){for(let t=0;t<s.height;t++)for(let e=0;e<s.width;e++)F+e>=n||(v.data[2*(t*n+F+e)]=s.data[2*(t*s.width+e)],v.data[2*(t*n+F+e)+1]=s.data[2*(t*s.width+e)+1],v.mask[t*n+F+e]=s.mask[t*s.width+e]);F+=s.width}return has("esri-2d-profiler")&&a().info("I.10","loadImagery, general exit (ms)",Math.round(performance.now()-c)),v}async function A(t,e,n,r,o,i){const s={requestProjectedLocalDirections:!0,signal:i};if(null!=o&&(s.timeExtent=o),"imagery"===t.type){await t.load({signal:i});const o=await t.internalFetchImage(e,n,r,s);if(null==o?.pixelData?.pixelBlock)return{data:new Float32Array(n*r*2),mask:new Uint8Array(n*r),width:n,height:r};return x(t.rasterInfo.dataType,o.pixelData.pixelBlock)}await t.load({signal:i});const l=await t.fetchPixels(e,n,r,s);if(null==l?.pixelBlock)return{data:new Float32Array(n*r*2),mask:new Uint8Array(n*r),width:n,height:r};return x(t.serviceRasterInfo.dataType,l.pixelBlock)}export{p as createAnimatedLinesData,h as createFlowFieldFromData,f as createFlowMesh,y as createParticlesMesh,g as createStreamlinesMesh,M as loadImagery,x as toFlowData,m as traceFlowPaths};
5
+ import has from"../../../../core/has.js";import t from"../../../../core/Logger.js";import{moduloPositive as e,deg2rad as n}from"../../../../core/mathUtils.js";import{throwIfAborted as r}from"../../../../core/promiseUtils.js";import o from"../../../../core/RandomLCG.js";import{Seconds as i}from"../../../../core/time.js";import s from"../../../../geometry/Extent.js";import{getInfo as l}from"../../../../geometry/support/spatialReferenceUtils.js";import{serializeFlowPaths as a}from"./flowPathsIO.js";const c=()=>t.getLogger("esri.views.2d.engine.flow.dataUtils"),f=10;async function u(t,e,n,o,i){const s=performance.now(),l=h(w(e,n),e),a=performance.now(),u=y(e,l,n.width,n.height,o),m=performance.now(),d=M(u),p=performance.now(),g="Streamlines"===t?A(d,f,u):v(d,u),x=performance.now();return has("esri-2d-profiler")&&(c().info("I.1","_createFlowFieldFromData (ms)",Math.round(a-s)),c().info("I.2","_getStreamlines (ms)",Math.round(m-a)),c().info("I.3","createAnimatedLinesData (ms)",Math.round(p-m)),c().info("I.4","create{Streamlines|Particles}Mesh (ms)",Math.round(x-p)),c().info("I.5","createFlowMesh (ms)",Math.round(x-s)),c().info("I.6","Mesh size (bytes)",g.vertexData.buffer.byteLength+g.indexData.buffer.byteLength)),await Promise.resolve(),r(i),g}function h(t,e){const{perturb:n}=e;if(n){const{rotation:e}=n;null!=e&&(t=m(t,e));const{scale:r}=n;null!=r&&(t=d(t,r))}return t}function m(t,e){const n=Math.cos(e),r=Math.sin(e);return(e,o)=>{const[i,s]=t(e,o);return[n*i+r*s,-r*i+n*s]}}function d(t,e){return(n,r)=>{const[o,i]=t(n,r);return[o*e,i*e]}}function w(t,e){const n=x(e.data,e.width,e.height,t.smoothing);if(t.interpolate){return(t,r)=>{const o=Math.floor(t),i=Math.floor(r);if(o<0||o>=e.width)return[0,0];if(i<0||i>=e.height)return[0,0];const s=t-o,l=r-i,a=o,c=i,f=o<e.width-1?o+1:o,u=i<e.height-1?i+1:i,h=n[2*(c*e.width+a)],m=n[2*(c*e.width+f)],d=n[2*(u*e.width+a)],w=n[2*(u*e.width+f)],p=n[2*(c*e.width+a)+1],g=n[2*(c*e.width+f)+1];return[(h*(1-l)+d*l)*(1-s)+(m*(1-l)+w*l)*s,(p*(1-l)+n[2*(u*e.width+a)+1]*l)*(1-s)+(g*(1-l)+n[2*(u*e.width+f)+1]*l)*s]}}return(t,r)=>{const o=Math.round(t),i=Math.round(r);return o<0||o>=e.width||i<0||i>=e.height?[0,0]:[n[2*(i*e.width+o)],n[2*(i*e.width+o)+1]]}}function p(t,n,r,o,s,l,a,c){const f=[],{raster:u,width:h,height:m,resolutionFactor:d}=c;let w=o,p=s,g=i(0),[y,x]=r(w,p);y*=n.velocityScale,x*=n.velocityScale;const M=Math.sqrt(y*y+x*x);let A,v;f.push({x:w,y:p,time:g,speed:M});for(let I=0;I<n.verticesPerLine;I++){let[o,s]=r(w,p);o*=n.velocityScale,s*=n.velocityScale;const c=Math.sqrt(o*o+s*s);if(c<n.minSpeedThreshold)return f;const y=t*o/c,x=t*s/c;w+=y*n.segmentLength,p+=x*n.segmentLength,n.wrapAround&&(w=e(w,l[0]));const M=t*n.segmentLength/c;if(g=i(g+M),Math.acos(y*A+x*v)>n.maxTurnAngle)return f;if(n.collisions){let t=Math.round(w*d);const r=Math.round(p*d);if(n.wrapAround&&(t=e(t,h)),t<0||t>h-1||r<0||r>m-1)return f;const o=u[r*h+t];if(-1!==o&&o!==a)return f;u[r*h+t]=a}f.push({x:w,y:p,time:g,speed:c}),A=y,v=x}return f}function g(t,e,n,r,o,i,s,l){const a=Math.round((.2+.6*s.getFloat())*t.verticesPerLine),c=t.verticesPerLine-a,f=p(-1,{...t,verticesPerLine:c},e,n,r,o,i,l),u=p(1,{...t,verticesPerLine:a},e,n,r,o,i,l),h=f.reverse();h.splice(-1,1);return h.concat(u)}function y(t,e,n,r,i){if(t.density<=0)return[];const{positions:s}=i,l=[],a=new o,c=1/Math.max(t.lineCollisionWidth,1),f=Math.round(n*c),u=Math.round(r*c),h=new Int32Array(f*u);for(let o=0;o<h.length;o++)h[o]=-1;const m={raster:h,width:f,height:u,resolutionFactor:c},d={},w=t.lineSpacing/Math.sqrt(t.density),y=Math.floor(r/w),x=Math.floor(n/w);for(let o=0;o<y;o++){const t=o*w;for(let e=0;e<x;e++){const n=e*w;d[`${e}-${o}`]={x:n,y:t,positions:[]}}}for(const{x:o,y:p}of s){const t=d[`${Math.floor(o/w)}-${Math.floor(p/w)}`];t&&t.positions.push([o,p])}const M=[];for(const o in d){const t=d[o];if(0===t.positions.length)M.push({x:t.x+w/2,y:t.y+w/2,sort:.66+.33*a.getFloat(),stage:0});else{const[e]=t.positions.splice(0,1);M.push({x:e[0],y:e[1],sort:.33*a.getFloat(),stage:1});for(const[n,r]of t.positions)M.push({x:n,y:r,sort:.33+.33*a.getFloat(),stage:2})}}M.sort((t,e)=>t.sort-e.sort);for(const{x:o,y:A,stage:v}of M){const i=t.onlyForwardTracing?p(1,t,e,o,A,[n,r],l.length,m):g(t,e,o,A,[n,r],l.length,a,m);i.length<2||l.push({stage:v,vertices:i})}return l}function x(t,e,n,r){if(0===r)return t;const o=Math.round(3*r),i=new Array(2*o+1);let s=0;for(let c=-o;c<=o;c++){const t=Math.exp(-c*c/(r*r));i[c+o]=t,s+=t}for(let c=-o;c<=o;c++)i[c+o]/=s;const l=new Float32Array(t.length);for(let c=0;c<n;c++)for(let n=0;n<e;n++){let r=0,s=0;for(let l=-o;l<=o;l++){if(n+l<0||n+l>=e)continue;const a=i[l+o];r+=a*t[2*(c*e+(n+l))],s+=a*t[2*(c*e+(n+l))+1]}l[2*(c*e+n)]=r,l[2*(c*e+n)+1]=s}const a=new Float32Array(t.length);for(let c=0;c<e;c++)for(let t=0;t<n;t++){let r=0,s=0;for(let a=-o;a<=o;a++){if(t+a<0||t+a>=n)continue;const f=i[a+o];r+=f*l[2*((t+a)*e+c)],s+=f*l[2*((t+a)*e+c)+1]}a[2*(t*e+c)]=r,a[2*(t*e+c)+1]=s}return a}function M(t){const e=t.reduce((t,e)=>t+e.vertices.length,0),n=new Float32Array(4*e),r=new Array(t.length);let o=0,i=0;for(const{vertices:s}of t){const t=o;for(const e of s)n[4*o]=e.x,n[4*o+1]=e.y,n[4*o+2]=e.time,n[4*o+3]=e.speed,o++;r[i++]={startVertex:t,numberOfVertices:s.length,firstTime:s[0].time,lastTime:s[s.length-1].time}}return{lineVertices:n,lineDescriptors:r}}function A(t,e,n){const r=9,{lineVertices:o,lineDescriptors:i}=t;let s=0,l=0;for(const a of i){s+=2*a.numberOfVertices;l+=6*(a.numberOfVertices-1)}const c=new Float32Array(s*r),f=new Uint32Array(l);let u=0,h=0;function m(){f[h++]=u-2,f[h++]=u,f[h++]=u-1,f[h++]=u,f[h++]=u+1,f[h++]=u-1}function d(t,e,n,o,i,s,l,a){const f=u*r;let h=0;c[f+h++]=t,c[f+h++]=e,c[f+h++]=1,c[f+h++]=n,c[f+h++]=s,c[f+h++]=l,c[f+h++]=o/2,c[f+h++]=i/2,c[f+h++]=a,u++,c[f+h++]=t,c[f+h++]=e,c[f+h++]=-1,c[f+h++]=n,c[f+h++]=s,c[f+h++]=l,c[f+h++]=-o/2,c[f+h++]=-i/2,c[f+h++]=a,u++}for(const a of i){const{firstTime:t,lastTime:n}=a;let r=null,i=null,s=null,l=null,c=null,f=null;for(let u=0;u<a.numberOfVertices;u++){const h=o[4*(a.startVertex+u)],w=o[4*(a.startVertex+u)+1],p=o[4*(a.startVertex+u)+2],g=o[4*(a.startVertex+u)+3];let y=null,x=null,M=null,A=null;if(u>0){y=h-r,x=w-i;const o=Math.sqrt(y*y+x*x);if(y/=o,x/=o,u>1){let t=y+c,n=x+f;const r=Math.sqrt(t*t+n*n);t/=r,n/=r;const o=Math.min(1/(t*y+n*x),e);t*=o,n*=o,M=-n,A=t}else M=-x,A=y;null!==M&&null!==A&&(d(r,i,s,M,A,t,n,g),m())}r=h,i=w,s=p,c=y,f=x,l=g}d(r,i,s,-f,c,t,n,l)}const w=a(n);return{vertexData:c,indexData:f,pathData:w}}function v(t,e){const n=16,r=1,o=2,{lineVertices:i,lineDescriptors:s}=t;let l=0,c=0;for(const a of s){const t=a.numberOfVertices-1;l+=4*t*2,c+=6*t*2}const f=new Float32Array(l*n),u=new Uint32Array(c);let h,m,d,w,p,g,y,x,M,A,v,I,F,V,D=0,b=0;function L(){u[b++]=D-8,u[b++]=D-7,u[b++]=D-6,u[b++]=D-7,u[b++]=D-5,u[b++]=D-6,u[b++]=D-4,u[b++]=D-3,u[b++]=D-2,u[b++]=D-3,u[b++]=D-1,u[b++]=D-2}function k(t,e,i,s,l,a,c,u,h,m,d,w,p,g){const y=D*n;let x=0;for(const n of[r,o])for(const r of[1,2,3,4])f[y+x++]=t,f[y+x++]=e,f[y+x++]=i,f[y+x++]=s,f[y+x++]=c,f[y+x++]=u,f[y+x++]=h,f[y+x++]=m,f[y+x++]=n,f[y+x++]=r,f[y+x++]=p,f[y+x++]=g,f[y+x++]=l/2,f[y+x++]=a/2,f[y+x++]=d/2,f[y+x++]=w/2,D++}function P(t,e){let n=M+v,r=A+I;const o=Math.sqrt(n*n+r*r);n/=o,r/=o;const i=M*n+A*r;n/=i,r/=i;let s=v+F,l=I+V;const a=Math.sqrt(s*s+l*l);s/=a,l/=a;const c=v*s+I*l;s/=c,l/=c,k(h,m,d,w,-r,n,p,g,y,x,-l,s,t,e),L()}function T(t,e,n,r,o,i){if(M=v,A=I,v=F,I=V,null==M&&null==A&&(M=v,A=I),null!=p&&null!=g){F=t-p,V=e-g;const n=Math.sqrt(F*F+V*V);F/=n,V/=n}null!=M&&null!=A&&P(o,i),h=p,m=g,d=y,w=x,p=t,g=e,y=n,x=r}function U(t,e){M=v,A=I,v=F,I=V,null==M&&null==A&&(M=v,A=I),null!=M&&null!=A&&P(t,e)}for(const a of s){h=null,m=null,d=null,w=null,p=null,g=null,y=null,x=null,M=null,A=null,v=null,I=null,F=null,V=null;const{firstTime:t,lastTime:e}=a;for(let n=0;n<a.numberOfVertices;n++){T(i[4*(a.startVertex+n)],i[4*(a.startVertex+n)+1],i[4*(a.startVertex+n)+2],i[4*(a.startVertex+n)+3],t,e)}U(t,e)}const j=a(e);return{vertexData:f,indexData:u,pathData:j}}function I(t,e,r=e.width,o=e.height,i=0,s=0){const l=e.pixels,a=r*o,c=2,f=new Float32Array(a*c),u=e.width,h=(t,e)=>t+i+(e+s)*u,m=(t,e)=>t+e*r;let d;if(null!=e.mask)if(r!==e.width||o!==e.height||0!==i||0!==s){d=new Uint8Array(a*c);const t=e.mask;for(let e=0;e<o;++e)for(let n=0;n<r;++n){const r=h(n,e),o=m(n,e);d[c*o]=t[c*r],d[c*o+1]=t[c*r+1]}}else d=e.mask;else d=new Uint8Array(a*c),d.fill(255);if("vector-uv"===t)for(let n=0;n<o;++n)for(let t=0;t<r;++t){const e=h(t,n),r=m(t,n);f[c*r]=l[0][e],f[c*r+1]=-l[1][e]}else if("vector-magdir"===t){const{cos:t,sin:e}=Math;for(let i=0;i<o;++i)for(let o=0;o<r;++o){const r=h(o,i),s=m(o,i),a=l[0][r],u=n(l[1][r]),d=t(u-Math.PI/2),w=e(u-Math.PI/2);f[c*s]=d*a,f[c*s+1]=w*a}}return{data:f,mask:d,width:r,height:o}}async function F(t,e,n,r,o,i){const a=performance.now(),f=l(e.spatialReference);if(!f){const s=await V(t,e,n,r,o,i);return has("esri-2d-profiler")&&c().info("I.7","loadImagery, early exit (ms)",Math.round(performance.now()-a)),has("esri-2d-profiler")&&c().info("I.9","Number of parts",1),s}const[u,h]=f.valid,m=h-u,d=Math.ceil(e.width/m),w=e.width/d,p=Math.round(n/d);let g=e.xmin;const y=[],x=performance.now();for(let l=0;l<d;l++){const n=new s({xmin:g,xmax:g+w,ymin:e.ymin,ymax:e.ymax,spatialReference:e.spatialReference});y.push(V(t,n,p,r,o,i)),g+=w}const M=await Promise.all(y);if(has("esri-2d-profiler")&&c().info("I.8","All calls to _fetchPart (ms)",Math.round(performance.now()-x)),has("esri-2d-profiler")&&c().info("I.9","Number of parts",M.length),1===M.length)return has("esri-2d-profiler")&&c().info("I.10","loadImagery, general exit without stitching back (ms)",Math.round(performance.now()-a)),M[0];const A={data:new Float32Array(n*r*2),mask:new Uint8Array(n*r),width:n,height:r};let v=0;for(const s of M){for(let t=0;t<s.height;t++)for(let e=0;e<s.width;e++)v+e>=n||(A.data[2*(t*n+v+e)]=s.data[2*(t*s.width+e)],A.data[2*(t*n+v+e)+1]=s.data[2*(t*s.width+e)+1],A.mask[t*n+v+e]=s.mask[t*s.width+e]);v+=s.width}return has("esri-2d-profiler")&&c().info("I.10","loadImagery, general exit (ms)",Math.round(performance.now()-a)),A}async function V(t,e,n,r,o,i){const s={requestProjectedLocalDirections:!0,signal:i};if(null!=o&&(s.timeExtent=o),"imagery"===t.type){await t.load({signal:i});const o=await t.internalFetchImage(e,n,r,s);if(null==o?.pixelData?.pixelBlock)return{data:new Float32Array(n*r*2),mask:new Uint8Array(n*r),width:n,height:r};return I(t.rasterInfo.dataType,o.pixelData.pixelBlock)}await t.load({signal:i});const l=await t.fetchPixels(e,n,r,s);if(null==l?.pixelBlock)return{data:new Float32Array(n*r*2),mask:new Uint8Array(n*r),width:n,height:r};return I(t.serviceRasterInfo.dataType,l.pixelBlock)}export{M as createAnimatedLinesData,w as createFlowFieldFromData,u as createFlowMesh,v as createParticlesMesh,A as createStreamlinesMesh,F as loadImagery,I as toFlowData,y as traceFlowPaths};
@@ -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{Seconds as t}from"../../../../core/time.js";function e(t){const e=new Float32Array(o(t));return o(t,e),e}function o(t,e){let o=0;e&&(e[o]=t.length),o++;for(const n of t){e&&(e[o]=n.stage),o++,e&&(e[o]=n.vertices.length),o++;for(const t of n.vertices)e&&(e[o]=t.x,e[o+1]=t.y,e[o+2]=t.time,e[o+3]=t.speed),o+=4}return o}function n(e){const o=[];let n=0;const r=e[n++];for(let s=0;s<r;s++){const r=e[n++],s=e[n++],c=[];for(let o=0;o<s;o++){const o={x:e[n++],y:e[n++],time:t(e[n++]),speed:e[n++]};c.push(o)}const f={stage:r,vertices:c};o.push(f)}return o}export{n as deserializeFlowPaths,e as serializeFlowPaths};
@@ -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 s{constructor(s,t){this.query=s,this.flowPaths=t}}export{s as AFlowResources};
@@ -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{throwIfAborted as t}from"../../../../../core/promiseUtils.js";import{timeExtentsEqual as r,setUniforms as a}from"../utils.js";import{PrimitiveType as e,DataType as s}from"../../../../webgl/enums.js";import o from"../../../../webgl/Texture.js";import{TextureDescriptor as i}from"../../../../webgl/TextureDescriptor.js";import{VertexArrayObject as n}from"../../../../webgl/VertexArrayObject.js";import{fromLayout as m}from"../../../../webgl/VertexAttributeLocations.js";import{VertexBuffer as l}from"../../../../webgl/VertexBuffer.js";import{VertexElementDescriptor as p}from"../../../../webgl/VertexElementDescriptor.js";class c{constructor(t){this._params=t,this.animated=!1}isCompatible(t){if(!(t instanceof c))return!1;if(!r(this._params.timeExtent,t._params.timeExtent))return!1;let a=!0;return a=a&&this._params.loadImagery===t._params.loadImagery,a=a&&this._params.color.kind===t._params.color.kind,a=a&&this._params.opacity.kind===t._params.opacity.kind,a}async load(r,a){const{extent:e,size:s}=r;t(a);const o=await this._params.loadImagery(e,s[0],s[1],this._params.timeExtent,a);return new _(o,{color:this._params.color,opacity:this._params.opacity})}render(t,r,s){const{context:o}=t,{program:i}=s;o.setFaceCullingEnabled(!1),o.setBlendingEnabled(!0),o.setBlendFunction(1,771),o.useProgram(i),i.setUniformMatrix3fv("u_dvsMat3",r.dvsMat3),o.bindTexture(s.texture,0),i.setUniform1i("u_texture",0),i.setUniform1f("u_Min",s.min),i.setUniform1f("u_Max",s.max),a(i,"color","vec4",this._params.color),a(i,"opacity","float",this._params.opacity),o.bindVAO(s.vertexArray),o.drawArrays(e.TRIANGLE_STRIP,0,4)}}const h=[new p("a_position",2,s.UNSIGNED_SHORT,0,8),new p("a_texcoord",2,s.UNSIGNED_SHORT,4,8)],f={vsPath:"raster/flow/imagery",fsPath:"raster/flow/imagery",locations:m(h)};class _{constructor(t,r){this._flowData=t,this._values=r}attach(t){const{context:r}=t,{width:a,height:e}=this._flowData,s=new l(r,h,new Uint16Array([0,0,0,1,a,0,1,1,0,e,0,0,a,e,1,0])),m=new n(r,s),p=[];"ramp"===this._values.color.kind&&p.push("vvColor"),"ramp"===this._values.opacity.kind&&p.push("vvOpacity");const c=t.getProgram(f,p);let _=1e6,d=-1e6;for(let o=0;o<e;o++)for(let t=0;t<a;t++)if(0!==this._flowData.mask[o*a+t]){const r=this._flowData.data[2*(o*a+t)],e=this._flowData.data[2*(o*a+t)+1],s=Math.sqrt(r*r+e*e);_=Math.min(_,s),d=Math.max(d,s)}const u=new Uint8Array(4*a*e);for(let o=0;o<e;o++)for(let t=0;t<a;t++)if(0!==this._flowData.mask[o*a+t]){const r=this._flowData.data[2*(o*a+t)],e=this._flowData.data[2*(o*a+t)+1],s=(Math.sqrt(r*r+e*e)-_)/(d-_);u[4*(o*a+t)]=255*s,u[4*(o*a+t)+1]=0,u[4*(o*a+t)+2]=0,u[4*(o*a+t)+3]=255}else u[4*(o*a+t)]=0,u[4*(o*a+t)+1]=0,u[4*(o*a+t)+2]=0,u[4*(o*a+t)+3]=0;const w=new i(a,e);w.internalFormat=6408,w.wrapMode=33071,w.flipped=!0;const x=new o(r,w,u);this.vertexArray=m,this.program=c,this.texture=x,this.min=_,this.max=d,this._flowData=null}detach(){this.vertexArray.dispose(),this.texture.dispose()}get ready(){return this.program.compiled}}export{c as Imagery,_ as ImageryResources};
5
+ import{throwIfAborted as t}from"../../../../../core/promiseUtils.js";import{timeExtentsEqual as r,setUniforms as a}from"../utils.js";import{AFlowResources as e}from"./AFlowResources.js";import{PrimitiveType as s,DataType as o}from"../../../../webgl/enums.js";import i from"../../../../webgl/Texture.js";import{TextureDescriptor as n}from"../../../../webgl/TextureDescriptor.js";import{VertexArrayObject as m}from"../../../../webgl/VertexArrayObject.js";import{fromLayout as l}from"../../../../webgl/VertexAttributeLocations.js";import{VertexBuffer as p}from"../../../../webgl/VertexBuffer.js";import{VertexElementDescriptor as c}from"../../../../webgl/VertexElementDescriptor.js";class h{constructor(t){this._params=t,this.supportsContinuation=!1,this.slideoutDuration=0,this.animated=!1}isCompatible(t){if(!(t instanceof h))return!1;if(!r(this._params.timeExtent,t._params.timeExtent))return!1;let a=!0;return a=a&&this._params.loadImagery===t._params.loadImagery,a=a&&this._params.color.kind===t._params.color.kind,a=a&&this._params.opacity.kind===t._params.opacity.kind,a}async load(r,a,e){const{extent:s,size:o}=r;t(e);const i=await this._params.loadImagery(s,o[0],o[1],this._params.timeExtent,e);return new d(i,r,[],{color:this._params.color,opacity:this._params.opacity})}render(t,r,e){const{context:o}=t,{program:i}=e;o.setFaceCullingEnabled(!1),o.setBlendingEnabled(!0),o.setBlendFunction(1,771),o.useProgram(i),i.setUniformMatrix3fv("u_dvsMat3",r.dvsMat3),o.bindTexture(e.texture,0),i.setUniform1i("u_texture",0),i.setUniform1f("u_Min",e.min),i.setUniform1f("u_Max",e.max),a(i,"color","vec4",this._params.color),a(i,"opacity","float",this._params.opacity),o.bindVAO(e.vertexArray),o.drawArrays(s.TRIANGLE_STRIP,0,4)}}const f=[new c("a_position",2,o.UNSIGNED_SHORT,0,8),new c("a_texcoord",2,o.UNSIGNED_SHORT,4,8)],u={vsPath:"raster/flow/imagery",fsPath:"raster/flow/imagery",locations:l(f)};class d extends e{constructor(t,r,a,e){super(r,a),this._flowData=t,this._values=e}attach(t){const{context:r}=t,{width:a,height:e}=this._flowData,s=new p(r,f,new Uint16Array([0,0,0,1,a,0,1,1,0,e,0,0,a,e,1,0])),o=new m(r,s),l=[];"ramp"===this._values.color.kind&&l.push("vvColor"),"ramp"===this._values.opacity.kind&&l.push("vvOpacity");const c=t.getProgram(u,l);let h=1e6,d=-1e6;for(let i=0;i<e;i++)for(let t=0;t<a;t++)if(0!==this._flowData.mask[i*a+t]){const r=this._flowData.data[2*(i*a+t)],e=this._flowData.data[2*(i*a+t)+1],s=Math.sqrt(r*r+e*e);h=Math.min(h,s),d=Math.max(d,s)}const _=new Uint8Array(4*a*e);for(let i=0;i<e;i++)for(let t=0;t<a;t++)if(0!==this._flowData.mask[i*a+t]){const r=this._flowData.data[2*(i*a+t)],e=this._flowData.data[2*(i*a+t)+1],s=(Math.sqrt(r*r+e*e)-h)/(d-h);_[4*(i*a+t)]=255*s,_[4*(i*a+t)+1]=0,_[4*(i*a+t)+2]=0,_[4*(i*a+t)+3]=255}else _[4*(i*a+t)]=0,_[4*(i*a+t)+1]=0,_[4*(i*a+t)+2]=0,_[4*(i*a+t)+3]=0;const w=new n(a,e);w.internalFormat=6408,w.wrapMode=33071,w.flipped=!0;const x=new i(r,w,_);this.vertexArray=o,this.program=c,this.texture=x,this.min=h,this.max=d,this._flowData=null}detach(){this.vertexArray.dispose(),this.texture.dispose()}get ready(){return this.program.compiled}}export{h as Imagery,d as ImageryResources};
@@ -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{throwIfAborted as t}from"../../../../../core/promiseUtils.js";import{areStreamlinesCompatible as e,setUniforms as a}from"../utils.js";import{BufferObject as r}from"../../../../webgl/BufferObject.js";import{PrimitiveType as s,DataType as i}from"../../../../webgl/enums.js";import{VertexArrayObject as o}from"../../../../webgl/VertexArrayObject.js";import{fromLayout as n}from"../../../../webgl/VertexAttributeLocations.js";import{VertexBuffer as m}from"../../../../webgl/VertexBuffer.js";import{VertexElementDescriptor as p}from"../../../../webgl/VertexElementDescriptor.js";class l{constructor(t){this._params=t}get animated(){return this._params.flowSpeed>0}isCompatible(t){return t instanceof l&&e(this._params,t._params)}async load(e,a){const{extent:r,size:s}=e;t(a);const i=await this._params.loadImagery(r,s[0],s[1],this._params.timeExtent,a),{vertexData:o,indexData:n}=await this._params.createFlowMesh("Particles",this._params.simulationSettings,i,a);return new c(o,n,{color:this._params.color,opacity:this._params.opacity,size:this._params.size})}render(t,e,r){const{context:o}=t,{program:n}=r;o.setFaceCullingEnabled(!1),o.setBlendingEnabled(!0),o.setBlendFunction(1,771),o.useProgram(n),n.setUniform1f("u_time",e.time),n.setUniform1f("u_trailLength",this._params.trailLength),n.setUniform1f("u_flowSpeed",this._params.flowSpeed),n.setUniform1f("u_featheringSize",this._params.featheringSize),n.setUniform1f("u_featheringOffset",this._params.featheringOffset),n.setUniform1f("u_introFade",this._params.introFade?1:0),n.setUniform1f("u_fadeToZero",this._params.fadeToZero?1:0),n.setUniform1f("u_decayRate",this._params.decayRate),n.setUniformMatrix3fv("u_dvsMat3",e.dvsMat3),n.setUniformMatrix3fv("u_displayViewMat3",e.displayViewMat3),a(n,"color","vec4",this._params.color),a(n,"opacity","float",this._params.opacity),a(n,"size","float",this._params.size),o.bindVAO(r.vertexArray),o.drawElements(s.TRIANGLES,r.indexCount,i.UNSIGNED_INT,0)}}const f=[new p("a_xyts0",4,i.FLOAT,0,64),new p("a_xyts1",4,i.FLOAT,16,64),new p("a_typeIdDurationSeed",4,i.FLOAT,32,64),new p("a_extrudeInfo",4,i.FLOAT,48,64)],h={vsPath:"raster/flow/particles",fsPath:"raster/flow/particles",locations:n(f)};class c{constructor(t,e,a){this._vertexData=t,this._indexData=e,this._values=a}attach(t){const{context:e}=t,a=new m(e,f,this._vertexData),s=r.createIndex(e,35044,this._indexData),i=new o(e,a,s),n=[];"ramp"===this._values.color.kind&&n.push("vvColor"),"ramp"===this._values.opacity.kind&&n.push("vvOpacity"),"ramp"===this._values.size.kind&&n.push("vvSize");const p=t.getProgram(h,n);this.vertexArray=i,this.program=p,this.indexCount=this._indexData.length,this._vertexData=null,this._indexData=null}detach(){this.vertexArray.dispose()}get ready(){return this.program.compiled}}export{l as Particles,c as ParticlesResources};
5
+ import{throwIfAborted as t}from"../../../../../core/promiseUtils.js";import{deserializeFlowPaths as e}from"../flowPathsIO.js";import{areStreamlinesCompatible as a,getPositions as s,setUniforms as r}from"../utils.js";import{AFlowResources as i}from"./AFlowResources.js";import{BufferObject as o}from"../../../../webgl/BufferObject.js";import{PrimitiveType as n,DataType as m}from"../../../../webgl/enums.js";import{VertexArrayObject as p}from"../../../../webgl/VertexArrayObject.js";import{fromLayout as l}from"../../../../webgl/VertexAttributeLocations.js";import{VertexBuffer as f}from"../../../../webgl/VertexBuffer.js";import{VertexElementDescriptor as h}from"../../../../webgl/VertexElementDescriptor.js";class c{constructor(t){this._params=t,this.supportsContinuation=!1,this.slideoutDuration=0}get animated(){return this._params.flowSpeed>0}isCompatible(t){return t instanceof c&&a(this._params,t._params)}async load(a,r,i){const{extent:o,size:n}=a;t(i);const m=await this._params.loadImagery(o,n[0],n[1],this._params.timeExtent,i),p=r&&this._params.simulationSettings.continuous?s(r.flowPaths,r.query,a,this._params.flowSpeed):[],{vertexData:l,indexData:f,pathData:h}=await this._params.createFlowMesh("Particles",this._params.simulationSettings,m,{positions:p},i),c=e(h);return new d(l,f,a,c,{color:this._params.color,opacity:this._params.opacity,size:this._params.size})}render(t,e,a){const{context:s}=t,{program:i}=a;s.setFaceCullingEnabled(!1),s.setBlendingEnabled(!0),s.setBlendFunction(1,771),s.useProgram(i),i.setUniform1f("u_time",e.time),i.setUniform1f("u_displayOpacity",e.displayOpacity),i.setUniform1f("u_trailLength",this._params.trailLength),i.setUniform1f("u_flowSpeed",this._params.flowSpeed),i.setUniform1f("u_featheringSize",this._params.featheringSize),i.setUniform1f("u_featheringOffset",this._params.featheringOffset),i.setUniform1f("u_introFade",this._params.introFade?1:0),i.setUniform1f("u_fadeToZero",this._params.fadeToZero?1:0),i.setUniform1f("u_decayRate",this._params.decayRate),i.setUniformMatrix3fv("u_dvsMat3",e.dvsMat3),i.setUniformMatrix3fv("u_displayViewMat3",e.displayViewMat3),r(i,"color","vec4",this._params.color),r(i,"opacity","float",this._params.opacity),r(i,"size","float",this._params.size),s.bindVAO(a.vertexArray),s.drawElements(n.TRIANGLES,a.indexCount,m.UNSIGNED_INT,0)}}const _=[new h("a_xyts0",4,m.FLOAT,0,64),new h("a_xyts1",4,m.FLOAT,16,64),new h("a_typeIdDurationSeed",4,m.FLOAT,32,64),new h("a_extrudeInfo",4,m.FLOAT,48,64)],u={vsPath:"raster/flow/particles",fsPath:"raster/flow/particles",locations:l(_)};class d extends i{constructor(t,e,a,s,r){super(a,s),this._vertexData=t,this._indexData=e,this._values=r}attach(t){const{context:e}=t,a=new f(e,_,this._vertexData),s=o.createIndex(e,35044,this._indexData),r=new p(e,a,s),i=[];"ramp"===this._values.color.kind&&i.push("vvColor"),"ramp"===this._values.opacity.kind&&i.push("vvOpacity"),"ramp"===this._values.size.kind&&i.push("vvSize");const n=t.getProgram(u,i);this.vertexArray=r,this.program=n,this.indexCount=this._indexData.length,this._vertexData=null,this._indexData=null}detach(){this.vertexArray.dispose()}get ready(){return this.program.compiled}}export{c as Particles,d as ParticlesResources};
@@ -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
- class t{constructor(t){this._styles=t}get animated(){return this._styles.reduce((t,s)=>t||s.animated,!1)}isCompatible(s){if(!(s instanceof t))return!1;if(this._styles.length!==s._styles.length)return!1;const e=this._styles.length;for(let t=0;t<e;t++)if(!this._styles[t].isCompatible(s._styles[t]))return!1;return!0}async load(t,e){const r=await Promise.all(this._styles.map(s=>s.load(t,e)));return new s(r)}render(t,s,e){for(let r=0;r<this._styles.length;r++)this._styles[r].render(t,s,e.resources[r])}}class s{constructor(t){this.resources=t}attach(t){for(const s of this.resources)s.attach(t)}detach(){for(const t of this.resources)t.detach()}get ready(){return this.resources.reduce((t,s)=>t&&s.ready,!0)}}export{t as Stack,s as StackResources};
5
+ import{AFlowResources as s}from"./AFlowResources.js";class t{constructor(s){this._styles=s,this.supportsContinuation=!1,this.slideoutDuration=0}get animated(){return this._styles.reduce((s,t)=>s||t.animated,!1)}isCompatible(s){if(!(s instanceof t))return!1;if(this._styles.length!==s._styles.length)return!1;const e=this._styles.length;for(let t=0;t<e;t++)if(!this._styles[t].isCompatible(s._styles[t]))return!1;return!0}async load(s,t,r){const o=await Promise.all(this._styles.map(t=>t.load(s,null,r)));return new e(o,s,[])}render(s,t,e){for(let r=0;r<this._styles.length;r++)this._styles[r].render(s,t,e.resources[r])}}class e extends s{constructor(s,t,e){super(t,e),this.resources=s}attach(s){for(const t of this.resources)t.attach(s)}detach(){for(const s of this.resources)s.detach()}get ready(){return this.resources.reduce((s,t)=>s&&t.ready,!0)}}export{t as Stack,e as StackResources};
@@ -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{throwIfAborted as t}from"../../../../../core/promiseUtils.js";import{areStreamlinesCompatible as e,setUniforms as a}from"../utils.js";import{BufferObject as s}from"../../../../webgl/BufferObject.js";import{PrimitiveType as r,DataType as i}from"../../../../webgl/enums.js";import{VertexArrayObject as o}from"../../../../webgl/VertexArrayObject.js";import{fromLayout as n}from"../../../../webgl/VertexAttributeLocations.js";import{VertexBuffer as m}from"../../../../webgl/VertexBuffer.js";import{VertexElementDescriptor as p}from"../../../../webgl/VertexElementDescriptor.js";class l{constructor(t){this._params=t}get animated(){return this._params.flowSpeed>0}isCompatible(t){return t instanceof l&&e(this._params,t._params)}async load(e,a){const{extent:s,size:r}=e;t(a);const i=await this._params.loadImagery(s,r[0],r[1],this._params.timeExtent,a),{vertexData:o,indexData:n}=await this._params.createFlowMesh("Streamlines",this._params.simulationSettings,i,a);return new _(o,n,{color:this._params.color,opacity:this._params.opacity,size:this._params.size})}render(t,e,s){const{context:o}=t,{program:n}=s;o.setFaceCullingEnabled(!1),o.setBlendingEnabled(!0),o.setBlendFunction(1,771),o.useProgram(n),n.setUniform1f("u_time",e.time),n.setUniform1f("u_trailLength",this._params.trailLength),n.setUniform1f("u_flowSpeed",this._params.flowSpeed),n.setUniform1f("u_featheringSize",this._params.featheringSize),n.setUniform1f("u_featheringOffset",this._params.featheringOffset),n.setUniform1f("u_introFade",this._params.introFade?1:0),n.setUniform1f("u_fadeToZero",this._params.fadeToZero?1:0),n.setUniform1f("u_decayRate",this._params.decayRate),n.setUniformMatrix3fv("u_dvsMat3",e.dvsMat3),n.setUniformMatrix3fv("u_displayViewMat3",e.displayViewMat3),a(n,"color","vec4",this._params.color),a(n,"opacity","float",this._params.opacity),a(n,"size","float",this._params.size),o.bindVAO(s.vertexArray),o.drawElements(r.TRIANGLES,s.indexCount,i.UNSIGNED_INT,0)}}const f=[new p("a_positionAndSide",3,i.FLOAT,0,36),new p("a_timeInfo",3,i.FLOAT,12,36),new p("a_extrude",2,i.FLOAT,24,36),new p("a_speed",1,i.FLOAT,32,36)],h={vsPath:"raster/flow/streamlines",fsPath:"raster/flow/streamlines",locations:n(f)};class _{constructor(t,e,a){this._vertexData=t,this._indexData=e,this._values=a}attach(t){const{context:e}=t,a=new m(e,f,this._vertexData),r=s.createIndex(e,35044,this._indexData),i=new o(e,a,r),n=[];"ramp"===this._values.color.kind&&n.push("vvColor"),"ramp"===this._values.opacity.kind&&n.push("vvOpacity"),"ramp"===this._values.size.kind&&n.push("vvSize");const p=t.getProgram(h,n);this.vertexArray=i,this.program=p,this.indexCount=this._indexData.length,this._vertexData=null,this._indexData=null}detach(){this.vertexArray.dispose()}get ready(){return this.program.compiled}}export{l as default};
5
+ import{throwIfAborted as t}from"../../../../../core/promiseUtils.js";import{deserializeFlowPaths as e}from"../flowPathsIO.js";import{areStreamlinesCompatible as s,getPositions as a,setUniforms as i}from"../utils.js";import{AFlowResources as r}from"./AFlowResources.js";import{BufferObject as o}from"../../../../webgl/BufferObject.js";import{PrimitiveType as n,DataType as m}from"../../../../webgl/enums.js";import{VertexArrayObject as p}from"../../../../webgl/VertexArrayObject.js";import{fromLayout as f}from"../../../../webgl/VertexAttributeLocations.js";import{VertexBuffer as l}from"../../../../webgl/VertexBuffer.js";import{VertexElementDescriptor as h}from"../../../../webgl/VertexElementDescriptor.js";class u{constructor(t){this._params=t,this.supportsContinuation=!1,this.slideoutDuration=20}get animated(){return this._params.flowSpeed>0}isCompatible(t){return t instanceof u&&s(this._params,t._params)}async load(s,i,r){const{extent:o,size:n}=s;t(r);const m=await this._params.loadImagery(o,n[0],n[1],this._params.timeExtent,r),p=i&&this._params.simulationSettings.continuous?a(i.flowPaths,i.query,s,this._params.flowSpeed):[],{vertexData:f,indexData:l,pathData:h}=await this._params.createFlowMesh("Streamlines",this._params.simulationSettings,m,{positions:p},r),u=e(h);return new c(f,l,s,u,{color:this._params.color,opacity:this._params.opacity,size:this._params.size})}render(t,e,s){const{context:a}=t,{program:r}=s;a.setFaceCullingEnabled(!1),a.setBlendingEnabled(!0),a.setBlendFunction(1,771),a.useProgram(r),r.setUniform1f("u_time",e.time-s.query.time),r.setUniform1f("u_startTime",e.startTime-s.query.time),r.setUniform1f("u_endTime",e.endTime-s.query.time),r.setUniform1f("u_displayOpacity",e.displayOpacity),r.setUniform1f("u_trailLength",this._params.trailLength),r.setUniform1f("u_flowSpeed",this._params.flowSpeed),r.setUniform1f("u_featheringSize",this._params.featheringSize),r.setUniform1f("u_featheringOffset",this._params.featheringOffset),r.setUniform1f("u_introFade",this._params.introFade?1:0),r.setUniform1f("u_fadeToZero",this._params.fadeToZero?1:0),r.setUniform1f("u_decayRate",this._params.decayRate),r.setUniformMatrix3fv("u_dvsMat3",e.dvsMat3),r.setUniformMatrix3fv("u_displayViewMat3",e.displayViewMat3),i(r,"color","vec4",this._params.color),i(r,"opacity","float",this._params.opacity),i(r,"size","float",this._params.size),a.bindVAO(s.vertexArray),a.drawElements(n.TRIANGLES,s.indexCount,m.UNSIGNED_INT,0)}}const _=[new h("a_positionAndSide",3,m.FLOAT,0,36),new h("a_timeInfo",3,m.FLOAT,12,36),new h("a_extrude",2,m.FLOAT,24,36),new h("a_speed",1,m.FLOAT,32,36)],d={vsPath:"raster/flow/streamlines",fsPath:"raster/flow/streamlines",locations:f(_)};class c extends r{constructor(t,e,s,a,i){super(s,a),this._vertexData=t,this._indexData=e,this._values=i}attach(t){const{context:e}=t,s=new l(e,_,this._vertexData),a=o.createIndex(e,35044,this._indexData),i=new p(e,s,a),r=[];"ramp"===this._values.color.kind&&r.push("vvColor"),"ramp"===this._values.opacity.kind&&r.push("vvOpacity"),"ramp"===this._values.size.kind&&r.push("vvSize");const n=t.getProgram(d,r);this.vertexArray=i,this.program=n,this.indexCount=this._indexData.length,this._vertexData=null,this._indexData=null}detach(){this.vertexArray.dispose()}get ready(){return this.program.compiled}}export{u as default};
@@ -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{pt2px as e}from"../../../../core/screenUtils.js";import{Seconds as t}from"../../../../core/time.js";import{isFlowPathBuffer as n,valuesPerFlowVertex as i}from"../../../3d/support/flow/loadUtils.js";function o(t){const n=s(l(t)),i=n,o=!0,r=Math.max(n/2,5),a=Math.round(e(t.maxPathLength)/r)+1,u=10,{density:c}=t;return{smoothing:e(t.smoothing),interpolate:!0,velocityScale:"flow-from"===t.flowRepresentation?1:-1,verticesPerLine:a,minSpeedThreshold:.001,segmentLength:r,maxTurnAngle:1,collisions:o,lineCollisionWidth:i,lineSpacing:u,density:c,onlyForwardTracing:!0,wrapAround:!1}}function s(e){return"constant"===e.kind?e.value[0]:e.values[e.values.length-1]}function r(e){const t=e.toRgba();return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function a(e){return{kind:"constant",value:[.1,.1,.1,1]}}function l(t){if(!t.hasVisualVariables("size"))return{kind:"constant",value:[e(t.trailWidth)]};const n=t.getVisualVariablesForType("size")[0],i=[],o=[];let s;if(n.stops){for(const t of n.stops)i.push(t.value),o.push(e(t.size));s=n.stops.length}else i.push(n.minDataValue,n.maxDataValue),o.push(e(n.minSize),e(n.maxSize)),s=2;return{kind:"ramp",stops:i,values:o,count:s}}function u(e){if(!e.hasVisualVariables("color"))return{kind:"constant",value:r(e.color)};const t=e.getVisualVariablesForType("color")[0],n=[],i=[];for(const o of t.stops)n.push(o.value),Array.prototype.push.apply(i,r(o.color));return{kind:"ramp",stops:n,values:i,count:t.stops.length}}function c(e){if(!e.hasVisualVariables("opacity"))return{kind:"constant",value:[1]};const t=e.getVisualVariablesForType("opacity")[0],n=[],i=[];for(const o of t.stops)n.push(o.value),i.push(o.opacity);return{kind:"ramp",stops:n,values:i,count:t.stops.length}}function m(e,t,n,i){switch(t){case"int":e.setUniform1iv(n,i);break;case"float":e.setUniform1fv(n,i);break;case"vec2":e.setUniform2fv(n,i);break;case"vec3":e.setUniform3fv(n,i);break;case"vec4":e.setUniform4fv(n,i)}}function p(e,t,n,i){"constant"===i.kind?m(e,n,`u_${t}`,i.value):(m(e,"float",`u_${t}_stops`,i.stops),m(e,n,`u_${t}_values`,i.values),e.setUniform1i(`u_${t}_count`,i.count))}function f(e,t){let n=!0;return n=n&&e.collisions===t.collisions,n=n&&e.density===t.density,n=n&&e.interpolate===t.interpolate,n=n&&e.lineCollisionWidth===t.lineCollisionWidth,n=n&&e.lineSpacing===t.lineSpacing,n=n&&e.maxTurnAngle===t.maxTurnAngle,n=n&&e.minSpeedThreshold===t.minSpeedThreshold,n=n&&e.segmentLength===t.segmentLength,n=n&&e.smoothing===t.smoothing,n=n&&e.velocityScale===t.velocityScale,n=n&&e.verticesPerLine===t.verticesPerLine,n}function h(e,t){return e===t||null!=e&&null!=t&&e.equals(t)}function d(e,t){if(!f(e.simulationSettings,t.simulationSettings))return!1;if(!h(e.timeExtent,t.timeExtent))return!1;let n=!0;return n=n&&e.loadImagery===t.loadImagery,n=n&&e.createFlowMesh===t.createFlowMesh,n=n&&e.color.kind===t.color.kind,n=n&&e.opacity.kind===t.opacity.kind,n=n&&e.size.kind===t.size.kind,n}function x(e,t,n,i){return e/=n.size[0],t=1-(t/=n.size[1]),e*=n.extent.xmax-n.extent.xmin,t*=n.extent.ymax-n.extent.ymin,e+=n.extent.xmin,t+=n.extent.ymin,e-=i.extent.xmin,t-=i.extent.ymin,e/=i.extent.xmax-i.extent.xmin,t=1-(t/=i.extent.ymax-i.extent.ymin),{x:e*=i.size[0],y:t*=i.size[1]}}function g(e,o,s,r){if(0===e.length)return[];const a=[],l=s.time-o.time,u=n(e),c=u?i(e[0].hasMagnitude):1,m=u?({vertices:e},n)=>{const i=e,o=n*c;return{x:i[o],y:i[o+1],time:t(i[o+2]),speed:0}}:({vertices:e},t)=>e[t];for(const n of e){const{stage:e,vertices:i}=n;if(2===e)continue;const u=i.length/c,p=m(n,0),f=p.time,h=(l*r-f)%(m(n,u-1).time-f)+f;let d=p.x,g=p.y,v=p.time;for(let o=1;o<u&&v<h;o++){const e=m(n,o),i=Math.min(e.time,h)-v,s=e.time-v;d+=(e.x-d)*(i/s),g+=(e.y-g)*(i/s),v=t(v+i)}a.push(x(d,g,o,s))}return a}export{d as areStreamlinesCompatible,x as changeQuery,u as getColor,o as getFlowSimulationSettings,a as getForegroundColor,s as getMax,c as getOpacity,g as getPositions,l as getSize,m as setUniform,p as setUniforms,f as simulationSettingsEqual,h as timeExtentsEqual,r as toRgba};
5
+ import{pt2px as e}from"../../../../core/screenUtils.js";import{Seconds as t}from"../../../../core/time.js";import{isFlowPathBuffer as n,valuesPerFlowVertex as i}from"../../../3d/support/flow/loadUtils.js";function o(t){const n=s(l(t)),i=n,o=!0,r=Math.max(n/2,5),a=Math.round(e(t.maxPathLength)/r)+1,u=10,{density:c}=t,m=e(t.smoothing),p="flow-from"===t.flowRepresentation?1:-1,f=.001,h=1,d=!0,g=!1,{continuous:x,perturb:v}=t;return{smoothing:m,interpolate:d,velocityScale:p,verticesPerLine:a,minSpeedThreshold:f,segmentLength:r,maxTurnAngle:h,collisions:o,lineCollisionWidth:i,lineSpacing:u,density:c,onlyForwardTracing:g,continuous:x,perturb:v,wrapAround:!1}}function s(e){return"constant"===e.kind?e.value[0]:e.values[e.values.length-1]}function r(e){const t=e.toRgba();return[t[0]/255,t[1]/255,t[2]/255,t[3]]}function a(e){return{kind:"constant",value:[.1,.1,.1,1]}}function l(t){if(!t.hasVisualVariables("size"))return{kind:"constant",value:[e(t.trailWidth)]};const n=t.getVisualVariablesForType("size")[0],i=[],o=[];let s;if(n.stops){for(const t of n.stops)i.push(t.value),o.push(e(t.size));s=n.stops.length}else i.push(n.minDataValue,n.maxDataValue),o.push(e(n.minSize),e(n.maxSize)),s=2;return{kind:"ramp",stops:i,values:o,count:s}}function u(e){if(!e.hasVisualVariables("color"))return{kind:"constant",value:r(e.color)};const t=e.getVisualVariablesForType("color")[0],n=[],i=[];for(const o of t.stops)n.push(o.value),Array.prototype.push.apply(i,r(o.color));return{kind:"ramp",stops:n,values:i,count:t.stops.length}}function c(e){if(!e.hasVisualVariables("opacity"))return{kind:"constant",value:[1]};const t=e.getVisualVariablesForType("opacity")[0],n=[],i=[];for(const o of t.stops)n.push(o.value),i.push(o.opacity);return{kind:"ramp",stops:n,values:i,count:t.stops.length}}function m(e,t,n,i){switch(t){case"int":e.setUniform1iv(n,i);break;case"float":e.setUniform1fv(n,i);break;case"vec2":e.setUniform2fv(n,i);break;case"vec3":e.setUniform3fv(n,i);break;case"vec4":e.setUniform4fv(n,i)}}function p(e,t,n,i){"constant"===i.kind?m(e,n,`u_${t}`,i.value):(m(e,"float",`u_${t}_stops`,i.stops),m(e,n,`u_${t}_values`,i.values),e.setUniform1i(`u_${t}_count`,i.count))}function f(e,t){let n=!0;return n=n&&e.collisions===t.collisions,n=n&&e.density===t.density,n=n&&e.interpolate===t.interpolate,n=n&&e.lineCollisionWidth===t.lineCollisionWidth,n=n&&e.lineSpacing===t.lineSpacing,n=n&&e.maxTurnAngle===t.maxTurnAngle,n=n&&e.minSpeedThreshold===t.minSpeedThreshold,n=n&&e.segmentLength===t.segmentLength,n=n&&e.smoothing===t.smoothing,n=n&&e.velocityScale===t.velocityScale,n=n&&e.verticesPerLine===t.verticesPerLine,n=n&&e.onlyForwardTracing===t.onlyForwardTracing,n=n&&e.continuous===t.continuous,n=n&&h(e.perturb,t.perturb),n}function h(e,t){return!e&&!t||!(e&&!t||!e&&t)&&(e?.rotation===t?.rotation&&e?.scale===t?.scale)}function d(e,t){return e===t||null!=e&&null!=t&&e.equals(t)}function g(e,t){if(!f(e.simulationSettings,t.simulationSettings))return!1;if(!d(e.timeExtent,t.timeExtent))return!1;let n=!0;return n=n&&e.loadImagery===t.loadImagery,n=n&&e.createFlowMesh===t.createFlowMesh,n=n&&e.color.kind===t.color.kind,n=n&&e.opacity.kind===t.opacity.kind,n=n&&e.size.kind===t.size.kind,n}function x(e,t,n,i){return e/=n.size[0],t=1-(t/=n.size[1]),e*=n.extent.xmax-n.extent.xmin,t*=n.extent.ymax-n.extent.ymin,e+=n.extent.xmin,t+=n.extent.ymin,e-=i.extent.xmin,t-=i.extent.ymin,e/=i.extent.xmax-i.extent.xmin,t=1-(t/=i.extent.ymax-i.extent.ymin),{x:e*=i.size[0],y:t*=i.size[1]}}function v(e,o,s,r){if(0===e.length)return[];const a=[],l=s.time-o.time,u=n(e),c=u?i(e[0].hasMagnitude):1,m=u?({vertices:e},n)=>{const i=e,o=n*c;return{x:i[o],y:i[o+1],time:t(i[o+2]),speed:0}}:({vertices:e},t)=>e[t];for(const n of e){const{stage:e,vertices:i}=n;if(2===e)continue;const u=i.length/c,p=m(n,0),f=p.time,h=(l*r-f)%(m(n,u-1).time-f)+f;let d=p.x,g=p.y,v=p.time;for(let o=1;o<u&&v<h;o++){const e=m(n,o),i=Math.min(e.time,h)-v,s=e.time-v;d+=(e.x-d)*(i/s),g+=(e.y-g)*(i/s),v=t(v+i)}a.push(x(d,g,o,s))}return a}const y=36e5,k=3600;export{g as areStreamlinesCompatible,x as changeQuery,u as getColor,o as getFlowSimulationSettings,a as getForegroundColor,s as getMax,c as getOpacity,v as getPositions,l as getSize,y as longSafetyTime,m as setUniform,p as setUniforms,k as shortMarginTime,f as simulationSettingsEqual,d as timeExtentsEqual,r as toRgba};