@arcgis/core 4.33.0-next.20250131 → 4.33.0-next.20250201

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 (317) hide show
  1. package/WebScene.js +1 -1
  2. package/arcade/featureset/support/shared.js +1 -1
  3. package/arcade/geometry/unitConversion.js +1 -1
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/{b68bddd0c4ca91493543.js → 06d489a44d88e38fb140.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{4696278d033907a067c7.js → 085462ba3da7849fc296.js} +1 -1
  7. package/assets/esri/core/workers/chunks/0a19e1aec6a5502e391a.js +1 -0
  8. package/assets/esri/core/workers/chunks/{7a273e6e411f6cc31b3f.js → 326a3f50e585e492b673.js} +1 -1
  9. package/assets/esri/core/workers/chunks/4decfae8bc5e80878bdd.js +1 -0
  10. package/assets/esri/core/workers/chunks/{e0de91eacf3a3b7eda55.js → 5b20ee64248f2d5c937f.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{bef27448b341e429eb31.js → 692b3d03346f030aa649.js} +7 -7
  12. package/assets/esri/core/workers/chunks/6ec108bd955e064256b5.js +1 -0
  13. package/assets/esri/core/workers/chunks/c94ec324ecad77c53a87.js +1 -0
  14. package/assets/esri/core/workers/chunks/{ef6afba80fa2086ec104.js → e9f7953938b9bc8e8abe.js} +1 -1
  15. package/assets/esri/core/workers/chunks/fb1a89f753057f889971.js +314 -0
  16. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +4 -1
  17. package/assets/esri/themes/dark/main.css +1 -1
  18. package/assets/esri/themes/light/main.css +1 -1
  19. package/assets/esri/themes/light/view.css +1 -1
  20. package/assets/esri/widgets/Directions/t9n/Directions.json +1 -1
  21. package/assets/esri/widgets/Directions/t9n/Directions_ar.json +1 -1
  22. package/assets/esri/widgets/Directions/t9n/Directions_bg.json +1 -1
  23. package/assets/esri/widgets/Directions/t9n/Directions_bs.json +1 -1
  24. package/assets/esri/widgets/Directions/t9n/Directions_ca.json +1 -1
  25. package/assets/esri/widgets/Directions/t9n/Directions_cs.json +1 -1
  26. package/assets/esri/widgets/Directions/t9n/Directions_da.json +1 -1
  27. package/assets/esri/widgets/Directions/t9n/Directions_de.json +1 -1
  28. package/assets/esri/widgets/Directions/t9n/Directions_el.json +1 -1
  29. package/assets/esri/widgets/Directions/t9n/Directions_en.json +1 -1
  30. package/assets/esri/widgets/Directions/t9n/Directions_es.json +1 -1
  31. package/assets/esri/widgets/Directions/t9n/Directions_et.json +1 -1
  32. package/assets/esri/widgets/Directions/t9n/Directions_fi.json +1 -1
  33. package/assets/esri/widgets/Directions/t9n/Directions_fr.json +1 -1
  34. package/assets/esri/widgets/Directions/t9n/Directions_he.json +1 -1
  35. package/assets/esri/widgets/Directions/t9n/Directions_hr.json +1 -1
  36. package/assets/esri/widgets/Directions/t9n/Directions_hu.json +1 -1
  37. package/assets/esri/widgets/Directions/t9n/Directions_id.json +1 -1
  38. package/assets/esri/widgets/Directions/t9n/Directions_it.json +1 -1
  39. package/assets/esri/widgets/Directions/t9n/Directions_ja.json +1 -1
  40. package/assets/esri/widgets/Directions/t9n/Directions_ko.json +1 -1
  41. package/assets/esri/widgets/Directions/t9n/Directions_lt.json +1 -1
  42. package/assets/esri/widgets/Directions/t9n/Directions_lv.json +1 -1
  43. package/assets/esri/widgets/Directions/t9n/Directions_nl.json +1 -1
  44. package/assets/esri/widgets/Directions/t9n/Directions_no.json +1 -1
  45. package/assets/esri/widgets/Directions/t9n/Directions_pl.json +1 -1
  46. package/assets/esri/widgets/Directions/t9n/Directions_pt-BR.json +1 -1
  47. package/assets/esri/widgets/Directions/t9n/Directions_pt-PT.json +1 -1
  48. package/assets/esri/widgets/Directions/t9n/Directions_ro.json +1 -1
  49. package/assets/esri/widgets/Directions/t9n/Directions_ru.json +1 -1
  50. package/assets/esri/widgets/Directions/t9n/Directions_sk.json +1 -1
  51. package/assets/esri/widgets/Directions/t9n/Directions_sl.json +1 -1
  52. package/assets/esri/widgets/Directions/t9n/Directions_sr.json +1 -1
  53. package/assets/esri/widgets/Directions/t9n/Directions_sv.json +1 -1
  54. package/assets/esri/widgets/Directions/t9n/Directions_th.json +1 -1
  55. package/assets/esri/widgets/Directions/t9n/Directions_tr.json +1 -1
  56. package/assets/esri/widgets/Directions/t9n/Directions_uk.json +1 -1
  57. package/assets/esri/widgets/Directions/t9n/Directions_vi.json +1 -1
  58. package/assets/esri/widgets/Directions/t9n/Directions_zh-CN.json +1 -1
  59. package/assets/esri/widgets/Directions/t9n/Directions_zh-HK.json +1 -1
  60. package/assets/esri/widgets/Directions/t9n/Directions_zh-TW.json +1 -1
  61. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  62. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  63. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  64. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  65. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  66. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  67. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  68. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  69. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  70. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  71. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  72. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  73. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  74. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  75. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  76. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  77. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  78. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  79. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  80. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  81. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  82. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  83. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  84. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  85. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  86. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  87. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  88. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  89. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  90. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  91. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  92. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  93. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  94. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  95. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  96. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  97. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  98. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  99. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  100. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ar.json +1 -1
  101. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bg.json +1 -1
  102. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_bs.json +1 -1
  103. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ca.json +1 -1
  104. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_cs.json +1 -1
  105. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_da.json +1 -1
  106. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_de.json +1 -1
  107. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_el.json +1 -1
  108. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_es.json +1 -1
  109. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_et.json +1 -1
  110. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fi.json +1 -1
  111. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_fr.json +1 -1
  112. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_he.json +1 -1
  113. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hr.json +1 -1
  114. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_hu.json +1 -1
  115. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_id.json +1 -1
  116. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_it.json +1 -1
  117. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ja.json +1 -1
  118. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ko.json +1 -1
  119. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lt.json +1 -1
  120. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_lv.json +1 -1
  121. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_nl.json +1 -1
  122. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_no.json +1 -1
  123. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pl.json +1 -1
  124. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-BR.json +1 -1
  125. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_pt-PT.json +1 -1
  126. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ro.json +1 -1
  127. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_ru.json +1 -1
  128. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sk.json +1 -1
  129. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sl.json +1 -1
  130. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sr.json +1 -1
  131. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_sv.json +1 -1
  132. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_th.json +1 -1
  133. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_tr.json +1 -1
  134. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_uk.json +1 -1
  135. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_vi.json +1 -1
  136. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-CN.json +1 -1
  137. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-HK.json +1 -1
  138. package/assets/esri/widgets/FeatureForm/t9n/FeatureForm_zh-TW.json +1 -1
  139. package/geometry/support/typeUtils.js +1 -1
  140. package/interfaces.d.ts +154 -7
  141. package/layers/FeatureLayer.js +1 -1
  142. package/layers/support/rasterFieldUtils.js +1 -1
  143. package/package.json +1 -1
  144. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  145. package/support/revision.js +1 -1
  146. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  147. package/views/2d/layers/features/layerAdapters/ParquetLayerAdapter.js +1 -1
  148. package/views/2d/layers/features/layerAdapters/geometryUtils.js +1 -1
  149. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  150. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  151. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  152. package/views/3d/environment/CloudsComposition.js +1 -1
  153. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  154. package/views/3d/environment/CloudsRenderer.js +1 -1
  155. package/views/3d/environment/CloudsTechnique.js +1 -1
  156. package/views/3d/environment/Fog.js +1 -1
  157. package/views/3d/environment/FogTechnique.js +1 -1
  158. package/views/3d/environment/LocalAtmosphere.js +1 -1
  159. package/views/3d/environment/MarsAtmosphere.js +1 -1
  160. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  161. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  162. package/views/3d/environment/Precipitation.js +1 -1
  163. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  164. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  165. package/views/3d/interactive/editingTools/media/ControlPointOperations.js +1 -1
  166. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  167. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  168. package/views/3d/layers/GraphicsView3D.js +1 -1
  169. package/views/3d/layers/RouteLayerView3D.js +1 -1
  170. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  171. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  172. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  173. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  174. package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
  175. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  176. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandEncoder.js +1 -1
  177. package/views/3d/layers/graphics/pipeline/symbolization/TestSymbol.js +1 -1
  178. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  179. package/views/3d/layers/support/MediaLayerInteraction.js +1 -1
  180. package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
  181. package/views/3d/support/hitTest.js +1 -1
  182. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  183. package/views/3d/terrain/OverlayRenderer.js +1 -1
  184. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  185. package/views/3d/terrain/TerrainRenderer.js +1 -1
  186. package/views/3d/terrain/TileCompositor.js +1 -1
  187. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  188. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  189. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  190. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  191. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  192. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  193. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  194. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  195. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  196. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  197. package/views/3d/webgl-engine/effects/bloom/BloomDepthAdjustTechnique.js +1 -1
  198. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  199. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  200. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  201. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  202. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  203. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  204. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  205. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  206. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  207. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  208. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  209. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  210. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  211. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  212. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  213. package/views/3d/webgl-engine/effects/highlight/SingleHighlightApplyTechnique.js +1 -1
  214. package/views/3d/webgl-engine/effects/highlight/SingleHighlightBlurTechnique.js +1 -1
  215. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  216. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  217. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  218. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  219. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  220. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  221. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  222. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  223. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  224. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  225. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  226. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  227. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  228. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  229. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  230. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  231. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  232. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  233. package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
  234. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  235. package/views/3d/webgl-engine/lib/IntersectorTarget.js +1 -1
  236. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  237. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  238. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  239. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  240. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  241. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  242. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  243. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  244. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  245. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  246. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  247. package/views/3d/webgl-engine/lib/intersectorUtilsConversions.js +1 -1
  248. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  249. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  250. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  251. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  252. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  253. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  254. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  255. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  256. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  257. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  258. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  259. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  260. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  261. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  262. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  263. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  264. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  265. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  266. package/views/3d/webgl-engine/materials/WaterGLMaterial.js +1 -1
  267. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  268. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  269. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  270. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  271. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  272. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  273. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
  274. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  275. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  276. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  277. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  278. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  279. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  280. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  281. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  282. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  283. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  284. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  285. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  286. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  287. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  288. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  289. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  290. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  291. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  292. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  293. package/views/draw/DrawOperation.js +1 -1
  294. package/views/draw/support/helpMessageUtils.js +1 -1
  295. package/views/draw/support/tooltipUtils.js +1 -1
  296. package/views/interactive/keybindings.js +1 -1
  297. package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
  298. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  299. package/views/interactive/snapping/snappingUtils.js +1 -1
  300. package/views/interactive/tooltip/content/tooltipContentFactory.js +1 -1
  301. package/views/interactive/tooltip/infos/DrawCircleTooltipInfo.js +1 -1
  302. package/views/interactive/tooltip/infos/DrawMultipointTooltipInfo.js +5 -0
  303. package/views/interactive/tooltip/infos/DrawRectangleTooltipInfo.js +1 -1
  304. package/views/layers/FeatureLayerView.js +1 -1
  305. package/views/layers/MediaLayerView.js +1 -1
  306. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  307. package/widgets/BatchAttributeForm/expressions/ExpressionsManager.js +1 -1
  308. package/widgets/BatchAttributeForm.js +1 -1
  309. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  310. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.d.ts +4 -0
  311. package/widgets/LinkChartLayoutSwitcher/LinkChartLayoutSwitcherViewModel.js +1 -1
  312. package/widgets/support/widget.d.ts +9 -0
  313. package/assets/esri/core/workers/chunks/0bafa546602b776caf2f.js +0 -1
  314. package/assets/esri/core/workers/chunks/258b46b58a4860942f7c.js +0 -1
  315. package/assets/esri/core/workers/chunks/69ab4b780f7223cfd7dd.js +0 -1
  316. package/assets/esri/core/workers/chunks/83edac97a52b26ead1ea.js +0 -314
  317. package/assets/esri/core/workers/chunks/9ffa27d0517bad84572e.js +0 -1
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../core/Logger.js";import{clamp as t}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as r}from"../../../../core/screenUtils.js";import{copy as i}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{i as s,d as a,f as n,h as o,g as l,c,l as p,j as h,t as u}from"../../../../chunks/vec32.js";import{create as f}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as m}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{PlaneIndex as T}from"../../../../geometry/support/frustum.js";import{create as d,distance2 as _,fromPoints as E,closestLineSegmentPoint as A}from"../../../../geometry/support/lineSegment.js";import{create as R,fromPoints as O,signedDistance as g,getNormal as I}from"../../../../geometry/support/plane.js";import{newLayout as S}from"../../support/buffer/InterleavedLayout.js";import{isHighlightOrOID as v,isColorOrColorEmission as P,isDepth as N,isColorEmissionHighlightOIDOrDepth as L,is2DGeometryOutput as b,ShaderOutput as C}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as U}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as y}from"../effects/geometry/olidUtils.js";import D from"../lib/GLMaterial.js";import{Material as j,RenderOccludedFlag as F}from"../lib/Material.js";import{RenderSlot as w}from"../lib/RenderSlot.js";import{isTranslationMatrix as M}from"../lib/Util.js";import{VertexAttribute as x}from"../lib/VertexAttribute.js";import{VisualVariablePassParameters as B}from"./VisualVariablePassParameters.js";import{LineMarkerAnchor as J}from"../shaders/LineMarkerTechniqueConfiguration.js";import{r as H}from"../../../../chunks/RibbonLine.glsl.js";import{vertexAttributeLocations as z,RibbonLineTechnique as G}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as k,CapType as V}from"../shaders/RibbonLineTechniqueConfiguration.js";var Z;!function(e){e[e.LEFT_JOIN_START=-2]="LEFT_JOIN_START",e[e.LEFT_JOIN_END=-1]="LEFT_JOIN_END",e[e.LEFT_CAP_START=-4]="LEFT_CAP_START",e[e.LEFT_CAP_END=-5]="LEFT_CAP_END",e[e.RIGHT_JOIN_START=2]="RIGHT_JOIN_START",e[e.RIGHT_JOIN_END=1]="RIGHT_JOIN_END",e[e.RIGHT_CAP_START=4]="RIGHT_CAP_START",e[e.RIGHT_CAP_END=5]="RIGHT_CAP_END"}(Z||(Z={}));class W extends j{constructor(e){super(e,q),this._configuration=new k,this.vertexAttributeLocations=z,this.produces=new Map([[w.OPAQUE_MATERIAL,e=>v(e)||P(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.OPAQUE_MATERIAL_WITHOUT_NORMALS,e=>N(e)],[w.OCCLUDER_MATERIAL,e=>L(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.TRANSPARENT_OCCLUDER_MATERIAL,e=>L(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.TRANSPARENT_MATERIAL,e=>P(e)&&this.parameters.writeDepth&&this.parameters.renderOccluded!==F.OccludeAndTransparentStencil],[w.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>P(e)&&!this.parameters.writeDepth&&this.parameters.renderOccluded!==F.OccludeAndTransparentStencil],[w.DRAPED_MATERIAL,e=>b(e)]])}getConfiguration(e,t){this._configuration.output=e,this._configuration.oitPass=t.oitPass,this._configuration.draped=t.slot===w.DRAPED_MATERIAL;const r=null!=this.parameters.stipplePattern&&e!==C.Highlight;return this._configuration.stippleEnabled=r,this._configuration.stippleOffColorEnabled=r&&null!=this.parameters.stippleOffColor,this._configuration.stipplePreferContinuous=r&&this.parameters.stipplePreferContinuous,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.applyMarkerOffset=null!=this.parameters.markerParameters&&$(this.parameters.markerParameters),this._configuration.hasPolygonOffset=this.parameters.hasPolygonOffset,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.vvOpacity=!!this.parameters.vvOpacity,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&null!=this.parameters.innerColor,this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.hasOccludees=t.hasOccludees,this._configuration.occluder=this.parameters.renderOccluded===F.OccludeAndTransparentStencil,this._configuration.terrainDepthTest=t.terrainDepthTest&&P(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration.wireframe=this.parameters.wireframe,this._configuration}get visible(){return this.parameters.color[3]>=U||null!=this.parameters.stipplePattern&&(this.parameters.stippleOffColor?.[3]??0)>U}intersectDraped({attributes:e,screenToWorldRatio:r},i,s,a,n,o){if(!s.options.selectionMode)return;const l=e.get(x.SIZE);let c=this.parameters.width;if(this.parameters.vvSize){const r=e.get(x.SIZEFEATUREATTRIBUTE).data[0];c*=t(this.parameters.vvSize.offset[0]+r*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else l&&(c*=l.data[0]);const p=a[0],h=a[1],u=(c/2+4)*r;let f=Number.MAX_VALUE,m=0;const T=e.get(x.POSITION).data,d=K(this.parameters,e)?T.length-2:T.length-5;for(let _=0;_<d;_+=3){const e=T[_],r=T[_+1],i=(_+3)%T.length,s=p-e,a=h-r,n=T[i]-e,o=T[i+1]-r,l=t((n*s+o*a)/(n*n+o*o),0,1),c=n*l-s,u=o*l-a,d=c*c+u*u;d<f&&(f=d,m=_/3)}f<u*u&&n(o.dist,o.normal,m,!1)}intersect(r,u,f,m,d,R){if(!f.options.selectionMode||!r.visible)return;if(!M(u))return void e.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const S=r.attributes,v=S.get(x.POSITION).data;let P=this.parameters.width;if(this.parameters.vvSize){const e=S.get(x.SIZEFEATUREATTRIBUTE).data[0];P*=t(this.parameters.vvSize.offset[0]+e*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else S.has(x.SIZE)&&(P*=S.get(x.SIZE).data[0]);const N=f.camera,L=se;i(L,f.point);const b=P*N.pixelRatio/2+4*N.pixelRatio;s(me[0],L[0]-b,L[1]+b,0),s(me[1],L[0]+b,L[1]+b,0),s(me[2],L[0]+b,L[1]-b,0),s(me[3],L[0]-b,L[1]-b,0);for(let e=0;e<4;e++)if(!N.unprojectFromRenderScreen(me[e],Te[e]))return;O(N.eye,Te[0],Te[1],de),O(N.eye,Te[1],Te[2],_e),O(N.eye,Te[2],Te[3],Ee),O(N.eye,Te[3],Te[0],Ae);let C=Number.MAX_VALUE,U=0;const y=K(this.parameters,S)?v.length-2:v.length-5;for(let e=0;e<y;e+=3){ee[0]=v[e]+u[12],ee[1]=v[e+1]+u[13],ee[2]=v[e+2]+u[14];const t=(e+3)%v.length;if(te[0]=v[t]+u[12],te[1]=v[t+1]+u[13],te[2]=v[t+2]+u[14],g(de,ee)<0&&g(de,te)<0||g(_e,ee)<0&&g(_e,te)<0||g(Ee,ee)<0&&g(Ee,te)<0||g(Ae,ee)<0&&g(Ae,te)<0)continue;if(N.projectToRenderScreen(ee,ae),N.projectToRenderScreen(te,ne),ae[2]<0&&ne[2]>0){a(re,ee,te);const e=N.frustum,t=-g(e[T.NEAR],ee)/n(re,I(e[T.NEAR]));o(re,re,t),l(ee,ee,re),N.projectToRenderScreen(ee,ae)}else if(ae[2]>0&&ne[2]<0){a(re,te,ee);const e=N.frustum,t=-g(e[T.NEAR],te)/n(re,I(e[T.NEAR]));o(re,re,t),l(te,te,re),N.projectToRenderScreen(te,ne)}else if(ae[2]<0&&ne[2]<0)continue;ae[2]=0,ne[2]=0;const r=_(E(ae,ne,ce),L);r<C&&(C=r,c(oe,ee),c(le,te),U=e/3)}const D=f.rayBegin,j=f.rayEnd;if(C<b*b){let e=Number.MAX_VALUE;if(A(E(oe,le,ce),E(D,j,pe),ie)){a(ie,ie,D);const t=p(ie);o(ie,ie,1/t),e=t/h(D,j)}R(e,ie,U,!1)}}get _layout(){const e=S().vec3f(x.POSITION).vec3f(x.PREVPOSITION).vec3f(x.NEXTPOSITION).f32(x.SUBDIVISIONFACTOR).vec2f(x.UV0);return this.parameters.vvSize?e.f32(x.SIZEFEATUREATTRIBUTE):e.f32(x.SIZE),this.parameters.vvColor?e.f32(x.COLORFEATUREATTRIBUTE):e.vec4f(x.COLOR),this.parameters.vvOpacity&&e.f32(x.OPACITYFEATUREATTRIBUTE),y()&&e.vec4u8(x.OBJECTANDLAYERIDCOLOR),e}createBufferWriter(){return new X(this._layout,this.parameters)}createGLMaterial(e){return new Y(e)}validateParameters(e){"miter"!==e.join&&(e.miterLimit=0),null!=e.markerParameters&&(e.markerScale=e.markerParameters.width/e.width)}}class Y extends D{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextures.release(this._stipplePattern),this._stipplePattern=null}beginSlot(e){const t=this._material.parameters.stipplePattern;return this._stipplePattern!==t&&(this._material.setParameters({stippleTexture:this._stippleTextures.swap(t,this._stipplePattern)}),this._stipplePattern=t),this.acquireTechnique(G,e)}}class q extends B{constructor(){super(...arguments),this.width=0,this.color=m,this.join="miter",this.cap=V.BUTT,this.miterLimit=5,this.writeDepth=!0,this.hasPolygonOffset=!1,this.stippleTexture=null,this.stipplePreferContinuous=!0,this.markerParameters=null,this.markerScale=1,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.wireframe=!1}get transparent(){return this.color[3]<1||null!=this.stipplePattern&&(this.stippleOffColor?.[3]??0)<1}}class X{constructor(e,t){this.vertexBufferLayout=e,this._parameters=t,this.numJoinSubdivisions=0;const r=t.stipplePattern?1:0;switch(this._parameters.join){case"miter":case"bevel":this.numJoinSubdivisions=r;break;case"round":this.numJoinSubdivisions=H+r}}_isClosed(e){return K(this._parameters,e)}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){const t=2,r=e.get(x.POSITION).indices.length/2+1,i=this._isClosed(e);let s=i?2:2*t;return s+=((i?r:r-1)-(i?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(e,t,r,i,a,n){const o=he,l=ue,p=fe,f=r.get(x.POSITION),m=f.indices,T=f.data.length/3,d=r.get(x.DISTANCETOSTART)?.data;m&&m.length!==2*(T-1)&&console.warn("RibbonLineMaterial does not support indices");const _=r.get(x.SIZEFEATUREATTRIBUTE)?.data[0]??r.get(x.SIZE)?.data[0]??1;let E=[1,1,1,1],A=0;const R=this.vertexBufferLayout.fields.has(x.COLORFEATUREATTRIBUTE);R?A=r.get(x.COLORFEATUREATTRIBUTE).data[0]:r.has(x.COLOR)&&(E=r.get(x.COLOR).data);const O=this.vertexBufferLayout.fields.has(x.OPACITYFEATUREATTRIBUTE),g=O?r.get(x.OPACITYFEATUREATTRIBUTE).data[0]:0,I=new Float32Array(a.buffer),S=y()?new Uint8Array(a.buffer):null,v=this.vertexBufferLayout.stride/4;let P=n*v;const N=P;let L=0;const b=d?(e,t,r)=>L=d[r]:(e,t,r)=>L+=h(e,t),C=(e,t,r,s,a,n,o)=>{if(I[P++]=t[0],I[P++]=t[1],I[P++]=t[2],I[P++]=e[0],I[P++]=e[1],I[P++]=e[2],I[P++]=r[0],I[P++]=r[1],I[P++]=r[2],I[P++]=s,I[P++]=o,I[P++]=a,I[P++]=_,R)I[P++]=A;else{const e=Math.min(4*n,E.length-4);I[P++]=E[e],I[P++]=E[e+1],I[P++]=E[e+2],I[P++]=E[e+3]}O&&(I[P++]=g),y()&&(i&&(S[4*P]=i[0],S[4*P+1]=i[1],S[4*P+2]=i[2],S[4*P+3]=i[3]),P++)};P+=v,s(l,f.data[0],f.data[1],f.data[2]),e&&u(l,l,e);const U=this._isClosed(r);if(U){const t=f.data.length-3;s(o,f.data[t],f.data[t+1],f.data[t+2]),e&&u(o,o,e)}else s(p,f.data[3],f.data[4],f.data[5]),e&&u(p,p,e),C(l,l,p,1,Z.LEFT_CAP_START,0,0),C(l,l,p,1,Z.RIGHT_CAP_START,0,0),c(o,l),c(l,p);const D=U?0:1,j=U?T:T-1;for(let h=D;h<j;h++){const t=(h+1)%T*3;s(p,f.data[t],f.data[t+1],f.data[t+2]),e&&u(p,p,e),b(o,l,h),C(o,l,p,0,Z.LEFT_JOIN_END,h,L),C(o,l,p,0,Z.RIGHT_JOIN_END,h,L);const r=this.numJoinSubdivisions;for(let e=0;e<r;++e){const t=(e+1)/(r+1);C(o,l,p,t,Z.LEFT_JOIN_END,h,L),C(o,l,p,t,Z.RIGHT_JOIN_END,h,L)}C(o,l,p,1,Z.LEFT_JOIN_START,h,L),C(o,l,p,1,Z.RIGHT_JOIN_START,h,L),c(o,l),c(l,p)}U?(s(p,f.data[3],f.data[4],f.data[5]),e&&u(p,p,e),L=b(o,l,j),C(o,l,p,0,Z.LEFT_JOIN_END,D,L),C(o,l,p,0,Z.RIGHT_JOIN_END,D,L)):(L=b(o,l,j),C(o,l,l,0,Z.LEFT_CAP_END,j,L),C(o,l,l,0,Z.RIGHT_CAP_END,j,L)),Q(I,N+v,I,N,v);P=Q(I,P-v,I,P,v),this._parameters.wireframe&&this._addWireframeVertices(a,N,P,v)}_addWireframeVertices(e,t,r,i){const s=new Float32Array(e.buffer,r*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(e.buffer,t*Float32Array.BYTES_PER_ELEMENT,r-t);let n=0;const o=e=>n=Q(a,e,s,n,i);for(let l=0;l<a.length-1;l+=2*i)o(l),o(l+2*i),o(l+1*i),o(l+2*i),o(l+1*i),o(l+3*i)}}function Q(e,t,r,i,s){for(let a=0;a<s;a++)r[i++]=e[t++];return i}function K(e,t){if(!e.isClosed)return!1;return t.get(x.POSITION).indices.length>2}function $(e){return e.anchor===J.Tip&&e.hideOnShortSegments&&"begin-end"===e.placement&&e.worldSpace}const ee=f(),te=f(),re=f(),ie=f(),se=f(),ae=r(),ne=r(),oe=f(),le=f(),ce=d(),pe=d(),he=f(),ue=f(),fe=f(),me=[r(),r(),r(),r()],Te=[f(),f(),f(),f()],de=R(),_e=R(),Ee=R(),Ae=R();export{q as Parameters,W as RibbonLineMaterial};
5
+ import e from"../../../../core/Logger.js";import{clamp as t}from"../../../../core/mathUtils.js";import{createRenderScreenPointArray3 as r}from"../../../../core/screenUtils.js";import{copy as i}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{i as s,d as a,f as n,h as o,g as l,c,l as p,j as h,t as f}from"../../../../chunks/vec32.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as u}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{PlaneIndex as T}from"../../../../geometry/support/frustum.js";import{create as d,distance2 as _,fromPoints as E,closestLineSegmentPoint as A}from"../../../../geometry/support/lineSegment.js";import{create as R,fromPoints as O,signedDistance as g,getNormal as I}from"../../../../geometry/support/plane.js";import{newLayout as S}from"../../support/buffer/InterleavedLayout.js";import{isHighlightOrOID as v,isColorOrColorEmission as P,isDepth as N,isColorEmissionHighlightOIDOrDepth as L,is2DGeometryOutput as b,ShaderOutput as C}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as U}from"../core/shaderLibrary/util/AlphaCutoff.js";import{olidEnabled as y}from"../effects/geometry/olidUtils.js";import D from"../lib/GLMaterial.js";import{Material as j,RenderOccludedFlag as F}from"../lib/Material.js";import{RenderSlot as w}from"../lib/RenderSlot.js";import{isTranslationMatrix as M}from"../lib/Util.js";import{VertexAttribute as x}from"../lib/VertexAttribute.js";import{VisualVariablePassParameters as B}from"./VisualVariablePassParameters.js";import{LineMarkerAnchor as J}from"../shaders/LineMarkerTechniqueConfiguration.js";import{r as H}from"../../../../chunks/RibbonLine.glsl.js";import{vertexAttributeLocations as z,RibbonLineTechnique as G}from"../shaders/RibbonLineTechnique.js";import{RibbonLineTechniqueConfiguration as k,CapType as V}from"../shaders/RibbonLineTechniqueConfiguration.js";var Z;!function(e){e[e.LEFT_JOIN_START=-2]="LEFT_JOIN_START",e[e.LEFT_JOIN_END=-1]="LEFT_JOIN_END",e[e.LEFT_CAP_START=-4]="LEFT_CAP_START",e[e.LEFT_CAP_END=-5]="LEFT_CAP_END",e[e.RIGHT_JOIN_START=2]="RIGHT_JOIN_START",e[e.RIGHT_JOIN_END=1]="RIGHT_JOIN_END",e[e.RIGHT_CAP_START=4]="RIGHT_CAP_START",e[e.RIGHT_CAP_END=5]="RIGHT_CAP_END"}(Z||(Z={}));class W extends j{constructor(e){super(e,q),this._configuration=new k,this.vertexAttributeLocations=z,this.produces=new Map([[w.OPAQUE_MATERIAL,e=>v(e)||P(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.OPAQUE_MATERIAL_WITHOUT_NORMALS,e=>N(e)],[w.OCCLUDER_MATERIAL,e=>L(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.TRANSPARENT_OCCLUDER_MATERIAL,e=>L(e)&&this.parameters.renderOccluded===F.OccludeAndTransparentStencil],[w.TRANSPARENT_MATERIAL,e=>P(e)&&this.parameters.writeDepth&&this.parameters.renderOccluded!==F.OccludeAndTransparentStencil],[w.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>P(e)&&!this.parameters.writeDepth&&this.parameters.renderOccluded!==F.OccludeAndTransparentStencil],[w.DRAPED_MATERIAL,e=>b(e)]])}getConfiguration(e,t){this._configuration.output=e,this._configuration.oitPass=t.oitPass,this._configuration.draped=t.slot===w.DRAPED_MATERIAL;const r=null!=this.parameters.stipplePattern&&e!==C.Highlight;return this._configuration.stippleEnabled=r,this._configuration.stippleOffColorEnabled=r&&null!=this.parameters.stippleOffColor,this._configuration.stipplePreferContinuous=r&&this.parameters.stipplePreferContinuous,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.roundJoins="round"===this.parameters.join,this._configuration.capType=this.parameters.cap,this._configuration.applyMarkerOffset=null!=this.parameters.markerParameters&&$(this.parameters.markerParameters),this._configuration.hasPolygonOffset=this.parameters.hasPolygonOffset,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.vvSize=!!this.parameters.vvSize,this._configuration.vvColor=!!this.parameters.vvColor,this._configuration.vvOpacity=!!this.parameters.vvOpacity,this._configuration.innerColorEnabled=this.parameters.innerWidth>0&&null!=this.parameters.innerColor,this._configuration.falloffEnabled=this.parameters.falloff>0,this._configuration.hasOccludees=t.hasOccludees,this._configuration.occluder=this.parameters.renderOccluded===F.OccludeAndTransparentStencil,this._configuration.terrainDepthTest=t.terrainDepthTest&&P(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration.wireframe=this.parameters.wireframe,this._configuration}get visible(){return this.parameters.color[3]>=U||null!=this.parameters.stipplePattern&&(this.parameters.stippleOffColor?.[3]??0)>U}intersectDraped({attributes:e,screenToWorldRatio:r},i,s,a,n,o){if(!s.options.selectionMode)return;const l=e.get(x.SIZE);let c=this.parameters.width;if(this.parameters.vvSize){const r=e.get(x.SIZEFEATUREATTRIBUTE).data[0];c*=t(this.parameters.vvSize.offset[0]+r*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else l&&(c*=l.data[0]);const p=a[0],h=a[1],f=(c/2+4)*r;let m=Number.MAX_VALUE,u=0;const T=e.get(x.POSITION).data,d=K(this.parameters,e)?T.length-2:T.length-5;for(let _=0;_<d;_+=3){const e=T[_],r=T[_+1],i=(_+3)%T.length,s=p-e,a=h-r,n=T[i]-e,o=T[i+1]-r,l=t((n*s+o*a)/(n*n+o*o),0,1),c=n*l-s,f=o*l-a,d=c*c+f*f;d<m&&(m=d,u=_/3)}m<f*f&&n(o.dist,o.normal,u,!1)}intersect(r,f,m,u,d,R){if(!m.options.selectionMode||!r.visible)return;if(!M(f))return void e.getLogger("esri.views.3d.webgl-engine.materials.RibbonLineMaterial").error("intersection assumes a translation-only matrix");const S=r.attributes,v=S.get(x.POSITION).data;let P=this.parameters.width;if(this.parameters.vvSize){const e=S.get(x.SIZEFEATUREATTRIBUTE).data[0];P*=t(this.parameters.vvSize.offset[0]+e*this.parameters.vvSize.factor[0],this.parameters.vvSize.minSize[0],this.parameters.vvSize.maxSize[0])}else S.has(x.SIZE)&&(P*=S.get(x.SIZE).data[0]);const N=m.camera,L=se;i(L,m.point);const b=P*N.pixelRatio/2+4*N.pixelRatio;s(ue[0],L[0]-b,L[1]+b,0),s(ue[1],L[0]+b,L[1]+b,0),s(ue[2],L[0]+b,L[1]-b,0),s(ue[3],L[0]-b,L[1]-b,0);for(let e=0;e<4;e++)if(!N.unprojectFromRenderScreen(ue[e],Te[e]))return;O(N.eye,Te[0],Te[1],de),O(N.eye,Te[1],Te[2],_e),O(N.eye,Te[2],Te[3],Ee),O(N.eye,Te[3],Te[0],Ae);let C=Number.MAX_VALUE,U=0;const y=K(this.parameters,S)?v.length-2:v.length-5;for(let e=0;e<y;e+=3){ee[0]=v[e]+f[12],ee[1]=v[e+1]+f[13],ee[2]=v[e+2]+f[14];const t=(e+3)%v.length;if(te[0]=v[t]+f[12],te[1]=v[t+1]+f[13],te[2]=v[t+2]+f[14],g(de,ee)<0&&g(de,te)<0||g(_e,ee)<0&&g(_e,te)<0||g(Ee,ee)<0&&g(Ee,te)<0||g(Ae,ee)<0&&g(Ae,te)<0)continue;if(N.projectToRenderScreen(ee,ae),N.projectToRenderScreen(te,ne),ae[2]<0&&ne[2]>0){a(re,ee,te);const e=N.frustum,t=-g(e[T.NEAR],ee)/n(re,I(e[T.NEAR]));o(re,re,t),l(ee,ee,re),N.projectToRenderScreen(ee,ae)}else if(ae[2]>0&&ne[2]<0){a(re,te,ee);const e=N.frustum,t=-g(e[T.NEAR],te)/n(re,I(e[T.NEAR]));o(re,re,t),l(te,te,re),N.projectToRenderScreen(te,ne)}else if(ae[2]<0&&ne[2]<0)continue;ae[2]=0,ne[2]=0;const r=_(E(ae,ne,ce),L);r<C&&(C=r,c(oe,ee),c(le,te),U=e/3)}const D=m.rayBegin,j=m.rayEnd;if(C<b*b){let e=Number.MAX_VALUE;if(A(E(oe,le,ce),E(D,j,pe),ie)){a(ie,ie,D);const t=p(ie);o(ie,ie,1/t),e=t/h(D,j)}R(e,ie,U,!1)}}get _layout(){const e=S().vec3f(x.POSITION).vec3f(x.PREVPOSITION).vec3f(x.NEXTPOSITION).f32(x.SUBDIVISIONFACTOR).vec2f(x.UV0);return this.parameters.vvSize?e.f32(x.SIZEFEATUREATTRIBUTE):e.f32(x.SIZE),this.parameters.vvColor?e.f32(x.COLORFEATUREATTRIBUTE):e.vec4f(x.COLOR),this.parameters.vvOpacity&&e.f32(x.OPACITYFEATUREATTRIBUTE),y()&&e.vec4u8(x.OBJECTANDLAYERIDCOLOR),e}createBufferWriter(){return new X(this._layout,this.parameters)}createGLMaterial(e){return new Y(e)}validateParameters(e){"miter"!==e.join&&(e.miterLimit=0),null!=e.markerParameters&&(e.markerScale=e.markerParameters.width/e.width)}}class Y extends D{constructor(){super(...arguments),this._stipplePattern=null}dispose(){super.dispose(),this._stippleTextures.release(this._stipplePattern),this._stipplePattern=null}beginSlot(e){const t=this._material.parameters.stipplePattern;return this._stipplePattern!==t&&(this._material.setParameters({stippleTexture:this._stippleTextures.swap(t,this._stipplePattern)}),this._stipplePattern=t),this.getTechnique(G,e)}}class q extends B{constructor(){super(...arguments),this.width=0,this.color=u,this.join="miter",this.cap=V.BUTT,this.miterLimit=5,this.writeDepth=!0,this.hasPolygonOffset=!1,this.stippleTexture=null,this.stipplePreferContinuous=!0,this.markerParameters=null,this.markerScale=1,this.hasSlicePlane=!1,this.vvFastUpdate=!1,this.isClosed=!1,this.falloff=0,this.innerWidth=0,this.wireframe=!1}get transparent(){return this.color[3]<1||null!=this.stipplePattern&&(this.stippleOffColor?.[3]??0)<1}}class X{constructor(e,t){this.vertexBufferLayout=e,this._parameters=t,this.numJoinSubdivisions=0;const r=t.stipplePattern?1:0;switch(this._parameters.join){case"miter":case"bevel":this.numJoinSubdivisions=r;break;case"round":this.numJoinSubdivisions=H+r}}_isClosed(e){return K(this._parameters,e)}allocate(e){return this.vertexBufferLayout.createBuffer(e)}elementCount(e){const t=2,r=e.get(x.POSITION).indices.length/2+1,i=this._isClosed(e);let s=i?2:2*t;return s+=((i?r:r-1)-(i?0:1))*(2*this.numJoinSubdivisions+4),s+=2,this._parameters.wireframe&&(s=2+4*(s-2)),s}write(e,t,r,i,a,n){const o=he,l=fe,p=me,m=r.get(x.POSITION),u=m.indices,T=m.data.length/3,d=r.get(x.DISTANCETOSTART)?.data;u&&u.length!==2*(T-1)&&console.warn("RibbonLineMaterial does not support indices");const _=r.get(x.SIZEFEATUREATTRIBUTE)?.data[0]??r.get(x.SIZE)?.data[0]??1;let E=[1,1,1,1],A=0;const R=this.vertexBufferLayout.fields.has(x.COLORFEATUREATTRIBUTE);R?A=r.get(x.COLORFEATUREATTRIBUTE).data[0]:r.has(x.COLOR)&&(E=r.get(x.COLOR).data);const O=this.vertexBufferLayout.fields.has(x.OPACITYFEATUREATTRIBUTE),g=O?r.get(x.OPACITYFEATUREATTRIBUTE).data[0]:0,I=new Float32Array(a.buffer),S=y()?new Uint8Array(a.buffer):null,v=this.vertexBufferLayout.stride/4;let P=n*v;const N=P;let L=0;const b=d?(e,t,r)=>L=d[r]:(e,t,r)=>L+=h(e,t),C=(e,t,r,s,a,n,o)=>{if(I[P++]=t[0],I[P++]=t[1],I[P++]=t[2],I[P++]=e[0],I[P++]=e[1],I[P++]=e[2],I[P++]=r[0],I[P++]=r[1],I[P++]=r[2],I[P++]=s,I[P++]=o,I[P++]=a,I[P++]=_,R)I[P++]=A;else{const e=Math.min(4*n,E.length-4);I[P++]=E[e],I[P++]=E[e+1],I[P++]=E[e+2],I[P++]=E[e+3]}O&&(I[P++]=g),y()&&(i&&(S[4*P]=i[0],S[4*P+1]=i[1],S[4*P+2]=i[2],S[4*P+3]=i[3]),P++)};P+=v,s(l,m.data[0],m.data[1],m.data[2]),e&&f(l,l,e);const U=this._isClosed(r);if(U){const t=m.data.length-3;s(o,m.data[t],m.data[t+1],m.data[t+2]),e&&f(o,o,e)}else s(p,m.data[3],m.data[4],m.data[5]),e&&f(p,p,e),C(l,l,p,1,Z.LEFT_CAP_START,0,0),C(l,l,p,1,Z.RIGHT_CAP_START,0,0),c(o,l),c(l,p);const D=U?0:1,j=U?T:T-1;for(let h=D;h<j;h++){const t=(h+1)%T*3;s(p,m.data[t],m.data[t+1],m.data[t+2]),e&&f(p,p,e),b(o,l,h),C(o,l,p,0,Z.LEFT_JOIN_END,h,L),C(o,l,p,0,Z.RIGHT_JOIN_END,h,L);const r=this.numJoinSubdivisions;for(let e=0;e<r;++e){const t=(e+1)/(r+1);C(o,l,p,t,Z.LEFT_JOIN_END,h,L),C(o,l,p,t,Z.RIGHT_JOIN_END,h,L)}C(o,l,p,1,Z.LEFT_JOIN_START,h,L),C(o,l,p,1,Z.RIGHT_JOIN_START,h,L),c(o,l),c(l,p)}U?(s(p,m.data[3],m.data[4],m.data[5]),e&&f(p,p,e),L=b(o,l,j),C(o,l,p,0,Z.LEFT_JOIN_END,D,L),C(o,l,p,0,Z.RIGHT_JOIN_END,D,L)):(L=b(o,l,j),C(o,l,l,0,Z.LEFT_CAP_END,j,L),C(o,l,l,0,Z.RIGHT_CAP_END,j,L)),Q(I,N+v,I,N,v);P=Q(I,P-v,I,P,v),this._parameters.wireframe&&this._addWireframeVertices(a,N,P,v)}_addWireframeVertices(e,t,r,i){const s=new Float32Array(e.buffer,r*Float32Array.BYTES_PER_ELEMENT),a=new Float32Array(e.buffer,t*Float32Array.BYTES_PER_ELEMENT,r-t);let n=0;const o=e=>n=Q(a,e,s,n,i);for(let l=0;l<a.length-1;l+=2*i)o(l),o(l+2*i),o(l+1*i),o(l+2*i),o(l+1*i),o(l+3*i)}}function Q(e,t,r,i,s){for(let a=0;a<s;a++)r[i++]=e[t++];return i}function K(e,t){if(!e.isClosed)return!1;return t.get(x.POSITION).indices.length>2}function $(e){return e.anchor===J.Tip&&e.hideOnShortSegments&&"begin-end"===e.placement&&e.worldSpace}const ee=m(),te=m(),re=m(),ie=m(),se=m(),ae=r(),ne=r(),oe=m(),le=m(),ce=d(),pe=d(),he=m(),fe=m(),me=m(),ue=[r(),r(),r(),r()],Te=[m(),m(),m(),m()],de=R(),_e=R(),Ee=R(),Ae=R();export{q as Parameters,W as RibbonLineMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{n as e,i as t,h as r,g as i}from"../../../../chunks/vec32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as a}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{center as o,scale as n}from"../../../../geometry/support/aaBoundingBox.js";import{BufferViewVec3f as c}from"../../../../geometry/support/buffer/BufferView.js";import{newLayout as h}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as l,isColorOrOID as p,isColorOrColorEmission as u}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as f}from"../core/shaderLibrary/util/AlphaCutoff.js";import{CullFaceOptions as m}from"../lib/basicInterfaces.js";import d from"../lib/GLMaterial.js";import{Material as S,MaterialParameters as b}from"../lib/Material.js";import{intersectTriangleGeometry as g}from"../lib/RayIntersections.js";import{RenderSlot as T}from"../lib/RenderSlot.js";import{assert as E}from"../lib/Util.js";import{VertexAttribute as A}from"../lib/VertexAttribute.js";import{writeDefaultAttributes as j,writePosition as F}from"./internal/bufferWriterUtils.js";import{vertexAttributeLocations as _,ShadedColorMaterialTechnique as v}from"../shaders/ShadedColorMaterialTechnique.js";import{ShadedColorMaterialTechniqueConfiguration as w}from"../shaders/ShadedColorMaterialTechniqueConfiguration.js";class x extends S{constructor(e){super(e,O),this._configuration=new w,this.vertexAttributeLocations=_,this.supportsEdges=!0,this.produces=new Map([[T.OPAQUE_MATERIAL,e=>e===l.Highlight||p(e)&&!this.parameters.transparent],[T.TRANSPARENT_MATERIAL,e=>p(e)&&this.parameters.transparent&&this.parameters.writeDepth],[T.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>p(e)&&this.parameters.transparent&&!this.parameters.writeDepth]])}getConfiguration(e,t){return this._configuration.output=e,this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.parameters.transparent,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.screenSizeEnabled=this.parameters.screenSizeEnabled,this._configuration.shadingEnabled=this.parameters.shadingEnabled,this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest&&u(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}get visible(){return this.parameters.color[3]>=f}intersect(e,s,a,c,h,l){if(this.parameters.screenSizeEnabled){const s=e.attributes.get(A.OFFSET),p={applyToVertex:(e,o,n,c)=>{const h=t(P,s.data[3*c],s.data[3*c+1],s.data[3*c+2]),l=t(L,e,o,n);return r(h,h,this.parameters.screenSizeScale*a.camera.computeScreenPixelSizeAt(h)),i(l,l,h),[l[0],l[1],l[2]]},applyToAabb:e=>{const t=o(e,P);return n(e,this.parameters.screenSizeScale*a.camera.computeScreenPixelSizeAt(t))}};g(e,a,c,h,p,l)}else g(e,a,c,h,void 0,l)}createGLMaterial(e){return new z(e)}createBufferWriter(){return new M(this.parameters.screenSizeEnabled)}}class z extends d{beginSlot(e){return this.acquireTechnique(v,e)}}class O extends b{constructor(){super(...arguments),this.color=a(1,1,1,1),this.shadingTint=a(0,0,0,.25),this.shadingDirection=e(s(),[.5,-.5,-.5]),this.screenSizeScale=14,this.forceTransparentMode=!1,this.writeDepth=!0,this.hasSlicePlane=!1,this.cullFace=m.None,this.screenSizeEnabled=!1,this.shadingEnabled=!0}get transparent(){return this.color[3]<1||this.forceTransparentMode}}class M{constructor(e){this.screenSizeEnabled=e;const t=h().vec3f(A.POSITION).vec3f(A.NORMAL);this.screenSizeEnabled&&t.vec3f(A.OFFSET),this.vertexBufferLayout=t}elementCount(e){return e.get(A.POSITION).indices.length}write(e,t,r,i,s,a){if(j(r,i,this.vertexBufferLayout,e,t,s,a),this.screenSizeEnabled){if(!r.has(A.OFFSET))throw new Error(`${A.OFFSET} vertex attribute required for screenSizeEnabled ShadedColorMaterial`);{const e=r.get(A.OFFSET);E(3===e.size);const i=s.getField(A.OFFSET,c);if(!i)throw new Error("unable to acquire view for "+A.OFFSET);F(e,t,i,a)}}}}const P=s(),L=s();export{O as Parameters,x as ShadedColorMaterial};
5
+ import{n as e,i as t,h as r,g as i}from"../../../../chunks/vec32.js";import{create as s}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as a}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{center as o,scale as n}from"../../../../geometry/support/aaBoundingBox.js";import{BufferViewVec3f as c}from"../../../../geometry/support/buffer/BufferView.js";import{newLayout as h}from"../../support/buffer/InterleavedLayout.js";import{ShaderOutput as l,isColorOrOID as p,isColorOrColorEmission as u}from"../core/shaderLibrary/ShaderOutput.js";import{alphaCutoff as f}from"../core/shaderLibrary/util/AlphaCutoff.js";import{CullFaceOptions as m}from"../lib/basicInterfaces.js";import d from"../lib/GLMaterial.js";import{Material as S,MaterialParameters as b}from"../lib/Material.js";import{intersectTriangleGeometry as g}from"../lib/RayIntersections.js";import{RenderSlot as T}from"../lib/RenderSlot.js";import{assert as E}from"../lib/Util.js";import{VertexAttribute as A}from"../lib/VertexAttribute.js";import{writeDefaultAttributes as j,writePosition as F}from"./internal/bufferWriterUtils.js";import{vertexAttributeLocations as _,ShadedColorMaterialTechnique as v}from"../shaders/ShadedColorMaterialTechnique.js";import{ShadedColorMaterialTechniqueConfiguration as w}from"../shaders/ShadedColorMaterialTechniqueConfiguration.js";class x extends S{constructor(e){super(e,O),this._configuration=new w,this.vertexAttributeLocations=_,this.supportsEdges=!0,this.produces=new Map([[T.OPAQUE_MATERIAL,e=>e===l.Highlight||p(e)&&!this.parameters.transparent],[T.TRANSPARENT_MATERIAL,e=>p(e)&&this.parameters.transparent&&this.parameters.writeDepth],[T.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>p(e)&&this.parameters.transparent&&!this.parameters.writeDepth]])}getConfiguration(e,t){return this._configuration.output=e,this._configuration.cullFace=this.parameters.cullFace,this._configuration.hasSlicePlane=this.parameters.hasSlicePlane,this._configuration.transparent=this.parameters.transparent,this._configuration.writeDepth=this.parameters.writeDepth,this._configuration.screenSizeEnabled=this.parameters.screenSizeEnabled,this._configuration.shadingEnabled=this.parameters.shadingEnabled,this._configuration.oitPass=t.oitPass,this._configuration.terrainDepthTest=t.terrainDepthTest&&u(e),this._configuration.cullAboveTerrain=t.cullAboveTerrain,this._configuration}get visible(){return this.parameters.color[3]>=f}intersect(e,s,a,c,h,l){if(this.parameters.screenSizeEnabled){const s=e.attributes.get(A.OFFSET),p={applyToVertex:(e,o,n,c)=>{const h=t(P,s.data[3*c],s.data[3*c+1],s.data[3*c+2]),l=t(L,e,o,n);return r(h,h,this.parameters.screenSizeScale*a.camera.computeScreenPixelSizeAt(h)),i(l,l,h),[l[0],l[1],l[2]]},applyToAabb:e=>{const t=o(e,P);return n(e,this.parameters.screenSizeScale*a.camera.computeScreenPixelSizeAt(t))}};g(e,a,c,h,p,l)}else g(e,a,c,h,void 0,l)}createGLMaterial(e){return new z(e)}createBufferWriter(){return new M(this.parameters.screenSizeEnabled)}}class z extends d{beginSlot(e){return this.getTechnique(v,e)}}class O extends b{constructor(){super(...arguments),this.color=a(1,1,1,1),this.shadingTint=a(0,0,0,.25),this.shadingDirection=e(s(),[.5,-.5,-.5]),this.screenSizeScale=14,this.forceTransparentMode=!1,this.writeDepth=!0,this.hasSlicePlane=!1,this.cullFace=m.None,this.screenSizeEnabled=!1,this.shadingEnabled=!0}get transparent(){return this.color[3]<1||this.forceTransparentMode}}class M{constructor(e){this.screenSizeEnabled=e;const t=h().vec3f(A.POSITION).vec3f(A.NORMAL);this.screenSizeEnabled&&t.vec3f(A.OFFSET),this.vertexBufferLayout=t}elementCount(e){return e.get(A.POSITION).indices.length}write(e,t,r,i,s,a){if(j(r,i,this.vertexBufferLayout,e,t,s,a),this.screenSizeEnabled){if(!r.has(A.OFFSET))throw new Error(`${A.OFFSET} vertex attribute required for screenSizeEnabled ShadedColorMaterial`);{const e=r.get(A.OFFSET);E(3===e.size);const i=s.getField(A.OFFSET,c);if(!i)throw new Error("unable to acquire view for "+A.OFFSET);F(e,t,i,a)}}}}const P=s(),L=s();export{O as Parameters,x as ShadedColorMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{isColorOrColorEmission as r}from"../core/shaderLibrary/ShaderOutput.js";import{NoConfiguration as e}from"../core/shaderTechnique/ShaderTechniqueRepository.js";import t from"../lib/GLMaterial.js";import{RenderOccludedFlag as i}from"../lib/Material.js";import{RenderSlot as o}from"../lib/RenderSlot.js";import{DefaultBufferWriter as s}from"./DefaultBufferWriter.js";import{PositionUVLayout as a}from"./DefaultLayouts.js";import{TriangleMaterial as u}from"./TriangleMaterial.js";import{SlicePlaneMaterialTechnique as n,SlicePlaneMaterialPassParameters as c}from"../shaders/SlicePlaneMaterialTechnique.js";class l extends u{constructor(e){super(e,p),this.produces=new Map([[o.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>r(e)]])}get visible(){return!0}createGLMaterial(r){return new m(r)}createBufferWriter(){return new s(a)}getConfiguration(){return e}}class m extends t{constructor(r){super(r)}beginSlot(r){return this.acquireTechnique(n,r)}}class p extends c{constructor(){super(...arguments),this.renderOccluded=i.Occlude,this.isDecoration=!1}}export{p as Parameters,l as SlicePlaneMaterial};
5
+ import{isColorOrColorEmission as r}from"../core/shaderLibrary/ShaderOutput.js";import{NoConfiguration as e}from"../core/shaderTechnique/ShaderTechniqueRepository.js";import t from"../lib/GLMaterial.js";import{RenderOccludedFlag as i}from"../lib/Material.js";import{RenderSlot as o}from"../lib/RenderSlot.js";import{DefaultBufferWriter as s}from"./DefaultBufferWriter.js";import{PositionUVLayout as a}from"./DefaultLayouts.js";import{TriangleMaterial as n}from"./TriangleMaterial.js";import{SlicePlaneMaterialTechnique as u,SlicePlaneMaterialPassParameters as c}from"../shaders/SlicePlaneMaterialTechnique.js";class l extends n{constructor(e){super(e,p),this.produces=new Map([[o.TRANSPARENT_MATERIAL_WITHOUT_DEPTH,e=>r(e)]])}get visible(){return!0}createGLMaterial(r){return new m(r)}createBufferWriter(){return new s(a)}getConfiguration(){return e}}class m extends t{constructor(r){super(r)}beginSlot(r){return this.getTechnique(u,r)}}class p extends c{constructor(){super(...arguments),this.renderOccluded=i.Occlude,this.isDecoration=!1}}export{p as Parameters,l as SlicePlaneMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import e from"../lib/GLMaterial.js";import{WaterTechnique as t}from"./WaterTechnique.js";class r extends e{ensureResources(e){return this._techniques.context.waterTextures.ensureResources(e)}beginSlot(e){const r=this._techniques.context.waterTextures.passParameters;return this._material.setParameters({wavePerturbation:r.wavePerturbation,waveNormal:r.waveNormal}),this.acquireTechnique(t,e)}}export{r as WaterGLMaterial};
5
+ import e from"../lib/GLMaterial.js";import{WaterTechnique as t}from"./WaterTechnique.js";class r extends e{ensureResources(e){return this._techniques.context.waterTextures.ensureResources(e)}beginSlot(e){const r=this._techniques.context.waterTextures.passParameters;return this._material.setParameters({wavePerturbation:r.wavePerturbation,waveNormal:r.waveNormal}),this.getTechnique(t,e)}}export{r as WaterGLMaterial};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as r}from"../core/shaderLibrary/ShaderOutput.js";import{WaterDistortionPassParameters as e}from"../core/shaderLibrary/shading/WaterDistortion.glsl.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as s}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as a,oitDepthTest as n,depthWrite as i,getDrawBuffers as l,getOITPolygonOffset as d}from"../lib/OrderIndependentTransparency.js";import{W as p}from"../../../../chunks/WaterSurface.glsl.js";import{makePipelineState as c,defaultColorWrite as u}from"../../../webgl/renderState.js";class m extends e{}class f extends s{constructor(r,e,s){super(r,e,new t(p,(()=>import("../shaders/WaterSurface.glsl.js"))),s)}initializePipeline(e){const{oitPass:t,output:s,transparent:p,draped:m,enableOffset:f}=e,h=t===o.NONE,j=t===o.FrontFace;return c({blending:s!==r.Normal&&s!==r.Highlight&&s!==r.ObjectAndLayerIdColor&&p?a(t):null,depthTest:m?null:{func:n(t)},depthWrite:i(e),drawBuffers:l(t,s),colorWrite:u,polygonOffset:h||j?null:d(f)})}}export{m as WaterMaterialPassParameters,f as WaterTechnique};
5
+ import{ShaderOutput as r}from"../core/shaderLibrary/ShaderOutput.js";import{WaterDistortionPassParameters as e}from"../core/shaderLibrary/shading/WaterDistortion.glsl.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as s}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as a,oitDepthTest as n,depthWrite as i,getDrawBuffers as l,getOITPolygonOffset as d}from"../lib/OrderIndependentTransparency.js";import{W as p}from"../../../../chunks/WaterSurface.glsl.js";import{makePipelineState as c,defaultColorWrite as u}from"../../../webgl/renderState.js";class m extends e{}class f extends s{constructor(r,e){super(r,e,new t(p,(()=>import("../shaders/WaterSurface.glsl.js"))))}initializePipeline(e){const{oitPass:t,output:s,transparent:p,draped:m,enableOffset:f}=e,h=t===o.NONE,j=t===o.FrontFace;return c({blending:s!==r.Normal&&s!==r.Highlight&&s!==r.ObjectAndLayerIdColor&&p?a(t):null,depthTest:m?null:{func:n(t)},depthWrite:i(e),drawBuffers:l(t,s),colorWrite:u,polygonOffset:h||j?null:d(f)})}}export{m as WaterMaterialPassParameters,f as WaterTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/AtmosphereCompositing.glsl.js";import{BlendFactor as s,CompareFunction as i}from"../../../webgl/enums.js";import{makePipelineState as t,simpleBlendingParams as n,defaultColorWrite as m}from"../../../webgl/renderState.js";class l extends r{constructor(r,s,i){super(r,s,new e(o,(()=>import("./AtmosphereCompositing.glsl.js"))),i)}initializePipeline(){return t({blending:n(s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),depthTest:{func:i.ALWAYS},colorWrite:m})}}export{l as AtmosphereCompositingTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/AtmosphereCompositing.glsl.js";import{BlendFactor as s,CompareFunction as i}from"../../../webgl/enums.js";import{makePipelineState as t,simpleBlendingParams as n,defaultColorWrite as m}from"../../../webgl/renderState.js";class l extends r{constructor(r,s){super(r,s,new e(o,(()=>import("./AtmosphereCompositing.glsl.js"))))}initializePipeline(){return t({blending:n(s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),depthTest:{func:i.ALWAYS},colorWrite:m})}}export{l as AtmosphereCompositingTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as t,oitDepthTest as s,depthWrite as n,getDrawBuffers as i}from"../lib/OrderIndependentTransparency.js";import{C as a}from"../../../../chunks/CheckerBoard.glsl.js";import{makePipelineState as l,defaultColorWrite as c}from"../../../webgl/renderState.js";class p extends r{constructor(r,o,t){super(r,o,new e(a,(()=>import("./CheckerBoard.glsl.js"))),t)}initializePipeline(e){const{oitPass:r,transparent:a,polygonOffset:p,output:u}=e,f=r===o.NONE,m=r===o.FrontFace;return l({blending:a?t(r):null,depthTest:{func:s(r)},depthWrite:n(e),drawBuffers:i(r,u),colorWrite:c,polygonOffset:f||m?p?d:null:{factor:-1,units:-25}})}}const d={factor:0,units:-25};export{p as CheckerBoardTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as t,oitDepthTest as s,depthWrite as n,getDrawBuffers as i}from"../lib/OrderIndependentTransparency.js";import{C as a}from"../../../../chunks/CheckerBoard.glsl.js";import{makePipelineState as l,defaultColorWrite as c}from"../../../webgl/renderState.js";class p extends r{constructor(r,o){super(r,o,new e(a,(()=>import("./CheckerBoard.glsl.js"))))}initializePipeline(e){const{oitPass:r,transparent:a,polygonOffset:p,output:u}=e,f=r===o.NONE,m=r===o.FrontFace;return l({blending:a?t(r):null,depthTest:{func:s(r)},depthWrite:n(e),drawBuffers:i(r,u),colorWrite:c,polygonOffset:f||m?p?d:null:{factor:-1,units:-25}})}}const d={factor:0,units:-25};export{p as CheckerBoardTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ZEROS as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColorOrColorEmission as r,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as s}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as o,oitDepthTest as n,depthWrite as a,getDrawBuffers as c,getOITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as u,stencilToolMaskBaseParams as m,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VisualVariablePassParameters as d}from"../materials/VisualVariablePassParameters.js";import{C as h}from"../../../../chunks/ColorMaterial.glsl.js";import{SpecialDrawBuffers as b}from"../../../webgl/enums.js";import{makePipelineState as j,cullingParams as P,defaultColorWrite as g}from"../../../webgl/renderState.js";class O extends d{constructor(){super(...arguments),this.color=e}}class S extends i{constructor(e,r,t){super(e,r,new s(h,(()=>import("./ColorMaterial.glsl.js"))),t)}_createPipeline(e,s){const{oitPass:i,output:d,transparent:h,cullFace:O,draped:S,hasOccludees:_,polygonOffset:w,enableOffset:x}=e,y=i===l.NONE,N=i===l.FrontFace;return j({blending:r(d)&&h?o(i):null,culling:P(O),depthTest:S?null:{func:n(i)},depthWrite:a(e),drawBuffers:d===t.Depth?{buffers:[b.NONE]}:c(i,d),colorWrite:g,stencilWrite:_?u:null,stencilTest:_?s?m:f:null,polygonOffset:y||N?w?T:null:p(x)})}initializePipeline(e){return this._occludeePipelineState=this._createPipeline(e,!0),this._createPipeline(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}const T={factor:1,units:1};export{O as ColorMaterialPassParameters,S as ColorMaterialTechnique};
5
+ import{ZEROS as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColorOrColorEmission as r,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as s}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as o,oitDepthTest as n,depthWrite as a,getDrawBuffers as c,getOITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as u,stencilToolMaskBaseParams as m,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VisualVariablePassParameters as d}from"../materials/VisualVariablePassParameters.js";import{C as h}from"../../../../chunks/ColorMaterial.glsl.js";import{SpecialDrawBuffers as b}from"../../../webgl/enums.js";import{makePipelineState as j,cullingParams as P,defaultColorWrite as g}from"../../../webgl/renderState.js";class O extends d{constructor(){super(...arguments),this.color=e}}class S extends i{constructor(e,r){super(e,r,new s(h,(()=>import("./ColorMaterial.glsl.js"))))}_createPipeline(e,s){const{oitPass:i,output:d,transparent:h,cullFace:O,draped:S,hasOccludees:_,polygonOffset:w,enableOffset:x}=e,y=i===l.NONE,N=i===l.FrontFace;return j({blending:r(d)&&h?o(i):null,culling:P(O),depthTest:S?null:{func:n(i)},depthWrite:a(e),drawBuffers:d===t.Depth?{buffers:[b.NONE]}:c(i,d),colorWrite:g,stencilWrite:_?u:null,stencilTest:_?s?m:f:null,polygonOffset:y||N?w?T:null:p(x)})}initializePipeline(e){return this._occludeePipelineState=this._createPipeline(e,!0),this._createPipeline(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}const T={factor:1,units:1};export{O as ColorMaterialPassParameters,S as ColorMaterialTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{neverReached as e}from"../../../../core/compilerUtils.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/Compositing.glsl.js";import{BlitMode as t}from"./CompositingTechniqueConfiguration.js";import{makePipelineState as s,blendWithPremultipliedAlpha as l,defaultColorWrite as n,premultipliedAlphaToPremultipliedAlpha as c}from"../../../webgl/renderState.js";class a extends o{constructor(e,o,t){super(e,o,new r(i,(()=>import("./Compositing.glsl.js"))),t)}initializePipeline(r){switch(r.blitMode){case t.None:case t.Depth:return s({colorWrite:n});case t.Alpha:return s({blending:c,colorWrite:n});default:e(r.blitMode);case t.PremultipliedAlpha:case t.COUNT:return s({blending:l,colorWrite:n})}}}export{a as CompositingTechnique};
5
+ import{neverReached as e}from"../../../../core/compilerUtils.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/Compositing.glsl.js";import{BlitMode as t}from"./CompositingTechniqueConfiguration.js";import{makePipelineState as s,blendWithPremultipliedAlpha as l,defaultColorWrite as n,premultipliedAlphaToPremultipliedAlpha as c}from"../../../webgl/renderState.js";class a extends o{constructor(e,o){super(e,o,new r(i,(()=>import("./Compositing.glsl.js"))))}initializePipeline(r){switch(r.blitMode){case t.None:case t.Depth:return s({colorWrite:n});case t.Alpha:return s({blending:c,colorWrite:n});default:e(r.blitMode);case t.PremultipliedAlpha:case t.COUNT:return s({blending:l,colorWrite:n})}}}export{a as CompositingTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ZEROS as e,freeze as t,create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as s}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColorOrColorEmission as r,ShaderOutput as l}from"../core/shaderLibrary/ShaderOutput.js";import{NormalType as o}from"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{VertexNormalPassParameters as a,VertexNormalDrawParameters as n}from"../core/shaderLibrary/attributes/VertexNormal.glsl.js";import{alphaCutoff as c}from"../core/shaderLibrary/util/AlphaCutoff.js";import{ReloadableShaderModule as h}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as u}from"../core/shaderTechnique/ShaderTechnique.js";import{CullFaceOptions as m,DepthTestFunction as p,AlphaDiscardMode as d}from"../lib/basicInterfaces.js";import{RenderOccludedFlag as f}from"../lib/Material.js";import{OITPass as b}from"../lib/OITPass.js";import{blending as S,oitDepthTest as j,depthWrite as g,getDrawBuffers as y,getOITPolygonOffset as P}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as v,stencilToolMaskBaseParams as x,stencilBaseAllZerosParams as O}from"../lib/StencilUtils.js";import{advancedMRRFactors as T}from"../materials/pbrUtils.js";import{D}from"../../../../chunks/DefaultMaterial.glsl.js";import{SpecialDrawBuffers as L,CompareFunction as M}from"../../../webgl/enums.js";import{makePipelineState as A,cullingParams as w,defaultColorWrite as C}from"../../../webgl/renderState.js";class F extends a{constructor(){super(...arguments),this.isSchematic=!1,this.usePBR=!1,this.mrrFactors=T,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.doubleSided=!1,this.doubleSidedType="normal",this.cullFace=m.Back,this.isInstanced=!1,this.hasInstancedColor=!1,this.emissiveFactor=e,this.instancedDoublePrecision=!1,this.normalType=o.Attribute,this.receiveShadows=!0,this.receiveAmbientOcclusion=!0,this.castShadows=!0,this.ambient=t(.2,.2,.2),this.diffuse=t(.8,.8,.8),this.externalColor=s(1,1,1,1),this.colorMixMode="multiply",this.opacity=1,this.layerOpacity=1,this.origin=i(),this.hasSlicePlane=!1,this.offsetTransparentBackfaces=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.modelTransformation=null,this.transparent=!1,this.writeDepth=!0,this.customDepthTest=p.Less,this.textureAlphaMode=d.Blend,this.textureAlphaCutoff=c,this.textureAlphaPremultiplied=!1,this.renderOccluded=f.Occlude,this.isDecoration=!1}}class N extends n{constructor(){super(...arguments),this.origin=i(),this.slicePlaneLocalOrigin=this.origin}}class k extends u{constructor(e,t,i,s=new h(D,(()=>import("./DefaultMaterial.glsl.js")))){super(e,t,s,i),this.type="DefaultMaterialTechnique"}_makePipeline(e,t){const{oitPass:i,output:s,transparent:o,cullFace:a,customDepthTest:n,hasOccludees:c,enableOffset:h}=e,u=i===b.NONE,m=i===b.FrontFace;return A({blending:r(s)&&o?S(i):null,culling:B(e)?w(a):null,depthTest:{func:j(i,q(n))},depthWrite:g(e),drawBuffers:s===l.Depth?{buffers:[L.NONE]}:y(i,s),colorWrite:C,stencilWrite:c?v:null,stencilTest:c?t?x:O:null,polygonOffset:u||m?null:P(h)})}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}function q(e){return e===p.Lequal?M.LEQUAL:M.LESS}function B(e){return e.cullFace!==m.None||!e.hasSlicePlane&&(!e.transparent&&!e.doubleSidedMode)}export{N as DefaultMaterialDrawParameters,F as DefaultMaterialPassParameters,k as DefaultMaterialTechnique};
5
+ import{ZEROS as e,freeze as t,create as i}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{fromValues as s}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{isColorOrColorEmission as r,ShaderOutput as l}from"../core/shaderLibrary/ShaderOutput.js";import{NormalType as o}from"../core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{VertexNormalPassParameters as a,VertexNormalDrawParameters as n}from"../core/shaderLibrary/attributes/VertexNormal.glsl.js";import{alphaCutoff as c}from"../core/shaderLibrary/util/AlphaCutoff.js";import{ReloadableShaderModule as h}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as u}from"../core/shaderTechnique/ShaderTechnique.js";import{CullFaceOptions as m,DepthTestFunction as p,AlphaDiscardMode as d}from"../lib/basicInterfaces.js";import{RenderOccludedFlag as f}from"../lib/Material.js";import{OITPass as b}from"../lib/OITPass.js";import{blending as S,oitDepthTest as j,depthWrite as g,getDrawBuffers as y,getOITPolygonOffset as P}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as v,stencilToolMaskBaseParams as x,stencilBaseAllZerosParams as O}from"../lib/StencilUtils.js";import{advancedMRRFactors as T}from"../materials/pbrUtils.js";import{D}from"../../../../chunks/DefaultMaterial.glsl.js";import{SpecialDrawBuffers as L,CompareFunction as M}from"../../../webgl/enums.js";import{makePipelineState as A,cullingParams as w,defaultColorWrite as C}from"../../../webgl/renderState.js";class F extends a{constructor(){super(...arguments),this.isSchematic=!1,this.usePBR=!1,this.mrrFactors=T,this.hasVertexColors=!1,this.hasSymbolColors=!1,this.doubleSided=!1,this.doubleSidedType="normal",this.cullFace=m.Back,this.isInstanced=!1,this.hasInstancedColor=!1,this.emissiveFactor=e,this.instancedDoublePrecision=!1,this.normalType=o.Attribute,this.receiveShadows=!0,this.receiveAmbientOcclusion=!0,this.castShadows=!0,this.ambient=t(.2,.2,.2),this.diffuse=t(.8,.8,.8),this.externalColor=s(1,1,1,1),this.colorMixMode="multiply",this.opacity=1,this.layerOpacity=1,this.origin=i(),this.hasSlicePlane=!1,this.offsetTransparentBackfaces=!1,this.vvSize=null,this.vvColor=null,this.vvOpacity=null,this.vvSymbolAnchor=null,this.vvSymbolRotationMatrix=null,this.modelTransformation=null,this.transparent=!1,this.writeDepth=!0,this.customDepthTest=p.Less,this.textureAlphaMode=d.Blend,this.textureAlphaCutoff=c,this.textureAlphaPremultiplied=!1,this.renderOccluded=f.Occlude,this.isDecoration=!1}}class N extends n{constructor(){super(...arguments),this.origin=i(),this.slicePlaneLocalOrigin=this.origin}}class k extends u{constructor(e,t,i=new h(D,(()=>import("./DefaultMaterial.glsl.js")))){super(e,t,i),this.type="DefaultMaterialTechnique"}_makePipeline(e,t){const{oitPass:i,output:s,transparent:o,cullFace:a,customDepthTest:n,hasOccludees:c,enableOffset:h}=e,u=i===b.NONE,m=i===b.FrontFace;return A({blending:r(s)&&o?S(i):null,culling:B(e)?w(a):null,depthTest:{func:j(i,q(n))},depthWrite:g(e),drawBuffers:s===l.Depth?{buffers:[L.NONE]}:y(i,s),colorWrite:C,stencilWrite:c?v:null,stencilTest:c?t?x:O:null,polygonOffset:u||m?null:P(h)})}initializePipeline(e){return this._occludeePipelineState=this._makePipeline(e,!0),this._makePipeline(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}function q(e){return e===p.Lequal?M.LEQUAL:M.LESS}function B(e){return e.cullFace!==m.None||!e.hasSlicePlane&&(!e.transparent&&!e.doubleSidedMode)}export{N as DefaultMaterialDrawParameters,F as DefaultMaterialPassParameters,k as DefaultMaterialTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/HUDCompositing.glsl.js";import{makePipelineState as i}from"../../../webgl/renderState.js";class s extends r{constructor(r,i,s){super(r,i,new e(o,(()=>import("./HUDCompositing.glsl.js"))),s)}initializePipeline(){return i({colorWrite:{r:!1,g:!0,b:!1,a:!1}})}}export{s as HUDCompositingTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/HUDCompositing.glsl.js";import{makePipelineState as i}from"../../../webgl/renderState.js";class s extends r{constructor(r,i){super(r,i,new e(o,(()=>import("./HUDCompositing.glsl.js"))))}initializePipeline(){return i({colorWrite:{r:!1,g:!0,b:!1,a:!1}})}}export{s as HUDCompositingTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e,isColorOrColorEmission as r}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as s}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as t}from"../lib/OITPass.js";import{oitBlending as i,getDrawBuffers as l}from"../lib/OrderIndependentTransparency.js";import{H as n}from"../../../../chunks/HUDMaterial.glsl.js";import{PrimitiveType as a,CompareFunction as p}from"../../../webgl/enums.js";import{makePipelineState as u,blendWithPremultipliedAlpha as d,defaultDepthWrite as c,defaultColorWrite as m}from"../../../webgl/renderState.js";class h extends o{constructor(e,r,o){super(e,r,new s(n,(()=>import("./HUDMaterial.glsl.js"))),o),this.primitiveType=r.occlusionPass?a.POINTS:a.TRIANGLES}initializePipeline(s){const{oitPass:o,hasPolygonOffset:n,draped:a,output:h,depthTestEnabled:T,occlusionPass:g}=s,j=o===t.NONE,b=o===t.ColorAlpha,O=h===e.Highlight,P=T&&!a&&!b&&!g&&!O;return u({blending:r(h)?j?d:i(o):null,depthTest:T&&!a?{func:p.LEQUAL}:null,depthWrite:P?c:null,drawBuffers:l(o,h),colorWrite:m,polygonOffset:n?f:null})}}const f={factor:0,units:-4};export{h as HUDMaterialTechnique};
5
+ import{ShaderOutput as e,isColorOrColorEmission as r}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as s}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as t}from"../lib/OITPass.js";import{oitBlending as i,getDrawBuffers as l}from"../lib/OrderIndependentTransparency.js";import{H as n}from"../../../../chunks/HUDMaterial.glsl.js";import{PrimitiveType as a,CompareFunction as p}from"../../../webgl/enums.js";import{makePipelineState as u,blendWithPremultipliedAlpha as d,defaultDepthWrite as c,defaultColorWrite as m}from"../../../webgl/renderState.js";class h extends o{constructor(e,r){super(e,r,new s(n,(()=>import("./HUDMaterial.glsl.js")))),this.primitiveType=r.occlusionPass?a.POINTS:a.TRIANGLES}initializePipeline(s){const{oitPass:o,hasPolygonOffset:n,draped:a,output:h,depthTestEnabled:T,occlusionPass:g}=s,j=o===t.NONE,b=o===t.ColorAlpha,O=h===e.Highlight,P=T&&!a&&!b&&!g&&!O;return u({blending:r(h)?j?d:i(o):null,depthTest:T&&!a?{func:p.LEQUAL}:null,depthWrite:P?c:null,drawBuffers:l(o,h),colorWrite:m,polygonOffset:n?f:null})}}const f={factor:0,units:-4};export{h as HUDMaterialTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{MaterialParameters as s}from"../lib/Material.js";import{H as t}from"../../../../chunks/HeatmapDensity.glsl.js";import{makePipelineState as o,weightedAdd as i,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends s{constructor(){super(...arguments),this.searchRadius=128,this.resolutionForScale=0}}class n extends r{constructor(r,s,o){super(r,s,new e(t,(()=>import("./HeatmapDensity.glsl.js"))),o)}initializePipeline(){return o({blending:i,colorWrite:l,depthTest:null,depthWrite:null})}destroy(){super.destroy()}}export{a as HeatmapDensityPassParameters,n as HeatmapDensityTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{MaterialParameters as s}from"../lib/Material.js";import{H as t}from"../../../../chunks/HeatmapDensity.glsl.js";import{makePipelineState as o,weightedAdd as i,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends s{constructor(){super(...arguments),this.searchRadius=128,this.resolutionForScale=0}}class n extends r{constructor(r,s){super(r,s,new e(t,(()=>import("./HeatmapDensity.glsl.js"))))}initializePipeline(){return o({blending:i,colorWrite:l,depthTest:null,depthWrite:null})}destroy(){super.destroy()}}export{a as HeatmapDensityPassParameters,n as HeatmapDensityTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{H as s}from"../../../../chunks/Heatmap.glsl.js";import{PrimitiveType as t}from"../../../webgl/enums.js";import{NoParameters as i}from"../../../webgl/NoParameters.js";import{makePipelineState as o,premultipliedAlphaToPremultipliedAlpha as l,defaultColorWrite as n}from"../../../webgl/renderState.js";class a extends i{constructor(){super(...arguments),this.colorRamp=null,this.densityMap=null,this.searchRadius=1,this.fieldTotal=0,this.minDensity=0,this.maxDensity=100}}class m extends r{constructor(r,i,o){super(r,i,new e(s,(()=>import("./Heatmap.glsl.js"))),o),this.primitiveType=t.TRIANGLE_STRIP}initializePipeline(){return o({blending:l,colorWrite:n,depthTest:null,depthWrite:null})}}export{a as HeatmapPassParameters,m as HeatmapTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{H as s}from"../../../../chunks/Heatmap.glsl.js";import{PrimitiveType as t}from"../../../webgl/enums.js";import{NoParameters as i}from"../../../webgl/NoParameters.js";import{makePipelineState as o,premultipliedAlphaToPremultipliedAlpha as l,defaultColorWrite as n}from"../../../webgl/renderState.js";class a extends i{constructor(){super(...arguments),this.colorRamp=null,this.densityMap=null,this.searchRadius=1,this.fieldTotal=0,this.minDensity=0,this.maxDensity=100}}class m extends r{constructor(r,i){super(r,i,new e(s,(()=>import("./Heatmap.glsl.js")))),this.primitiveType=t.TRIANGLE_STRIP}initializePipeline(){return o({blending:l,colorWrite:n,depthTest:null,depthWrite:null})}}export{a as HeatmapPassParameters,m as HeatmapTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as i}from"../lib/OITPass.js";import{oitBlending as l,oitDepthTest as s,depthWrite as n,getDrawBuffers as o,getOITPolygonOffset as a}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as p,stencilToolMaskBaseParams as c,stencilBaseAllZerosParams as u}from"../lib/StencilUtils.js";import{VertexAttribute as m}from"../lib/VertexAttribute.js";import{I as d}from"../../../../chunks/ImageMaterial.glsl.js";import{NoParameters as f}from"../../../webgl/NoParameters.js";import{makePipelineState as h,blendWithPremultipliedAlpha as g,cullingParams as P,defaultColorWrite as b}from"../../../webgl/renderState.js";class j extends f{}class I extends r{constructor(e,r,i){super(e,r,new t(d,(()=>import("./ImageMaterial.glsl.js"))),i,S)}_getPipelineState(t,r){const{oitPass:m,output:d,hasOccludees:f,enableOffset:j,cullFace:I}=t,S=m===i.NONE,O=m===i.FrontFace;return h({blending:e(d)?S?g:l(m):null,culling:P(I),depthTest:{func:s(m)},depthWrite:n(t),drawBuffers:o(m,d),colorWrite:b,stencilWrite:f?p:null,stencilTest:f?r?c:u:null,polygonOffset:S||O?null:a(j)})}initializePipeline(e){return this._occludeePipeline=this._getPipelineState(e,!0),this._getPipelineState(e,!1)}getPipeline(e){return e?this._occludeePipeline:super.getPipeline()}}const S=new Map([[m.POSITION,0],[m.UV0,2],[m.PERSPECTIVEDIVIDE,3]]);export{j as ImageMaterialPassParameters,I as ImageMaterialTechnique,S as vertexAttributeLocations};
5
+ import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as i}from"../lib/OITPass.js";import{oitBlending as l,oitDepthTest as s,depthWrite as n,getDrawBuffers as o,getOITPolygonOffset as a}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as p,stencilToolMaskBaseParams as c,stencilBaseAllZerosParams as u}from"../lib/StencilUtils.js";import{VertexAttribute as m}from"../lib/VertexAttribute.js";import{I as d}from"../../../../chunks/ImageMaterial.glsl.js";import{NoParameters as f}from"../../../webgl/NoParameters.js";import{makePipelineState as h,blendWithPremultipliedAlpha as g,cullingParams as P,defaultColorWrite as b}from"../../../webgl/renderState.js";class j extends f{}class I extends r{constructor(e,r){super(e,r,new t(d,(()=>import("./ImageMaterial.glsl.js"))),S)}_getPipelineState(t,r){const{oitPass:m,output:d,hasOccludees:f,enableOffset:j,cullFace:I}=t,S=m===i.NONE,O=m===i.FrontFace;return h({blending:e(d)?S?g:l(m):null,culling:P(I),depthTest:{func:s(m)},depthWrite:n(t),drawBuffers:o(m,d),colorWrite:b,stencilWrite:f?p:null,stencilTest:f?r?c:u:null,polygonOffset:S||O?null:a(j)})}initializePipeline(e){return this._occludeePipeline=this._getPipelineState(e,!0),this._getPipelineState(e,!1)}getPipeline(e){return e?this._occludeePipeline:super.getPipeline()}}const S=new Map([[m.POSITION,0],[m.UV0,2],[m.PERSPECTIVEDIVIDE,3]]);export{j as ImageMaterialPassParameters,I as ImageMaterialTechnique,S as vertexAttributeLocations};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{L as t}from"../../../../chunks/LineCallout.glsl.js";import{CompareFunction as o,BlendFactor as s}from"../../../webgl/enums.js";import{makePipelineState as i,defaultDepthWrite as n,separateBlendingParams as l,defaultColorWrite as h}from"../../../webgl/renderState.js";class p extends r{constructor(r,o,s){super(r,o,new e(t,(()=>import("./LineCallout.glsl.js"))),s)}initializePipeline(e){const{hudDepth:r,terrainDepthTest:t}=e,p={func:t?o.ALWAYS:o.LESS};return i(r?{depthTest:p,depthWrite:n}:{blending:l(s.ONE,s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),depthTest:p,colorWrite:h})}}export{p as LineCalloutTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{L as t}from"../../../../chunks/LineCallout.glsl.js";import{CompareFunction as o,BlendFactor as s}from"../../../webgl/enums.js";import{makePipelineState as i,defaultDepthWrite as n,separateBlendingParams as l,defaultColorWrite as h}from"../../../webgl/renderState.js";class p extends r{constructor(r,o){super(r,o,new e(t,(()=>import("./LineCallout.glsl.js"))))}initializePipeline(e){const{hudDepth:r,terrainDepthTest:t}=e,p={func:t?o.ALWAYS:o.LESS};return i(r?{depthTest:p,depthWrite:n}:{blending:l(s.ONE,s.SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA,s.ONE_MINUS_SRC_ALPHA),depthTest:p,colorWrite:h})}}export{p as LineCalloutTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{isColorOrColorEmission as e,ShaderOutput as i}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{blending as l,oitDepthTest as n,depthWrite as s,getDrawBuffers as o}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as p}from"../lib/RenderSlot.js";import{stencilWriteMaskOn as c,stencilToolMaskBaseParams as u,stencilBaseAllZerosParams as a,depthCompareAlways as d,stencilToolTransparentOccluderParams as T,stencilWriteMaskOff as h,stencilToolMaskOccluderParams as m,depthCompareLess as P}from"../lib/StencilUtils.js";import{VertexAttribute as f}from"../lib/VertexAttribute.js";import{L as O}from"../../../../chunks/LineMarker.glsl.js";import{LineMarkerSpace as E}from"./LineMarkerTechniqueConfiguration.js";import{SpecialDrawBuffers as R}from"../../../webgl/enums.js";import{makePipelineState as _,defaultColorWrite as S,premultipliedAlphaToPremultipliedAlpha as A}from"../../../webgl/renderState.js";class W extends r{constructor(e,i,r){super(e,i,new t(O,(()=>import("./LineMarker.glsl.js"))),r,b)}_makePipelineState(t,r){const{output:p,oitPass:d,space:T,hasOccludees:h}=t;return _({blending:e(p)?l(d):null,depthTest:T===E.Draped?null:{func:n(d)},depthWrite:s(t),drawBuffers:p===i.Depth?{buffers:[R.NONE]}:o(d,p),colorWrite:S,stencilWrite:h?c:null,stencilTest:h?r?u:a:null,polygonOffset:{factor:0,units:-10}})}initializePipeline(e){return e.occluder?(this._occluderPipelineTransparent=_({blending:A,depthTest:d,depthWrite:null,colorWrite:S,stencilWrite:null,stencilTest:T}),this._occluderPipelineOpaque=_({blending:A,depthTest:d,depthWrite:null,colorWrite:S,stencilWrite:h,stencilTest:m}),this._occluderPipelineMaskWrite=_({blending:null,depthTest:P,depthWrite:null,colorWrite:null,stencilWrite:c,stencilTest:u})):this._occluderPipelineTransparent=this._occluderPipelineOpaque=this._occluderPipelineMaskWrite=null,this._occludeePipelineState=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,i){return e?this._occludeePipelineState:i===p.TRANSPARENT_OCCLUDER_MATERIAL?this._occluderPipelineTransparent??super.getPipeline():i===p.OCCLUDER_MATERIAL?this._occluderPipelineOpaque??super.getPipeline():this._occluderPipelineMaskWrite??super.getPipeline()}}const b=new Map([[f.POSITION,0],[f.PREVPOSITION,1],[f.UV0,2],[f.NORMAL,3],[f.COLOR,4],[f.COLORFEATUREATTRIBUTE,4],[f.SIZE,5],[f.SIZEFEATUREATTRIBUTE,5],[f.OPACITYFEATUREATTRIBUTE,6]]);export{W as LineMarkerTechnique,b as vertexAttributeLocations};
5
+ import{isColorOrColorEmission as e,ShaderOutput as i}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as t}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{blending as l,oitDepthTest as n,depthWrite as s,getDrawBuffers as o}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as p}from"../lib/RenderSlot.js";import{stencilWriteMaskOn as c,stencilToolMaskBaseParams as u,stencilBaseAllZerosParams as a,depthCompareAlways as d,stencilToolTransparentOccluderParams as T,stencilWriteMaskOff as h,stencilToolMaskOccluderParams as m,depthCompareLess as P}from"../lib/StencilUtils.js";import{VertexAttribute as f}from"../lib/VertexAttribute.js";import{L as O}from"../../../../chunks/LineMarker.glsl.js";import{LineMarkerSpace as E}from"./LineMarkerTechniqueConfiguration.js";import{SpecialDrawBuffers as R}from"../../../webgl/enums.js";import{makePipelineState as _,defaultColorWrite as S,premultipliedAlphaToPremultipliedAlpha as A}from"../../../webgl/renderState.js";class W extends r{constructor(e,i){super(e,i,new t(O,(()=>import("./LineMarker.glsl.js"))),b)}_makePipelineState(t,r){const{output:p,oitPass:d,space:T,hasOccludees:h}=t;return _({blending:e(p)?l(d):null,depthTest:T===E.Draped?null:{func:n(d)},depthWrite:s(t),drawBuffers:p===i.Depth?{buffers:[R.NONE]}:o(d,p),colorWrite:S,stencilWrite:h?c:null,stencilTest:h?r?u:a:null,polygonOffset:{factor:0,units:-10}})}initializePipeline(e){return e.occluder?(this._occluderPipelineTransparent=_({blending:A,depthTest:d,depthWrite:null,colorWrite:S,stencilWrite:null,stencilTest:T}),this._occluderPipelineOpaque=_({blending:A,depthTest:d,depthWrite:null,colorWrite:S,stencilWrite:h,stencilTest:m}),this._occluderPipelineMaskWrite=_({blending:null,depthTest:P,depthWrite:null,colorWrite:null,stencilWrite:c,stencilTest:u})):this._occluderPipelineTransparent=this._occluderPipelineOpaque=this._occluderPipelineMaskWrite=null,this._occludeePipelineState=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,i){return e?this._occludeePipelineState:i===p.TRANSPARENT_OCCLUDER_MATERIAL?this._occluderPipelineTransparent??super.getPipeline():i===p.OCCLUDER_MATERIAL?this._occluderPipelineOpaque??super.getPipeline():this._occluderPipelineMaskWrite??super.getPipeline()}}const b=new Map([[f.POSITION,0],[f.PREVPOSITION,1],[f.UV0,2],[f.NORMAL,3],[f.COLOR,4],[f.COLORFEATUREATTRIBUTE,4],[f.SIZE,5],[f.SIZEFEATUREATTRIBUTE,5],[f.OPACITYFEATUREATTRIBUTE,6]]);export{W as LineMarkerTechnique,b as vertexAttributeLocations};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{blending as t}from"../lib/OrderIndependentTransparency.js";import{VertexAttribute as o}from"../lib/VertexAttribute.js";import{M as n}from"../../../../chunks/MeasurementArrow.glsl.js";import{PrimitiveType as s,CompareFunction as i}from"../../../webgl/enums.js";import{makePipelineState as l,defaultDepthWrite as p,defaultColorWrite as a}from"../../../webgl/renderState.js";class m extends r{constructor(r,t,o){super(r,t,new e(n,(()=>import("./MeasurementArrow.glsl.js"))),o,u),this.primitiveType=s.TRIANGLE_STRIP}initializePipeline(e){return l({blending:e.transparent?t(e.oitPass):null,polygonOffset:e.polygonOffsetEnabled?{factor:0,units:-4}:null,depthTest:{func:i.LESS},depthWrite:p,colorWrite:a})}}const u=new Map([[o.POSITION,0],[o.NORMAL,1],[o.UV0,2],[o.LENGTH,3]]);export{m as MeasurementArrowTechnique,u as vertexAttributeLocations};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{blending as t}from"../lib/OrderIndependentTransparency.js";import{VertexAttribute as o}from"../lib/VertexAttribute.js";import{M as n}from"../../../../chunks/MeasurementArrow.glsl.js";import{PrimitiveType as s,CompareFunction as i}from"../../../webgl/enums.js";import{makePipelineState as l,defaultDepthWrite as p,defaultColorWrite as a}from"../../../webgl/renderState.js";class m extends r{constructor(r,t){super(r,t,new e(n,(()=>import("./MeasurementArrow.glsl.js"))),u),this.primitiveType=s.TRIANGLE_STRIP}initializePipeline(e){return l({blending:e.transparent?t(e.oitPass):null,polygonOffset:e.polygonOffsetEnabled?{factor:0,units:-4}:null,depthTest:{func:i.LESS},depthWrite:p,colorWrite:a})}}const u=new Map([[o.POSITION,0],[o.NORMAL,1],[o.UV0,2],[o.LENGTH,3]]);export{m as MeasurementArrowTechnique,u as vertexAttributeLocations};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as i}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{depthCompareLess as t,stencilWriteMaskOn as l,stencilToolMaskBaseParams as s,stencilBaseAllZerosParams as n}from"../lib/StencilUtils.js";import{N as o}from"../../../../chunks/NativeLine.glsl.js";import{PrimitiveType as u}from"../../../webgl/enums.js";import{makePipelineState as p,defaultColorWrite as c,defaultDepthWrite as a,premultipliedAlphaToPremultipliedAlpha as m}from"../../../webgl/renderState.js";class d extends r{constructor(e,r,t){super(e,r,new i(o,(()=>import("./NativeLine.glsl.js"))),t),this.primitiveType=u.LINES}initializePipeline(i){const{hasOccludees:r,output:o,transparent:u}=i,d=(e,i=null,o=null)=>p({blending:i,depthTest:t,depthWrite:o,colorWrite:c,stencilWrite:r?l:null,stencilTest:r?e?s:n:null});return e(o)?(this._occludeePipeline=d(!0,u?m:null,a),d(!1,u?m:null,a)):d(!1)}getPipeline(e){return e?this._occludeePipeline:super.getPipeline()}}export{d as NativeLineTechnique};
5
+ import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as i}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{depthCompareLess as t,stencilWriteMaskOn as l,stencilToolMaskBaseParams as s,stencilBaseAllZerosParams as n}from"../lib/StencilUtils.js";import{N as o}from"../../../../chunks/NativeLine.glsl.js";import{PrimitiveType as u}from"../../../webgl/enums.js";import{makePipelineState as p,defaultColorWrite as c,defaultDepthWrite as a,premultipliedAlphaToPremultipliedAlpha as m}from"../../../webgl/renderState.js";class d extends r{constructor(e,r){super(e,r,new i(o,(()=>import("./NativeLine.glsl.js")))),this.primitiveType=u.LINES}initializePipeline(i){const{hasOccludees:r,output:o,transparent:u}=i,d=(e,i=null,o=null)=>p({blending:i,depthTest:t,depthWrite:o,colorWrite:c,stencilWrite:r?l:null,stencilTest:r?e?s:n:null});return e(o)?(this._occludeePipeline=d(!0,u?m:null,a),d(!1,u?m:null,a)):d(!1)}getPipeline(e){return e?this._occludeePipeline:super.getPipeline()}}export{d as NativeLineTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/OverlayCompositing.glsl.js";class s extends r{constructor(r,s,a){super(r,s,new e(o,(()=>import("./OverlayCompositing.glsl.js"))),a)}}export{s as OverlayCompositingTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/OverlayCompositing.glsl.js";class s extends r{constructor(r,s){super(r,s,new e(o,(()=>import("./OverlayCompositing.glsl.js"))))}}export{s as OverlayCompositingTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{isColorOrColorEmission as e,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as s}from"../effects/geometry/olidUtils.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as n,oitDepthTest as o,depthWrite as p,getDrawBuffers as a,getOITPolygonOffset as u}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as c,stencilToolMaskBaseParams as O,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VertexAttribute as m}from"../lib/VertexAttribute.js";import{P as d}from"../../../../chunks/Pattern.glsl.js";import{SpecialDrawBuffers as T}from"../../../webgl/enums.js";import{makePipelineState as P,cullingParams as h,defaultColorWrite as E}from"../../../webgl/renderState.js";class S extends i{constructor(e,t,i){super(e,t,new r(d,(()=>import("./Pattern.glsl.js"))),i,s()?j:b)}_setPipelineState(r,i){const{oitPass:s,output:m,cullFace:d,draped:S,hasOccludees:b,polygonOffset:j,enableOffset:g}=r,A=s===l.NONE,I=s===l.FrontFace;return P({blending:e(m)?n(s):null,culling:h(d),depthTest:S?null:{func:o(s)},depthWrite:p(r),drawBuffers:m===t.Depth?{buffers:[T.NONE]}:a(s,m),colorWrite:E,stencilWrite:b?c:null,stencilTest:b?i?O:f:null,polygonOffset:A||I?j?R:null:u(g)})}initializePipeline(e){return this._occludeePipelineState=this._setPipelineState(e,!0),this._setPipelineState(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}const R={factor:1,units:1},b=new Map([[m.POSITION,0],[m.COLOR,3],[m.UVMAPSPACE,4],[m.COLORFEATUREATTRIBUTE,5],[m.BOUNDINGRECT,6]]),j=new Map([[m.POSITION,0],[m.COLOR,3],[m.UVMAPSPACE,4],[m.COLORFEATUREATTRIBUTE,5],[m.BOUNDINGRECT,6],[m.OBJECTANDLAYERIDCOLOR,9]]);export{S as PatternTechnique,b as vertexAttributeLocations,j as vertexAttributeLocationsOID};
5
+ import{isColorOrColorEmission as e,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{olidEnabled as s}from"../effects/geometry/olidUtils.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as n,oitDepthTest as o,depthWrite as p,getDrawBuffers as a,getOITPolygonOffset as u}from"../lib/OrderIndependentTransparency.js";import{stencilWriteMaskOn as c,stencilToolMaskBaseParams as O,stencilBaseAllZerosParams as f}from"../lib/StencilUtils.js";import{VertexAttribute as m}from"../lib/VertexAttribute.js";import{P as d}from"../../../../chunks/Pattern.glsl.js";import{SpecialDrawBuffers as T}from"../../../webgl/enums.js";import{makePipelineState as P,cullingParams as h,defaultColorWrite as E}from"../../../webgl/renderState.js";class S extends i{constructor(e,t){super(e,t,new r(d,(()=>import("./Pattern.glsl.js"))),s()?j:b)}_setPipelineState(r,i){const{oitPass:s,output:m,cullFace:d,draped:S,hasOccludees:b,polygonOffset:j,enableOffset:g}=r,A=s===l.NONE,I=s===l.FrontFace;return P({blending:e(m)?n(s):null,culling:h(d),depthTest:S?null:{func:o(s)},depthWrite:p(r),drawBuffers:m===t.Depth?{buffers:[T.NONE]}:a(s,m),colorWrite:E,stencilWrite:b?c:null,stencilTest:b?i?O:f:null,polygonOffset:A||I?j?R:null:u(g)})}initializePipeline(e){return this._occludeePipelineState=this._setPipelineState(e,!0),this._setPipelineState(e,!1)}getPipeline(e){return e?this._occludeePipelineState:super.getPipeline()}}const R={factor:1,units:1},b=new Map([[m.POSITION,0],[m.COLOR,3],[m.UVMAPSPACE,4],[m.COLORFEATUREATTRIBUTE,5],[m.BOUNDINGRECT,6]]),j=new Map([[m.POSITION,0],[m.COLOR,3],[m.UVMAPSPACE,4],[m.COLORFEATUREATTRIBUTE,5],[m.BOUNDINGRECT,6],[m.OBJECTANDLAYERIDCOLOR,9]]);export{S as PatternTechnique,b as vertexAttributeLocations,j as vertexAttributeLocationsOID};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{stencilWriteMaskOn as s,stencilBaseAllZerosParams as i}from"../lib/StencilUtils.js";import{b as o}from"../../../../chunks/PointRenderer.glsl.js";import{CompareFunction as l,SpecialDrawBuffers as n}from"../../../webgl/enums.js";import{makePipelineState as u,defaultDepthWrite as c,defaultColorWrite as d}from"../../../webgl/renderState.js";class a extends t{constructor(e,t,s){super(e,t,new r(o,(()=>import("./PointRenderer.glsl.js"))),s)}initializePipeline(r){return u({depthTest:{func:l.LESS},depthWrite:c,colorWrite:d,stencilWrite:r.hasOccludees?s:null,stencilTest:r.hasOccludees?i:null,drawBuffers:r.output===e.Depth?{buffers:[n.NONE]}:null})}}export{a as PointRendererTechnique};
5
+ import{ShaderOutput as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{stencilWriteMaskOn as s,stencilBaseAllZerosParams as i}from"../lib/StencilUtils.js";import{b as o}from"../../../../chunks/PointRenderer.glsl.js";import{CompareFunction as l,SpecialDrawBuffers as n}from"../../../webgl/enums.js";import{makePipelineState as u,defaultDepthWrite as c,defaultColorWrite as d}from"../../../webgl/renderState.js";class a extends t{constructor(e,t){super(e,t,new r(o,(()=>import("./PointRenderer.glsl.js"))))}initializePipeline(r){return u({depthTest:{func:l.LESS},depthWrite:c,colorWrite:d,stencilWrite:r.hasOccludees?s:null,stencilTest:r.hasOccludees?i:null,drawBuffers:r.output===e.Depth?{buffers:[n.NONE]}:null})}}export{a as PointRendererTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{DefaultMaterialTechnique as r}from"./DefaultMaterialTechnique.js";import{R as s}from"../../../../chunks/RealisticTree.glsl.js";class i extends r{constructor(r,i,t){super(r,i,t,new e(s,(()=>import("./RealisticTree.glsl.js")))),this.type="RealisticTreeTechnique"}}export{i as RealisticTreeTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{DefaultMaterialTechnique as r}from"./DefaultMaterialTechnique.js";import{R as s}from"../../../../chunks/RealisticTree.glsl.js";class i extends r{constructor(r,i){super(r,i,new e(s,(()=>import("./RealisticTree.glsl.js")))),this.type="RealisticTreeTechnique"}}export{i as RealisticTreeTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/has.js";import{isColorOrColorEmission as e,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as i}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as s,oitDepthTest as n,depthWrite as o,getDrawBuffers as u,OITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as c}from"../lib/RenderSlot.js";import{stencilWriteMaskOn as a,stencilToolMaskBaseParams as f,stencilBaseAllZerosParams as d,depthCompareAlways as T,stencilToolTransparentOccluderParams as h,stencilWriteMaskOff as O,stencilToolMaskOccluderParams as m,depthCompareLess as E}from"../lib/StencilUtils.js";import{VertexAttribute as P}from"../lib/VertexAttribute.js";import{R}from"../../../../chunks/RibbonLine.glsl.js";import{PrimitiveType as I,SpecialDrawBuffers as b}from"../../../webgl/enums.js";import{makePipelineState as N,defaultColorWrite as S,premultipliedAlphaToPremultipliedAlpha as g}from"../../../webgl/renderState.js";class A extends r{constructor(e,t,r){super(e,t,new i(R,(()=>import("./RibbonLine.glsl.js"))),r,W),this.primitiveType=t.wireframe?I.LINES:I.TRIANGLE_STRIP}_makePipelineState(i,r){const{oitPass:c,output:T,hasOccludees:h,hasPolygonOffset:O}=i,m=c===l.NONE,E=c===l.FrontFace;return N({blending:e(T)?s(c):null,depthTest:{func:n(c)},depthWrite:o(i),drawBuffers:T===t.Depth?{buffers:[b.NONE]}:u(c,T),colorWrite:S,stencilWrite:h?a:null,stencilTest:h?r?f:d:null,polygonOffset:m||E?O?_:null:p})}initializePipeline(e){if(e.occluder){const i=e.hasPolygonOffset?_:null;this._occluderPipelineTransparent=N({blending:g,polygonOffset:i,depthTest:T,depthWrite:null,colorWrite:S,stencilWrite:null,stencilTest:h,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null}),this._occluderPipelineOpaque=N({blending:g,polygonOffset:i,depthTest:T,depthWrite:null,colorWrite:S,stencilWrite:O,stencilTest:m,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null}),this._occluderPipelineMaskWrite=N({blending:null,polygonOffset:i,depthTest:E,depthWrite:null,colorWrite:null,stencilWrite:a,stencilTest:f,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null})}return this._occludeePipeline=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,t){if(e)return this._occludeePipeline;switch(t){case c.TRANSPARENT_OCCLUDER_MATERIAL:return this._occluderPipelineTransparent??super.getPipeline();case c.OCCLUDER_MATERIAL:return this._occluderPipelineOpaque??super.getPipeline();default:return this._occluderPipelineMaskWrite??super.getPipeline()}}}const _={factor:0,units:-4},W=new Map([[P.POSITION,0],[P.PREVPOSITION,1],[P.NEXTPOSITION,2],[P.SUBDIVISIONFACTOR,3],[P.UV0,4],[P.COLOR,5],[P.COLORFEATUREATTRIBUTE,5],[P.SIZE,6],[P.SIZEFEATUREATTRIBUTE,6],[P.OPACITYFEATUREATTRIBUTE,7],[P.OBJECTANDLAYERIDCOLOR,8]]);export{A as RibbonLineTechnique,W as vertexAttributeLocations};
5
+ import"../../../../core/has.js";import{isColorOrColorEmission as e,ShaderOutput as t}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as i}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as l}from"../lib/OITPass.js";import{blending as s,oitDepthTest as n,depthWrite as o,getDrawBuffers as u,OITPolygonOffset as p}from"../lib/OrderIndependentTransparency.js";import{RenderSlot as c}from"../lib/RenderSlot.js";import{stencilWriteMaskOn as a,stencilToolMaskBaseParams as f,stencilBaseAllZerosParams as d,depthCompareAlways as T,stencilToolTransparentOccluderParams as h,stencilWriteMaskOff as O,stencilToolMaskOccluderParams as m,depthCompareLess as E}from"../lib/StencilUtils.js";import{VertexAttribute as P}from"../lib/VertexAttribute.js";import{R}from"../../../../chunks/RibbonLine.glsl.js";import{PrimitiveType as I,SpecialDrawBuffers as b}from"../../../webgl/enums.js";import{makePipelineState as N,defaultColorWrite as S,premultipliedAlphaToPremultipliedAlpha as g}from"../../../webgl/renderState.js";class A extends r{constructor(e,t){super(e,t,new i(R,(()=>import("./RibbonLine.glsl.js"))),W),this.primitiveType=t.wireframe?I.LINES:I.TRIANGLE_STRIP}_makePipelineState(i,r){const{oitPass:c,output:T,hasOccludees:h,hasPolygonOffset:O}=i,m=c===l.NONE,E=c===l.FrontFace;return N({blending:e(T)?s(c):null,depthTest:{func:n(c)},depthWrite:o(i),drawBuffers:T===t.Depth?{buffers:[b.NONE]}:u(c,T),colorWrite:S,stencilWrite:h?a:null,stencilTest:h?r?f:d:null,polygonOffset:m||E?O?_:null:p})}initializePipeline(e){if(e.occluder){const i=e.hasPolygonOffset?_:null;this._occluderPipelineTransparent=N({blending:g,polygonOffset:i,depthTest:T,depthWrite:null,colorWrite:S,stencilWrite:null,stencilTest:h,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null}),this._occluderPipelineOpaque=N({blending:g,polygonOffset:i,depthTest:T,depthWrite:null,colorWrite:S,stencilWrite:O,stencilTest:m,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null}),this._occluderPipelineMaskWrite=N({blending:null,polygonOffset:i,depthTest:E,depthWrite:null,colorWrite:null,stencilWrite:a,stencilTest:f,drawBuffers:e.output===t.Depth?{buffers:[b.NONE]}:null})}return this._occludeePipeline=this._makePipelineState(e,!0),this._makePipelineState(e,!1)}getPipeline(e,t){if(e)return this._occludeePipeline;switch(t){case c.TRANSPARENT_OCCLUDER_MATERIAL:return this._occluderPipelineTransparent??super.getPipeline();case c.OCCLUDER_MATERIAL:return this._occluderPipelineOpaque??super.getPipeline();default:return this._occluderPipelineMaskWrite??super.getPipeline()}}}const _={factor:0,units:-4},W=new Map([[P.POSITION,0],[P.PREVPOSITION,1],[P.NEXTPOSITION,2],[P.SUBDIVISIONFACTOR,3],[P.UV0,4],[P.COLOR,5],[P.COLORFEATUREATTRIBUTE,5],[P.SIZE,6],[P.SIZEFEATUREATTRIBUTE,6],[P.OPACITYFEATUREATTRIBUTE,7],[P.OBJECTANDLAYERIDCOLOR,8]]);export{A as RibbonLineTechnique,W as vertexAttributeLocations};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as s,depthWrite as i,getDrawBuffers as n,OITPolygonOffset as a}from"../lib/OrderIndependentTransparency.js";import{VertexAttribute as l}from"../lib/VertexAttribute.js";import{S as d}from"../../../../chunks/ShadedColorMaterial.glsl.js";import{CompareFunction as p}from"../../../webgl/enums.js";import{makePipelineState as m,cullingParams as u,defaultColorWrite as c}from"../../../webgl/renderState.js";class h extends t{constructor(e,t,o){super(e,t,new r(d,(()=>import("./ShadedColorMaterial.glsl.js"))),o,f)}initializePipeline(r){const{oitPass:t,output:l,transparent:d,cullFace:h,shadingEnabled:f}=r,S=t===o.NONE,b=t===o.FrontFace;return m({blending:e(l)&&d?s(t):null,culling:u(h),depthTest:{func:b?p.LESS:f?p.LEQUAL:p.LESS},depthWrite:i(r),drawBuffers:n(t,l),colorWrite:c,polygonOffset:S||b?null:a})}}const f=new Map([[l.POSITION,0],[l.NORMAL,1],[l.OFFSET,2]]);export{h as ShadedColorMaterialTechnique,f as vertexAttributeLocations};
5
+ import{isColorOrColorEmission as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{OITPass as o}from"../lib/OITPass.js";import{blending as s,depthWrite as i,getDrawBuffers as n,OITPolygonOffset as a}from"../lib/OrderIndependentTransparency.js";import{VertexAttribute as l}from"../lib/VertexAttribute.js";import{S as d}from"../../../../chunks/ShadedColorMaterial.glsl.js";import{CompareFunction as p}from"../../../webgl/enums.js";import{makePipelineState as m,cullingParams as u,defaultColorWrite as c}from"../../../webgl/renderState.js";class h extends t{constructor(e,t){super(e,t,new r(d,(()=>import("./ShadedColorMaterial.glsl.js"))),f)}initializePipeline(r){const{oitPass:t,output:l,transparent:d,cullFace:h,shadingEnabled:f}=r,S=t===o.NONE,b=t===o.FrontFace;return m({blending:e(l)&&d?s(t):null,culling:u(h),depthTest:{func:b?p.LESS:f?p.LEQUAL:p.LESS},depthWrite:i(r),drawBuffers:n(t,l),colorWrite:c,polygonOffset:S||b?null:a})}}const f=new Map([[l.POSITION,0],[l.NORMAL,1],[l.OFFSET,2]]);export{h as ShadedColorMaterialTechnique,f as vertexAttributeLocations};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as t}from"../../../../chunks/ShadowCastAccumulate.glsl.js";import{PrimitiveType as i}from"../../../webgl/enums.js";import{makePipelineState as o,weightedAdd as s,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends r{constructor(r,o,s){super(r,o,new e(t,(()=>import("./ShadowCastAccumulate.glsl.js"))),s),this.primitiveType=i.TRIANGLE_STRIP}initializePipeline(){return o({blending:s,colorWrite:l,depthTest:null,depthWrite:null})}}export{a as ShadowCastAccumulateTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as t}from"../../../../chunks/ShadowCastAccumulate.glsl.js";import{PrimitiveType as i}from"../../../webgl/enums.js";import{makePipelineState as o,weightedAdd as s,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends r{constructor(r,o){super(r,o,new e(t,(()=>import("./ShadowCastAccumulate.glsl.js")))),this.primitiveType=i.TRIANGLE_STRIP}initializePipeline(){return o({blending:s,colorWrite:l,depthTest:null,depthWrite:null})}}export{a as ShadowCastAccumulateTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/ShadowCastVisualize.glsl.js";import{PrimitiveType as s}from"../../../webgl/enums.js";import{makePipelineState as t,premultipliedAlphaToPremultipliedAlpha as o,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends r{constructor(r,t,o){super(r,t,new e(i,(()=>import("./ShadowCastVisualize.glsl.js"))),o),this.primitiveType=s.TRIANGLE_STRIP}initializePipeline(){return t({blending:o,colorWrite:l,depthTest:null,depthWrite:null})}}export{a as ShadowCastVisualizeTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/ShadowCastVisualize.glsl.js";import{PrimitiveType as s}from"../../../webgl/enums.js";import{makePipelineState as t,premultipliedAlphaToPremultipliedAlpha as o,defaultColorWrite as l}from"../../../webgl/renderState.js";class a extends r{constructor(r,t){super(r,t,new e(i,(()=>import("./ShadowCastVisualize.glsl.js")))),this.primitiveType=s.TRIANGLE_STRIP}initializePipeline(){return t({blending:o,colorWrite:l,depthTest:null,depthWrite:null})}}export{a as ShadowCastVisualizeTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{fromValues as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{S as i}from"../../../../chunks/SlicePlaneMaterial.glsl.js";import{CompareFunction as s}from"../../../webgl/enums.js";import{NoParameters as t}from"../../../webgl/NoParameters.js";import{makePipelineState as l,blendWithPremultipliedAlpha as a,defaultColorWrite as c}from"../../../webgl/renderState.js";class n extends t{constructor(){super(...arguments),this.backgroundColor=e(1,0,0,.5),this.gridColor=e(0,1,0,.5),this.gridWidth=4}}class m extends o{constructor(e,o,s){super(e,o,new r(i,(()=>import("./SlicePlaneMaterial.glsl.js"))),s)}initializePipeline(){return l({blending:a,depthTest:{func:s.LESS},colorWrite:c})}}export{n as SlicePlaneMaterialPassParameters,m as SlicePlaneMaterialTechnique};
5
+ import{fromValues as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{S as i}from"../../../../chunks/SlicePlaneMaterial.glsl.js";import{CompareFunction as s}from"../../../webgl/enums.js";import{NoParameters as t}from"../../../webgl/NoParameters.js";import{makePipelineState as l,blendWithPremultipliedAlpha as a,defaultColorWrite as c}from"../../../webgl/renderState.js";class n extends t{constructor(){super(...arguments),this.backgroundColor=e(1,0,0,.5),this.gridColor=e(0,1,0,.5),this.gridWidth=4}}class m extends o{constructor(e,o){super(e,o,new r(i,(()=>import("./SlicePlaneMaterial.glsl.js"))))}initializePipeline(){return l({blending:a,depthTest:{func:s.LESS},colorWrite:c})}}export{n as SlicePlaneMaterialPassParameters,m as SlicePlaneMaterialTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ShaderOutput as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{StencilBits as i}from"../lib/basicInterfaces.js";import{renderWhenBitIsNotSet as l}from"../lib/StencilUtils.js";import{VertexAttribute as n}from"../lib/VertexAttribute.js";import{a as s}from"../../../../chunks/Terrain.glsl.js";import{CompareFunction as u,SpecialDrawBuffers as c}from"../../../webgl/enums.js";import{makePipelineState as o,blendWithPremultipliedAlpha as a,backFaceCullingParams as p,defaultDepthWrite as h,defaultColorWrite as d}from"../../../webgl/renderState.js";class m extends t{constructor(e,t,i){super(e,t,new r(s,(()=>import("./Terrain.glsl.js"))),i,f),this.type="TerrainTechnique",this.useStencil=!1}initializePipeline(e){return this._stencilPipelineState=this._createPipeline(e,!0),this._createPipeline(e,!1)}_createPipeline(r,t){const{renderOccluded:n,output:s}=r,m=r.backfaceCullingEnabled&&!n;return o({blending:n?a:null,culling:m?p:null,depthTest:n?null:{func:u.LESS},depthWrite:n?null:h,colorWrite:d,stencilTest:t?l(i.IntegratedMeshMaskExcluded):null,drawBuffers:s===e.Depth?{buffers:[c.NONE]}:null})}getPipeline(){return this.useStencil?this._stencilPipelineState:super.getPipeline()}}const f=new Map([[n.POSITION,0],[n.UV0,1],[n.NORMALCOMPRESSED,2]]);export{m as TerrainTechnique,f as vertexAttributeLocations};
5
+ import{ShaderOutput as e}from"../core/shaderLibrary/ShaderOutput.js";import{ReloadableShaderModule as r}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{StencilBits as i}from"../lib/basicInterfaces.js";import{renderWhenBitIsNotSet as l}from"../lib/StencilUtils.js";import{VertexAttribute as n}from"../lib/VertexAttribute.js";import{a as s}from"../../../../chunks/Terrain.glsl.js";import{CompareFunction as u,SpecialDrawBuffers as c}from"../../../webgl/enums.js";import{makePipelineState as o,blendWithPremultipliedAlpha as a,backFaceCullingParams as p,defaultDepthWrite as h,defaultColorWrite as d}from"../../../webgl/renderState.js";class m extends t{constructor(e,t){super(e,t,new r(s,(()=>import("./Terrain.glsl.js"))),f),this.type="TerrainTechnique",this.useStencil=!1}initializePipeline(e){return this._stencilPipelineState=this._createPipeline(e,!0),this._createPipeline(e,!1)}_createPipeline(r,t){const{renderOccluded:n,output:s}=r,m=r.backfaceCullingEnabled&&!n;return o({blending:n?a:null,culling:m?p:null,depthTest:n?null:{func:u.LESS},depthWrite:n?null:h,colorWrite:d,stencilTest:t?l(i.IntegratedMeshMaskExcluded):null,drawBuffers:s===e.Depth?{buffers:[c.NONE]}:null})}getPipeline(){return this.useStencil?this._stencilPipelineState:super.getPipeline()}}const f=new Map([[n.POSITION,0],[n.UV0,1],[n.NORMALCOMPRESSED,2]]);export{m as TerrainTechnique,f as vertexAttributeLocations};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/Viewshed.glsl.js";import{makePipelineState as o,defaultColorWrite as s,premultipliedAlphaToPremultipliedAlpha as t}from"../../../webgl/renderState.js";class l extends r{constructor(r,o,s){super(r,o,new e(i,(()=>import("./Viewshed.glsl.js"))),s)}initializePipeline(){return o({colorWrite:s,blending:t})}}export{l as ViewshedTechnique};
5
+ import{ReloadableShaderModule as e}from"../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/Viewshed.glsl.js";import{makePipelineState as o,defaultColorWrite as s,premultipliedAlphaToPremultipliedAlpha as t}from"../../../webgl/renderState.js";class l extends r{constructor(r,o){super(r,o,new e(i,(()=>import("./Viewshed.glsl.js"))))}initializePipeline(){return o({colorWrite:s,blending:t})}}export{l as ViewshedTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import i from"../../core/Evented.js";import{clone as n}from"../../core/lang.js";import{destroyMaybe as o,equalsMaybe as r}from"../../core/maybe.js";import{memoize as s}from"../../core/memoize.js";import{ignoreAbortErrors as a}from"../../core/promiseUtils.js";import p from"../../core/ReactiveSet.js";import{watch as c,syncAndInitial as l}from"../../core/reactiveUtils.js";import{createScreenPoint as d}from"../../core/screenUtils.js";import{property as h}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import{subclass as u}from"../../core/accessorSupport/decorators/subclass.js";import{diff as m}from"../../core/accessorSupport/diffUtils.js";import{UpdatingHandles as g}from"../../core/support/UpdatingHandles.js";import{pointEquals as y,pointNear as _}from"../../layers/graphics/dehydratedFeatureComparison.js";import{getEffectiveElevationInfo as v}from"../../support/elevationInfoUtils.js";import{ViewingMode as f}from"../ViewingMode.js";import{defaultDrawingMode as x}from"./DrawingMode.js";import{DrawManipulator as C}from"./DrawManipulator.js";import{createCoordinateHelper as b}from"../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as T,sceneSnappingAtLocation as S}from"../interactive/dragEventPipeline.js";import{EditGeometry as P,Component as V}from"../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as w}from"../interactive/editGeometry/EditGeometryOperations.js";import{isPoint as O}from"../interactive/sketch/constraints.js";import{pointToConstraintSpace as M,constraintSpaceToPoint as D,getPointConstraint as E,getPolylineOrPolygonConstraint as I}from"../interactive/sketch/constraintUtils.js";import H from"../interactive/sketch/SketchLabelOptions.js";import{SnappingContext as j}from"../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as G}from"../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as k}from"../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as Z}from"../interactive/snapping/snappingUtils.js";const A="crosshair",L="progress",U=Symbol(),z=Symbol();let F=class extends(i.EventedMixin(e)){constructor(t){super(t),this._createOperationCompleted=!1,this._hideDefaultCursor=!1,this._pointerDownStates=new p,this._stagedScreenPoint=null,this._stagedPointerType=null,this._updatingHandles=new g,this._stagedPointerId=null,this.constraintsEnabled=!1,this.constraints=void 0,this._getPointConstraint=s(E),this._getPolylineOrPolygonConstraint=s(I),this.constraintZ=null,this.defaultZ=null,this.isDraped=!0,this.labelOptions=new H,this.cursor=null,this.loading=!1,this.snapToSceneEnabled=null,this.firstVertex=null,this.lastVertex=null,this.secondToLastVertex=null,null==t.elevationInfo&&(this.elevationInfo=v(!!t.hasZ))}initialize(){const{geometryType:t,view:e}=this,i=e.spatialReference,n="viewingMode"in e.state?e.state.viewingMode:f.Local,o="segment"===t||"multipoint"===t?"polyline":t;this.coordinateHelper=b(this.hasZ,this.hasM,i),this._editGeometryOperations=new w(new P(o,this.coordinateHelper),n),this._snappingOperation=new k({view:e}),this.addHandles([c((()=>({stagedPoint:this._snappingOperation.stagedPoint,constraint:this._constraint})),(({stagedPoint:t,constraint:e},i)=>{const{snappingOptions:n}=this;n&&(n.forceDisabled=null!=e&&O(e));if(null!=i&&t===i.stagedPoint&&e!==i.constraint)return this._onKeyboardBasedChange();this._processCursor(t??this._screenToMap(this._stagedScreenPoint))}),{equals:(t,e)=>t.stagedPoint===e.stagedPoint&&r(t.constraint,e.constraint)}),c((()=>this.view.viewpoint),((t,e)=>{t&&e&&m(t,e)&&this._onKeyboardBasedChange()}))]),this._activeComponent=new V(i,n),this._editGeometryOperations.data.components.push(this._activeComponent);const s=this.segmentLabels;null!=s&&(s.context={view:e,editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,labelOptions:this.labelOptions},this.addHandles(c((()=>this.labelOptions.enabled),(t=>{s.visible=t}),l))),this.addHandles(this._editGeometryOperations.on(["vertex-add","vertex-update","vertex-remove"],(t=>{const e=t.vertices.map((t=>({componentIndex:0,vertexIndex:t.index,coordinates:this.coordinateHelper.vectorToArray(t.pos)}))),i=e.map((t=>t.coordinates)),n=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getFirstVertex()?.pos)??null;y(n,this.firstVertex)||(this.firstVertex=n);const o=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getLastVertex()?.pos)??null;y(o,this.lastVertex)||(this.lastVertex=o);const r=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.edges.at(-1)?.leftVertex?.pos)??null;switch(y(r,this.secondToLastVertex)||(this.secondToLastVertex=r),this._processCursor(this.cursorVertex),t.type){case"vertex-add":this.emit(t.type,{...t,added:i,vertices:e});break;case"vertex-update":this.emit(t.type,{...t,updated:i,vertices:e});break;case"vertex-remove":this.emit(t.type,{...t,removed:i,vertices:e})}})));const p=this._manipulator=new C({consumesClicks:!1,grabbableForEvent:t=>"click"!==this.drawingMode||"touch"===t.pointerType&&this._snappingEnabled&&1===this._pointerDownStates.size});this.manipulators.add(p),p.grabbable="point"!==t,this.addHandles([p.events.on("immediate-click",(t=>this._onImmediateClick(t))),p.events.on("immediate-double-click",(t=>this._onImmediateDoubleClick(t))),c((()=>this.drawingMode),(()=>{this.removeHandles(U),this.addHandles(this._createManipulatorDragPipeline(p),U)}),l),c((()=>({effectiveCursor:this.effectiveCursor})),(({effectiveCursor:t})=>{p.cursor=t}),l)]),Z(this,(()=>{const t=this.view.inputManager.latestPointerType??"mouse",e=this._getSnappingContext(t);if(null!=this.snappingManager){const t=this._snappingOperation.snapAgainNearPreviousMapPoint(this.snappingManager,e);this._updatingHandles.addPromise(a(t))}}))}destroy(){o(this.segmentLabels),o(this._snappingOperation),this._editGeometryOperations=o(this._editGeometryOperations),this._updatingHandles.destroy()}get _isDragging(){const{_stagedPointerId:t,_manipulator:e}=this;return null!=t&&this._pointerDownStates.has(t)||e.grabbing||!e.interactive}get _snappingEnabled(){return null!=this.snappingManager&&this.snappingManager.options.effectiveEnabled}get _requiresScenePoint(){const t=this._updateAndGetEffectiveDrawSurface();return"3d"===this.view.type&&this.drawSurface!==t}get canRedo(){return this._editGeometryOperations.canRedo}get canUndo(){return this._editGeometryOperations.canUndo}get committedVertices(){return this._activeComponent.vertices.map((t=>this.coordinateHelper.vectorToArray(t.pos)))}get _constraint(){const{constraints:t,constraintsEnabled:e}=this;if(t&&e)switch(this.geometryType){case"point":return this._getPointConstraint(t);case"polygon":case"polyline":return this._getPolylineOrPolygonConstraint(this.lastVertex,this.secondToLastVertex,t)}}set drawingMode(t){this._set("drawingMode",t??x)}get effectiveCursor(){return this.loading?L:this._hideDefaultCursor?null:this.cursor||A}get interactive(){return this._manipulator.interactive}set interactive(t){this._manipulator.interactive=t}get isCompleted(){return this._createOperationCompleted}get numCommittedVertices(){return this._activeComponent.vertices.length}get snappingOptions(){return null!=this.snappingManager?this.snappingManager.options:null}get cursorVertex(){return this._get("cursorVertex")}get visualizationCursorVertex(){return"mouse"===this._stagedPointerType?this.cursorVertex:null}get committableVertex(){const{cursorVertex:t,lastVertex:e,firstVertex:i,geometryType:n}=this;return"polygon"===n&&_(t,i)||_(t,e)?null:t}get updating(){return this._updatingHandles.updating}get geometryIncludingUncommittedVertices(){const{committedVertices:t,committableVertex:e,coordinateHelper:i}=this,n=t.slice();return null!=e&&n.push(i.pointToArray(e)),n}cancel(){this.complete({aborted:!0})}commitStagedVertex(){this._snappingOperation.abort();const{committableVertex:t}=this;null!=t&&this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(t))}complete(t){const e=t?.aborted||!1;this._snappingOperation.abort(),this.snappingManager?.doneSnapping();const{geometryType:i,numCommittedVertices:n}=this,o="multipoint"===i&&0===n||"polyline"===i&&n<2||"polygon"===i&&n<3;"segment"!==i&&"point"!==i||this.commitStagedVertex(),this._createOperationCompleted=!o,(this.isCompleted||e)&&(this._stagedScreenPoint=null,this._stagedPointerId=null,this._stagedPointerType=null,this._processCursor(null),this.emit("complete",{vertices:this.committedVertices.map(((t,e)=>({componentIndex:0,vertexIndex:e,coordinates:t}))),aborted:e,type:"complete"}))}onInputEvent(t){switch(t.type){case"pointer-down":this._pointerDownStates.add(t.pointerId);break;case"pointer-up":this._pointerDownStates.delete(t.pointerId)}switch(t.type){case"pointer-move":return this._onPointerMove(t);case"hold":return this._onHold(t)}}redo(){this._editGeometryOperations.redo()}undo(){null!=this.snappingManager&&this.snappingManager.doneSnapping(),this._editGeometryOperations.undo()}_processCursor(t){const e=n(this.cursorVertex),i=n(t),o=i&&(this._updateAndGetEffectiveDrawSurface()?.constrainZ(i)??i),r=this._snapToClosingVertex(o),s=this._applyConstraints(r);_(e,s)||(this._set("cursorVertex",s),this.segmentLabels?.set("stagedVertex",null!=s?this.coordinateHelper.pointToVector(s):null),null==s||"mouse"!==this._stagedPointerType?this.emit("cursor-remove"):this.emit("cursor-update",{updated:null,vertices:[{componentIndex:0,vertexIndex:this._activeComponent.vertices.length,coordinates:this.coordinateHelper.pointToArray(s)}],operation:"apply",type:"vertex-update"}))}_snapToClosingVertex(t){if(null==t||this._isDragging||"polygon"!==this.geometryType||this.numCommittedVertices<=2)return t;const e=this._mapToScreen(t);if(!e)return t;const i=this._activeComponent;return this._vertexWithinPointerDistance(i.vertices[0].pos,e)?this.firstVertex:this._vertexWithinPointerDistance(i.vertices.at(-1).pos,e)?this.lastVertex:t}_createManipulatorDragPipeline(t){switch(this.drawingMode){case"click":return this._createManipulatorDragPipelineClick(t);case"freehand":return this._createManipulatorDragPipelineFreehand(t);case"hybrid":return this._createManipulatorDragPipelineHybrid(t)}}_createManipulatorDragPipelineClick(t){return T(t,((t,e,i,n)=>{const o="touch"===n&&this._snappingEnabled;if(this.isCompleted||!o)return;const{snappingStep:r,cancelSnapping:s}=G({predicate:()=>o,snappingManager:this.snappingManager,snappingContext:new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,feature:this.graphic,pointer:n,visualizer:this.snappingVisualizer,drawConstraints:this.constraints}),updatingHandles:this._updatingHandles,useZ:!this._requiresScenePoint});i=i.next((t=>(o&&null!=this.snappingManager&&this.snappingManager.doneSnapping(),t))).next(s),e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._processCursor(t.mapStart),("segment"===this.geometryType||o&&!this.numCommittedVertices)&&this.commitStagedVertex()),t))).next(S(this.view,this.elevationInfo)).next(...r).next((t=>(o&&(this._processCursor(t.mapEnd),"end"===t.action&&this.commitStagedVertex()),t))).next((t=>("end"===t.action&&("mouse"!==this._stagedPointerType&&this._snappingOperation.abort(),"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()),t)))}))}_createManipulatorDragPipelineFreehand(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._snappingOperation.abort(),null==this.committableVertex&&this._processCursor(t.mapStart),"segment"===this.geometryType&&this.commitStagedVertex()),t))).next((t=>{switch(t.action){case"start":case"update":this._processCursor(t.mapEnd),"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":this.complete()}return t}))}))}_createManipulatorDragPipelineHybrid(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._snappingOperation.abort(),this.addHandles(this._editGeometryOperations.createUndoGroup(),z),this._processCursor(t.mapStart),this.commitStagedVertex()),t))).next((t=>{switch(t.action){case"start":case"update":this._processCursor(t.mapEnd),"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":"mouse"!==this._stagedPointerType&&this._snappingOperation.abort(),this.removeHandles(z),"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()}return t}))}))}get _drawAtFixedElevation(){const{constraintsEnabled:t,constraintZ:e,geometryType:i,numCommittedVertices:n}=this;return t?null!=e||"segment"===i&&n>0:("segment"===i||"polygon"===i)&&n>0}_updateAndGetEffectiveDrawSurface(){const{constraintsEnabled:t,coordinateHelper:e,drawSurface:i,elevationDrawSurface:n,snapToSceneEnabled:o}=this;if(null==n)return i;if(!this.hasZ)return n.defaultZ=null,n;const r=this.elevationInfo?.mode;let s=this.defaultZ,a=t||"absolute-height"===r;if(null!=o&&(a=o),"on-the-ground"===r&&(a=!1),this._drawAtFixedElevation){s=(t?this.constraintZ:null)??e.getZ(this._activeComponent.vertices[0].pos),a=!1}return a?i:(n.defaultZ=s,n)}_mapToScreen(t){return this._updateAndGetEffectiveDrawSurface()?.mapToScreen(t)}_onHold(t){this._snappingOperation.abort(),"click"===this.drawingMode&&"touch"===t.pointerType&&this._snappingEnabled&&this._processCursor(t.mapPoint),t.stopPropagation()}_onImmediateClick(t){if(!("mouse"===t.pointerType&&2===t.button||this._manipulator.dragging))try{const{drawingMode:e,geometryType:i}=this;this._stagedPointerType=t.pointerType,this._stagedScreenPoint=t.screenPoint;const n=this._screenToMap(t.screenPoint);if(null==n)return;if(null==n||"freehand"===e&&"point"!==i)return;if(this._snappingEnabled&&null!=this.cursorVertex||this._processCursor(n),null==this.committableVertex)return void this.complete();this.commitStagedVertex(),"mouse"!==t.pointerType&&this._processCursor(null),("freehand"===e||"point"===i||"segment"===i&&2===this.numCommittedVertices||"segment"===i&&"hybrid"===e&&1===this.numCommittedVertices)&&this.complete()}finally{t.stopPropagation()}}_onImmediateDoubleClick(t){this._manipulator.dragging||"point"===this.geometryType||(this.complete(),t.stopPropagation())}_onPointerMove(t){const e=d(t.x,t.y);this._stagedScreenPoint=e,this._stagedPointerType=t.pointerType,this._stagedPointerId=t.pointerId,this._isDragging?this._snappingOperation.abort():(t.stopPropagation(),this._processCursorMovementRelativeToSurface(e,t.pointerType))}_onKeyboardBasedChange(){"mouse"===this._stagedPointerType&&this._stagedScreenPoint&&null!=this._stagedPointerId&&!this._isDragging?this._processCursorMovementRelativeToSurface(this._stagedScreenPoint,this._stagedPointerType):this._snappingOperation.abort()}_processCursorMovementRelativeToSurface(t,e){const i=this._snappingOperation,n=this._screenToMap(t),o=this._requiresScenePoint?this.drawSurface?.screenToMap(t):null;if(null==n)return this._hideDefaultCursor=!0,this._processCursor(null),void i.abort();this._hideDefaultCursor=!1;const r=this.snappingManager;if(null==r)return this._processCursor(n),void i.abort();const s=this._getSnappingContext(e);this._updatingHandles.addPromise(a(i.snap({point:n,scenePoint:o},r,s)))}_applyConstraints(t){const{_constraint:e,constraints:i}=this;if(!t||!i||!e)return t;const{context:n}=i,o=M(t,n),r=o?e.closestTo(o):void 0;if(!r)return t;const s=D(r,t,n),a="2d"===this.view.type||"absolute-height"!==n.elevationInfo.mode;return null!=s&&a&&null!=this.constraintZ&&this.hasZ&&(s.z=this.constraintZ),s}_screenToMap(t){return t?this._updateAndGetEffectiveDrawSurface()?.screenToMap(t):null}_screenToMapDragEventStep(){let t=null;return e=>{if("start"===e.action&&(t=this._screenToMap(e.screenStart)),null==t)return null;const i=this._screenToMap(e.screenEnd);return null!=i?{...e,mapStart:t,mapEnd:i}:null}}_vertexWithinPointerDistance(t,e){const i=25,n=this._mapToScreen(this.coordinateHelper.vectorToDehydratedPoint(t));return null!=n&&R(n,e,i)}_getSnappingContext(t){const e=this._drawAtFixedElevation?this.elevationDrawSurface?.defaultZ:null;return new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,pointer:t,feature:this.graphic,visualizer:this.snappingVisualizer,selfSnappingZ:null!=e?{value:e,elevationInfo:this.elevationInfo}:null,drawConstraints:this.constraints})}};function R(t,e,i){const n=t.x-e.x,o=t.y-e.y;return n*n+o*o<=i}t([h()],F.prototype,"_hideDefaultCursor",void 0),t([h()],F.prototype,"_stagedPointerId",void 0),t([h()],F.prototype,"_isDragging",null),t([h()],F.prototype,"_snappingOperation",void 0),t([h()],F.prototype,"_snappingEnabled",null),t([h({constructOnly:!0})],F.prototype,"graphic",void 0),t([h()],F.prototype,"constraintsEnabled",void 0),t([h()],F.prototype,"constraints",void 0),t([h()],F.prototype,"_constraint",null),t([h()],F.prototype,"constraintZ",void 0),t([h()],F.prototype,"defaultZ",void 0),t([h()],F.prototype,"isDraped",void 0),t([h({value:x})],F.prototype,"drawingMode",null),t([h({constructOnly:!0})],F.prototype,"elevationDrawSurface",void 0),t([h({constructOnly:!0})],F.prototype,"elevationInfo",void 0),t([h({constructOnly:!0,type:H})],F.prototype,"labelOptions",void 0),t([h({constructOnly:!0})],F.prototype,"geometryType",void 0),t([h({constructOnly:!0})],F.prototype,"hasM",void 0),t([h({constructOnly:!0})],F.prototype,"hasZ",void 0),t([h()],F.prototype,"cursor",void 0),t([h()],F.prototype,"effectiveCursor",null),t([h()],F.prototype,"loading",void 0),t([h({constructOnly:!0})],F.prototype,"manipulators",void 0),t([h({constructOnly:!0})],F.prototype,"drawSurface",void 0),t([h({constructOnly:!0})],F.prototype,"segmentLabels",void 0),t([h({constructOnly:!0})],F.prototype,"snappingManager",void 0),t([h({constructOnly:!0})],F.prototype,"snappingVisualizer",void 0),t([h()],F.prototype,"snapToSceneEnabled",void 0),t([h({readOnly:!0})],F.prototype,"cursorVertex",null),t([h({readOnly:!0})],F.prototype,"visualizationCursorVertex",null),t([h()],F.prototype,"committableVertex",null),t([h()],F.prototype,"firstVertex",void 0),t([h()],F.prototype,"lastVertex",void 0),t([h()],F.prototype,"secondToLastVertex",void 0),t([h()],F.prototype,"updating",null),t([h({constructOnly:!0})],F.prototype,"view",void 0),F=t([u("esri.views.draw.DrawOperation")],F);export{F as DrawOperation,A as defaultCursor,L as defaultLoadingCursor};
5
+ import{_ as t}from"../../chunks/tslib.es6.js";import e from"../../core/Accessor.js";import i from"../../core/Evented.js";import{clone as n}from"../../core/lang.js";import{destroyMaybe as o,equalsMaybe as r}from"../../core/maybe.js";import{memoize as s}from"../../core/memoize.js";import{ignoreAbortErrors as a}from"../../core/promiseUtils.js";import p from"../../core/ReactiveSet.js";import{watch as c,syncAndInitial as l}from"../../core/reactiveUtils.js";import{createScreenPoint as d}from"../../core/screenUtils.js";import{property as h}from"../../core/accessorSupport/decorators/property.js";import"../../core/has.js";import"../../core/Logger.js";import{subclass as u}from"../../core/accessorSupport/decorators/subclass.js";import{diff as m}from"../../core/accessorSupport/diffUtils.js";import{UpdatingHandles as g}from"../../core/support/UpdatingHandles.js";import{pointEquals as y,pointNear as _}from"../../layers/graphics/dehydratedFeatureComparison.js";import{getEffectiveElevationInfo as v}from"../../support/elevationInfoUtils.js";import{ViewingMode as f}from"../ViewingMode.js";import{defaultDrawingMode as x}from"./DrawingMode.js";import{DrawManipulator as C}from"./DrawManipulator.js";import{createCoordinateHelper as b}from"../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as T,sceneSnappingAtLocation as S}from"../interactive/dragEventPipeline.js";import{EditGeometry as P,Component as V}from"../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as w}from"../interactive/editGeometry/EditGeometryOperations.js";import{isPoint as O}from"../interactive/sketch/constraints.js";import{pointToConstraintSpace as M,constraintSpaceToPoint as D,getPointConstraint as E,getPolylineOrPolygonConstraint as I}from"../interactive/sketch/constraintUtils.js";import H from"../interactive/sketch/SketchLabelOptions.js";import{SnappingContext as j}from"../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as G}from"../interactive/snapping/SnappingDragPipelineStep.js";import{SnappingOperation as k}from"../interactive/snapping/SnappingOperation.js";import{setupSnappingToggleHandles as Z}from"../interactive/snapping/snappingUtils.js";const A="crosshair",L="progress",U=Symbol(),z=Symbol();let F=class extends(i.EventedMixin(e)){constructor(t){super(t),this._createOperationCompleted=!1,this._hideDefaultCursor=!1,this._pointerDownStates=new p,this._stagedScreenPoint=null,this._stagedPointerType=null,this._updatingHandles=new g,this._stagedPointerId=null,this.constraintsEnabled=!1,this.constraints=void 0,this._getPointConstraint=s(E),this._getPolylineOrPolygonConstraint=s(I),this.constraintZ=null,this.defaultZ=null,this.isDraped=!0,this.labelOptions=new H,this.cursor=null,this.loading=!1,this.snapToSceneEnabled=null,this.firstVertex=null,this.lastVertex=null,this.secondToLastVertex=null,null==t.elevationInfo&&(this.elevationInfo=v(!!t.hasZ))}initialize(){const{geometryType:t,view:e}=this,i=e.spatialReference,n="viewingMode"in e.state?e.state.viewingMode:f.Local,o="segment"===t||"multipoint"===t?"polyline":t;this.coordinateHelper=b(this.hasZ,this.hasM,i),this._editGeometryOperations=new w(new P(o,this.coordinateHelper),n),this._snappingOperation=new k({view:e}),this.addHandles([c((()=>({stagedPoint:this._snappingOperation.stagedPoint,constraint:this._constraint})),(({stagedPoint:t,constraint:e},i)=>{const{snappingOptions:n}=this;n&&(n.forceDisabled=null!=e&&O(e));if(null!=i&&t===i.stagedPoint&&e!==i.constraint)return this._onKeyboardBasedChange();this._processCursor(t??this._screenToMap(this._stagedScreenPoint))}),{equals:(t,e)=>t.stagedPoint===e.stagedPoint&&r(t.constraint,e.constraint)}),c((()=>this.view.viewpoint),((t,e)=>{t&&e&&m(t,e)&&this._onKeyboardBasedChange()}))]),this._activeComponent=new V(i,n),this._editGeometryOperations.data.components.push(this._activeComponent);const s=this.segmentLabels;null!=s&&(s.context={view:e,editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,labelOptions:this.labelOptions},this.addHandles(c((()=>this.labelOptions.enabled),(t=>{s.visible=t}),l))),this.addHandles(this._editGeometryOperations.on(["vertex-add","vertex-update","vertex-remove"],(t=>{const e=t.vertices.map((t=>({componentIndex:0,vertexIndex:t.index,coordinates:this.coordinateHelper.vectorToArray(t.pos)}))),i=e.map((t=>t.coordinates)),n=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getFirstVertex()?.pos)??null;y(n,this.firstVertex)||(this.firstVertex=n);const o=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.getLastVertex()?.pos)??null;y(o,this.lastVertex)||(this.lastVertex=o);const r=this.coordinateHelper.vectorToDehydratedPoint(this._activeComponent.edges.at(-1)?.leftVertex?.pos)??null;switch(y(r,this.secondToLastVertex)||(this.secondToLastVertex=r),this._processCursor(this.cursorVertex),t.type){case"vertex-add":this.emit(t.type,{...t,added:i,vertices:e});break;case"vertex-update":this.emit(t.type,{...t,updated:i,vertices:e});break;case"vertex-remove":this.emit(t.type,{...t,removed:i,vertices:e})}})));const p=this._manipulator=new C({consumesClicks:!1,grabbableForEvent:t=>"click"!==this.drawingMode||"touch"===t.pointerType&&this._snappingEnabled&&1===this._pointerDownStates.size});this.manipulators.add(p),p.grabbable="point"!==t&&"multipoint"!==t,this.addHandles([p.events.on("immediate-click",(t=>this._onImmediateClick(t))),p.events.on("immediate-double-click",(t=>this._onImmediateDoubleClick(t))),c((()=>this.drawingMode),(()=>{this.removeHandles(U),this.addHandles(this._createManipulatorDragPipeline(p),U)}),l),c((()=>({effectiveCursor:this.effectiveCursor})),(({effectiveCursor:t})=>{p.cursor=t}),l)]),Z(this,(()=>{const t=this.view.inputManager.latestPointerType??"mouse",e=this._getSnappingContext(t);if(null!=this.snappingManager){const t=this._snappingOperation.snapAgainNearPreviousMapPoint(this.snappingManager,e);this._updatingHandles.addPromise(a(t))}}))}destroy(){o(this.segmentLabels),o(this._snappingOperation),this._editGeometryOperations=o(this._editGeometryOperations),this._updatingHandles.destroy()}get _isDragging(){const{_stagedPointerId:t,_manipulator:e}=this;return null!=t&&this._pointerDownStates.has(t)||e.grabbing||!e.interactive}get _snappingEnabled(){return null!=this.snappingManager&&this.snappingManager.options.effectiveEnabled}get _requiresScenePoint(){const t=this._updateAndGetEffectiveDrawSurface();return"3d"===this.view.type&&this.drawSurface!==t}get canRedo(){return this._editGeometryOperations.canRedo}get canUndo(){return this._editGeometryOperations.canUndo}get committedVertices(){return this._activeComponent.vertices.map((t=>this.coordinateHelper.vectorToArray(t.pos)))}get _constraint(){const{constraints:t,constraintsEnabled:e}=this;if(t&&e)switch(this.geometryType){case"point":case"multipoint":return this._getPointConstraint(t);case"polygon":case"polyline":return this._getPolylineOrPolygonConstraint(this.lastVertex,this.secondToLastVertex,t)}}set drawingMode(t){this._set("drawingMode",t??x)}get effectiveCursor(){return this.loading?L:this._hideDefaultCursor?null:this.cursor||A}get interactive(){return this._manipulator.interactive}set interactive(t){this._manipulator.interactive=t}get isCompleted(){return this._createOperationCompleted}get numCommittedVertices(){return this._activeComponent.vertices.length}get snappingOptions(){return null!=this.snappingManager?this.snappingManager.options:null}get cursorVertex(){return this._get("cursorVertex")}get visualizationCursorVertex(){return"mouse"===this._stagedPointerType?this.cursorVertex:null}get committableVertex(){const{cursorVertex:t,lastVertex:e,firstVertex:i,geometryType:n}=this;return"polygon"===n&&_(t,i)||_(t,e)?null:t}get updating(){return this._updatingHandles.updating}get geometryIncludingUncommittedVertices(){const{committedVertices:t,committableVertex:e,coordinateHelper:i}=this,n=t.slice();return null!=e&&n.push(i.pointToArray(e)),n}cancel(){this.complete({aborted:!0})}commitStagedVertex(){this._snappingOperation.abort();const{committableVertex:t}=this;null!=t&&this._editGeometryOperations.appendVertex(this.coordinateHelper.pointToVector(t))}complete(t){const e=t?.aborted||!1;this._snappingOperation.abort(),this.snappingManager?.doneSnapping();const{geometryType:i,numCommittedVertices:n}=this,o="multipoint"===i&&0===n||"polyline"===i&&n<2||"polygon"===i&&n<3;"segment"!==i&&"point"!==i||this.commitStagedVertex(),this._createOperationCompleted=!o,(this.isCompleted||e)&&(this._stagedScreenPoint=null,this._stagedPointerId=null,this._stagedPointerType=null,this._processCursor(null),this.emit("complete",{vertices:this.committedVertices.map(((t,e)=>({componentIndex:0,vertexIndex:e,coordinates:t}))),aborted:e,type:"complete"}))}onInputEvent(t){switch(t.type){case"pointer-down":this._pointerDownStates.add(t.pointerId);break;case"pointer-up":this._pointerDownStates.delete(t.pointerId)}switch(t.type){case"pointer-move":return this._onPointerMove(t);case"hold":return this._onHold(t)}}redo(){this._editGeometryOperations.redo()}undo(){null!=this.snappingManager&&this.snappingManager.doneSnapping(),this._editGeometryOperations.undo()}_processCursor(t){const e=n(this.cursorVertex),i=n(t),o=i&&(this._updateAndGetEffectiveDrawSurface()?.constrainZ(i)??i),r=this._snapToClosingVertex(o),s=this._applyConstraints(r);_(e,s)||(this._set("cursorVertex",s),this.segmentLabels?.set("stagedVertex",null!=s?this.coordinateHelper.pointToVector(s):null),null==s||"mouse"!==this._stagedPointerType?this.emit("cursor-remove"):this.emit("cursor-update",{updated:null,vertices:[{componentIndex:0,vertexIndex:this._activeComponent.vertices.length,coordinates:this.coordinateHelper.pointToArray(s)}],operation:"apply",type:"vertex-update"}))}_snapToClosingVertex(t){if(null==t||this._isDragging||"polygon"!==this.geometryType||this.numCommittedVertices<=2)return t;const e=this._mapToScreen(t);if(!e)return t;const i=this._activeComponent;return this._vertexWithinPointerDistance(i.vertices[0].pos,e)?this.firstVertex:this._vertexWithinPointerDistance(i.vertices.at(-1).pos,e)?this.lastVertex:t}_createManipulatorDragPipeline(t){switch(this.drawingMode){case"click":return this._createManipulatorDragPipelineClick(t);case"freehand":return this._createManipulatorDragPipelineFreehand(t);case"hybrid":return this._createManipulatorDragPipelineHybrid(t)}}_createManipulatorDragPipelineClick(t){return T(t,((t,e,i,n)=>{const o="touch"===n&&this._snappingEnabled;if(this.isCompleted||!o)return;const{snappingStep:r,cancelSnapping:s}=G({predicate:()=>o,snappingManager:this.snappingManager,snappingContext:new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,feature:this.graphic,pointer:n,visualizer:this.snappingVisualizer,drawConstraints:this.constraints}),updatingHandles:this._updatingHandles,useZ:!this._requiresScenePoint});i=i.next((t=>(o&&null!=this.snappingManager&&this.snappingManager.doneSnapping(),t))).next(s),e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._processCursor(t.mapStart),("segment"===this.geometryType||o&&!this.numCommittedVertices)&&this.commitStagedVertex()),t))).next(S(this.view,this.elevationInfo)).next(...r).next((t=>(o&&(this._processCursor(t.mapEnd),"end"===t.action&&this.commitStagedVertex()),t))).next((t=>("end"===t.action&&("mouse"!==this._stagedPointerType&&this._snappingOperation.abort(),"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()),t)))}))}_createManipulatorDragPipelineFreehand(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._snappingOperation.abort(),null==this.committableVertex&&this._processCursor(t.mapStart),"segment"===this.geometryType&&this.commitStagedVertex()),t))).next((t=>{switch(t.action){case"start":case"update":this._processCursor(t.mapEnd),"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":this.complete()}return t}))}))}_createManipulatorDragPipelineHybrid(t){return T(t,((t,e)=>{this.isCompleted||e.next(this._screenToMapDragEventStep()).next((t=>("start"===t.action&&(this._snappingOperation.abort(),this.addHandles(this._editGeometryOperations.createUndoGroup(),z),this._processCursor(t.mapStart),this.commitStagedVertex()),t))).next((t=>{switch(t.action){case"start":case"update":this._processCursor(t.mapEnd),"polygon"!==this.geometryType&&"polyline"!==this.geometryType||this.commitStagedVertex();break;case"end":"mouse"!==this._stagedPointerType&&this._snappingOperation.abort(),this.removeHandles(z),"segment"!==this.geometryType&&"point"!==this.geometryType||this.complete()}return t}))}))}get _drawAtFixedElevation(){const{constraintsEnabled:t,constraintZ:e,geometryType:i,numCommittedVertices:n}=this;return t?null!=e||"segment"===i&&n>0:("segment"===i||"polygon"===i)&&n>0}_updateAndGetEffectiveDrawSurface(){const{constraintsEnabled:t,coordinateHelper:e,drawSurface:i,elevationDrawSurface:n,snapToSceneEnabled:o}=this;if(null==n)return i;if(!this.hasZ)return n.defaultZ=null,n;const r=this.elevationInfo?.mode;let s=this.defaultZ,a=t||"absolute-height"===r;if(null!=o&&(a=o),"on-the-ground"===r&&(a=!1),this._drawAtFixedElevation){s=(t?this.constraintZ:null)??e.getZ(this._activeComponent.vertices[0].pos),a=!1}return a?i:(n.defaultZ=s,n)}_mapToScreen(t){return this._updateAndGetEffectiveDrawSurface()?.mapToScreen(t)}_onHold(t){this._snappingOperation.abort(),"click"===this.drawingMode&&"touch"===t.pointerType&&this._snappingEnabled&&this._processCursor(t.mapPoint),t.stopPropagation()}_onImmediateClick(t){if(!("mouse"===t.pointerType&&2===t.button||this._manipulator.dragging))try{const{drawingMode:e,geometryType:i}=this;this._stagedPointerType=t.pointerType,this._stagedScreenPoint=t.screenPoint;const n=this._screenToMap(t.screenPoint);if(null==n)return;if(null==n||"freehand"===e&&"point"!==i&&"multipoint"!==i)return;if(this._snappingEnabled&&null!=this.cursorVertex||this._processCursor(n),null==this.committableVertex)return void this.complete();this.commitStagedVertex(),"mouse"!==t.pointerType&&this._processCursor(null),("freehand"===e&&"multipoint"!==this.geometryType||"point"===i||"segment"===i&&2===this.numCommittedVertices||"segment"===i&&"hybrid"===e&&1===this.numCommittedVertices)&&this.complete()}finally{t.stopPropagation()}}_onImmediateDoubleClick(t){this._manipulator.dragging||"point"===this.geometryType||(this.complete(),t.stopPropagation())}_onPointerMove(t){const e=d(t.x,t.y);this._stagedScreenPoint=e,this._stagedPointerType=t.pointerType,this._stagedPointerId=t.pointerId,this._isDragging?this._snappingOperation.abort():(t.stopPropagation(),this._processCursorMovementRelativeToSurface(e,t.pointerType))}_onKeyboardBasedChange(){"mouse"===this._stagedPointerType&&this._stagedScreenPoint&&null!=this._stagedPointerId&&!this._isDragging?this._processCursorMovementRelativeToSurface(this._stagedScreenPoint,this._stagedPointerType):this._snappingOperation.abort()}_processCursorMovementRelativeToSurface(t,e){const i=this._snappingOperation,n=this._screenToMap(t),o=this._requiresScenePoint?this.drawSurface?.screenToMap(t):null;if(null==n)return this._hideDefaultCursor=!0,this._processCursor(null),void i.abort();this._hideDefaultCursor=!1;const r=this.snappingManager;if(null==r)return this._processCursor(n),void i.abort();const s=this._getSnappingContext(e);this._updatingHandles.addPromise(a(i.snap({point:n,scenePoint:o},r,s)))}_applyConstraints(t){const{_constraint:e,constraints:i}=this;if(!t||!i||!e)return t;const{context:n}=i,o=M(t,n),r=o?e.closestTo(o):void 0;if(!r)return t;const s=D(r,t,n),a="2d"===this.view.type||"absolute-height"!==n.elevationInfo.mode;return null!=s&&a&&null!=this.constraintZ&&this.hasZ&&(s.z=this.constraintZ),s}_screenToMap(t){return t?this._updateAndGetEffectiveDrawSurface()?.screenToMap(t):null}_screenToMapDragEventStep(){let t=null;return e=>{if("start"===e.action&&(t=this._screenToMap(e.screenStart)),null==t)return null;const i=this._screenToMap(e.screenEnd);return null!=i?{...e,mapStart:t,mapEnd:i}:null}}_vertexWithinPointerDistance(t,e){const i=25,n=this._mapToScreen(this.coordinateHelper.vectorToDehydratedPoint(t));return null!=n&&R(n,e,i)}_getSnappingContext(t){const e=this._drawAtFixedElevation?this.elevationDrawSurface?.defaultZ:null;return new j({editGeometryOperations:this._editGeometryOperations,elevationInfo:this.elevationInfo,pointer:t,feature:this.graphic,visualizer:this.snappingVisualizer,selfSnappingZ:null!=e?{value:e,elevationInfo:this.elevationInfo}:null,drawConstraints:this.constraints})}};function R(t,e,i){const n=t.x-e.x,o=t.y-e.y;return n*n+o*o<=i}t([h()],F.prototype,"_hideDefaultCursor",void 0),t([h()],F.prototype,"_stagedPointerId",void 0),t([h()],F.prototype,"_isDragging",null),t([h()],F.prototype,"_snappingOperation",void 0),t([h()],F.prototype,"_snappingEnabled",null),t([h({constructOnly:!0})],F.prototype,"graphic",void 0),t([h()],F.prototype,"constraintsEnabled",void 0),t([h()],F.prototype,"constraints",void 0),t([h()],F.prototype,"_constraint",null),t([h()],F.prototype,"constraintZ",void 0),t([h()],F.prototype,"defaultZ",void 0),t([h()],F.prototype,"isDraped",void 0),t([h({value:x})],F.prototype,"drawingMode",null),t([h({constructOnly:!0})],F.prototype,"elevationDrawSurface",void 0),t([h({constructOnly:!0})],F.prototype,"elevationInfo",void 0),t([h({constructOnly:!0,type:H})],F.prototype,"labelOptions",void 0),t([h({constructOnly:!0})],F.prototype,"geometryType",void 0),t([h({constructOnly:!0})],F.prototype,"hasM",void 0),t([h({constructOnly:!0})],F.prototype,"hasZ",void 0),t([h()],F.prototype,"cursor",void 0),t([h()],F.prototype,"effectiveCursor",null),t([h()],F.prototype,"loading",void 0),t([h({constructOnly:!0})],F.prototype,"manipulators",void 0),t([h({constructOnly:!0})],F.prototype,"drawSurface",void 0),t([h({constructOnly:!0})],F.prototype,"segmentLabels",void 0),t([h({constructOnly:!0})],F.prototype,"snappingManager",void 0),t([h({constructOnly:!0})],F.prototype,"snappingVisualizer",void 0),t([h()],F.prototype,"snapToSceneEnabled",void 0),t([h({readOnly:!0})],F.prototype,"cursorVertex",null),t([h({readOnly:!0})],F.prototype,"visualizationCursorVertex",null),t([h()],F.prototype,"committableVertex",null),t([h()],F.prototype,"firstVertex",void 0),t([h()],F.prototype,"lastVertex",void 0),t([h()],F.prototype,"secondToLastVertex",void 0),t([h()],F.prototype,"updating",null),t([h({constructOnly:!0})],F.prototype,"view",void 0),F=t([u("esri.views.draw.DrawOperation")],F);export{F as DrawOperation,A as defaultCursor,L as defaultLoadingCursor};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.33/esri/copyright.txt for details.
4
4
  */
5
- function e(e,l){switch(e){case"point":case"multipoint":return n();case"polyline":return t(l);case"polygon":return o(l);default:return}}function n(e){return"point"}function t(e){return(null!=e&&"polyline"===e.type&&e.paths.length?e.paths[0].length:0)<2?"polylineZeroVertices":"polylineOneVertex"}function o(e){const n=null!=e&&"polygon"===e.type&&e.rings.length?e.rings[0].length:0;return n<3?"polylineZeroVertices":n<4?"polygonOneVertex":"polygonTwoVertices"}export{e as getDrawHelpMessage};
5
+ function e(e,i,a){if(null==e)return"noTool";switch(e){case"point":return n();case"multipoint":return"multipoint";case"polyline":return r(i,a);case"polygon":return t(i,a);case"rectangle":case"circle":return l(i,a);default:return}}function n(e){return"point"}function r(e,n){const r=null!=e&&"polyline"===e.type&&e.paths.length?e.paths[0].length:0;return"freehand"===n?r<2?"freehandStart":"freehandEnd":r<2?"polylineZeroVertices":"polylineOneVertex"}function t(e,n){const r=null!=e&&"polygon"===e.type&&e.rings.length?e.rings[0].length:0;if(r<3)switch(n){case"freehand":return"freehandStart";case"hybrid":return"polygonZeroVerticesHybrid";default:return"polygonZeroVertices"}else if(r<4)return"freehand"===n?"freehandEnd":"polygonOneVertex";return"polygonTwoVertices"}function l(e,n){if((null!=e&&"polygon"===e.type&&e.rings.length?e.rings[0].length:0)<3)switch(n){case"freehand":return"freehandStart";case"click":return"shapeStartClick";default:return"shapeStartHybrid"}switch(n){case"freehand":return"freehandEnd";case"click":return"shapeEndClick";default:return"shapeEndHybrid"}}export{e as getDrawHelpMessage};