@arcgis/core 5.1.0-next.110 → 5.1.0-next.112

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 (312) hide show
  1. package/analysis/ElevationProfile/ElevationProfileGroup.d.ts +3 -0
  2. package/analysis/ElevationProfile/ElevationProfileLineQuery.d.ts +1 -0
  3. package/analysis/ElevationProfileAnalysis.d.ts +5 -0
  4. package/analysis/ShadowCast/DiscreteOptions.d.ts +2 -2
  5. package/analysis/ShadowCast/TotalDurationOptions.d.ts +13 -4
  6. package/analysis/ShadowCastAnalysis.d.ts +8 -5
  7. package/arcade/Dictionary.js +1 -1
  8. package/arcade/Feature.js +1 -1
  9. package/arcade/Pixel.js +1 -1
  10. package/arcade/Voxel.js +1 -1
  11. package/arcade/arcade.js +1 -1
  12. package/arcade/arcadeAsyncRuntime.js +1 -1
  13. package/arcade/arcadeCompiler.js +1 -1
  14. package/arcade/arcadeEnvironment.js +1 -1
  15. package/arcade/arcadeRuntime.js +1 -1
  16. package/arcade/compilerUtils.js +1 -1
  17. package/arcade/containerUtils.js +1 -1
  18. package/arcade/debug.js +1 -1
  19. package/arcade/enum.js +1 -1
  20. package/arcade/executionError.js +1 -1
  21. package/arcade/functions/convertdirection.js +1 -1
  22. package/arcade/functions/date.js +1 -1
  23. package/arcade/functions/feature.js +1 -1
  24. package/arcade/functions/featuresetbase.js +1 -1
  25. package/arcade/functions/featuresetgeom.js +1 -1
  26. package/arcade/functions/featuresetstats.js +1 -1
  27. package/arcade/functions/featuresetstring.js +1 -1
  28. package/arcade/functions/geomasync.js +1 -1
  29. package/arcade/functions/geometry.js +1 -1
  30. package/arcade/functions/geomsync.js +1 -1
  31. package/arcade/functions/knowledgegraph.js +1 -1
  32. package/arcade/functions/maths.js +1 -1
  33. package/arcade/functions/stats.js +1 -1
  34. package/arcade/functions/string.js +1 -1
  35. package/arcade/functions/track.js +1 -1
  36. package/arcade/geometry/constructors.js +1 -1
  37. package/arcade/geometry/functions.js +1 -1
  38. package/arcade/geometry/unitConversion.js +1 -1
  39. package/arcade.js +1 -1
  40. package/assets/components/assets/icon/returnToDefault16.json +1 -0
  41. package/assets/components/assets/icon/returnToDefault24.json +1 -0
  42. package/assets/components/assets/icon/returnToDefault32.json +1 -0
  43. package/assets/components/assets/icon/reviewMap16.json +1 -0
  44. package/assets/components/assets/icon/reviewMap24.json +1 -0
  45. package/assets/components/assets/icon/reviewMap32.json +1 -0
  46. package/assets/esri/core/workers/RemoteClient.js +1 -1
  47. package/assets/esri/core/workers/chunks/03babc21d1781142a974.js +1 -0
  48. package/assets/esri/core/workers/chunks/08efd64acdfe46985293.js +1 -0
  49. package/assets/esri/core/workers/chunks/0b76534b60014d74ecb9.js +1 -0
  50. package/assets/esri/core/workers/chunks/{622bdd1b9d5d292ec12b.js → 0e6a388d51d9dbae46ba.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{34e026549ba2822b8ebd.js → 13d43a0683c42b94feb6.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{4f9ea7544b2d0e88a05c.js → 13f0e08de2dfab07d212.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{35bbd63319d8aa9f31cc.js → 169c9eb6cd000e067c4b.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{d4014213c476bf8099af.js → 18c4207b1cb0777560ba.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{58c15c42e6a618386a2f.js → 1c8c8050d60205cf2156.js} +1 -1
  56. package/assets/esri/core/workers/chunks/1f537c05c2f643acb5e7.js +1 -0
  57. package/assets/esri/core/workers/chunks/241aeff6afd074ce105b.js +1 -0
  58. package/assets/esri/core/workers/chunks/{ddebc1dc10a2d207389f.js → 282f3d364411efac7b80.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{d6d5ee9d0d998d730f81.js → 2bd334f9ab89334df713.js} +1 -1
  60. package/assets/esri/core/workers/chunks/340c68d09d2e8bef6727.js +2 -0
  61. package/assets/esri/core/workers/chunks/{17604cbd4d24158e2c16.js → 3835097520296b0517af.js} +1 -1
  62. package/assets/esri/core/workers/chunks/481dc7503587972a6bd2.js +2 -0
  63. package/assets/esri/core/workers/chunks/{9f4a9b193485f88d4461.js → 4afe76de6e82e86fe697.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{ac408c62565e2c8b5975.js → 4c5cdd2712c938fafc5d.js} +1 -1
  65. package/assets/esri/core/workers/chunks/{ece30bfd5c49b8d99752.js → 5e5c7cc74ff1c9603aff.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{502c3da8c49bf885f51d.js → 63ea9035dcf9ce45560c.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{33ec193e6d7a0cb9d8dd.js → 6b66a6f69aa03338c346.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{56b6b68d9459b1edea43.js → 6c97b5bc408f051606d2.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{94eab215bab3e4e0e5b5.js → 711d1873c760313e287f.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{4e13d639419ac64f7563.js → 7c077e1a63ab97bf3e87.js} +1 -1
  71. package/assets/esri/core/workers/chunks/86f2de7dda7992ae706c.js +1 -0
  72. package/assets/esri/core/workers/chunks/{a29cd1f5c7bb4f6a5a4f.js → 8d4881c879c86b353e08.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{6e21675bbd7a44070771.js → 8ff83c59462dea6e3427.js} +1 -1
  74. package/assets/esri/core/workers/chunks/979bab62cad788180770.js +1 -0
  75. package/assets/esri/core/workers/chunks/9890c85a238879490926.js +1 -0
  76. package/assets/esri/core/workers/chunks/9ebc461529d5286fa2c2.js +2 -0
  77. package/assets/esri/core/workers/chunks/a95398214e530f896a2d.js +1 -0
  78. package/assets/esri/core/workers/chunks/{fc1fe1f58a65a1694c09.js → b02a68bbab07557cf02d.js} +1 -1
  79. package/assets/esri/core/workers/chunks/ba31616de9d73d83d867.js +1 -0
  80. package/assets/esri/core/workers/chunks/c7662455252b48531da1.js +1 -0
  81. package/assets/esri/core/workers/chunks/ca92176d5348e2c533d7.js +1 -0
  82. package/assets/esri/core/workers/chunks/cd5206e19d86c60e3cf0.js +1 -0
  83. package/assets/esri/core/workers/chunks/{bfb417d72d0c90e116fe.js → cedf3e316d6f89cf7005.js} +1 -1
  84. package/assets/esri/core/workers/chunks/d02aa7438f46c1c2167a.js +2 -0
  85. package/assets/esri/core/workers/chunks/d33a08e5f589355c57a3.js +1 -0
  86. package/assets/esri/core/workers/chunks/dd29fd1b3da90d3ca6b1.js +1 -0
  87. package/assets/esri/core/workers/chunks/e0036fa0324a96a88248.js +1 -0
  88. package/assets/esri/core/workers/chunks/{55334ad3618899cdbf78.js → e5854a3f69dffaf9464d.js} +2 -2
  89. package/assets/esri/core/workers/chunks/ed939fd5d3827a3f70e0.js +1 -0
  90. package/assets/esri/core/workers/chunks/fe8334352d256d691a95.js +1 -0
  91. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +7 -0
  92. package/assets/esri/themes/dark/main.css +1 -1
  93. package/assets/esri/themes/light/main.css +1 -1
  94. package/assets/esri/themes/light/view.css +1 -1
  95. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis.json +1 -1
  96. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_ar.json +1 -1
  97. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_en.json +1 -1
  98. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
  99. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  100. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  101. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  102. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  103. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  104. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  105. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  106. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  107. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
  108. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  109. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  110. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  111. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  112. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  113. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  114. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  115. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  116. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  117. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  118. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  119. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  120. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  121. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  122. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  123. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  124. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  125. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  126. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  127. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  128. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  129. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  130. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  131. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  132. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  133. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  134. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  135. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  136. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  137. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  138. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
  139. package/chunks/aiServices.js +1 -1
  140. package/chunks/arcade.js +1 -1
  141. package/chunks/array.js +1 -1
  142. package/chunks/languageUtils.js +1 -1
  143. package/config.js +1 -1
  144. package/identity/IdentityModal.js +1 -1
  145. package/kernel.js +1 -1
  146. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  147. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  148. package/layers/graphics/data/QueryEngineCapabilities.js +1 -1
  149. package/layers/graphics/sources/parquet/PortalParquetLayerFileProvider.js +1 -1
  150. package/layers/support/SceneModification.js +1 -1
  151. package/layers/support/SceneModifications.js +1 -1
  152. package/layers/support/parquetUtils.js +1 -1
  153. package/package.json +2 -2
  154. package/renderers/ClassBreaksRenderer.js +1 -1
  155. package/renderers/UniqueValueRenderer.js +1 -1
  156. package/rest/print.js +1 -1
  157. package/rest/support/TranslateContent.js +1 -1
  158. package/rest/support/TranslateParameters.js +1 -1
  159. package/rest/support/TranslateResult.js +1 -1
  160. package/rest/translate.js +1 -1
  161. package/rest/utils.js +1 -1
  162. package/support/arcadeUtils.js +1 -1
  163. package/support/revision.js +1 -1
  164. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  165. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  166. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  167. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  168. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  169. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  170. package/views/3d/layers/support/Tiles3DMeshIntersectionHandler.js +1 -1
  171. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  172. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  173. package/views/3d/state/utils/navigationUtils.js +1 -1
  174. package/views/3d/support/QualityProfile.js +1 -1
  175. package/views/3d/support/gaussianSplatting/GaussianSplatFadeHelper.js +1 -1
  176. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizer.js +1 -1
  177. package/views/3d/webgl-engine/lib/PathBuilder.js +1 -1
  178. package/views/3d/webgl-engine/lib/PathCapBuilder.js +1 -1
  179. package/views/3d/webgl-engine/lib/PathEvaluator.js +2 -0
  180. package/views/3d/webgl-engine/lib/PathExtruder.js +1 -1
  181. package/views/3d/webgl-engine/lib/PathFrame2D.js +2 -0
  182. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  183. package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
  184. package/views/3d/webgl-engine/lib/PathVertexInfo.js +2 -0
  185. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
  186. package/views/DOMContainer.d.ts +2 -0
  187. package/views/LinkChartView.d.ts +47 -0
  188. package/views/MapView.d.ts +1 -85
  189. package/views/VideoView.d.ts +8 -1
  190. package/views/View2D.d.ts +78 -2
  191. package/views/draw/support/Reshape.js +1 -1
  192. package/views/interactive/tooltip/components/TooltipEditableField.js +1 -1
  193. package/views/interactive/tooltip/content/TooltipContent.js +1 -1
  194. package/views/types.d.ts +2 -3
  195. package/views/ui/DefaultUI.d.ts +1 -0
  196. package/widgets/Attachments.js +1 -1
  197. package/widgets/BasemapGallery.js +1 -1
  198. package/widgets/BasemapLayerList.js +1 -1
  199. package/widgets/BasemapToggle.js +1 -1
  200. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +10 -1
  201. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  202. package/widgets/BatchAttributeForm/css.js +1 -1
  203. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +25 -1
  204. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  205. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  206. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  207. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  208. package/widgets/BatchAttributeForm.js +1 -1
  209. package/widgets/Bookmarks.js +1 -1
  210. package/widgets/BuildingExplorer/BuildingDisciplinesTree/BuildingDisciplinesNode.js +1 -1
  211. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  212. package/widgets/BuildingExplorer/BuildingLevelPicker/Label.js +1 -1
  213. package/widgets/BuildingExplorer/BuildingLevelPicker/LevelItem.js +1 -1
  214. package/widgets/BuildingExplorer/BuildingPhasePicker/BuildingPhasePicker.js +1 -1
  215. package/widgets/CatalogLayerList.js +1 -1
  216. package/widgets/Compass.js +1 -1
  217. package/widgets/CoordinateConversion.js +1 -1
  218. package/widgets/Daylight.js +1 -1
  219. package/widgets/DirectionalPad.js +1 -1
  220. package/widgets/Directions.js +1 -1
  221. package/widgets/Editor/components/FeatureList.js +1 -1
  222. package/widgets/Editor/components/FooterActions.js +1 -1
  223. package/widgets/Editor/components/PendingFeatureList.js +1 -1
  224. package/widgets/Editor/components/Prompt.js +1 -1
  225. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  226. package/widgets/ElevationProfile/components/LegendItem.js +1 -1
  227. package/widgets/ElevationProfile.js +1 -1
  228. package/widgets/Expand.js +1 -1
  229. package/widgets/Feature/FeatureMedia.js +1 -1
  230. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/FeatureFormUtilityNetworkAssociationList.js +1 -1
  231. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  232. package/widgets/FeatureForm.js +1 -1
  233. package/widgets/FeatureTable.js +1 -1
  234. package/widgets/Features/FeaturesDrillIn.js +1 -1
  235. package/widgets/Features.js +1 -1
  236. package/widgets/FloorFilter.js +1 -1
  237. package/widgets/FovOverlay.js +1 -1
  238. package/widgets/Fullscreen.js +1 -1
  239. package/widgets/Home.js +1 -1
  240. package/widgets/LayerList/LayerListItem.js +1 -1
  241. package/widgets/LayerList.js +1 -1
  242. package/widgets/Locate.js +1 -1
  243. package/widgets/NavigationToggle.js +1 -1
  244. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
  245. package/widgets/OrientedImageryViewer/components/ImageMeasurementWidget.js +1 -1
  246. package/widgets/OrientedImageryViewer/components/ImageOverlays.js +1 -1
  247. package/widgets/OrientedImageryViewer/components/NavigationActions.js +1 -1
  248. package/widgets/OrientedImageryViewer/components/NavigationUI360.js +1 -1
  249. package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
  250. package/widgets/OrientedImageryViewer/components/SketchTools.js +1 -1
  251. package/widgets/OrientedImageryViewer/components/VideoEnhancementTools.js +1 -1
  252. package/widgets/OrientedImageryViewer.js +1 -1
  253. package/widgets/PanoramicVideoViewer.js +1 -1
  254. package/widgets/Print/PrintViewModel.js +1 -1
  255. package/widgets/Print.js +1 -1
  256. package/widgets/Search.js +1 -1
  257. package/widgets/Sketch/support/ResponsiveToolbar/OverflowGroup.js +1 -1
  258. package/widgets/Sketch/support/ResponsiveToolbar/SplitButton.js +1 -1
  259. package/widgets/Sketch.js +1 -1
  260. package/widgets/Slice.js +1 -1
  261. package/widgets/Slider.js +1 -1
  262. package/widgets/Swipe.js +1 -1
  263. package/widgets/TableList.js +1 -1
  264. package/widgets/TimeSlider.js +1 -1
  265. package/widgets/TimeZoneLabel.js +1 -1
  266. package/widgets/Track.js +1 -1
  267. package/widgets/UtilityNetworkAssociations.js +1 -1
  268. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  269. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeaturesDrillIn.js +1 -1
  270. package/widgets/UtilityNetworkTrace.js +1 -1
  271. package/widgets/UtilityNetworkValidateTopology.js +1 -1
  272. package/widgets/ValuePicker.js +1 -1
  273. package/widgets/VideoPlayer/components/PlayerActionsGroup.js +1 -1
  274. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  275. package/widgets/VideoPlayer/components/SettingsButton.js +1 -1
  276. package/widgets/Weather.js +1 -1
  277. package/widgets/Zoom.js +1 -1
  278. package/widgets/smartMapping/SmartMappingSliderBase.js +1 -1
  279. package/widgets/support/ColorPicker.js +1 -1
  280. package/widgets/support/ContingentValuesManager.js +1 -1
  281. package/widgets/support/FilterBuilder.js +1 -1
  282. package/widgets/support/GridControls.js +1 -1
  283. package/widgets/support/ItemList.js +1 -1
  284. package/widgets/support/LabeledSwitch.js +1 -1
  285. package/widgets/support/SelectionList.js +1 -1
  286. package/assets/esri/core/workers/chunks/1d1929f98d941179be29.js +0 -2
  287. package/assets/esri/core/workers/chunks/286bf3be9f524bde9529.js +0 -1
  288. package/assets/esri/core/workers/chunks/36ecb0082b8804b10fbf.js +0 -1
  289. package/assets/esri/core/workers/chunks/41a95ad470ec42ecd5a2.js +0 -1
  290. package/assets/esri/core/workers/chunks/547dc6ccb989bd962661.js +0 -1
  291. package/assets/esri/core/workers/chunks/549d348ca181d06aefb7.js +0 -2
  292. package/assets/esri/core/workers/chunks/56d9d3f108ff6e719dd4.js +0 -1
  293. package/assets/esri/core/workers/chunks/5c44638670e40e092ce3.js +0 -1
  294. package/assets/esri/core/workers/chunks/63934843c9f4ef779a07.js +0 -1
  295. package/assets/esri/core/workers/chunks/69c9eb93553b006b640d.js +0 -2
  296. package/assets/esri/core/workers/chunks/8330302096d4312a4393.js +0 -1
  297. package/assets/esri/core/workers/chunks/885eac78a76184efa1e5.js +0 -1
  298. package/assets/esri/core/workers/chunks/95dee5853c6e89f15ea9.js +0 -1
  299. package/assets/esri/core/workers/chunks/9da2f2b67837b491cfa3.js +0 -1
  300. package/assets/esri/core/workers/chunks/a913a1c83a667ed0e711.js +0 -1
  301. package/assets/esri/core/workers/chunks/b69d1d528e271568cbd8.js +0 -2
  302. package/assets/esri/core/workers/chunks/bc249bb667f0564ad093.js +0 -1
  303. package/assets/esri/core/workers/chunks/c8b96104641cb4afd4df.js +0 -1
  304. package/assets/esri/core/workers/chunks/cdb48d198145493f76f3.js +0 -1
  305. package/assets/esri/core/workers/chunks/e2bb95d601789bbda73b.js +0 -1
  306. package/assets/esri/core/workers/chunks/f1bb426400dac02880f1.js +0 -1
  307. package/assets/esri/core/workers/chunks/f3f984c62311c20a9db8.js +0 -1
  308. /package/assets/esri/core/workers/chunks/{69c9eb93553b006b640d.js.LICENSE.txt → 340c68d09d2e8bef6727.js.LICENSE.txt} +0 -0
  309. /package/assets/esri/core/workers/chunks/{549d348ca181d06aefb7.js.LICENSE.txt → 481dc7503587972a6bd2.js.LICENSE.txt} +0 -0
  310. /package/assets/esri/core/workers/chunks/{1d1929f98d941179be29.js.LICENSE.txt → 9ebc461529d5286fa2c2.js.LICENSE.txt} +0 -0
  311. /package/assets/esri/core/workers/chunks/{b69d1d528e271568cbd8.js.LICENSE.txt → d02aa7438f46c1c2167a.js.LICENSE.txt} +0 -0
  312. /package/assets/esri/core/workers/chunks/{55334ad3618899cdbf78.js.LICENSE.txt → e5854a3f69dffaf9464d.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{floatSubArray as t}from"../../../../geometry/support/FloatArray.js";import{newHalfFloatArray as e}from"../../../../geometry/support/HalfFloatArray.js";import{newIndexArray as i,compactIndices as s}from"../../../../geometry/support/Indices.js";import{newShortArray as r}from"../../../../geometry/support/ShortArray.js";import{compressNormal as o}from"./Normals.js";class n{constructor(s,o,n,h,a,u={}){this.path=s,this.profile=o,this.extruder=n,this.startCap=h,this.endCap=a,this.options=u,this._extrusionVertexCount=0,this._extrusionFrameCount=0;const l=this.path.vertices.length-2;this.numExtrusionProfiles=n.numProfilesPerJoin()*l+2,this.numVerticesTotal=o.vertices.length*this.numExtrusionProfiles,this.numExtrusionFrames=n.numProfileFramesPerPathVertex()*l+4,this.startCap.vertexBufferStart=this.numVerticesTotal;const p=this.startCap.numVertices;this.numVerticesTotal+=p,this.endCap.vertexBufferStart=this.numVerticesTotal;const x=this.endCap.numVertices;this.numVerticesTotal+=x,this.profileRightAxes=r(2*this.numExtrusionFrames),this.profileUpAxes=r(2*this.numExtrusionFrames),this.framePositionIndices=i(this.numExtrusionFrames),this.profileVertexAndNormals=e(4*this.numVerticesTotal),this.profileAuxData=e(3*this.numVerticesTotal),this.vertexFrameIndices=i(this.numVerticesTotal),this.positions=t(s.positions,s.offset,3*s.vertices.length),this._rebuildGeometry(),this._buildTopology()}emitVertex(t,e,i,s,r){let o=4*this._extrusionVertexCount;if(this.profileVertexAndNormals[o]=i[0],this.profileVertexAndNormals[o+1]=i[1],this.profileVertexAndNormals[o+2]=s[0],this.profileVertexAndNormals[o+3]=s[1],o=3*this._extrusionVertexCount,r){const e=this.path.vertices[t],i=e.maxStretchDistance;this.profileAuxData[o]=e.rotationRight[0]*i,this.profileAuxData[o+1]=e.rotationRight[1]*i}else this.profileAuxData[o]=this.profileAuxData[o+1]=0;this.profileAuxData[o+2]=0,this.vertexFrameIndices[this._extrusionVertexCount]=e,++this._extrusionVertexCount}emitExtrusionFrame(t,e){return o(this.profileRightAxes,this._extrusionFrameCount,t.right[0],t.right[1],t.right[2]),o(this.profileUpAxes,this._extrusionFrameCount,t.up[0],t.up[1],t.up[2]),this.framePositionIndices[this._extrusionFrameCount]=e,this._extrusionFrameCount++}emitCapVertex(t,e,i,s,r){let o=4*this._extrusionVertexCount;this.profileVertexAndNormals[o]=e[0],this.profileVertexAndNormals[o+1]=e[1],this.profileVertexAndNormals[o+2]=i[0],this.profileVertexAndNormals[o+3]=i[1],o=3*this._extrusionVertexCount,this.profileAuxData[o]=s,this.profileAuxData[o+1]=r,this.profileAuxData[o+2]=1,this.vertexFrameIndices[this._extrusionVertexCount]=t,++this._extrusionVertexCount}_rebuildGeometry(){this._extrusionVertexCount=0,this._extrusionFrameCount=0;const{positions:e,offset:i,vertices:s}=this.path;this.positions=t(e,i,3*s.length);let r=0;const o=(t,e,i,s,r)=>this.emitCapVertex(t,e,i,s,r),n=(t,e,i,s)=>this.emitVertex(r,t,e,i,s),h=t=>this.emitExtrusionFrame(t,r);for(this.startCap.rebuildConnectingProfileGeometry(s[r],this.profile,o,h),r=1;r<s.length-1;++r)this.extruder.extrude(s[r],this.profile,n,h);this.endCap.rebuildConnectingProfileGeometry(s[r],this.profile,o,h),r=0,this.startCap.rebuildCapGeometry(s[r],o,h),r=s.length-1,this.endCap.rebuildCapGeometry(s[r],o,h)}_buildTopology(){const t=this.profile.vertices.length,e=this.profile.numSegments,i=this.numExtrusionProfiles-1;let r=3*(2*(e*i));this.startCap.indexBufferStart=r,this.startCap.firstProfileVertexIndex=0,r+=this.startCap.numIndices,this.endCap.indexBufferStart=r,this.endCap.firstProfileVertexIndex=t*(this.numExtrusionProfiles-1);const o=new Array,n=(t,e,i)=>{o.push(t),o.push(e),o.push(i)};for(let s=0;s<e;++s){const e=this.profile.indices[2*s],r=this.profile.indices[2*s+1];for(let s=0;s<i;++s){const i=s*t+e,o=(s+1)*t+r,h=s*t+r;n(i,(s+1)*t+e,o),n(i,o,h)}}this.startCap.buildTopology(this.path.vertices[0],n),this.endCap.buildTopology(this.path.vertices[this.path.vertices.length-1],n),this.vertexIndices=s(o)}onPathChanged(){this._rebuildGeometry()}}export{n as PathBuilder};
2
+ import{fromRotation as t}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{transformMat4 as i}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{newFloatArray as r,floatSubArray as o}from"../../../../geometry/support/FloatArray.js";import{newIndexArray as n,compactIndices as h}from"../../../../geometry/support/Indices.js";import{newShortArray as a}from"../../../../geometry/support/ShortArray.js";import{compressNormal as m}from"./Normals.js";import{PathEvaluator as u}from"./PathEvaluator.js";import{encodePathVertexInfo as p}from"./PathVertexInfo.js";class c{constructor(t,e,i,s,h){this.path=t,this.profile=e,this.extruder=i,this.cap=s,this._extrusionVertexCount=0,this._extrusionFrameCount=0;const m=this.path.vertices.length-2;this.numExtrusionProfiles=i.numProfilesPerJoin()*m+2,this.numVerticesTotal=e.vertices.length*this.numExtrusionProfiles,this.numExtrusionFrames=i.numProfileFramesPerPathVertex()*m+2;const p=this.cap.numVertices;this.startCapVertexBufferStart=this.numVerticesTotal,this.numVerticesTotal+=p,this.endCapVertexBufferStart=this.numVerticesTotal,this.numVerticesTotal+=p,this.profileRightAxes=a(2*this.numExtrusionFrames),this.profileUpAxes=a(2*this.numExtrusionFrames),this.profileRotationFrameRightAxes=1===h?r(2*this.numExtrusionFrames):null,this.pathMaxStretchDistances=r(this.numExtrusionFrames),this.profileRotations=r(this.numExtrusionFrames),this.framePositionIndices=n(this.numExtrusionFrames),this.pathVertexInfos=new Uint32Array(this.numVerticesTotal),this.vertexFrameIndices=n(this.numVerticesTotal),this.positions=o(t.positions,t.offset,3*t.vertices.length),this._rebuildGeometry(),this._buildTopology(),this.evaluator=new u(this,e,s.type,i.cutoffAngle,h)}emitVertexDescriptor(t,e){const i=this._extrusionVertexCount;this.pathVertexInfos[i]=p(t),this.vertexFrameIndices[i]=e,++this._extrusionVertexCount}emitExtrusionFrame(e,s,r){const{frame:o,rotationRight:n,rotationFrameUp:h,rotationAngle:a,maxStretchDistance:u}=e,p=this._extrusionFrameCount;return 0===r?(m(this.profileRightAxes,p,o.right[0],o.right[1],o.right[2]),m(this.profileUpAxes,p,o.up[0],o.up[1],o.up[2])):(t(f,r,h),i(l,o.up,f),i(x,o.right,f),m(this.profileRightAxes,p,x[0],x[1],x[2]),m(this.profileUpAxes,p,l[0],l[1],l[2])),this.profileRotations[p]=a,this.profileRotationFrameRightAxes&&(this.profileRotationFrameRightAxes[2*p]=n[0],this.profileRotationFrameRightAxes[2*p+1]=n[1]),this.pathMaxStretchDistances[p]=u,this.framePositionIndices[p]=s,this._extrusionFrameCount++}_rebuildGeometry(){this._extrusionVertexCount=0,this._extrusionFrameCount=0;const{positions:t,offset:e,vertices:i}=this.path,{profile:s}=this;this.positions=o(t,e,3*i.length);const r=this.emitExtrusionFrame(i[0],0,0);for(let o=0;o<s.vertices.length;++o)this.emitVertexDescriptor({sourceIndex:o,subdivision:0,type:1,capSide:0},r);const n=(t,e,i)=>{this.emitVertexDescriptor({sourceIndex:e,subdivision:i,type:0,capSide:0},t)},h=(t,e,i)=>this.emitExtrusionFrame(t,e,i);for(let o=1;o<i.length-1;++o){const t=i[o];this.extruder.extrude(t,o,this.profile,n,h)}const a=i.length-1,m=this.emitExtrusionFrame(i[a],a,0);for(let o=0;o<s.vertices.length;++o)this.emitVertexDescriptor({sourceIndex:o,subdivision:0,type:1,capSide:1},m);const u=(t,e,i)=>this.emitVertexDescriptor({sourceIndex:t,subdivision:e,type:i,capSide:0},0),p=(t,e,i)=>this.emitVertexDescriptor({sourceIndex:t,subdivision:e,type:i,capSide:1},m);this.cap.rebuildCapGeometry(u),this.cap.rebuildCapGeometry(p)}_buildTopology(){const t=this.profile.vertices.length,e=this.profile.numSegments,i=this.numExtrusionProfiles-1,s=0,r=t*(this.numExtrusionProfiles-1),o=new Array,n=(t,e,i)=>{o.push(t),o.push(e),o.push(i)};for(let h=0;h<e;++h){const e=this.profile.indices[2*h],s=this.profile.indices[2*h+1];for(let r=0;r<i;++r){const i=r*t+e,o=(r+1)*t+s,h=r*t+s;n(i,(r+1)*t+e,o),n(i,o,h)}}this.cap.buildTopology(n,0,this.startCapVertexBufferStart,s),this.cap.buildTopology(n,1,this.endCapVertexBufferStart,r),this.vertexIndices=h(o)}onPathChanged(){this._rebuildGeometry()}}const l=s(),x=s(),f=e();export{c as PathBuilder};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{set as e,subtract as t,scale as s,add as i,normalize as r}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";class o{rebuildConnectingProfileGeometry(e,t,s,i){const r=i(e.frame);for(let n=0;n<t.vertices.length;++n)s(r,t.vertices[n],t.normals[n],0,0)}}class l extends o{constructor(){super(),this.numVertices=0,this.numIndices=0}rebuildCapGeometry(){}buildTopology(){}}class f extends o{constructor(e,t=0,s=!1){super(),this.profile=e,this.profilePlaneOffset=t,this.flip=s}get numVertices(){return this.profile.vertices.length}get numIndices(){return 3*this.profile.numSegments}rebuildConnectingProfileGeometry(e,t,s,i){const r=this.profilePlaneOffset,n=i(e.frame);for(let o=0;o<t.vertices.length;++o)s(n,t.vertices[o],t.normals[o],r,0)}rebuildCapGeometry(t,s,i){const r=this.profile,n=this.flip?1:-1,o=this.profilePlaneOffset,l=m;e(l,0,0);const f=i(t.frame);for(let e=0;e<r.vertices.length;++e)s(f,r.vertices[e],l,o,n)}buildTopology(e,t){const s=this.profile,i=this.vertexBufferStart+s.indices[0];for(let r=1;r<s.numSegments;++r){const e=s.indices[2*r],n=s.indices[2*r+1],o=this.vertexBufferStart+e,l=this.vertexBufferStart+n;this.flip?t(l,o,i):t(i,o,l)}}}class h extends o{constructor(e){super(),this.flip=!1,this.sign=0,this.breakNormals=!1,this.numSegments=3,this.profile=e.profile,this.flip=e.flip,this.sign=this.flip?1:-1,this.breakNormals=e.breakNormals,this.numSegments=e.subdivisions}get numVertices(){let e=this.profile.vertices.length*(this.numSegments-1)+this.profile.poles.length;return this.breakNormals&&(e+=this.profile.vertices.length),e}get numIndices(){let e=0;const t=this.profile;e+=2*t.numSegments*(this.numSegments-1);for(let s=0;s<t.numSegments;++s){const i=t.indices[2*s],r=t.indices[2*s+1];t.poleIndices[i]===t.poleIndices[r]?e+=1:e+=2}return 3*e}rebuildCapGeometry(n,o,l){const f=this.profile,h=l(n.frame),p=.5*this.sign,a=c,u=m;e(u,0,0);for(const e of f.poles)e.normal?o(h,e.position,e.normal,p,0):o(h,e.position,u,p,this.sign);if(this.breakNormals)for(let e=0;e<f.vertices.length;++e)o(h,f.vertices[e],f.normals[e],0,0);for(let e=0;e<this.numSegments-1;++e){const n=(1-(e+1)/this.numSegments)*Math.PI*.5,l=Math.sin(n),c=Math.cos(n);for(let e=0;e<f.vertices.length;++e){const n=f.poles[f.poleIndices[e]];t(a,f.vertices[e],n.position),s(a,a,l),n.normal?(i(a,a,n.position),o(h,a,n.normal,p*c,0)):(r(u,a),s(u,u,l),i(a,a,n.position),o(h,a,u,p*c,this.sign*c))}}}buildTopology(e,t){const s=this.profile,i=this.breakNormals?this.vertexBufferStart+s.poles.length:this.firstProfileVertexIndex,r=this.breakNormals?this.vertexBufferStart+s.poles.length+s.vertices.length:this.vertexBufferStart+s.poles.length;for(let n=0;n<s.numSegments;++n){const e=s.indices[2*n],o=s.indices[2*n+1],l=this.vertexBufferStart+s.poleIndices[e],f=this.vertexBufferStart+s.poleIndices[o];let h=i+e,c=i+o;for(let i=0;i<this.numSegments-1;++i){const n=r+i*s.vertices.length+e,l=r+i*s.vertices.length+o;this.flip?(t(n,c,h),t(c,n,l)):(t(h,c,n),t(l,n,c)),h=n,c=l}this.flip?(t(l,c,h),l!==f&&t(l,f,c)):(t(h,c,l),l!==f&&t(c,f,l))}}}const c=n(),m=n();export{l as NoCapBuilder,o as PathCapBuilder,h as RoundCapBuilder,f as TriangulationCapBuilder};
2
+ import{pathNumRoundCapExtrusionSubdivisions as e}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";class t{constructor(){this.numVertices=0,this.numIndices=0,this.type=0}rebuildCapGeometry(){}buildTopology(){}}class s{constructor(e,t){this._profile=e,this.type=t}get numVertices(){return this._profile.vertices.length}get numIndices(){return 3*this._profile.numSegments}rebuildCapGeometry(e){const t=this._profile;for(let s=0;s<t.vertices.length;++s)e(s,0,2)}buildTopology(e,t,s){const i=this._profile,r=s+i.indices[0],o=1===t;for(let l=1;l<i.numSegments;++l){const t=s+i.indices[2*l],n=s+i.indices[2*l+1];o?e(n,t,r):e(r,t,n)}}}class i{constructor(e,t){this._profile=e,this._breakNormals=t,this.type=3}get numVertices(){let t=this._profile.vertices.length*(e-1)+this._profile.poles.length;return this._breakNormals&&(t+=this._profile.vertices.length),t}get numIndices(){let t=0;const s=this._profile;t+=2*s.numSegments*(e-1);for(let e=0;e<s.numSegments;++e){const i=s.indices[2*e],r=s.indices[2*e+1];s.poleIndices[i]===s.poleIndices[r]?t+=1:t+=2}return 3*t}rebuildCapGeometry(t){const s=this._profile;for(let e=0;e<s.poles.length;++e)t(e,0,3);if(this._breakNormals)for(let e=0;e<s.vertices.length;++e)t(e,0,1);for(let i=0;i<e-1;++i)for(let e=0;e<s.vertices.length;++e)t(e,i,4)}buildTopology(t,s,i,r){const o=this._profile,l=this._breakNormals?i+o.poles.length:r,n=this._breakNormals?i+o.poles.length+o.vertices.length:i+o.poles.length,c=1===s;for(let h=0;h<o.numSegments;++h){const s=o.indices[2*h],r=o.indices[2*h+1],p=i+o.poleIndices[s],g=i+o.poleIndices[r];let m=l+s,u=l+r;for(let i=0;i<e-1;++i){const e=n+i*o.vertices.length+s,l=n+i*o.vertices.length+r;c?(t(e,u,m),t(u,e,l)):(t(m,u,e),t(l,e,u)),m=e,u=l}c?(t(p,u,m),p!==g&&t(p,g,u)):(t(m,u,p),p!==g&&t(u,g,p))}}}export{t as NoCapBuilder,i as RoundCapBuilder,s as TriangulationCapBuilder};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{reciprocalClamped as e}from"../../../../core/mathUtils.js";import{set as t}from"../../../../core/libs/gl-matrix-2/math/mat2.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/mat2f64.js";import{set as i,length as s,normalize as o,dot as a,scale as l,add as c,subtract as n,transformMat2 as f}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{UNIT_X as m,ZEROS as h,create as p}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{cross as x,set as u}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as A}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{newHalfFloatArray as d}from"../../../../geometry/support/HalfFloatArray.js";import{pathNumRoundCapExtrusionSubdivisions as P}from"../../layers/graphics/Graphics3DPathSymbolLayerConstants.js";import{decompressNormal as _,compressNormal as b}from"./Normals.js";import{decodePathVertexInfo as w}from"./PathVertexInfo.js";class V{constructor(e,t,r,i,s){this.builder=e,this.profile=t,this.capType=r,this.miterCutoffAngle=i,this.upVectorAlignment=s}evaluateBakedVertices(e,t,r){const{numVerticesTotal:n,profileRightAxes:f,profileUpAxes:m,framePositionIndices:h,vertexFrameIndices:p,positions:A}=this.builder,P=d(4),w=d(3);for(let d=0;d<n;++d){this._evaluateProfileVertexNormalAux(P,w,d,0);const n=k;let V=0,v=0;const g=p[d],I=_(C,f,g),D=_(M,m,g),N=3*h[g],j=i(F,P[0]*r[0],P[1]*r[1]);if(1===w[2])x(n,D,I),V=w[0]*r[0],v=w[1];else{const e=T,t=R;i(e,w[0],w[1]);const r=s(e);o(e,e);const f=a(j,e);if(Math.abs(f)>r){i(t,-e[1],e[0]);const s=a(j,t);l(e,e,r*Math.sign(f)),l(t,t,s),c(j,e,t)}u(n,0,0,0)}const y=I[0]*j[0]+D[0]*j[1],J=I[1]*j[0]+D[1]*j[1],S=I[2]*j[0]+D[2]*j[1],U=3*d;e[U]=A[N]+y+n[0]*V,e[U+1]=A[N+1]+J+n[1]*V,e[U+2]=A[N+2]+S+n[2]*V;const B=P[2],G=P[3];b(t,d,I[0]*B+D[0]*G+n[0]*v,I[1]*B+D[1]*G+n[1]*v,I[2]*B+D[2]*G+n[2]*v)}}evaluateFastPathVertices(e,t){const{numVerticesTotal:r}=this.builder;for(let i=0;i<r;++i)this._evaluateProfileVertexNormalAux(e,t,i,i)}_evaluateProfileVertexNormalAux(e,t,r,s){const{profileRotations:f,profileRotationFrameRightAxes:p,pathMaxStretchDistances:x,pathVertexInfos:u,vertexFrameIndices:A}=this.builder,{miterCutoffAngle:d,profile:_,upVectorAlignment:b}=this,V=v[b],j=w(u[r]),C=A[r],M=f[C],k=null!=p?i(y,p[2*C],p[2*C+1]):m,F=x[C];switch(j.type){case 0:{const r=_.vertices[j.sourceIndex],i=_.normals[j.sourceIndex],o=Math.abs(M)>=d,c=a(r,k)*M>=0;if(o&&c)this._writeProfileVertexAndNormal(e,s,r,i);else{const t=V(D,r,M,k);this._writeProfileVertexAndNormal(e,s,t,i)}if(c)this._writeProfileAuxDataJoin(t,s,h);else{const e=l(N,k,F);this._writeProfileAuxDataJoin(t,s,e)}break}case 1:{const r=_.vertices[j.sourceIndex],i=_.normals[j.sourceIndex];switch(this._writeProfileVertexAndNormal(e,s,r,i),this.capType){case 0:case 1:case 3:this._writeProfileAuxDataCap(t,s,0,0);break;case 2:this._writeProfileAuxDataCap(t,s,g(j)?.5:-.5,0)}break}case 2:{const r=_.vertices[j.sourceIndex],i=g(j),o=i?1:-1,a=2===this.capType?i?.5:-.5:0,l=h;this._writeProfileVertexAndNormal(e,s,r,l),this._writeProfileAuxDataCap(t,s,a,o);break}case 3:{const r=g(j)?1:-1,i=.5*r,o=_.poles[j.sourceIndex],a=o.position,l=o.normal;l?(this._writeProfileVertexAndNormal(e,s,a,l),this._writeProfileAuxDataCap(t,s,i,0)):(this._writeProfileVertexAndNormal(e,s,a,h),this._writeProfileAuxDataCap(t,s,i,r));break}case 4:{const r=g(j)?1:-1,i=.5*r,a=(1-(j.subdivision+1)/P)*Math.PI*.5,f=Math.sin(a),m=Math.cos(a),h=_.poleIndices[j.sourceIndex],p=_.poles[h],x=p.position,u=p.normal,A=_.vertices[j.sourceIndex];n(D,A,x),l(D,D,f),u?(c(D,D,x),this._writeProfileVertexAndNormal(e,s,D,u),this._writeProfileAuxDataCap(t,s,i*m,0)):(o(I,D),l(I,I,f),c(D,D,x),this._writeProfileVertexAndNormal(e,s,D,I),this._writeProfileAuxDataCap(t,s,i*m,r*m));break}}}_writeProfileVertexAndNormal(e,t,r,i){const s=4*t;e[s]=r[0],e[s+1]=r[1],e[s+2]=i[0],e[s+3]=i[1]}_writeProfileAuxDataJoin(e,t,r){const i=3*t;e[i]=r[0],e[i+1]=r[1],e[i+2]=0}_writeProfileAuxDataCap(e,t,r,i){const s=3*t;e[s]=r,e[s+1]=i,e[s+2]=1}}const v={0:(t,r,s)=>{if(Math.abs(s)<=0)return r;const o=e(Math.cos(.5*s));return i(t,(o-1+1)*r[0],r[1])},1:(r,i,s,o)=>{if(0===Math.abs(s))return i;const a=e(Math.cos(.5*s)),l=t(j,1+(a-1)*o[0]*o[0],(a-1)*o[0]*o[1],(a-1)*o[0]*o[1],1+(a-1)*o[1]*o[1]);return f(r,i,l)}};function g(e){return 1===e.capSide}const I=p(),D=p(),N=p(),j=r(),C=A(),M=A(),y=p(),k=A(),F=p(),T=p(),R=p();export{V as PathEvaluator};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{fromRotation as t}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{dot as r}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{transformMat4 as s}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as o}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";class n{}class m{numProfilesPerJoin(){return 1}numProfileFramesPerPathVertex(){return 1}extrude(t,e,r,i){const s=i(t.frame);for(let o=0;o<e.vertices.length;++o)r(s,e.vertices[o],e.normals[o],!1)}}class c{constructor(t,e){this.cutoffAngle=t,this.numBendSubdivisions=e}numProfilesPerJoin(){return this.numBendSubdivisions+1}numProfileFramesPerPathVertex(){return this.numBendSubdivisions+2}extrude(e,i,s,o){const n=h,{rotationAngle:m,rotationRight:c,frame:a}=e,v=o(a),d=new Array,g=e.rotationFrameUp;for(let r=0;r<this.numBendSubdivisions+1;++r)t(f,.5*-m+r*m/this.numBendSubdivisions,g),l(n,a,f),d.push(o(n));if(Math.abs(m)>=this.cutoffAngle)for(let t=0;t<this.numBendSubdivisions+1;++t){const o=d[t];for(let t=0;t<i.vertices.length;++t){if(r(i.vertices[t],c)*m>=0)s(o,i.vertices[t],i.normals[t],!1);else{s(v,e.applyMiterStretch(u,i.vertices[t]),i.normals[t],!0)}}}else for(let t=0;t<this.numBendSubdivisions+1;++t)for(let o=0;o<i.vertices.length;++o){const t=r(i.vertices[o],c)*m>=0;s(v,e.applyMiterStretch(u,i.vertices[o]),i.normals[o],!t)}}}class a{constructor(){this.up=o(),this.right=o()}}function l(t,e,r){s(t.up,e.up,r),s(t.right,e.right,r)}const u=i(),f=e(),h=new a;export{a as Frame2D,c as MiterExtruder,n as PathExtruder,m as SimpleExtruder};
2
+ import{dot as i}from"../../../../core/libs/gl-matrix-2/math/vec2.js";class t{constructor(i,t){this.cutoffAngle=i,this.numBendSubdivisions=t}numProfilesPerJoin(){return this.numBendSubdivisions+1}numProfileFramesPerPathVertex(){return this.numBendSubdivisions+2}extrude(t,e,s,n,o){const{rotationAngle:r,rotationRight:u}=t,h=o(t,e,0),l=new Array;for(let i=0;i<this.numBendSubdivisions+1;++i){const s=.5*-r+i*r/this.numBendSubdivisions;l.push(o(t,e,s))}if(Math.abs(r)>=this.cutoffAngle)for(let d=0;d<this.numBendSubdivisions+1;++d){const t=l[d];for(let e=0;e<s.vertices.length;++e){n(i(s.vertices[e],u)*r>=0?t:h,e,d)}}else for(let i=0;i<this.numBendSubdivisions+1;++i)for(let t=0;t<s.vertices.length;++t)n(h,t,i)}}export{t as MiterExtruder};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";class t{constructor(){this.up=r(),this.right=r()}}export{t as PathFrame2D};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{copy as t,set as e,length as i,normalize as s,dot as o,scale as r,add as n}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{cross as l,set as c}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{copy as m}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{fromValues as p}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{newFloatArray as u}from"../../../../geometry/support/FloatArray.js";import{getContinuousIndexArray as f,getZeroIndexArray as d}from"../../../../geometry/support/Indices.js";import{Attribute as b,Vertices as x}from"./Attribute.js";import{decompressNormal as v,compressNormal as g}from"./Normals.js";import{intersectTriangles as A}from"./RayIntersections.js";class w{constructor(t){this.builder=t}onPathChanged(t){this.builder.onPathChanged()}}class y extends w{constructor(t){super(t),this.color=p(255,255,255,255),this._size=a(),this.positions=u(3*this.builder.numVerticesTotal),this.normals=new Int16Array(2*this.builder.numVerticesTotal)}bakeVertexColors(t){m(this.color,t)}bake(a){t(this._size,a);const{numVerticesTotal:h,positions:m,profileRightAxes:p,profileUpAxes:u,profileVertexAndNormals:f,profileAuxData:d,vertexFrameIndices:b,framePositionIndices:x}=this.builder;for(let t=0;t<h;++t){const h=z;let A=0,w=0;const y=b[t],j=v(_,p,y),F=v(P,u,y),D=3*x[y],k=4*t,N=e(I,f[k]*a[0],f[k+1]*a[1]),R=3*t;if(1===d[R+2])l(h,F,j),A=d[R]*a[0],w=d[R+1];else{const t=C,a=V;e(t,d[R],d[R+1]);const l=i(t);s(t,t);const m=o(N,t);if(Math.abs(m)>l){e(a,-t[1],t[0]);const i=o(N,a);r(t,t,l*Math.sign(m)),r(a,a,i),n(N,t,a)}c(h,0,0,0)}const M=j[0]*N[0]+F[0]*N[1],T=j[1]*N[0]+F[1]*N[1],U=j[2]*N[0]+F[2]*N[1];this.positions[R]=m[D]+M+h[0]*A,this.positions[R+1]=m[D+1]+T+h[1]*A,this.positions[R+2]=m[D+2]+U+h[2]*A;const E=f[k+2],G=f[k+3];g(this.normals,t,j[0]*E+F[0]*G+h[0]*w,j[1]*E+F[1]*G+h[1]*w,j[2]*E+F[2]*G+h[2]*w)}}createGeometryData(){const t=this.builder.vertexIndices;return[["position",new b(this.positions,t,3,!0)],["normalCompressed",new b(this.normals,t,2,!0)],["color",new b(this.color,d(t.length),4,!0)]]}onPathChanged(t){super.onPathChanged(t),this.bake(this.size)}intersect(t,e,i,s){const o=this.builder.vertexIndices,r=new x(this.positions,3),n=o.length/3;A(t,e,0,n,o,r,void 0,i,s)}get size(){return this._size}}class j extends w{constructor(t,e,i,s){super(t),this.sizeAttributeValue=e,this.colorAttributeValue=i,this.opacityAttributeValue=s,this.baked=new y(t),this._vvSize=e,this._vvColor=i,this._vvOpacity=s}createGeometryData(){const t=this.builder,{vertexIndices:e,framePositionIndices:i,numExtrusionFrames:s}=t,o=f(s),r=d(s);return[["position",new b(t.positions,i,3,!0)],["profileRight",new b(t.profileRightAxes,o,2,!0)],["profileUp",new b(t.profileUpAxes,o,2,!0)],["sizeFeatureAttribute",new b([this._vvSize],r,1,!0)],["colorFeatureAttribute",new b([this._vvColor],r,1,!0)],["opacityFeatureAttribute",new b([this._vvOpacity],r,1,!0)],["textureElementIndex",new b(t.vertexFrameIndices,e,1,!0)],["profileVertexAndNormal",new b(t.profileVertexAndNormals,e,4,!0)],["profileAuxData",new b(t.profileAuxData,e,3,!0)]]}onPathChanged(t){super.onPathChanged(t);const e=t.getMutableAttribute("position");e&&(e.data=this.builder.positions)}}const I=a(),C=a(),V=a(),z=h(),_=h(),P=h();export{j as FastUpdatePathGeometry,w as PathGeometryData,y as StaticPathGeometry};
2
+ import{copy as t}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{copy as i}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{fromValues as r}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{newFloatArray as s}from"../../../../geometry/support/FloatArray.js";import{newHalfFloatArray as o}from"../../../../geometry/support/HalfFloatArray.js";import{getContinuousIndexArray as a,getZeroIndexArray as l}from"../../../../geometry/support/Indices.js";import{Attribute as n,Vertices as h}from"./Attribute.js";import{intersectTriangles as u}from"./RayIntersections.js";class c{constructor(t){this.builder=t,this.color=r(255,255,255,255),this._size=e(),this.positions=s(3*this.builder.numVerticesTotal),this.normals=new Int16Array(2*this.builder.numVerticesTotal)}bakeVertexColors(t){i(this.color,t)}bake(e){t(this._size,e),this.builder.evaluator.evaluateBakedVertices(this.positions,this.normals,e)}createGeometryData(){const t=this.builder.vertexIndices;return[["position",new n(this.positions,t,3,!0)],["normalCompressed",new n(this.normals,t,2,!0)],["color",new n(this.color,l(t.length),4,!0)]]}onPathChanged(){this.builder.onPathChanged(),this.bake(this.size)}intersect(t,e,i,r){const s=this.builder.vertexIndices,o=new h(this.positions,3),a=s.length/3;u(t,e,0,a,s,o,void 0,i,r)}get size(){return this._size}}class m{constructor(t,e,i,r){this.builder=t,this.sizeAttributeValue=e,this.colorAttributeValue=i,this.opacityAttributeValue=r,this.baked=new c(t),this._profileVertexAndNormal=o(4*t.numVerticesTotal),this._profileAuxData=o(3*t.numVerticesTotal),t.evaluator.evaluateFastPathVertices(this._profileVertexAndNormal,this._profileAuxData),this._vvSize=e,this._vvColor=i,this._vvOpacity=r}createGeometryData(){const t=this.builder,{vertexIndices:e,framePositionIndices:i,numExtrusionFrames:r}=t,s=a(r),o=l(r);return[["position",new n(t.positions,i,3,!0)],["profileRight",new n(t.profileRightAxes,s,2,!0)],["profileUp",new n(t.profileUpAxes,s,2,!0)],["sizeFeatureAttribute",new n([this._vvSize],o,1,!0)],["colorFeatureAttribute",new n([this._vvColor],o,1,!0)],["opacityFeatureAttribute",new n([this._vvOpacity],o,1,!0)],["textureElementIndex",new n(t.vertexFrameIndices,e,1,!0)],["profileVertexAndNormal",new n(this._profileVertexAndNormal,e,4,!0)],["profileAuxData",new n(this._profileAuxData,e,3,!0)]]}onPathChanged(t){const e=this.builder;e.onPathChanged(),e.evaluator.evaluateFastPathVertices(this._profileVertexAndNormal,this._profileAuxData);const i=t.getMutableAttribute("position");i&&(i.data=this.builder.positions)}}export{m as FastUpdatePathGeometry,c as StaticPathGeometry};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{acosClamped as t,reciprocalClamped as i}from"../../../../core/mathUtils.js";import{set as r}from"../../../../core/libs/gl-matrix-2/math/mat2.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/mat2f64.js";import{transformMat2 as s,set as h}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{UNIT_X as a,create as o}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{dot as n,cross as m,scale as g,normalize as f,add as c,negate as l,subtract as u,copy as p}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as v}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Frame2D as M}from"./PathExtruder.js";class b{constructor(){this.vLeft=v(),this.vRight=v(),this.vMinSiblingLength=0,this.frame=new M}setFrameFromUpVector(t){p(this.frame.up,t),c(y,this.vLeft,this.vRight),f(y,y),g(I,this.frame.up,n(y,this.frame.up)),u(D,y,I),f(D,D),m(this.frame.right,D,this.frame.up)}get foldingAngle(){return Math.PI-this.rotationAngle}}class x extends b{get rotationFrameUp(){return this.frame.up}get rotationRight(){return a}get rotationAngle(){g(w,this.frame.up,n(this.frame.up,this.vLeft)),u(w,this.vLeft,w),l(w,w),f(w,w),g(P,this.frame.up,n(this.frame.up,this.vRight)),u(P,this.vRight,P),f(P,P),m(U,this.rotationFrameUp,this.vLeft);return Math.sign(n(U,this.vRight))*(Math.PI-t(n(w,P)))}get maxStretchDistance(){return Math.abs(this.vMinSiblingLength/Math.cos(.5*this.foldingAngle))}applyMiterStretch(t,r){const e=this.rotationAngle;if(Math.abs(e)<=0)return r;const s=i(Math.cos(.5*e));return h(t,(s-1+1)*r[0],r[1])}}class R extends b{get rotationFrameUp(){const t=Math.sign(n(this.frame.right,this.vRight));return m(A,this.vRight,this.vLeft),g(A,A,t),f(A,A)}get rotationRight(){const t=this.rotationFrameUp,i=n(t,this.frame.up),r=n(t,this.frame.right);return g(d,this.frame.up,-r),g(F,this.frame.right,i),c(d,d,F),f(d,d),L(S,this.frame,d),S}get rotationAngle(){const i=Math.sign(n(this.frame.right,this.vRight));return l(U,this.vLeft),-i*(Math.PI-t(n(U,this.vRight)))}get maxStretchDistance(){return Math.abs(this.vMinSiblingLength*i(Math.cos(.5*this.foldingAngle)))}applyMiterStretch(t,e){const h=this.rotationAngle;if(0===Math.abs(h))return e;const a=i(Math.cos(.5*h)),o=this.rotationRight,n=r(E,1+(a-1)*o[0]*o[0],(a-1)*o[0]*o[1],(a-1)*o[0]*o[1],1+(a-1)*o[1]*o[1]);return s(t,e,n)}}function L(t,i,r){h(t,n(r,i.right),n(r,i.up))}function j(t){switch(t){case 0:return new x;case 1:return new R}}const A=v(),S=o(),d=v(),F=v(),U=v(),w=v(),P=v(),I=v(),y=v(),D=v(),E=e();export{b as PathVertex,j as newPathVertex};
2
+ import{acosClamped as t,reciprocalClamped as i}from"../../../../core/mathUtils.js";import{set as r}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{UNIT_X as e,create as s}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{dot as h,cross as a,scale as n,normalize as o,add as g,negate as m,subtract as f,copy as c}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as u}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{PathFrame2D as l}from"./PathFrame2D.js";class p{constructor(){this.vLeft=u(),this.vRight=u(),this.vMinSiblingLength=0,this.frame=new l}setFrameFromUpVector(t){c(this.frame.up,t),g(w,this.vLeft,this.vRight),o(w,w),n(S,this.frame.up,h(w,this.frame.up)),f(P,w,S),o(P,P),a(this.frame.right,P,this.frame.up)}get foldingAngle(){return Math.PI-this.rotationAngle}}class v extends p{get rotationFrameUp(){return this.frame.up}get rotationRight(){return e}get rotationAngle(){n(U,this.frame.up,h(this.frame.up,this.vLeft)),f(U,this.vLeft,U),m(U,U),o(U,U),n(d,this.frame.up,h(this.frame.up,this.vRight)),f(d,this.vRight,d),o(d,d),a(A,this.rotationFrameUp,this.vLeft);return Math.sign(h(A,this.vRight))*(Math.PI-t(h(U,d)))}get maxStretchDistance(){return Math.abs(this.vMinSiblingLength/Math.cos(.5*this.foldingAngle))}}class M extends p{get rotationFrameUp(){const t=Math.sign(h(this.frame.right,this.vRight));return a(b,this.vRight,this.vLeft),n(b,b,t),o(b,b)}get rotationRight(){const t=this.rotationFrameUp,i=h(t,this.frame.up),r=h(t,this.frame.right);return n(F,this.frame.up,-r),n(j,this.frame.right,i),g(F,F,j),o(F,F),R(x,this.frame,F),x}get rotationAngle(){const i=Math.sign(h(this.frame.right,this.vRight));return m(A,this.vLeft),-i*(Math.PI-t(h(A,this.vRight)))}get maxStretchDistance(){return Math.abs(this.vMinSiblingLength*i(Math.cos(.5*this.foldingAngle)))}}function R(t,i,e){r(t,h(e,i.right),h(e,i.up))}function L(t){switch(t){case 0:return new v;case 1:return new M}}const b=u(),x=s(),F=u(),j=u(),A=u(),U=u(),d=u(),S=u(),w=u(),P=u();export{p as PathVertex,L as newPathVertex};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{assert as i}from"./Util.js";const n=0,e=15,o=4,s=7,d=o+3,r=7,t=d+3,u=1;function c({sourceIndex:c,subdivision:p,type:v,capSide:a}){return i(c>=0&&c<=e,"invalid sourceIndex"),i(p>=0&&p<=s,"invalid subdivision"),(c&e)<<n|(p&s)<<o|(v&r)<<d|(a&u)<<t}function p(i){return{sourceIndex:i>>n&e,subdivision:i>>o&s,type:i>>d&r,capSide:i>>t&u}}export{p as decodePathVertexInfo,c as encodePathVertexInfo,u as pathVertexInfoCapSideMask,t as pathVertexInfoCapSideShift,e as pathVertexInfoSourceIndexMask,n as pathVertexInfoSourceIndexShift,s as pathVertexInfoSubdivisionMask,o as pathVertexInfoSubdivisionShift,r as pathVertexInfoTypeMask,d as pathVertexInfoTypeShift};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{SliceConfiguration as i}from"../core/shaderLibrary/Slice.glsl.js";import{parameter as e}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";class o extends i{constructor(t){super(),this.spherical=t,this.alphaCutoff=1,this.fadingEnabled=!1,this.clippingEnabled=!1,this.receiveShadows=!1,this.hasShadowHighlights=!1,this.output=0,this.hasEmission=!1,this.receiveAmbientOcclusion=!1,this.receiveGlobalIllumination=!1,this.pbrMode=0,this.useCustomDTRExponentForWater=!1,this.useFillLights=!1,this.hasColorTexture=!0}}function r(t){switch(t){case 3:return.005;case 2:return.025;case 0:return.05;default:return.01}}t([e({count:4})],o.prototype,"alphaCutoff",void 0),t([e()],o.prototype,"fadingEnabled",void 0),t([e()],o.prototype,"clippingEnabled",void 0),t([e()],o.prototype,"receiveShadows",void 0),t([e()],o.prototype,"hasShadowHighlights",void 0),t([e({count:12})],o.prototype,"output",void 0),t([e()],o.prototype,"receiveAmbientOcclusion",void 0),t([e()],o.prototype,"receiveGlobalIllumination",void 0);export{o as GaussianSplatTechniqueConfiguration,r as getGaussianSplatAlphaCutoffValue};
2
+ import{__decorate as t}from"tslib";import{SliceConfiguration as i}from"../core/shaderLibrary/Slice.glsl.js";import{parameter as o}from"../core/shaderTechnique/ShaderTechniqueConfiguration.js";class e extends i{constructor(t){super(),this.spherical=t,this.alphaCutoff=1,this.fadingEnabled=!1,this.clippingEnabled=!1,this.receiveShadows=!1,this.hasShadowHighlights=!1,this.output=0,this.hasEmission=!1,this.receiveAmbientOcclusion=!1,this.receiveGlobalIllumination=!1,this.pbrMode=0,this.useCustomDTRExponentForWater=!1,this.useFillLights=!1,this.hasColorTexture=!0}}function s(t){switch(t){case 2:return.005;case 0:return.05;default:return.01}}t([o({count:3})],e.prototype,"alphaCutoff",void 0),t([o()],e.prototype,"fadingEnabled",void 0),t([o()],e.prototype,"clippingEnabled",void 0),t([o()],e.prototype,"receiveShadows",void 0),t([o()],e.prototype,"hasShadowHighlights",void 0),t([o({count:12})],e.prototype,"output",void 0),t([o()],e.prototype,"receiveAmbientOcclusion",void 0),t([o()],e.prototype,"receiveGlobalIllumination",void 0);export{e as GaussianSplatTechniqueConfiguration,s as getGaussianSplatAlphaCutoffValue};
@@ -22,6 +22,7 @@ export interface DOMContainerProperties extends Partial<Pick<DOMContainer, "aria
22
22
  * Exposes the default widgets available in the view and allows you to toggle them on
23
23
  * and off. See [DefaultUI](https://developers.arcgis.com/javascript/latest/references/core/views/ui/DefaultUI/) for more details.
24
24
  *
25
+ * @deprecated since 5.1. Please use [arcgis-map](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/), [arcgis-scene](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-scene/) or [arcgis-link-chart](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-link-chart/) with [slots](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/#slots) instead.
25
26
  * @example
26
27
  * let toggle = new BasemapToggle({
27
28
  * view: view,
@@ -140,6 +141,7 @@ export abstract class DOMContainer {
140
141
  * Exposes the default widgets available in the view and allows you to toggle them on
141
142
  * and off. See [DefaultUI](https://developers.arcgis.com/javascript/latest/references/core/views/ui/DefaultUI/) for more details.
142
143
  *
144
+ * @deprecated since 5.1. Please use [arcgis-map](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/), [arcgis-scene](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-scene/) or [arcgis-link-chart](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-link-chart/) with [slots](https://developers.arcgis.com/javascript/latest/references/map-components/components/arcgis-map/#slots) instead.
143
145
  * @example
144
146
  * let toggle = new BasemapToggle({
145
147
  * view: view,
@@ -92,6 +92,53 @@ export default class LinkChartView extends View2D {
92
92
  * @param options - Options to specify what is included in or excluded from the hitTest. Supported since 4.16.
93
93
  * @returns When resolved, returns an array of objects containing different [result types](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHit).
94
94
  * @see [Sample: Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
95
+ * @see [Sample: Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
96
+ * @example
97
+ * // Get the screen point from the view's click event
98
+ * view.on("click", async (event) => {
99
+ * // Search for all features only on included layers at the clicked location
100
+ * const response = await view.hitTest(event, { include: [csvLayer, featureLayer] });
101
+ *
102
+ * // if features are returned from the featureLayer, do something with results
103
+ * if (response.results.length) {
104
+ * response.results.forEach((result) => {
105
+ * if (result.graphic) {
106
+ * if (isFeatureGraphicOrigin(result.graphic.origin)) {
107
+ * console.log(result.graphic.origin.layer.title);
108
+ * } else if (isCSVGraphicOrigin(result.graphic.origin)) {
109
+ * console.log(result.graphic.origin.layer.longitudeField);
110
+ * }
111
+ * }
112
+ * });
113
+ * }
114
+ * });
115
+ * @example
116
+ * // Get the screen point from the view's pointer-move event
117
+ * view.on("pointer-move", async (event) => {
118
+ * // Search for graphics on layers at the hovered location
119
+ * // Exclude view.graphics from the hitTest
120
+ * const response = await view.hitTest(event, { exclude: view.graphics });
121
+ *
122
+ * // if graphics are returned, do something with results
123
+ * const graphicHits = response.results?.filter(
124
+ * (hitResult) => hitResult.type === "graphic"
125
+ * );
126
+ * if (graphicHits?.length > 0) {
127
+ * // do something
128
+ * }
129
+ * });
130
+ * @example
131
+ * // Get the screen point from the view's click event
132
+ * view.on("click", async (event) => {
133
+ * // Search for all media elements only on included mediaLayer at the clicked location
134
+ * const response = await view.hitTest(event, { include: mediaLayer });
135
+ *
136
+ * // if media elements are returned from the mediaLayer, do something with results
137
+ * if (response.results.length) {
138
+ * // do something
139
+ * console.log(response.results.length, "elements returned");
140
+ * }
141
+ * });
95
142
  */
96
143
  hitTest(screenPoint: ScreenPoint | MouseEvent, options?: HitTestOptions): Promise<ViewHitTestResult>;
97
144
  }
@@ -1,6 +1,5 @@
1
1
  import type View2D from "./View2D.js";
2
- import type { ScreenPoint } from "../core/types.js";
3
- import type { HitTestOptions, ViewHitTestResult, Screenshot, UserSettings } from "./types.js";
2
+ import type { Screenshot, UserSettings } from "./types.js";
4
3
  import type { View2DProperties } from "./View2D.js";
5
4
 
6
5
  export interface MapViewProperties extends View2DProperties {}
@@ -336,89 +335,6 @@ export default class MapView extends View2D {
336
335
  * });
337
336
  */
338
337
  constructor(properties?: MapViewProperties);
339
- /**
340
- * Returns [hit test results](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHitTestResult) from each layer that intersects the specified screen coordinates. The results are
341
- * organized as an array of objects containing different [result types](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHit).
342
- *
343
- * The following layer types will return all [features](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) if a hit is made on intersecting features:
344
- * [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/), [GeoRSSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoRSSLayer/),
345
- * [GraphicsLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GraphicsLayer/), [KMLLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/KMLLayer/), [MapNotesLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapNotesLayer/), [OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OGCFeatureLayer/),
346
- * [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/), [SubtypeSublayer](https://developers.arcgis.com/javascript/latest/references/core/layers/support/SubtypeSublayer/), [VectorTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/), and [WFSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/).
347
- *
348
- * The [VectorTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/) hit test result contains an array of objects containing a [graphic](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit).
349
- * The graphic returns attributes of a style layer. In addition, the graphic's [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) contains the style layer's
350
- * [id](https://maplibre.org/maplibre-style-spec/layers/#id) and layer index within the [vector tile style](https://doc.arcgis.com/en/arcgis-online/reference/tile-layers.htm#ESRI_SECTION1_8F68399EB47B48FF9EF46719FCC96978).
351
- * Spatial information about the actual feature represented in the style layer is returned only if the style layer is a [symbol layer](https://maplibre.org/maplibre-style-spec/layers/#symbol).
352
- * Otherwise, the graphic's geometry is `null`.
353
- *
354
- * The [MediaLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MediaLayer/) hit test [result](https://developers.arcgis.com/javascript/latest/references/core/views/types/#MediaHit) contains all media elements if the hit is made on intersecting elements.
355
- * The [RouteLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/RouteLayer/) hit test [result](https://developers.arcgis.com/javascript/latest/references/core/views/types/#RouteHit) contains all route elements if the hit is made on intersecting elements.
356
- *
357
- * If the [Polygon](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/) feature's symbol [style](https://developers.arcgis.com/javascript/latest/references/core/symbols/SimpleFillSymbol/#style) is set to "none", the hitTest method will not
358
- * return results when the fill is clicked. However, it will return results when the outline is clicked. To get results when clicking the fill, set the
359
- * [SimpleFillSymbol.color](https://developers.arcgis.com/javascript/latest/references/core/symbols/SimpleFillSymbol/#color) to a transparent color instead.
360
- *
361
- * Release-specific changes:
362
- * * At version 4.34, the [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/) hit result returns only the topmost feature when the hit occurs on overlapping features in a ParquetLayer.
363
- * * At version 4.29, [ViewHitTestResult](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHitTestResult) returns a result for all style layers from [VectorTileLayers](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/) that intersect the hit location.
364
- * In prior releases, only the top most style layer result was returned.
365
- * The hit test result returns attributes of style layers. The `layerId` and `layerIndex` information of the style layer is now returned in the graphic's [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) property.
366
- * * At version 4.24, [ViewHitTestResult](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHitTestResult) returns an array of objects containing [graphic](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit), [media element](https://developers.arcgis.com/javascript/latest/references/core/views/types/#MediaHit), and [route](https://developers.arcgis.com/javascript/latest/references/core/views/types/#RouteHit).
367
- * * At version 4.23, all hit test features from feature layers are returned in the result. In prior releases, only the top most feature was returned.
368
- * * At version 4.6, support for [VectorTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/) was added.
369
- *
370
- * @param screenPoint - The screen coordinates (or native mouse event) of the click on the view.
371
- * @param options - Options to specify what is included in or excluded from the hitTest. Supported since 4.16.
372
- * @returns When resolved, returns an array of objects containing different [result types](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHit).
373
- * @see [Sample: Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
374
- * @example
375
- * // Get the screen point from the view's click event
376
- * view.on("click", (event) => {
377
- * // Search for all features only on included layers at the clicked location
378
- * view.hitTest(event, { include: [csvLayer, featureLayer] }).then((response) => {
379
- * // if features are returned from the featureLayer, do something with results
380
- * if (response.results.length) {
381
- * response.results.forEach((result) => {
382
- * if (result.graphic) {
383
- * if (isFeatureGraphicOrigin(result.graphic.origin)) {
384
- * console.log(result.graphic.origin.layer.title);
385
- * } else if (isCSVGraphicOrigin(result.graphic.origin)) {
386
- * console.log(result.graphic.origin.layer.longitudeField);
387
- * }
388
- * }
389
- * });
390
- * }
391
- * });
392
- * });
393
- * @example
394
- * // Get the screen point from the view's pointer-move event
395
- * view.on("pointer-move", (event) => {
396
- * // Search for graphics on layers at the hovered location
397
- * // Exclude view.graphics from the hitTest
398
- * view.hitTest(event, { exclude: view.graphics }).then((response) => {
399
- * // if graphics are returned, do something with results
400
- * const graphicHits = response.results?.filter(
401
- * (hitResult) => hitResult.type === "graphic"
402
- * );
403
- * if (graphicHits?.length > 0) {
404
- * // do something
405
- * }
406
- * });
407
- * });
408
- * @example
409
- * // Get the screen point from the view's click event
410
- * view.on("click", (event) => {
411
- * // Search for all media elements only on included mediaLayer at the clicked location
412
- * view.hitTest(event, { include: mediaLayer }).then((response) => {
413
- * // if media elements are returned from the mediaLayer, do something with results
414
- * if (response.results.length) {
415
- * // do something
416
- * console.log(response.results.length, "elements returned");
417
- * }
418
- * })
419
- * });
420
- */
421
- hitTest(screenPoint: ScreenPoint | MouseEvent, options?: HitTestOptions): Promise<ViewHitTestResult>;
422
338
  /**
423
339
  * Create a screenshot of the current view. Screenshots include only elements
424
340
  * that are rendered on the canvas (all geographical elements), but excludes overlaid
@@ -9,7 +9,7 @@ import type { DOMContainer, DOMContainerProperties } from "./DOMContainer.js";
9
9
  import type { Viewport2DMixin } from "./Viewport2DMixin.js";
10
10
  import type { NavigationProperties } from "./navigation/Navigation.js";
11
11
 
12
- export interface VideoViewProperties extends DOMContainerProperties, Partial<Pick<VideoView, "layer" | "map" | "scale">> {
12
+ export interface VideoViewProperties extends DOMContainerProperties, Partial<Pick<VideoView, "layer" | "map" | "operationalDataVisible" | "scale">> {
13
13
  /**
14
14
  * Options to configure the navigation behavior of the View.
15
15
  *
@@ -85,6 +85,13 @@ export default class VideoView extends VideoViewSuperclass {
85
85
  */
86
86
  get navigation(): Navigation;
87
87
  set navigation(value: NavigationProperties);
88
+ /**
89
+ * Indicates whether the operational data (e.g. layers in the map) should be visible on top of the video. When set to `true`, the video will be rendered as an underlay, allowing the operational data to be displayed over it. When set to `false`, only the video will be visible, and any operational data will be hidden. Default is `false`.
90
+ *
91
+ * @default false
92
+ * @since 5.1
93
+ */
94
+ accessor operationalDataVisible: boolean;
88
95
  /**
89
96
  * When `true`, this property indicates whether the view successfully satisfied all dependencies,
90
97
  * signaling that the following conditions are met.
package/views/View2D.d.ts CHANGED
@@ -16,14 +16,14 @@ import type LayerView from "./layers/LayerView.js";
16
16
  import type ColorBackground from "../webmap/background/ColorBackground.js";
17
17
  import type { ViewpointProperties } from "../Viewpoint.js";
18
18
  import type { ReadonlyArrayOrCollection } from "../core/Collection.js";
19
- import type { ScreenPoint } from "../core/types.js";
19
+ import type { ScreenPoint, ScreenRect } from "../core/types.js";
20
20
  import type { ExtentProperties } from "../geometry/Extent.js";
21
21
  import type { SpatialReferenceProperties } from "../geometry/SpatialReference.js";
22
22
  import type { TimeZone } from "../time/types.js";
23
23
  import type { BreakpointsOwner, BreakpointsOwnerProperties } from "./BreakpointsOwner.js";
24
24
  import type { DOMContainer, DOMContainerProperties } from "./DOMContainer.js";
25
25
  import type { PopupView, PopupViewProperties } from "./PopupView.js";
26
- import type { GoToOptions2D, GoToTarget2D, ToScreenOptions2D } from "./types.js";
26
+ import type { HitTestOptions, GoToOptions2D, GoToTarget2D, ToScreenOptions2D, ViewHitTestResult } from "./types.js";
27
27
  import type { Viewport2DMixin } from "./Viewport2DMixin.js";
28
28
  import type { MapViewConstraintsProperties } from "./2d/MapViewConstraints.js";
29
29
  import type { LayerView2DFor, ResizeAlign } from "./2d/types.js";
@@ -874,6 +874,82 @@ export default abstract class View2D extends View2DSuperclass {
874
874
  * });
875
875
  */
876
876
  goTo(target: GoToTarget2D, options?: GoToOptions2D): Promise<void>;
877
+ /**
878
+ * Returns [hit test results](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHitTestResult) from each layer that intersects the specified screen point or screen rectangle.
879
+ * The results are organized as an array of objects containing different [result types](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHit) such as graphics, raster pixels, media elements, or routes.
880
+ *
881
+ * **2D hitTest() behavior by layer type**
882
+ * | Layer type | Hit test behavior |
883
+ * | :--- | :--- |
884
+ * | [FeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/FeatureLayer/), [CatalogFootprintLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/catalog/CatalogFootprintLayer/), [CSVLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/CSVLayer/), [GeoJSONLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoJSONLayer/), [OGCFeatureLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OGCFeatureLayer/), [OrientedImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/OrientedImageryLayer/), [StreamLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/StreamLayer/), [SubtypeGroupLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/SubtypeGroupLayer/), [WFSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/WFSLayer/) | Returns all intersecting [features](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) at the hit location. |
885
+ * | [ParquetLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ParquetLayer/) | Returns only the topmost [feature](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) when the hit occurs on overlapping features. (as of version 4.34). |
886
+ * | [GeoRSSLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GeoRSSLayer/), [GraphicsLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/GraphicsLayer/), [KMLLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/KMLLayer/), [MapNotesLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MapNotesLayer/) | Returns all intersecting [features](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) at the hit location. |
887
+ * | [ImageryLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryLayer/), [ImageryTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/ImageryTileLayer/)| Returns [result](https://developers.arcgis.com/javascript/latest/references/core/views/types/#RasterHit) containing raster pixel value used in rendering and bandId info on intersecting pixels. |
888
+ * | [VectorTileLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/VectorTileLayer/) | Returns a result for all intersecting [features](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit) containing attributes of style layers (as of version 4.29; in prior releases, only the topmost style layer result was returned). In addition, the graphic's [origin](https://developers.arcgis.com/javascript/latest/references/core/Graphic/#origin) contains the style layer's [id](https://maplibre.org/maplibre-style-spec/layers/#id) and layer index within the [vector tile style](https://doc.arcgis.com/en/arcgis-online/reference/tile-layers.htm#ESRI_SECTION1_8F68399EB47B48FF9EF46719FCC96978). Spatial information about the actual feature represented in the style layer is returned only if the style layer is a [symbol layer](https://maplibre.org/maplibre-style-spec/layers/#symbol). Otherwise, the graphic's geometry is `null`. |
889
+ * | [MediaLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/MediaLayer/) | Returns [result](https://developers.arcgis.com/javascript/latest/references/core/views/types/#MediaHit) containing all media elements if the hit is made on intersecting elements. |
890
+ * | [RouteLayer](https://developers.arcgis.com/javascript/latest/references/core/layers/RouteLayer/) | Returns [result](https://developers.arcgis.com/javascript/latest/references/core/views/types/#RouteHit) containing all intersecting route elements if the hit is made on intersecting elements. |
891
+ *
892
+ * **Note:** If the [Polygon](https://developers.arcgis.com/javascript/latest/references/core/geometry/Polygon/) feature's symbol [style](https://developers.arcgis.com/javascript/latest/references/core/symbols/SimpleFillSymbol/#style) is set to "none", the hitTest method will not
893
+ * return results when the fill is clicked. However, it will return results when the outline is clicked. To get results when clicking the fill, set the
894
+ * [SimpleFillSymbol.color](https://developers.arcgis.com/javascript/latest/references/core/symbols/SimpleFillSymbol/#color) to a transparent color instead.
895
+ *
896
+ * Release-specific changes:
897
+ * * At version 5.1, the [ScreenRect](https://developers.arcgis.com/javascript/latest/references/core/core/types/#ScreenRect) option was added to perform hit tests on rectangular areas.
898
+ * * At version 4.24, [ViewHitTestResult](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHitTestResult) returns an array of objects containing [graphic](https://developers.arcgis.com/javascript/latest/references/core/views/types/#GraphicHit), [media element](https://developers.arcgis.com/javascript/latest/references/core/views/types/#MediaHit), and [route](https://developers.arcgis.com/javascript/latest/references/core/views/types/#RouteHit).
899
+ * * At version 4.23, all hit test features from feature layers are returned in the result. In prior releases, only the top most feature was returned.
900
+ *
901
+ * @param hitTarget - The screen point, screen rectangle, or native mouse event identifying where to perform the hit test.
902
+ * @param options - Options to specify what is included in or excluded from the hitTest. Supported since 4.16.
903
+ * @returns When resolved, returns an array of objects containing different [result types](https://developers.arcgis.com/javascript/latest/references/core/views/types/#ViewHit).
904
+ * @see [Sample: Access features with hitTest](https://developers.arcgis.com/javascript/latest/sample-code/map-component-hittest/)
905
+ * @example
906
+ * // Get the screen point from the view's click event
907
+ * view.on("click", async (event) => {
908
+ * // Search for all features only on included layers at the clicked location
909
+ * const response = await view.hitTest(event, { include: [csvLayer, featureLayer] });
910
+ *
911
+ * // if features are returned from the featureLayer, do something with results
912
+ * if (response.results.length) {
913
+ * response.results.forEach((result) => {
914
+ * if (result.graphic) {
915
+ * if (isFeatureGraphicOrigin(result.graphic.origin)) {
916
+ * console.log(result.graphic.origin.layer.title);
917
+ * } else if (isCSVGraphicOrigin(result.graphic.origin)) {
918
+ * console.log(result.graphic.origin.layer.longitudeField);
919
+ * }
920
+ * }
921
+ * });
922
+ * }
923
+ * });
924
+ * @example
925
+ * // Get the screen point from the view's pointer-move event
926
+ * view.on("pointer-move", async (event) => {
927
+ * // Search for graphics on layers at the hovered location
928
+ * // Exclude view.graphics from the hitTest
929
+ * const response = await view.hitTest(event, { exclude: view.graphics });
930
+ *
931
+ * // if graphics are returned, do something with results
932
+ * const graphicHits = response.results?.filter(
933
+ * (hitResult) => hitResult.type === "graphic"
934
+ * );
935
+ * if (graphicHits?.length > 0) {
936
+ * // do something
937
+ * }
938
+ * });
939
+ * @example
940
+ * // Get the screen point from the view's click event
941
+ * view.on("click", async (event) => {
942
+ * // Search for all media elements only on included mediaLayer at the clicked location
943
+ * const response = await view.hitTest(event, { include: mediaLayer });
944
+ *
945
+ * // if media elements are returned from the mediaLayer, do something with results
946
+ * if (response.results.length) {
947
+ * // do something
948
+ * console.log(response.results.length, "elements returned");
949
+ * }
950
+ * });
951
+ */
952
+ hitTest(hitTarget: ScreenPoint | ScreenRect | MouseEvent, options?: HitTestOptions): Promise<ViewHitTestResult>;
877
953
  /**
878
954
  * Converts the given screen point to a [map point](https://developers.arcgis.com/javascript/latest/references/core/geometry/Point/).
879
955
  * The screen point represents a point in terms