@arcgis/core 4.34.0-next.6 → 4.34.0-next.8

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 (363) hide show
  1. package/Map.js +1 -1
  2. package/applications/ExperienceBuilder/sketchUtils.d.ts +1 -0
  3. package/applications/ExperienceBuilder/sketchUtils.js +1 -1
  4. package/assets/esri/core/workers/RemoteClient.js +1 -1
  5. package/assets/esri/core/workers/chunks/{feaf79b69d2e2a1f2aa2.js → 06877ea5b9df7de89aff.js} +1 -1
  6. package/assets/esri/core/workers/chunks/{54ea93f416ab52b413c1.js → 076f830d6d0337dfce9d.js} +1 -1
  7. package/assets/esri/core/workers/chunks/09907c9ff597df9bc954.js +1 -0
  8. package/assets/esri/core/workers/chunks/0dbb350ce651bc236ec8.js +1 -0
  9. package/assets/esri/core/workers/chunks/0ed4ec00ef16aa58a33d.js +1 -0
  10. package/assets/esri/core/workers/chunks/{0624ae07d3af8d5f1ac8.js → 15b3eb60f86954783fab.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{b845586219f284a215b2.js → 1db026cc25338dbc208e.js} +1 -1
  12. package/assets/esri/core/workers/chunks/21de4516bf5c9630edfd.js +1 -0
  13. package/assets/esri/core/workers/chunks/2254989ca3ff3960f2fe.js +1 -0
  14. package/assets/esri/core/workers/chunks/248a198f97871a8d6dd6.js +1 -0
  15. package/assets/esri/core/workers/chunks/2dbd18df5c691c8d0a61.js +1 -0
  16. package/assets/esri/core/workers/chunks/2e1ceff3f88a6c78dfa2.js +1 -0
  17. package/assets/esri/core/workers/chunks/{847e88e1d6da1e74cdc8.js → 2ecc1057d53e0b4a60b7.js} +1 -1
  18. package/assets/esri/core/workers/chunks/3025e420e13e2bc8c0a1.js +1 -0
  19. package/assets/esri/core/workers/chunks/32537e2b014bc3d82f5c.js +346 -0
  20. package/assets/esri/core/workers/chunks/34f55bb89ddf26b10260.js +1 -0
  21. package/assets/esri/core/workers/chunks/355ab428a04ee9fcf888.js +1 -0
  22. package/assets/esri/core/workers/chunks/{28e31ac00dc95a1318e9.js → 3916879b9ca8c6979011.js} +1 -1
  23. package/assets/esri/core/workers/chunks/3a74654fa539f78ceb86.js +1 -0
  24. package/assets/esri/core/workers/chunks/3bec10a4f01757590c1c.js +1 -0
  25. package/assets/esri/core/workers/chunks/4088f4c25a09932a3eb1.js +1 -0
  26. package/assets/esri/core/workers/chunks/427318722815bef1496b.js +1 -0
  27. package/assets/esri/core/workers/chunks/4c3bd6cc0badb78c7112.js +1 -0
  28. package/assets/esri/core/workers/chunks/500fb5f615f0c1db1b66.js +1 -0
  29. package/assets/esri/core/workers/chunks/5222523fff30d07f88de.js +1 -0
  30. package/assets/esri/core/workers/chunks/52c34d6ecd9d45a33e69.js +1 -0
  31. package/assets/esri/core/workers/chunks/539541dec5fcf3b657aa.js +1 -0
  32. package/assets/esri/core/workers/chunks/53e8c061f36516c3c3e4.js +1 -0
  33. package/assets/esri/core/workers/chunks/{ca76950d81ab4ebb65e1.js → 58f403f956b7b3467344.js} +1 -1
  34. package/assets/esri/core/workers/chunks/5a01bd7a9ee24be7bac4.js +1 -0
  35. package/assets/esri/core/workers/chunks/5bfcb3d87380e7f85b08.js +1 -0
  36. package/assets/esri/core/workers/chunks/5d3246b8fc50f9d9e2c4.js +1 -0
  37. package/assets/esri/core/workers/chunks/{4dd0a5f327fa5fc7249d.js → 5ef1095842e21090f1f4.js} +1 -1
  38. package/assets/esri/core/workers/chunks/614bc3f05873b37af091.js +1 -0
  39. package/assets/esri/core/workers/chunks/6194636638b0439fccd8.js +1 -0
  40. package/assets/esri/core/workers/chunks/66e4cb2479bed1384ed5.js +1 -0
  41. package/assets/esri/core/workers/chunks/6b0ae9ccdd1acef5b5b4.js +1 -0
  42. package/assets/esri/core/workers/chunks/7112b092d98172b7db8b.js +1 -0
  43. package/assets/esri/core/workers/chunks/72ea996b03932c0f004f.js +1 -0
  44. package/assets/esri/core/workers/chunks/74d18c22fa1c178bd9df.js +1 -0
  45. package/assets/esri/core/workers/chunks/766e08d0c56b2b31b63b.js +1 -0
  46. package/assets/esri/core/workers/chunks/77dbb1d5d5e1a6ced932.js +1 -0
  47. package/assets/esri/core/workers/chunks/{bd7b54db7fd278b15500.js → 7a2189614f2dad49ffcd.js} +1 -1
  48. package/assets/esri/core/workers/chunks/7ae88c141a5d85e5bb88.js +1 -0
  49. package/assets/esri/core/workers/chunks/7aef81778155be373d3e.js +1 -0
  50. package/assets/esri/core/workers/chunks/7e1906d35a764f7f10b0.js +1 -0
  51. package/assets/esri/core/workers/chunks/80777a9db53bee2ad8a8.js +1 -0
  52. package/assets/esri/core/workers/chunks/8249b5de5c15461a6787.js +1 -0
  53. package/assets/esri/core/workers/chunks/{a036503087baa1f9fd00.js → 82ff4229c51011b243f2.js} +1 -1
  54. package/assets/esri/core/workers/chunks/8385c13ac10e595374cb.js +1 -0
  55. package/assets/esri/core/workers/chunks/83db8bd42f94f97c7cf1.js +1 -0
  56. package/assets/esri/core/workers/chunks/87623ebe32c6ae9cb223.js +1 -0
  57. package/assets/esri/core/workers/chunks/88b1214c284c2ec7d51b.js +1 -0
  58. package/assets/esri/core/workers/chunks/8b86c75426c55b29ebed.js +1 -0
  59. package/assets/esri/core/workers/chunks/8c4b26d86483646c70d2.js +1 -0
  60. package/assets/esri/core/workers/chunks/9cb242dfc3765b590f51.js +1 -0
  61. package/assets/esri/core/workers/chunks/9ddb0b07be31c3747238.js +1 -0
  62. package/assets/esri/core/workers/chunks/9f0f1472f36b42c507d1.js +1 -0
  63. package/assets/esri/core/workers/chunks/{f840e1655c4f6b6630be.js → 9f964467f7353039dd9c.js} +19 -19
  64. package/assets/esri/core/workers/chunks/9fe62638dc7dce466612.js +1 -0
  65. package/assets/esri/core/workers/chunks/a2e9141ff4efd13413a1.js +66 -0
  66. package/assets/esri/core/workers/chunks/adf6982e2d8102669cdf.js +1 -0
  67. package/assets/esri/core/workers/chunks/{d9b2263e0a9f9068ab62.js → b6c3a2d93a59df9a1418.js} +1 -1
  68. package/assets/esri/core/workers/chunks/b763292829aa4d3fab60.js +1 -0
  69. package/assets/esri/core/workers/chunks/ba015f4f72714820a12f.js +1 -0
  70. package/assets/esri/core/workers/chunks/bbbd58b02a3ee8fe595e.js +1 -0
  71. package/assets/esri/core/workers/chunks/c3d95f7f4370486eed2c.js +1 -0
  72. package/assets/esri/core/workers/chunks/c3df693d1bce8f189fa2.js +1 -0
  73. package/assets/esri/core/workers/chunks/{6993a59cbb78bc26f029.js → c45a314ace9725aa250e.js} +1 -1
  74. package/assets/esri/core/workers/chunks/c96fed4889712f5a9135.js +1 -0
  75. package/assets/esri/core/workers/chunks/c9fbada1e84981784f6c.js +1 -0
  76. package/assets/esri/core/workers/chunks/cefcecbeef4f0a46f58c.js +1 -0
  77. package/assets/esri/core/workers/chunks/d2317b87aa2ac3ad97a6.js +1 -0
  78. package/assets/esri/core/workers/chunks/{0bbb38f59f37c51c72f0.js → d45a4e5806a80b69ceec.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{7a23dc625a812a562c21.js → d5f770302dc686e55ba7.js} +1 -1
  80. package/assets/esri/core/workers/chunks/dc14507cfc052faa5890.js +1 -0
  81. package/assets/esri/core/workers/chunks/e7a440476cd1eb4c6547.js +1 -0
  82. package/assets/esri/core/workers/chunks/ede9738ac20e7dd5ce63.js +1 -0
  83. package/assets/esri/core/workers/chunks/eec034d88db320880133.js +1 -0
  84. package/assets/esri/core/workers/chunks/f1e87720b425d7fb348a.js +1 -0
  85. package/assets/esri/core/workers/chunks/f2863c501d62dece5fdd.js +1 -0
  86. package/assets/esri/core/workers/chunks/f5741d09fd4e1809f580.js +1 -0
  87. package/assets/esri/core/workers/chunks/f9e1b73976027e17cd03.js +1 -0
  88. package/assets/esri/core/workers/chunks/fd207a40faf882d3b2a3.js +1 -0
  89. package/assets/esri/core/workers/chunks/fe3832107278244dc04d.js +1 -0
  90. package/assets/esri/widgets/Editor/t9n/Editor.json +1 -1
  91. package/assets/esri/widgets/Editor/t9n/Editor_ar.json +1 -1
  92. package/assets/esri/widgets/Editor/t9n/Editor_bg.json +1 -1
  93. package/assets/esri/widgets/Editor/t9n/Editor_bs.json +1 -1
  94. package/assets/esri/widgets/Editor/t9n/Editor_ca.json +1 -1
  95. package/assets/esri/widgets/Editor/t9n/Editor_cs.json +1 -1
  96. package/assets/esri/widgets/Editor/t9n/Editor_da.json +1 -1
  97. package/assets/esri/widgets/Editor/t9n/Editor_de.json +1 -1
  98. package/assets/esri/widgets/Editor/t9n/Editor_el.json +1 -1
  99. package/assets/esri/widgets/Editor/t9n/Editor_en.json +1 -1
  100. package/assets/esri/widgets/Editor/t9n/Editor_es.json +1 -1
  101. package/assets/esri/widgets/Editor/t9n/Editor_et.json +1 -1
  102. package/assets/esri/widgets/Editor/t9n/Editor_fi.json +1 -1
  103. package/assets/esri/widgets/Editor/t9n/Editor_fr.json +1 -1
  104. package/assets/esri/widgets/Editor/t9n/Editor_he.json +1 -1
  105. package/assets/esri/widgets/Editor/t9n/Editor_hr.json +1 -1
  106. package/assets/esri/widgets/Editor/t9n/Editor_hu.json +1 -1
  107. package/assets/esri/widgets/Editor/t9n/Editor_id.json +1 -1
  108. package/assets/esri/widgets/Editor/t9n/Editor_it.json +1 -1
  109. package/assets/esri/widgets/Editor/t9n/Editor_ja.json +1 -1
  110. package/assets/esri/widgets/Editor/t9n/Editor_ko.json +1 -1
  111. package/assets/esri/widgets/Editor/t9n/Editor_lt.json +1 -1
  112. package/assets/esri/widgets/Editor/t9n/Editor_lv.json +1 -1
  113. package/assets/esri/widgets/Editor/t9n/Editor_nl.json +1 -1
  114. package/assets/esri/widgets/Editor/t9n/Editor_no.json +1 -1
  115. package/assets/esri/widgets/Editor/t9n/Editor_pl.json +1 -1
  116. package/assets/esri/widgets/Editor/t9n/Editor_pt-BR.json +1 -1
  117. package/assets/esri/widgets/Editor/t9n/Editor_pt-PT.json +1 -1
  118. package/assets/esri/widgets/Editor/t9n/Editor_ro.json +1 -1
  119. package/assets/esri/widgets/Editor/t9n/Editor_ru.json +1 -1
  120. package/assets/esri/widgets/Editor/t9n/Editor_sk.json +1 -1
  121. package/assets/esri/widgets/Editor/t9n/Editor_sl.json +1 -1
  122. package/assets/esri/widgets/Editor/t9n/Editor_sr.json +1 -1
  123. package/assets/esri/widgets/Editor/t9n/Editor_sv.json +1 -1
  124. package/assets/esri/widgets/Editor/t9n/Editor_th.json +1 -1
  125. package/assets/esri/widgets/Editor/t9n/Editor_tr.json +1 -1
  126. package/assets/esri/widgets/Editor/t9n/Editor_uk.json +1 -1
  127. package/assets/esri/widgets/Editor/t9n/Editor_vi.json +1 -1
  128. package/assets/esri/widgets/Editor/t9n/Editor_zh-CN.json +1 -1
  129. package/assets/esri/widgets/Editor/t9n/Editor_zh-HK.json +1 -1
  130. package/assets/esri/widgets/Editor/t9n/Editor_zh-TW.json +1 -1
  131. package/chunks/aiServices.js +1 -1
  132. package/config.js +1 -1
  133. package/core/workers/Connection.js +1 -1
  134. package/core/workers/RemoteClient.js +1 -1
  135. package/core/workers/WorkerHandle.js +1 -1
  136. package/effects/FocusArea.d.ts +4 -0
  137. package/effects/FocusArea.js +1 -1
  138. package/effects/FocusAreaOutline.d.ts +4 -0
  139. package/effects/FocusAreaOutline.js +1 -1
  140. package/effects/FocusAreas.d.ts +4 -0
  141. package/effects/FocusAreas.js +1 -1
  142. package/geometry.js +1 -1
  143. package/interfaces.d.ts +530 -433
  144. package/kernel.js +1 -1
  145. package/layers/BuildingSceneLayer.js +1 -1
  146. package/layers/GroupLayer.js +1 -1
  147. package/layers/ImageryLayer.js +1 -1
  148. package/layers/ImageryTileLayer.js +1 -1
  149. package/layers/VideoLayer.js +1 -1
  150. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  151. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  152. package/layers/graphics/editingSupport.js +1 -1
  153. package/layers/mixins/ImageryTileMixin.js +1 -1
  154. package/layers/mixins/operationalLayerModuleMap.js +1 -1
  155. package/layers/mixins/operationalLayers.js +1 -1
  156. package/layers/support/BuildingSummaryStatistics.js +1 -1
  157. package/layers/support/PromiseQueue.js +1 -1
  158. package/layers/support/TelemetryDisplay.js +1 -1
  159. package/layers/support/TitleCreator.js +1 -1
  160. package/layers/support/arcgisLayers.js +1 -1
  161. package/layers/support/featurePopupQueryUtils.js +5 -0
  162. package/layers/support/fieldUtils.js +1 -1
  163. package/layers/support/layersCreator.js +1 -1
  164. package/layers/support/multiLayerServiceUtils.js +5 -0
  165. package/networks/CircuitManager.js +1 -1
  166. package/networks/UnitIdentifierManager.js +1 -1
  167. package/networks/UtilityNetwork.js +1 -1
  168. package/networks/support/UNTraceConfiguration.js +1 -1
  169. package/networks/support/typeUtils.js +1 -1
  170. package/package.json +1 -1
  171. package/portal/PortalItem.js +1 -1
  172. package/portal/support/layersLoader.js +1 -1
  173. package/portal/support/portalLayers.js +1 -1
  174. package/rasterRenderers.js +1 -1
  175. package/renderers/support/colorRampUtils.js +1 -1
  176. package/renderers.js +1 -1
  177. package/rest/featureService/FeatureService.js +1 -1
  178. package/rest/networks/circuits/queryCircuits.js +1 -1
  179. package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
  180. package/rest/networks/support/CircuitTraceResult.js +5 -0
  181. package/rest/networks/support/TraceResult.js +1 -1
  182. package/rest/networks/unitIdentifiers/support/{QueryUnitIdentifiersParamters.js → QueryUnitIdentifiersParameters.js} +1 -1
  183. package/support/revision.js +1 -1
  184. package/symbols/cim/animationUtils.js +1 -1
  185. package/symbols/cim/cimAnalyzer.js +1 -1
  186. package/symbols/cim/defaultCIMValues.js +1 -1
  187. package/symbols/cim/effects/EffectEnclosingPolygon.js +1 -1
  188. package/symbols/cim/utils.js +1 -1
  189. package/symbols/support/ElevationInfo.d.ts +4 -0
  190. package/symbols/support/ElevationInfo.js +1 -1
  191. package/symbols/support/FeatureExpressionInfo.d.ts +4 -0
  192. package/symbols/support/FeatureExpressionInfo.js +1 -1
  193. package/symbols/support/cimSymbolUtils.js +1 -1
  194. package/symbols/support/previewCIMSymbol.js +1 -1
  195. package/symbols.js +1 -1
  196. package/views/2d/engine/webgl/animations/infos.js +1 -1
  197. package/views/2d/engine/webgl/animations/instructions.js +1 -1
  198. package/views/2d/engine/webgl/animations/utils.js +1 -1
  199. package/views/2d/engine/webgl/shaderGraph/techniques/GraphicInstanceStore.js +1 -1
  200. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueRegistry.js +1 -1
  201. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueType.js +1 -1
  202. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +5 -0
  203. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +5 -0
  204. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +5 -0
  205. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +5 -0
  206. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  207. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  208. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +5 -0
  209. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
  210. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechniques.js +5 -0
  211. package/views/2d/engine/webgl/shaderGraph/techniques/animated/ComputedAnimatedParams.js +5 -0
  212. package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +5 -0
  213. package/views/2d/engine/webgl/shaderGraph/techniques/animated/enums.js +1 -1
  214. package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
  215. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  216. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  217. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js +1 -1
  218. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  219. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  220. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  221. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
  222. package/views/2d/layers/MediaLayerView2D.js +1 -1
  223. package/views/2d/layers/TileLayerView2D.js +1 -1
  224. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  225. package/views/2d/layers/features/schema/processor/symbols/utils.js +1 -1
  226. package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
  227. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  228. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  229. package/views/3d/layers/I3SMeshView3D.js +1 -1
  230. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  231. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  232. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  233. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  234. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  235. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  236. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  237. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  238. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  239. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  240. package/views/3d/layers/support/DefinitionExpressionSceneLayerView.js +1 -1
  241. package/views/3d/layers/support/FeatureVisibilityFilter.js +1 -1
  242. package/views/3d/layers/support/PopupSceneLayerView.js +1 -1
  243. package/views/3d/terrain/OverlayRenderer.js +1 -1
  244. package/views/3d/terrain/TerrainRenderer.js +1 -1
  245. package/views/3d/terrain/TerrainSurface.js +1 -1
  246. package/views/3d/terrain/TileRenderer.js +1 -1
  247. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  248. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  249. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +3 -3
  250. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  251. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  252. package/views/SelectionManager.js +1 -1
  253. package/views/VideoView.js +1 -1
  254. package/views/draw/support/GraphicMover.js +1 -1
  255. package/views/layers/CatalogDynamicGroupLayerView.js +1 -1
  256. package/views/layers/FeatureLayerView.js +1 -1
  257. package/views/layers/ImageryLayerView.js +1 -1
  258. package/views/layers/ImageryTileLayerView.js +1 -1
  259. package/views/layers/PointCloudLayerView.js +1 -1
  260. package/views/support/TextureCompressionTracker.js +5 -0
  261. package/views/webgl/Texture.js +1 -1
  262. package/webdoc/support/writeUtils.js +1 -1
  263. package/webmap/utils.js +1 -1
  264. package/widgets/Attachments.js +1 -1
  265. package/widgets/BatchAttributeForm.js +1 -1
  266. package/widgets/Directions/DirectionsVisibleElements.js +1 -1
  267. package/widgets/Directions.js +1 -1
  268. package/widgets/Editor/AddAssociationWorkflowData.js +1 -1
  269. package/widgets/Editor/EditorViewModel.js +1 -1
  270. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  271. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  272. package/widgets/Editor/UpdateRecordWorkflowData.js +1 -1
  273. package/widgets/Editor/workflowUtils.js +1 -1
  274. package/widgets/Feature/support/featureUtils.js +1 -1
  275. package/widgets/FeatureForm/FeatureFormUtilityNetworkAssociations/UtilityNetworkAssociationItemList.js +1 -1
  276. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  277. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  278. package/widgets/FeatureForm.js +1 -1
  279. package/widgets/FeatureTable/Grid/Grid.js +1 -1
  280. package/widgets/Features/FeaturesViewModel.js +1 -1
  281. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  282. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  283. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  284. package/widgets/OrientedImageryViewer/components/SequentialNavigationUI.js +1 -1
  285. package/widgets/OrientedImageryViewer/navigation/queries.js +1 -1
  286. package/widgets/OrientedImageryViewer/videoViewerUtils.js +5 -0
  287. package/widgets/OrientedImageryViewer.js +1 -1
  288. package/widgets/Sketch.js +1 -1
  289. package/widgets/support/SelectionToolbar/SelectionToolbarViewModel.js +1 -1
  290. package/widgets/support/SelectionToolbar.js +1 -1
  291. package/widgets/support/Selector2D/SelectionOperation.js +1 -1
  292. package/widgets/support/Selector2D/selectorUtils.js +1 -1
  293. package/assets/esri/core/workers/chunks/003ddb190a5cc56f7925.js +0 -1
  294. package/assets/esri/core/workers/chunks/03db109e9b695528c35d.js +0 -1
  295. package/assets/esri/core/workers/chunks/09da6b3085fc84cd69d5.js +0 -1
  296. package/assets/esri/core/workers/chunks/09f76ca9b47b465c934f.js +0 -1
  297. package/assets/esri/core/workers/chunks/0a770f283eb77c8dc97a.js +0 -1
  298. package/assets/esri/core/workers/chunks/0b70b2ee62904318a12c.js +0 -1
  299. package/assets/esri/core/workers/chunks/0c2dccec20c0994366fe.js +0 -1
  300. package/assets/esri/core/workers/chunks/0d78fc2c2bc1152f84db.js +0 -1
  301. package/assets/esri/core/workers/chunks/0fb5de3f8a4d69b2d514.js +0 -1
  302. package/assets/esri/core/workers/chunks/17e43a050fbf8dc87588.js +0 -1
  303. package/assets/esri/core/workers/chunks/1d7f2abfccc54659d6f2.js +0 -1
  304. package/assets/esri/core/workers/chunks/1f9c6fbcd4d0eae1e574.js +0 -1
  305. package/assets/esri/core/workers/chunks/22e53cb1c8c575fa4d46.js +0 -1
  306. package/assets/esri/core/workers/chunks/2cf82d3645c75d311e99.js +0 -1
  307. package/assets/esri/core/workers/chunks/2d90806faa4269828948.js +0 -1
  308. package/assets/esri/core/workers/chunks/306e262f148b3057b11b.js +0 -1
  309. package/assets/esri/core/workers/chunks/377a7f0f7d304ff9fe5b.js +0 -1
  310. package/assets/esri/core/workers/chunks/3bf1cf6c3cba172e2f6d.js +0 -1
  311. package/assets/esri/core/workers/chunks/3d7eedb787c1e3b9fbfc.js +0 -1
  312. package/assets/esri/core/workers/chunks/3fe7be535affae31de7e.js +0 -1
  313. package/assets/esri/core/workers/chunks/417293f00b2c21cc3175.js +0 -1
  314. package/assets/esri/core/workers/chunks/41cbba9b286cf5558a9c.js +0 -1
  315. package/assets/esri/core/workers/chunks/42bb9bb6fe44a47d9b81.js +0 -1
  316. package/assets/esri/core/workers/chunks/465f2db4ab8aa9c9f907.js +0 -1
  317. package/assets/esri/core/workers/chunks/4ca0738ed38c15b68a77.js +0 -1
  318. package/assets/esri/core/workers/chunks/515e3295495d0958db7e.js +0 -1
  319. package/assets/esri/core/workers/chunks/51ba7345c31e6eb79060.js +0 -1
  320. package/assets/esri/core/workers/chunks/51c31e6d014005107d42.js +0 -1
  321. package/assets/esri/core/workers/chunks/5200be8bce60fa831026.js +0 -1
  322. package/assets/esri/core/workers/chunks/52a57106a41b8c9483d7.js +0 -1
  323. package/assets/esri/core/workers/chunks/536d7986ebb710a8a452.js +0 -1
  324. package/assets/esri/core/workers/chunks/5617532299f73d186968.js +0 -1
  325. package/assets/esri/core/workers/chunks/56d2a20c1b143697aa19.js +0 -1
  326. package/assets/esri/core/workers/chunks/5890740d5a761b038560.js +0 -1
  327. package/assets/esri/core/workers/chunks/5dbd8d81d94cfda5bb32.js +0 -1
  328. package/assets/esri/core/workers/chunks/5e1f7fe6bbc5754efee1.js +0 -1
  329. package/assets/esri/core/workers/chunks/61f9747c960d959b571b.js +0 -346
  330. package/assets/esri/core/workers/chunks/74c0db9e3a62e9839b23.js +0 -1
  331. package/assets/esri/core/workers/chunks/7b12607633bbdc318936.js +0 -1
  332. package/assets/esri/core/workers/chunks/86023cc5ccbc7ac43479.js +0 -1
  333. package/assets/esri/core/workers/chunks/87eca6de502d18d8b7eb.js +0 -1
  334. package/assets/esri/core/workers/chunks/8aa8f9986b966ccb64e2.js +0 -1
  335. package/assets/esri/core/workers/chunks/8d14e957219364a81d5f.js +0 -66
  336. package/assets/esri/core/workers/chunks/937b653b10e8704b38bf.js +0 -1
  337. package/assets/esri/core/workers/chunks/98ef17d15517368d2383.js +0 -1
  338. package/assets/esri/core/workers/chunks/9cac00d4bfac14aaae12.js +0 -1
  339. package/assets/esri/core/workers/chunks/a0c35521e677459f6fa3.js +0 -1
  340. package/assets/esri/core/workers/chunks/a32dcd5bc4680374d30c.js +0 -1
  341. package/assets/esri/core/workers/chunks/aaa6d45316a7d3466d0f.js +0 -1
  342. package/assets/esri/core/workers/chunks/ae733c963d61065faa54.js +0 -1
  343. package/assets/esri/core/workers/chunks/b2a6afa0cd537805b4b8.js +0 -1
  344. package/assets/esri/core/workers/chunks/bf9b6b74654d303a6dae.js +0 -1
  345. package/assets/esri/core/workers/chunks/c6580fdcdc33153008b0.js +0 -1
  346. package/assets/esri/core/workers/chunks/c779335f5d5455c77a62.js +0 -1
  347. package/assets/esri/core/workers/chunks/c9ab067b07d1eab974d1.js +0 -1
  348. package/assets/esri/core/workers/chunks/d3c0d7799c92c6f0e7d3.js +0 -1
  349. package/assets/esri/core/workers/chunks/d52f5214a0330ed2e05e.js +0 -1
  350. package/assets/esri/core/workers/chunks/dbe10c20df7e0e563a0b.js +0 -1
  351. package/assets/esri/core/workers/chunks/df7ca2fe12e22ccfde17.js +0 -1
  352. package/assets/esri/core/workers/chunks/df933eac03dc63064723.js +0 -1
  353. package/assets/esri/core/workers/chunks/e89345c7af9d3d4d8452.js +0 -1
  354. package/assets/esri/core/workers/chunks/ee6240636d04d7d37b7b.js +0 -1
  355. package/assets/esri/core/workers/chunks/ef7955a2509be0f03ca2.js +0 -1
  356. package/assets/esri/core/workers/chunks/f00f8609bf0d14b488b8.js +0 -1
  357. package/assets/esri/core/workers/chunks/f1c6df5cf2ccb6ac47a1.js +0 -1
  358. package/assets/esri/core/workers/chunks/f3d97a4c4f433adbdab5.js +0 -1
  359. package/assets/esri/core/workers/chunks/fc0a3db3d6d26c763fb9.js +0 -1
  360. package/assets/esri/core/workers/chunks/fd4c020297badcb81947.js +0 -1
  361. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerTechnique.js +0 -5
  362. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedShader.js +0 -5
  363. package/views/support/TextureCompressionHandle.js +0 -5
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{_ as t,a as e}from"../../../../../../../chunks/tslib.es6.js";import{input as i}from"../../GraphShaderModule.js";import{Float as s,sin as o,cos as r,Vec3 as l,Vec4 as n,Mat3 as a,mix as m}from"../../graph/glsl.js";import{AAnimatedPolyShader as p,PolyVertexInput as u,PolyHittestVertexInput as c,PolyFragmentInput as d}from"./AAnimatedPolyShader.js";import{getPatternMatrix as h}from"../shaders/ComplexFillShader.js";import{hittestFill as y}from"../shaders/hittestUtils.js";class f extends p{constructor(){super(...arguments),this.type="AnimatedFillShader",this.computeAttributes={pos:["nextPos1","nextPos2"]}}vertex(t,e){const{distanceToPx:i,ndc:p,z:u,color:c,isOutline:d,strokeWidth:y,isSDF:f,baseSize:x,scale:g,scaleSymbolsProportionally:b}=this._vertexPoly(t),w=this.view.requiredZoomFactor,P=t.sizing.xy,S=P.multiply(w),v=new s(0),z=o(v),F=r(v),j=h(t.id,S,z,F,t.bitset),A=this.localTileOffset.getPatternOffsetAtTileOrigin(P,z,F),O=w.multiply(t.offset.subtract(A)).divide(S),T=new l(t.pos,1),M=j.multiply(T).xy.subtract(O),k=t.tlbr.divide(this.mosaicInfo.size.xyxy);return{glPosition:new n(p,u,1),tlbr:k,uv:M,color:c.multiply(new s(1).subtract(d)),outlineColor:c.multiply(d),distanceToPx:i,strokeWidth:y.multiply(m(new s(1),g,b)),isOutline:d,isSDF:f,...this.maybeRunHittest(t,e,{pos:t.pos,size:x,sizeCorrection:new s(1),isMapAligned:new s(1),vvRotationMat3:new a(1,0,0,0,1,0,0,0,1),placementMat3:new a(1,0,0,0,1,0,0,0,1),outlineSize:new s(1),distanceToPx:i,isSDF:f})}}fragment(t){const e=this._fragmentPoly(t);return this.getFragmentOutput(e,t)}hittest(t,e,i){return y(this,t,e)}}t([e(0,i(u)),e(1,i(c))],f.prototype,"vertex",null),t([e(0,i(d))],f.prototype,"fragment",null);export{f as AnimatedFillShader};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{_ as t,a as e}from"../../../../../../../chunks/tslib.es6.js";import{location as i,input as s}from"../../GraphShaderModule.js";import{dot as o,Vec2 as n,Vec4 as l,Float as r,Mat3 as a,mix as m,length as d,clamp as p,Vec3 as u,step as c,min as y}from"../../graph/glsl.js";import{AAnimatedPolyShader as h,PolyHittestVertexInput as x,PolyVertexInput as v,PolyFragmentInput as f}from"./AAnimatedPolyShader.js";import{getValue as w}from"./AAnimatedShader.js";import{AnimationParamIndex as S}from"./enums.js";import{distPointSegment as b}from"../shaders/hittestUtils.js";import{getLineThinFactor as P}from"../shaders/LineShader.js";class g extends v{}t([i(10,r)],g.prototype,"accumulatedDistance",void 0),t([i(11,n)],g.prototype,"normal",void 0),t([i(12,n)],g.prototype,"segmentDirection",void 0);class z extends f{}class A extends h{constructor(){super(...arguments),this.type="AnimatedLineShader",this.computeAttributes={pos:["nextPos1","nextPos2"]}}vertex(t,e){const{animationPointerAndBaseSizeAndReferenceSize:i}=t,s=i.xy,{distanceToPx:d,ndc:p,z:u,color:c,isOutline:y,strokeWidth:h,isSDF:x,baseSize:v,scale:f,scaleSymbolsProportionally:b,evalParams:P}=this._vertexPoly(t),g=t.sizing.xy,z=g.x.multiply(v).divide(g.y),A=w(s,S.shift,P).a,j=t.accumulatedDistance.subtract(A),{normal:D}=t,M=t.normal.y,F=j.divide(this.view.displayZoomFactor).add(o(t.segmentDirection,t.offset)).divide(z),R=M.add(1).divide(2),T=new n(F,R),W=t.tlbr.divide(this.mosaicInfo.size.xyxy);return{glPosition:new l(p,u,1),tlbr:W,uv:T,color:c.multiply(new r(1).subtract(y)),outlineColor:c.multiply(y),distanceToPx:d,strokeWidth:h.multiply(m(new r(1),f,b)),isOutline:y,isSDF:x,halfWidth:v.divide(2),normal:D,...this.maybeRunHittest(t,e,{pos:t.pos,size:v,sizeCorrection:new r(1),isMapAligned:new r(1),vvRotationMat3:new a(1,0,0,0,1,0,0,0,1),placementMat3:new a(1,0,0,0,1,0,0,0,1),outlineSize:new r(1),distanceToPx:d,isSDF:x})}}fragment(t){const e=this._fragmentPoly(t),{halfWidth:i,normal:s}=t,o=P(i),n=d(s).multiply(i),l=p(o.multiply(i.subtract(n)).divide(o.subtract(new r(1))),new r(0),new r(1));return this.getFragmentOutput(e.multiply(l),t)}hittest(t,e,i){const{viewMat3:s,tileMat3:o}=this.view,n=s.multiply(o),l=n.multiply(new u(t.pos,1)),r=n.multiply(new u(e.nextPos1,1)),a=n.multiply(new u(e.nextPos2,1)),{distance:m,smallSymbolDistance:d,smallSymbolSizeThreshold:p}=this.hittestRequest,h=c(i,p.multiply(.5)).multiply(m.subtract(d)),x=this.hittestRequest.position;return y(b(x,l.xy,r.xy),b(x,l.xy,a.xy)).subtract(i).add(h)}}t([e(0,s(g)),e(1,s(x))],A.prototype,"vertex",null),t([e(0,s(z))],A.prototype,"fragment",null);export{A as AnimatedLineShader};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{pt2px as e}from"../../../../../../../core/screenUtils.js";import{minMaxZoomPrecisionFactor as t,spritePadding as i}from"../../../definitions.js";import{AAnimatedMeshWriter as r,packAnimatedBitset as s}from"./AnimatedMeshWriter.js";import{getMinMaxZoom as n}from"../fill/meshWriterUtils.js";import{c256ToRad as o}from"../shaders/constants.js";import{DataType as a}from"../../../../../../webgl/enums.js";class c extends r{get vertexSpec(){return{createComputedParams:t=>{let{pixelDimensions:i,texelDimensions:r,baseSize:s,referenceSize:n,strokeWidth:o,sizeRatio:a}=t;i||(i=t.sprite.sdf?[0,0]:[t.sprite.width,t.sprite.height]),r||(r=t.sprite.sdf?[0,0]:i),s=e(s),n=e(n),o=e(o);const c=(t.sprite.sdfDecodeCoeff??1)*a;return{...t,pixelDimensions:i,texelDimensions:r,baseSize:s,referenceSize:n,strokeWidth:o,sdfDecodeCoeff:c}},optionalAttributes:{zoomRange:{type:a.SHORT,count:2,packPrecisionFactor:t,pack:({scaleInfo:e},{tileInfo:t})=>n(e,t)}},attributes:{id:{type:a.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:a.UNSIGNED_BYTE,count:1,pack:s},pos:{type:a.SHORT,count:2,pack:"position",packPrecisionFactor:1},offset:{type:a.FLOAT,count:2,packAlternating:{count:4,pack:e=>{const t=e.texelDimensions;return[[-.5*t[0],-.5*t[1]],[.5*t[0],-.5*t[1]],[-.5*t[0],.5*t[1]],[.5*t[0],.5*t[1]]]}}},uv:{type:a.SHORT,count:2,packPrecisionFactor:1,packAlternating:{count:4,packTessellation:({texXmax:e,texXmin:t,texYmax:i,texYmin:r})=>[[t,r],[e,r],[t,i],[e,i]]}},animationPointerAndBaseSizeAndReferenceSize:{type:a.UNSIGNED_SHORT,count:4,packPrecisionFactor:1,pack:({animations:e,baseSize:t,referenceSize:i})=>[e.dataColumn,e.dataRow,t,i]},sizing:{type:a.UNSIGNED_SHORT,count:4,packPrecisionFactor:8,pack:({strokeWidth:e,pixelDimensions:t,baseSize:i,sprite:r,sizeRatio:s})=>{const n=Math.max(i*r.width/r.height,i),o=r.sdfDecodeCoeff*n*s;return[t[0],t[1],e,o]}},angle:{type:a.BYTE,count:1,packTessellation:({angle:e})=>e}}}}_write(e,t){const i=this.evaluatedMeshParams.sprite,{textureBinding:r}=i;e.recordStart(this.instanceId,this.attributeLayout,r);const s=t.getDisplayId();if("esriGeometryPolygon"===t.geometryType){const i=t.readCentroidForDisplay();if(!i)return;const[r,n]=i.coords;this._writeQuad(e,s,r,n)}else if("esriGeometryPoint"===t.geometryType){const i=t.readXForDisplay(),r=t.readYForDisplay();this._writeQuad(e,s,i,r)}else{const i=t.readGeometryForDisplay();if(i){const{angleToLine:t}=this.evaluatedMeshParams;if(t){let t=!0,r=null,n=null;i.forEachVertex(((i,a)=>{if(null!=r&&null!=n){const c=Math.atan2(a-n,i-r)/o;t&&(this._writeQuad(e,s,r,n,c),t=!1),this._writeQuad(e,s,i,a,c)}r=i,n=a}))}else i.forEachVertex(((t,i)=>{this._writeQuad(e,s,t,i)}))}}e.recordEnd()}_writeQuad(e,t,r,s,n=0){const o=this.evaluatedMeshParams.sprite,{rect:a}=o,c=a.x+i,d=a.y+i,p=a.x+a.width-i,l=a.y+a.height-i,m=e.vertexCount();e.recordBounds(r,s,64,64);const u={texXmin:c,texYmin:d,texXmax:p,texYmax:l,angle:n};for(let i=0;i<4;i++)this._writeVertex(e,t,r,s,u);e.indexEnsureSize(6),e.indexWrite(m),e.indexWrite(m+1),e.indexWrite(m+2),e.indexWrite(m+1),e.indexWrite(m+3),e.indexWrite(m+2)}}export{c as AnimatedMarkerMeshWriter};
5
+ import{pt2px as e}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as t}from"../../../../../../../geometry/GeometryCursor.js";import{maxTileCoordValue as i}from"../../../../../../../symbols/cim/constants.js";import{ExtremityPlacement as r}from"../../../../../../../symbols/cim/enums.js";import{CIMMarkerPlacementHelper as s}from"../../../../../../../symbols/cim/placements/CIMMarkerPlacementHelper.js";import{spritePadding as o}from"../../../definitions.js";import{AAnimatedMeshWriter as n}from"./AnimatedMeshWriter.js";import{angle as a,sizing as c,animationPointerAndBaseSizeAndReferenceSize as m,uv as l,offset as d,pos as p,bitset as h,id as u,lineLength as f,value1Position2Value2 as y,zoomRange as x}from"./attributes.js";import{createComputedAnimatedMeshParams as P}from"./ComputedAnimatedParams.js";import{getGeometryEngine as M}from"../mesh/loadGeometryEngine.js";import{c256ToRad as g}from"../shaders/constants.js";const w=64,b=64,v=2;class _ extends n{get vertexSpec(){return{createComputedParams:P,optionalAttributes:{zoomRange:x,value1Position2Value2:y,lineLength:f},attributes:{id:u,bitset:h,pos:p,offset:d.marker,uv:l.marker,animationPointerAndBaseSizeAndReferenceSize:m,sizing:c,angle:a}}}_write(e,t){const i=this.evaluatedMeshParams.sprite,{textureBinding:r}=i;e.recordStart(this.instanceId,this.attributeLayout,r);const s=t.getDisplayId();if(this.shift&&"esriGeometryPolyline"===t.geometryType)this._writeParticles(e,t);else if(null!=this.evaluatedMeshParams.placement)this._writePlacedMarkers(e,t);else if("esriGeometryPolygon"===t.geometryType){const i=t.readCentroidForDisplay();if(!i)return;const[r,o]=i.coords;this._writeQuad(e,s,r,o)}else if("esriGeometryPoint"===t.geometryType){const i=t.readXForDisplay(),r=t.readYForDisplay();this._writeQuad(e,s,i,r)}else{const i=t.readGeometryForDisplay();i&&i.forEachVertex(((t,i)=>{this._writeQuad(e,s,t,i)}))}e.recordEnd()}_writePlacedMarkers(r,o){const n=t.fromFeatureSetReaderCIM(o)?.clone();if(!n)return;const a=-1,c=s.getPlacement(n,a,this.evaluatedMeshParams.placement,e(1),r.id,M());if(!c)return;const m=o.getDisplayId();let l=c.next(),d=null;for(;null!=l;){const e=l.tx,t=-l.ty;if(Math.abs(e)>i||Math.abs(t)>i){l=c.next();continue}const s=-l.getAngle();r.recordBounds(e,t,w,b),this.shift?d&&this._writeQuad(r,m,d[0],d[1],void 0,s):this._writeQuad(r,m,e,t,void 0,s),d=[e,t],l=c.next()}}_writeParticles(e,t){const i=t.getDisplayId(),s=t.readGeometryForDisplay();if(!s)return;const o=[];s.forEachVertex(((e,t)=>{o.push([e,t])}));const n=j(o);let a=0;for(let r=1;r<o.length;r++){const e=o[r][0]-o[r-1][0],t=o[r][1]-o[r-1][1],i=Math.sqrt(e*e+t*t);a+=i}const c=t=>{for(const r of n){const{a:s,b:o}=r;this._writeQuad(e,i,s.position[0],s.position[1],[s.distance-t,o.position[0],o.position[1],o.distance-t],this.evaluatedMeshParams.angleToLine?Math.atan2(s.direction[1],s.direction[0]):0,a,!0)}},{placement:m}=this.evaluatedMeshParams;if(!m||"placementTemplate"in m||"CIMMarkerPlacementOnVertices"===m.type){let e;if(m&&"CIMMarkerPlacementOnVertices"!==m.type)e=m.placementTemplate;else{e=[0];for(const t of n){const{a:i,b:r}=t,s=i.position[0]-r.position[0],o=i.position[1]-r.position[1],n=Math.sqrt(s*s+o*o);e.push(n)}}let t=-1*a;for(;t<(1+v/2)*a;)for(const i of e)t+=i,c(t)}else"CIMMarkerPlacementAtExtremities"===m.type?m.extremityPlacement===r.JustBegin?c(1):m.extremityPlacement===r.JustEnd?(c(a-1),c(-1)):m.extremityPlacement===r.Both&&(c(1),c(a-1)):"CIMMarkerPlacementOnLine"===m.type&&c(a/2)}_writeQuad(e,t,i,r,s,n=0,a=0,c=!1){const m=this.evaluatedMeshParams.sprite,{rect:l}=m,d=l.x+o,p=l.y+o,h=l.x+l.width-o,u=l.y+l.height-o,f=e.vertexCount();c||e.recordBounds(i,r,w,w);const y={texXmin:d,texYmin:p,texXmax:h,texYmax:u,value1Position2Value2:s,angle:n/g,lineLength:a};for(let o=0;o<4;o++)this._writeVertex(e,t,i,r,y);e.indexEnsureSize(6),e.indexWrite(f),e.indexWrite(f+1),e.indexWrite(f+2),e.indexWrite(f+1),e.indexWrite(f+3),e.indexWrite(f+2)}}function j(e){const t=[];let i=0;for(let r=1;r<e.length;r++){const s=e[r-1],o=e[r],n=o[0]-s[0],a=o[1]-s[1],c=Math.sqrt(n*n+a*a),m=n/c,l=a/c;t.push({a:{position:s,distance:i,direction:[m,l]},b:{position:o,distance:i+c,direction:[m,l]}}),i+=c}return t}class C extends _{constructor(){super(...arguments),this.shift=!1}}class I extends _{constructor(){super(...arguments),this.shift=!0}}export{C as AnimatedMarkerMeshWriter,I as AnimatedMarkerShiftMeshWriter};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t,a as e}from"../../../../../../../chunks/tslib.es6.js";import{animationDebugFlags as i}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{location as s,input as o,ComputeVertexInput as r}from"../../GraphShaderModule.js";import{cond as l,Float as a,equal as n,Mat2 as d,cos as m,sin as u,Vec4 as p,or as h,Bool as c,mix as x,Mat3 as y,ifElse as v,lessThan as f,Vec3 as w,distance as S,greaterThan as b,Vec2 as g,negate as z,step as P}from"../../graph/glsl.js";import{AAnimatedShader as _,getValue as V,AAnimatedVertexInput as C,AAnimatedFragmentInput as M}from"./AnimatedShader.js";import{AnimationParamIndex as N}from"./enums.js";import{MarkerConstants as k}from"../markers/markerConstants.js";import{c256ToRad as D}from"../shaders/constants.js";import{distPointTriangle as j,xyToBarycentric as F,inTriangle as R,failHittest as U}from"../shaders/hittestUtils.js";import{getBit as T,getBitBool as A}from"../shaders/utils.js";import{getVisualVariableSize as q,getVisualVariableColor as I,getVisualVariableOpacity as O}from"../shaders/vvUtils.js";class W extends C{}t([s(5,g)],W.prototype,"offset",void 0),t([s(6,g)],W.prototype,"uv",void 0),t([s(7,p)],W.prototype,"sizing",void 0),t([s(8,a)],W.prototype,"angle",void 0);class B extends r{}t([s(12,g)],B.prototype,"offsetNextVertex1",void 0),t([s(13,g)],B.prototype,"offsetNextVertex2",void 0),t([s(14,g)],B.prototype,"textureUVNextVertex1",void 0),t([s(15,g)],B.prototype,"textureUVNextVertex2",void 0);class E extends M{}function G(t,e,i,s){return e.multiply(t.x).add(i.multiply(t.y)).add(s.multiply(t.z))}class H extends _{constructor(){super(...arguments),this.type="AnimatedMarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],uv:["textureUVNextVertex1","textureUVNextVertex2"]}}_vertexPreamble(t){const{id:e,pos:i,offset:s,animationPointerAndBaseSizeAndReferenceSize:o,uv:r,sizing:p,angle:h}=t,c=o.xy,x=o.z,y=o.w,v=p.xy,f=p.z,w=T(t.bitset,k.bitset.isStroke),S=p.w,b=T(t.bitset,k.bitset.scaleSymbolsProportionally),g=this._getEvalParams(t,v),z=V(c,N.transform,g),P=l([n(T(t.bitset,k.bitset.isMapAligned),new a(1)),this.view.rotation.divide(180).multiply(Math.PI)],[!0,new a(0)]),_=new d(m(P),u(P.multiply(-1)),u(P),m(P)).multiply(z.xy),C=z.z.subtract(P).subtract(h.multiply(D)),M=z.w,j=T(t.bitset,k.bitset.isSDF),F=q(this,e,new a(y)).divide(new a(y));return{baseSize:x,animationPointer:c,strokeWidth:f,isOutline:w,unscaledDistanceToPx:S,scaleSymbolsProportionally:b,isSDF:j,position:this._getScreenPosition({id:e,pos:i,offset:s,referenceSize:y,translation:_,rotation:C,scale:M,vvScale:F}),uv:r,evalParams:g,vvScale:F,scale:M}}vertex(t,e){const{position:i,animationPointer:s,evalParams:o,isOutline:r,unscaledDistanceToPx:l,vvScale:n,uv:d,strokeWidth:m,scaleSymbolsProportionally:u,scale:v,isSDF:f,baseSize:w}=this._vertexPreamble(t),S=this._toNdc(i);let b=V(s,N.fromColor,o);b=new p(b.rgb.multiply(b.a),b.a);let g=V(s,N.toColor,o);g=new p(g.rgb.multiply(g.a),g.a);let z=V(s,N.colorMix,o);z=new p(z.rgb.multiply(z.a),z.a);const P=V(s,N.toOpacity,o).a,_=V(s,N.opacityMix,o).a,C=I(this,t.id,b,h(A(t.bitset,k.bitset.colorLocked),new c(r))),M=x(C,g,z),D=O(this,t.id),j=x(D,P,_),F=M.multiply(j),R=this.clip(t.id,t.zoomRange),U=l.multiply(n);return{glPosition:new p(S,R,1),uv:d.divide(this.mosaicInfo.size),color:F.multiply(new a(1).subtract(r)),outlineColor:F.multiply(r),distanceToPx:U,strokeWidth:m.multiply(x(new a(1),v,u)),isOutline:r,isSDF:f,...this.maybeRunHittest(t,e,{pos:t.pos,size:w,sizeCorrection:new a(1),isMapAligned:new a(1),vvRotationMat3:new y(1,0,0,0,1,0,0,0,1),placementMat3:new y(1,0,0,0,1,0,0,0,1),outlineSize:new a(1),distanceToPx:U,isSDF:f})}}fragment(t){let e=this._getColor(t.uv,{color:t.color,distanceToPx:t.distanceToPx,isSDF:t.isSDF,outlineColor:t.outlineColor,outlineSize:t.strokeWidth});return i.spotlightAnimatedSymbols&&(e=e.add(new p(0,.3,0,.3))),this.getFragmentOutput(e,t)}hittest(t,e,i){return v(f(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i))}_hittestSmallMarker(t,e,i){const{position:s,distance:o,smallSymbolDistance:r}=this.hittestRequest,l=o.subtract(r),{viewMat3:a,tileMat3:n}=this.view,d=a.multiply(n).multiply(new w(i.pos,1)).xy,m=i.size.multiply(.5);return S(d,s).subtract(m).add(l)}_hittestMarker(t,e,i){const s=this._vertexPreamble({...t}).position,o=this._vertexPreamble({...t,offset:e.offsetNextVertex1,uv:e.textureUVNextVertex1}).position,r=this._vertexPreamble({...t,offset:e.offsetNextVertex2,uv:e.textureUVNextVertex2}).position,l=this.hittestRequest.position,a=this.hittestRequest.distance,n=j(l,s,o,r);return v(b(n,a),n,this._hittestSamples(s,o,r,t,e,i))}_hittestSamples(t,e,i,s,o,r){const{outlineSize:l,isSDF:n,distanceToPx:d}=r,m=this.hittestRequest.position,u=this.hittestRequest.distance,h=F(m.add(new g(z(u),z(u))),t,e,i),c=F(m.add(new g(0,z(u))),t,e,i),x=F(m.add(new g(u,z(u))),t,e,i),y=F(m.add(new g(z(u),0)),t,e,i),v=F(m,t,e,i),f=F(m.add(new g(u,0)),t,e,i),w=F(m.add(new g(z(u),u)),t,e,i),S=F(m.add(new g(0,u)),t,e,i),b=F(m.add(new g(u,u)),t,e,i),_=s.uv.divide(this.mosaicInfo.size),V=o.textureUVNextVertex1.divide(this.mosaicInfo.size),C=o.textureUVNextVertex2.divide(this.mosaicInfo.size),M={color:new p(1,1,1,1),outlineSize:l,outlineColor:new p(1,1,1,1),isSDF:n,distanceToPx:d};let N=new a(0);return N=N.add(R(h).multiply(this._getColor(G(h,_,V,C),M).a)),N=N.add(R(c).multiply(this._getColor(G(c,_,V,C),M).a)),N=N.add(R(x).multiply(this._getColor(G(x,_,V,C),M).a)),N=N.add(R(y).multiply(this._getColor(G(y,_,V,C),M).a)),N=N.add(R(v).multiply(this._getColor(G(v,_,V,C),M).a)),N=N.add(R(f).multiply(this._getColor(G(f,_,V,C),M).a)),N=N.add(R(w).multiply(this._getColor(G(w,_,V,C),M).a)),N=N.add(R(S).multiply(this._getColor(G(S,_,V,C),M).a)),N=N.add(R(b).multiply(this._getColor(G(b,_,V,C),M).a)),P(N,new a(.05)).multiply(U(this.hittestRequest))}}t([e(0,o(W)),e(1,o(B))],H.prototype,"vertex",null),t([e(0,o(E))],H.prototype,"fragment",null);export{E as AnimatedMarkerFragmentInput,H as AnimatedMarkerShader,W as AnimatedMarkerVertexInput};
5
+ import{_ as t,a as e}from"../../../../../../../chunks/tslib.es6.js";import{animationDebugFlags as i}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{location as s,input as o,ComputeVertexInput as l}from"../../GraphShaderModule.js";import{Float as r,Vec4 as a,or as n,Bool as d,mix as m,Mat3 as u,ifElse as p,lessThan as h,Vec3 as x,distance as c,greaterThan as y,Vec2 as f,negate as w,step as g}from"../../graph/glsl.js";import{AAnimatedShader as v,getValue as S,AAnimatedVertexInput as b,AAnimatedFragmentInput as _}from"./AAnimatedShader.js";import{AnimationParamIndex as C}from"./enums.js";import{MarkerConstants as V}from"../markers/markerConstants.js";import{distPointTriangle as z,xyToBarycentric as P,inTriangle as M,failHittest as N}from"../shaders/hittestUtils.js";import{getBitBool as k}from"../shaders/utils.js";import{getVisualVariableColor as j,getVisualVariableOpacity as D}from"../shaders/vvUtils.js";class R extends b{}t([s(9,f)],R.prototype,"uv",void 0),t([s(10,r)],R.prototype,"angle",void 0);class F extends l{}t([s(11,f)],F.prototype,"offsetNextVertex1",void 0),t([s(12,f)],F.prototype,"offsetNextVertex2",void 0),t([s(13,f)],F.prototype,"textureUVNextVertex1",void 0),t([s(14,f)],F.prototype,"textureUVNextVertex2",void 0);class T extends _{}function U(t,e,i,s){return e.multiply(t.x).add(i.multiply(t.y)).add(s.multiply(t.z))}class q extends v{constructor(){super(...arguments),this.type="AnimatedMarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],uv:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=t.uv.divide(this.mosaicInfo.size),{position:s,animationPointer:o,evalParams:l,isOutline:p,unscaledDistanceToPx:h,vvScale:x,strokeWidth:c,scaleSymbolsProportionally:y,scale:f,isSDF:w,baseSize:g,clip:v}=this._vertexPreamble(t,t.angle,t.lineLength||new r(0)),b=this._toNdc(s);let _=S(o,C.fromColor,l);_=new a(_.rgb.multiply(_.a),_.a);let z=S(o,C.toColor,l);z=new a(z.rgb.multiply(z.a),z.a);let P=S(o,C.colorMix,l);P=new a(P.rgb.multiply(P.a),P.a);const M=S(o,C.toOpacity,l).a,N=S(o,C.opacityMix,l).a,R=j(this,t.id,_,n(k(t.bitset,V.bitset.colorLocked),new d(p))),F=m(R,z,P),T=D(this,t.id),U=m(T,M,N),q=F.multiply(U),A=this.clip(t.id,t.zoomRange).add(v.multiply(2)),I=h.multiply(x);return{glPosition:new a(b,A,1),uv:i,color:q.multiply(new r(1).subtract(p)),outlineColor:q.multiply(p),distanceToPx:I,strokeWidth:c.multiply(m(new r(1),f,y)),isOutline:p,isSDF:w,...this.maybeRunHittest(t,e,{pos:t.pos,size:g,sizeCorrection:new r(1),isMapAligned:new r(1),vvRotationMat3:new u(1,0,0,0,1,0,0,0,1),placementMat3:new u(1,0,0,0,1,0,0,0,1),outlineSize:new r(1),distanceToPx:I,isSDF:w})}}fragment(t){let e=this._getColor(t.uv,{color:t.color,distanceToPx:t.distanceToPx,isSDF:t.isSDF,outlineColor:t.outlineColor,outlineSize:t.strokeWidth});return i.spotlightAnimatedSymbols&&(e=e.add(new a(0,.3,0,.3))),this.getFragmentOutput(e,t)}hittest(t,e,i){return p(h(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i))}_hittestSmallMarker(t,e,i){const{position:s,distance:o,smallSymbolDistance:l}=this.hittestRequest,r=o.subtract(l),{viewMat3:a,tileMat3:n}=this.view,d=a.multiply(n).multiply(new x(i.pos,1)).xy,m=i.size.multiply(.5);return c(d,s).subtract(m).add(r)}_hittestMarker(t,e,i){const s=this._vertexPreamble({...t},t.angle,new r(0)).position,o=this._vertexPreamble({...t,offset:e.offsetNextVertex1},t.angle,new r(0)).position,l=this._vertexPreamble({...t,offset:e.offsetNextVertex2},t.angle,new r(0)).position,a=this.hittestRequest.position,n=this.hittestRequest.distance,d=z(a,s,o,l);return p(y(d,n),d,this._hittestSamples(s,o,l,t,e,i))}_hittestSamples(t,e,i,s,o,l){const{outlineSize:n,isSDF:d,distanceToPx:m}=l,u=this.hittestRequest.position,p=this.hittestRequest.distance,h=P(u.add(new f(w(p),w(p))),t,e,i),x=P(u.add(new f(0,w(p))),t,e,i),c=P(u.add(new f(p,w(p))),t,e,i),y=P(u.add(new f(w(p),0)),t,e,i),v=P(u,t,e,i),S=P(u.add(new f(p,0)),t,e,i),b=P(u.add(new f(w(p),p)),t,e,i),_=P(u.add(new f(0,p)),t,e,i),C=P(u.add(new f(p,p)),t,e,i),V=s.uv.divide(this.mosaicInfo.size),z=o.textureUVNextVertex1.divide(this.mosaicInfo.size),k=o.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new a(1,1,1,1),outlineSize:n,outlineColor:new a(1,1,1,1),isSDF:d,distanceToPx:m};let D=new r(0);return D=D.add(M(h).multiply(this._getColor(U(h,V,z,k),j).a)),D=D.add(M(x).multiply(this._getColor(U(x,V,z,k),j).a)),D=D.add(M(c).multiply(this._getColor(U(c,V,z,k),j).a)),D=D.add(M(y).multiply(this._getColor(U(y,V,z,k),j).a)),D=D.add(M(v).multiply(this._getColor(U(v,V,z,k),j).a)),D=D.add(M(S).multiply(this._getColor(U(S,V,z,k),j).a)),D=D.add(M(b).multiply(this._getColor(U(b,V,z,k),j).a)),D=D.add(M(_).multiply(this._getColor(U(_,V,z,k),j).a)),D=D.add(M(C).multiply(this._getColor(U(C,V,z,k),j).a)),g(D,new r(.05)).multiply(N(this.hittestRequest))}}t([e(0,o(R)),e(1,o(F))],q.prototype,"vertex",null),t([e(0,o(T))],q.prototype,"fragment",null);export{T as AnimatedMarkerFragmentInput,q as AnimatedMarkerShader,R as AnimatedMarkerVertexInput};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{LineCapStyle as s,LineJoinStyle as i}from"../../../../../../../symbols/cim/enums.js";import"../../../definitions.js";import{LineTessellation as r}from"../../../TurboLine.js";import{clipLinesMarshall as n,triangulate as o}from"../../../mesh/templates/templateUtils.js";import{AAnimatedMeshWriter as a}from"./AnimatedMeshWriter.js";import{lineLength as h,noTiming as m,zoomRange as l,segmentDirection as u,normal as c,accumulatedDistance as d,sizing as p,animationPointerAndBaseSizeAndReferenceSize as f,tlbr as x,offset as _,pos as g,bitset as P,id as y,noLineLength as v}from"./attributes.js";import{createComputedAnimatedMeshParams as L}from"./ComputedAnimatedParams.js";import{processLineCapInput as W,processLineJoinInput as b}from"../fill/meshWriterUtils.js";import{LineTessellationParams as w}from"../line/LineMeshWriter.js";class j extends a{_write(t,e){const s=e.readGeometryForDisplay();if(!s)return;const i=this.evaluatedMeshParams.sprite,{textureBinding:r}=i;t.recordStart(this.instanceId,this.attributeLayout,r);const n=e.getDisplayId();this._writePoly(t,n,s),t.recordEnd()}}class C extends j{constructor(){super(...arguments),this.vertexSpec={createComputedParams:L,attributes:{id:y,bitset:P,pos:g,offset:_.fill,tlbr:x,animationPointerAndBaseSizeAndReferenceSize:f,sizing:p},optionalAttributes:{zoomRange:l,value1Position2Value2:m,lineLength:v}}}_writePoly(t,e,s){const i=[];if(!o(i,s))return;const r=t.vertexCount();s.forEachVertex(((s,i)=>{this._writeVertex(t,e,s,i)})),t.indexEnsureSize(i.length);for(const n of i)t.indexWrite(r+n)}}class z{constructor(){this.id=0,this.bitset=0,this.indexCount=0,this.vertexCount=0,this.vertexFrom=0,this.vertexBounds=0,this.pathLength=0}}const T=65535;class S extends j{constructor(){super(...arguments),this.vertexSpec={createComputedParams:L,attributes:{id:y,bitset:P,pos:g,offset:_.line,tlbr:x,animationPointerAndBaseSizeAndReferenceSize:f,sizing:p,accumulatedDistance:d,normal:c,segmentDirection:u},optionalAttributes:{zoomRange:l,value1Position2Value2:m,lineLength:h}},this._tessParams=new w,this._currentWrite=new z,this._tessellationOptions={halfWidth:0,pixelCoordRatio:1,offset:0,wrapDistance:T,textured:!1},this._lineLength=0,this._lineTessellator=new r(((t,e,s,i,r,n,o,a,h,m,l)=>this._writeTesselatedVertex(t,e,s,i,r,n,o,a,h,m,l,this._lineLength)),this._writeTriangle.bind(this),!1)}_writePoly(r,o,a){const h=64,m=!1,l=n(e.fromOptimized(a,"esriGeometryPolyline"),h);if(null==l)return;const{_currentWrite:u,_tessellationOptions:c}=this,{baseSize:d,capType:p,joinType:f,miterLimit:x}=this.evaluatedMeshParams,_=t(.5*d);c.halfWidth=_,c.capType=W(p||s.Round),c.joinType=b(f||i.Round),c.miterLimit=x||2,u.out=r,u.id=o,u.vertexCount=0,u.indexCount=0,u.vertexFrom=r.vertexCount(),u.vertexBounds=1;for(const{line:t,start:e,pathLength:s}of l){c.initialDistance=e%T,u.pathLength=s,this._lineLength=0;for(let e=1;e<t.length;e++){const s=t[e].x-t[e-1].x,i=t[e].y-t[e-1].y;this._lineLength+=Math.sqrt(s*s+i*i)}this._lineTessellator.tessellate(t,c,m)}}_writeTesselatedVertex(t,e,s,i,r,n,o,a,h,m,l,u){const{out:c,id:d,vertexBounds:p,pathLength:f}=this._currentWrite;return this.hasEffects&&c.recordBounds(t,e,p,p),this._tessParams.extrusionOffsetX=o,this._tessParams.extrusionOffsetY=a,this._tessParams.normalX=h,this._tessParams.normalY=m,this._tessParams.directionX=r,this._tessParams.directionY=n,this._tessParams.distance=l,this._tessParams.pathLength=f,this._tessParams.lineLength=u,this._writeVertex(c,d,t,e,this._tessParams),this._currentWrite.vertexFrom+this._currentWrite.vertexCount++}_writeTriangle(t,e,s){const{out:i}=this._currentWrite;i.indexEnsureSize(3),i.indexWrite(t),i.indexWrite(e),i.indexWrite(s),this._currentWrite.indexCount+=3}}export{j as AAnimatedPolyMeshWriter,C as AnimatedFillMeshWriter,S as AnimatedLineMeshWriter};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{invert as e,multiply as t}from"../../../../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as r}from"../../../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{animationDebugFlags as i}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{FeatureTechnique as a}from"../FeatureTechnique.js";import{getSelectionDefines as o,getFeatureUniforms as s,resolveDynamicUniforms as n,getFeaturePipelineState as m}from"../featureTechniqueUtils.js";class u extends a{render(a,u){const{context:f,painter:c}=a,{target:l}=u,{freezeGlobalTime:p}=i,g=0,x=c.textureManager.animationStore.getTexture(f,g),d=[2/a.state.size[0],0,0,0,-2/a.state.size[1],0,-1,1,1],h=Array.from(e(r(),d)),b=Array.from(t(r(),h,l.transforms.displayViewScreenMat3)),T=u.instance.getInput();c.setShader({shader:this.shaders.geometry,uniforms:{...n(a,u.target,T.uniforms),...s(a,u.target),mosaicInfo:c.textureManager.getMosaicInfo(f,u.textureKey,!0),animationInfo:{globalTime:!1===p?a.time/1e3:p,animationTextureSize:[x.descriptor.width,x.descriptor.height],animationTexture:{unit:6,texture:x},toScreen:b,toNdc:d,mapRotation:a.state.rotation,pixelRatio:a.state.pixelRatio}},defines:{...o(a)},optionalAttributes:{zoomRange:!0},useComputeBuffer:!0}),c.setPipelineState({...m(a)}),c.submitDraw(a,u),!1===p&&l.requestRender()}}export{u as AnimatedTechnique};
5
+ import{invert as e,multiply as t}from"../../../../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as i}from"../../../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{animationDebugFlags as a}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{FeatureTechnique as r}from"../FeatureTechnique.js";import{getSelectionDefines as o,getLocalTileOffset as n,getFeatureUniforms as s,resolveDynamicUniforms as m,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";class l extends r{render(r,l){const{context:c,painter:f}=r,{target:g}=l,{freezeGlobalTime:p}=a,d=0,x=f.textureManager.animationStore.getTexture(c,d),h=[2/r.state.size[0],0,0,0,-2/r.state.size[1],0,-1,1,1],b=Array.from(e(i(),h)),D=Array.from(t(i(),b,g.transforms.displayViewScreenMat3)),T=l.instance.getInput(),y=f.textureManager.getMosaicInfo(c,l.textureKey,!1),{optionalAttributes:z}=T,R=z.zoomRange,S=z.value1Position2Value2,j="accumulatedDistance"in z&&z.accumulatedDistance,A="segmentDirection"in z&&z.segmentDirection,I="normal"in z&&z.normal;f.setShader({shader:this.shaders.geometry,uniforms:{...m(r,l.target,T.uniforms),...s(r,l.target),mosaicInfo:y,animationInfo:{globalTime:!1===p?r.time/1e3:p,animationTextureSize:[x.descriptor.width,x.descriptor.height],animationTexture:{unit:6,texture:x},toScreen:D,toNdc:h,mapRotation:r.state.rotation,pixelRatio:r.state.pixelRatio},localTileOffset:n(l.target)},defines:{...o(r)},optionalAttributes:{zoomRange:R,value1Position2Value2:S,accumulatedDistance:j,segmentDirection:A,normal:I},useComputeBuffer:!0}),f.setPipelineState({...u(r)}),f.submitDraw(r,l),!1===p&&g.requestRender()}}export{l as AnimatedTechnique};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{FeatureSymbologyDrawOrder as e}from"../../../enums.js";import{TechniqueType as s}from"../TechniqueType.js";import{AnimatedFillShader as t}from"./AnimatedFillShader.js";import{AnimatedLineShader as r}from"./AnimatedLineShader.js";import{AnimatedMarkerShader as i}from"./AnimatedMarkerShader.js";import{AnimatedTechnique as o}from"./AnimatedTechnique.js";class m extends o{constructor(){super(...arguments),this.type=s.AnimatedMarker,this.symbologyPlane=e.MARKER,this.shaders={geometry:new i}}}class n extends o{constructor(){super(...arguments),this.type=s.AnimatedMarkerShift,this.symbologyPlane=e.MARKER,this.shaders={geometry:new i}}}class a extends o{constructor(){super(...arguments),this.type=s.AnimatedFill,this.symbologyPlane=e.FILL,this.shaders={geometry:new t}}}class h extends o{constructor(){super(...arguments),this.type=s.AnimatedLine,this.symbologyPlane=e.LINE,this.shaders={geometry:new r}}}export{a as AnimatedFillTechnique,h as AnimatedLineTechnique,n as AnimatedMarkerShiftTechnique,m as AnimatedMarkerTechnique};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{pt2px as e}from"../../../../../../../core/screenUtils.js";function i(i){let{pixelDimensions:t,texelDimensions:s,baseSize:r,referenceSize:n,strokeWidth:o,sizeRatio:f}=i;if(t||(t=i.sprite.sdf?[0,0]:[i.sprite.width,i.sprite.height]),s||(s=i.sprite.sdf?[0,0]:t),null!=i.patternHeight){const e=i.patternHeight/t[1];t[1]*=e,t[0]*=e}-1===r&&(r=t[1]),r=e(r),n=e(n),o=e(o);const p=(i.sprite.sdfDecodeCoeff??1)*f;return{...i,pixelDimensions:t,texelDimensions:s,baseSize:r,referenceSize:n,strokeWidth:o,sdfDecodeCoeff:p}}export{i as createComputedAnimatedMeshParams};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{minMaxZoomPrecisionFactor as t,spritePadding as e}from"../../../definitions.js";import{assert as o}from"../../../animations/utils.js";import{packAnimatedBitset as i}from"./AnimatedMeshWriter.js";import{getMinMaxZoom as c}from"../fill/meshWriterUtils.js";import{DataType as n}from"../../../../../../webgl/enums.js";const a={type:n.SHORT,count:2,packPrecisionFactor:t,pack:({scaleInfo:t},{tileInfo:e})=>c(t,e)},s={type:n.FLOAT,count:4,packPrecisionFactor:1,packTessellation:({value1Position2Value2:t})=>(o(t),t)},p={type:n.FLOAT,count:4,packPrecisionFactor:1,packTessellation:()=>[0,0,0,1]},r={type:n.FLOAT,count:1,packPrecisionFactor:1,pack:()=>0},l={type:n.FLOAT,count:1,packPrecisionFactor:1,packTessellation:({lineLength:t})=>t},k={type:n.UNSIGNED_SHORT,count:1,packTessellation:({distance:t})=>t},u={type:n.BYTE,count:2,packPrecisionFactor:16,packTessellation:({directionX:t,directionY:e})=>[t,e]},T={type:n.FLOAT,count:2,packPrecisionFactor:16,packTessellation:({normalX:t,normalY:e})=>[t,e]},m={type:n.UNSIGNED_BYTE,count:3,pack:"id"},y={type:n.UNSIGNED_BYTE,count:1,pack:i},F={type:n.SHORT,count:2,pack:"position",packPrecisionFactor:1},f={marker:{type:n.FLOAT,count:2,packAlternating:{count:4,pack:({texelDimensions:t})=>[[-.5*t[0],-.5*t[1]],[.5*t[0],-.5*t[1]],[-.5*t[0],.5*t[1]],[.5*t[0],.5*t[1]]]}},line:{type:n.FLOAT,count:2,packTessellation:({extrusionOffsetX:t,extrusionOffsetY:e},{baseSize:o})=>[t*o/2,e*o/2]},fill:{type:n.FLOAT,count:2,packTessellation:()=>[0,0]}},O={marker:{type:n.SHORT,count:2,packPrecisionFactor:1,packAlternating:{count:4,packTessellation:({texXmax:t,texXmin:e,texYmax:o,texYmin:i})=>[[e,i],[t,i],[e,o],[t,o]]}}},S={type:n.UNSIGNED_SHORT,count:4,pack:({sprite:t})=>{const{rect:o,width:i,height:c}=t,n=o.x+e,a=o.y+e;return[n+1,a+1,n+i-1,a+c-1]}},d={type:n.UNSIGNED_SHORT,count:4,packPrecisionFactor:1,pack:({animations:t,baseSize:e,referenceSize:o})=>[t.dataColumn,t.dataRow,e,o]},x={type:n.UNSIGNED_SHORT,count:4,packPrecisionFactor:8,pack:({strokeWidth:t,pixelDimensions:e,baseSize:o,sprite:i,sizeRatio:c})=>{const n=Math.max(o*i.width/i.height,o),a=i.sdfDecodeCoeff*n*c;return[e[0],e[1],t,a]}},N={type:n.BYTE,count:1,packTessellation:({angle:t})=>t};export{k as accumulatedDistance,N as angle,d as animationPointerAndBaseSizeAndReferenceSize,y as bitset,m as id,l as lineLength,r as noLineLength,p as noTiming,T as normal,f as offset,F as pos,u as segmentDirection,x as sizing,S as tlbr,O as uv,s as value1Position2Value2,a as zoomRange};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- var o;!function(o){o[o.transform=0]="transform",o[o.fromColor=1]="fromColor",o[o.toColor=2]="toColor",o[o.colorMix=3]="colorMix",o[o.toOpacity=4]="toOpacity",o[o.opacityMix=5]="opacityMix"}(o||(o={}));export{o as AnimationParamIndex};
5
+ var o;!function(o){o[o.transform=0]="transform",o[o.fromColor=1]="fromColor",o[o.toColor=2]="toColor",o[o.colorMix=3]="colorMix",o[o.toOpacity=4]="toOpacity",o[o.opacityMix=5]="opacityMix",o[o.shift=6]="shift"}(o||(o={}));export{o as AnimationParamIndex};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{noVisualVariables as e}from"../../../../layers/features/schema/processor/VisualVariablesSchema.js";import{getScaleInfo as s,createComplexSimpleOutlineFillMeshInfos as a,createGradientStrokeMeshInfos as r,createGradientFillMeshInfos as n,createComplexTextMeshInfos as i,createComplexTexturedLineMeshInfos as t,createComplexSimpleLineMeshInfos as l,createComplexSimpleFillMeshInfos as c,createComplexFillMeshInfos as o,createAnimatedMarkerMeshInfos as p,createComplexMarkerMeshInfos as u}from"../../../../layers/features/schema/processor/symbols/ComplexSymbolSchema.js";async function m(m,h,k){const f=[],b={scaleInfo:s(m),scaleExpression:null};for(const s of h)switch(s.type){case"marker":if(s.animationParams){f.push(...p(k.instances.animatedMarker,s,e,b));break}f.push(...u(k.instances.marker,s,e,b));break;case"fill":null==s.spriteRasterizationParam?f.push(...c(k.instances.fill,s,b)):f.push(...o(k.instances.complexFill,s,!1,b));break;case"line":s.spriteRasterizationParam?f.push(...t(k.instances.texturedLine,s,!1,b)):f.push(...l(k.instances.line,s,!1,b));break;case"text":f.push(...i(k.instances.text,s,e,b));break;case"gradientFill":f.push(...n(k.instances.gradientFill,s,b));break;case"gradientStroke":f.push(...r(k.instances.gradientStroke,s,b));break;case"outlineFill":f.push(...a(k.instances.outlineFill,s,b))}return f}export{m as createGraphicSymbolMeshSchemas};
5
+ import{noVisualVariables as a}from"../../../../layers/features/schema/processor/VisualVariablesSchema.js";import{getScaleInfo as s,createComplexSimpleOutlineFillMeshInfos as e,createGradientStrokeMeshInfos as i,createGradientFillMeshInfos as n,createComplexTextMeshInfos as t,createAnimatedPolyMeshInfos as r,createComplexTexturedLineMeshInfos as l,createComplexSimpleLineMeshInfos as o,createComplexSimpleFillMeshInfos as c,createComplexFillMeshInfos as m,createAnimatedMarkerMeshInfos as p,createComplexMarkerMeshInfos as h}from"../../../../layers/features/schema/processor/symbols/ComplexSymbolSchema.js";async function u(u,f,k){const b=[],d={scaleInfo:s(u),scaleExpression:null};for(const s of f)switch(s.type){case"marker":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...p(k.instances.animatedMarkerShift,s,a,d));break}b.push(...p(k.instances.animatedMarker,s,a,d));break}b.push(...h(k.instances.marker,s,a,d));break;case"fill":if(s.animationParams){b.push(...r(k.instances.animatedPolygon,s,a,d));break}null==s.spriteRasterizationParam?b.push(...c(k.instances.fill,s,d)):b.push(...m(k.instances.complexFill,s,!1,d));break;case"line":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...r(k.instances.animatedPolylineShift,s,a,d));break}b.push(...r(k.instances.animatedPolyline,s,a,d));break}s.spriteRasterizationParam?b.push(...l(k.instances.texturedLine,s,!1,d)):b.push(...o(k.instances.line,s,!1,d));break;case"text":b.push(...t(k.instances.text,s,a,d));break;case"gradientFill":b.push(...n(k.instances.gradientFill,s,d));break;case"gradientStroke":b.push(...i(k.instances.gradientStroke,s,d));break;case"outlineFill":b.push(...e(k.instances.outlineFill,s,d))}return b}export{u as createGraphicSymbolMeshSchemas};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{minMaxZoomPrecisionFactor as s,thinLineHalfWidthThreshold as i}from"../../../definitions.js";import{LineTessellation as r}from"../../../TurboLine.js";import{clipLinesMarshall as o}from"../../../mesh/templates/templateUtils.js";import{packRounded as n,processColorInput as a,getMinMaxZoom as c,processLineCapInput as h,processLineJoinInput as l}from"../fill/meshWriterUtils.js";import{MeshWriter as m}from"../mesh/MeshWriter.js";import{getLineClippingMargin as u}from"../mesh/utils.js";import{DataType as p}from"../../../../../../webgl/enums.js";class d{constructor(){this.extrusionOffsetX=0,this.extrusionOffsetY=0,this.normalX=0,this.normalY=0,this.directionX=0,this.directionY=0,this.distance=0,this.pathLength=0,this.distanceOffset=0}}const f={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:p.SHORT,count:2,packPrecisionFactor:s,pack:({scaleInfo:t},{tileInfo:e})=>c(t,e)}},attributes:{id:{type:p.UNSIGNED_BYTE,count:3,pack:"id"},pos:{type:p.SHORT,count:2,pack:"position",packPrecisionFactor:10},bitset:{type:p.UNSIGNED_BYTE,count:1},color:{type:p.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>a(t)},offset:{type:p.BYTE,count:2,packPrecisionFactor:16,packTessellation:({extrusionOffsetX:t,extrusionOffsetY:e})=>[n(t,16),n(e,16)]},normal:{type:p.BYTE,count:2,packPrecisionFactor:16,packTessellation:({normalX:t,normalY:e})=>[n(t,16),n(e,16)]},halfWidth:{type:p.HALF_FLOAT,count:1,pack:({width:e})=>t(.5*e)},referenceHalfWidth:{type:p.HALF_FLOAT,count:1,pack:({referenceWidth:e})=>t(.5*e)}}};class _{constructor(){this.id=0,this.bitset=0,this.indexCount=0,this.vertexCount=0,this.vertexFrom=0,this.vertexBounds=0,this.pathLength=0,this.distanceOffset=0}}const x=65535;class T extends m{constructor(t,e,s,i){super(t,e,s,i),this.vertexSpec=f,this._currentWrite=new _,this._tessellationOptions={halfWidth:0,pixelCoordRatio:1,offset:0,wrapDistance:x,textured:!1},this._tessParams=new d,this._initializeTessellator()}writeLineVertices(t,e,s){const i=this._getLines(e);null!=i&&this._writeVertices(t,s,i)}_initializeTessellator(){this._lineTessellator=new r(this._writeTesselatedVertex.bind(this),this._writeTriangle.bind(this),!0)}_write(t,s,i){const r=i??e.fromFeatureSetReaderCIM(s);r&&this._writeGeometry(t,s,r)}_writeGeometry(t,e,s,i){t.recordStart(this.instanceId,this.attributeLayout,i),this.writeLineVertices(t,s,e),t.recordEnd()}_getLines(t){return o(t,u(this.evaluatedMeshParams))}_writeVertices(e,s,r){const{_currentWrite:o,_tessellationOptions:n,evaluatedMeshParams:a}=this,{width:c,capType:m,joinType:u,miterLimit:p,hasSizeVV:d}=a,f=t(.5*c);n.halfWidth=f,n.capType=h(m),n.joinType=l(u),n.miterLimit=p;const _=!d;o.out=e,o.id=s.getDisplayId(),o.vertexCount=0,o.indexCount=0,o.vertexFrom=e.vertexCount(),o.vertexBounds=_&&f<i?0:1;for(const{line:t,start:i,pathLength:h}of r)n.initialDistance=i%x,o.pathLength=h,o.distanceOffset=Math.floor(i/x)*x,this._lineTessellator.tessellate(t,n,_)}_writeTesselatedVertex(t,e,s,i,r,o,n,a,c,h,l){const{out:m,id:u,vertexBounds:p,pathLength:d,distanceOffset:f}=this._currentWrite;return this.hasEffects&&m.recordBounds(t,e,p,p),this._tessParams.extrusionOffsetX=n,this._tessParams.extrusionOffsetY=a,this._tessParams.normalX=c,this._tessParams.normalY=h,this._tessParams.directionX=r,this._tessParams.directionY=o,this._tessParams.distance=l,this._tessParams.pathLength=d,this._tessParams.distanceOffset=f,this._writeVertex(m,u,t,e,this._tessParams),this._currentWrite.vertexFrom+this._currentWrite.vertexCount++}_writeTriangle(t,e,s){const{out:i}=this._currentWrite;i.indexEnsureSize(3),i.indexWrite(t),i.indexWrite(e),i.indexWrite(s),this._currentWrite.indexCount+=3}}export{T as LineMeshWriter,d as LineTessellationParams,f as LineVertexSpec};
5
+ import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{minMaxZoomPrecisionFactor as s,thinLineHalfWidthThreshold as i}from"../../../definitions.js";import{LineTessellation as r}from"../../../TurboLine.js";import{clipLinesMarshall as o}from"../../../mesh/templates/templateUtils.js";import{packRounded as n,processColorInput as a,getMinMaxZoom as c,processLineCapInput as h,processLineJoinInput as l}from"../fill/meshWriterUtils.js";import{MeshWriter as m}from"../mesh/MeshWriter.js";import{getLineClippingMargin as u}from"../mesh/utils.js";import{DataType as p}from"../../../../../../webgl/enums.js";class d{constructor(){this.extrusionOffsetX=0,this.extrusionOffsetY=0,this.normalX=0,this.normalY=0,this.directionX=0,this.directionY=0,this.distance=0,this.pathLength=0,this.distanceOffset=0,this.lineLength=0}}const f={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:p.SHORT,count:2,packPrecisionFactor:s,pack:({scaleInfo:t},{tileInfo:e})=>c(t,e)}},attributes:{id:{type:p.UNSIGNED_BYTE,count:3,pack:"id"},pos:{type:p.SHORT,count:2,pack:"position",packPrecisionFactor:10},bitset:{type:p.UNSIGNED_BYTE,count:1},color:{type:p.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>a(t)},offset:{type:p.BYTE,count:2,packPrecisionFactor:16,packTessellation:({extrusionOffsetX:t,extrusionOffsetY:e})=>[n(t,16),n(e,16)]},normal:{type:p.BYTE,count:2,packPrecisionFactor:16,packTessellation:({normalX:t,normalY:e})=>[n(t,16),n(e,16)]},halfWidth:{type:p.HALF_FLOAT,count:1,pack:({width:e})=>t(.5*e)},referenceHalfWidth:{type:p.HALF_FLOAT,count:1,pack:({referenceWidth:e})=>t(.5*e)}}};class _{constructor(){this.id=0,this.bitset=0,this.indexCount=0,this.vertexCount=0,this.vertexFrom=0,this.vertexBounds=0,this.pathLength=0,this.distanceOffset=0}}const x=65535;class T extends m{constructor(t,e,s,i){super(t,e,s,i),this.vertexSpec=f,this._currentWrite=new _,this._tessellationOptions={halfWidth:0,pixelCoordRatio:1,offset:0,wrapDistance:x,textured:!1},this._tessParams=new d,this._initializeTessellator()}writeLineVertices(t,e,s){const i=this._getLines(e);null!=i&&this._writeVertices(t,s,i)}_initializeTessellator(){this._lineTessellator=new r(this._writeTesselatedVertex.bind(this),this._writeTriangle.bind(this),!0)}_write(t,s,i){const r=i??e.fromFeatureSetReaderCIM(s);r&&this._writeGeometry(t,s,r)}_writeGeometry(t,e,s,i){t.recordStart(this.instanceId,this.attributeLayout,i),this.writeLineVertices(t,s,e),t.recordEnd()}_getLines(t){return o(t,u(this.evaluatedMeshParams))}_writeVertices(e,s,r){const{_currentWrite:o,_tessellationOptions:n,evaluatedMeshParams:a}=this,{width:c,capType:m,joinType:u,miterLimit:p,hasSizeVV:d}=a,f=t(.5*c);n.halfWidth=f,n.capType=h(m),n.joinType=l(u),n.miterLimit=p;const _=!d;o.out=e,o.id=s.getDisplayId(),o.vertexCount=0,o.indexCount=0,o.vertexFrom=e.vertexCount(),o.vertexBounds=_&&f<i?0:1;for(const{line:t,start:i,pathLength:h}of r)n.initialDistance=i%x,o.pathLength=h,o.distanceOffset=Math.floor(i/x)*x,this._lineTessellator.tessellate(t,n,_)}_writeTesselatedVertex(t,e,s,i,r,o,n,a,c,h,l){const{out:m,id:u,vertexBounds:p,pathLength:d,distanceOffset:f}=this._currentWrite;return this.hasEffects&&m.recordBounds(t,e,p,p),this._tessParams.extrusionOffsetX=n,this._tessParams.extrusionOffsetY=a,this._tessParams.normalX=c,this._tessParams.normalY=h,this._tessParams.directionX=r,this._tessParams.directionY=o,this._tessParams.distance=l,this._tessParams.pathLength=d,this._tessParams.distanceOffset=f,this._writeVertex(m,u,t,e,this._tessParams),this._currentWrite.vertexFrom+this._currentWrite.vertexCount++}_writeTriangle(t,e,s){const{out:i}=this._currentWrite;i.indexEnsureSize(3),i.indexWrite(t),i.indexWrite(e),i.indexWrite(s),this._currentWrite.indexCount+=3}}export{T as LineMeshWriter,d as LineTessellationParams,f as LineVertexSpec};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t,a as e}from"../../../../../../../chunks/tslib.es6.js";import{location as i,option as o,uniform as s,input as l,ComputeVertexInput as r}from"../../GraphShaderModule.js";import{Vec3 as a,min as p,max as n,Float as u,Mat3 as d,Vec4 as m,ifElse as y,lessThan as h,equal as c,texture2D as x,clamp as v,abs as f,mix as V,distance as w,greaterThan as S,Vec2 as b,negate as g,step as C}from"../../graph/glsl.js";import{MarkerConstants as M}from"./markerConstants.js";import{AFeatureShader as z,FeatureVertexInput as _,FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{c256ToRad as R,softEdgeRatio as U}from"../shaders/constants.js";import{distPointTriangle as N,xyToBarycentric as D,inTriangle as F,failHittest as k}from"../shaders/hittestUtils.js";import{MosaicInfo as I}from"../shaders/MosaicInfo.js";import{getBit as O,getBitBool as q,rgba2float as A}from"../shaders/utils.js";import{VisualVariableColor as P}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as T}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as G}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as H}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as L}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as B}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as E}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as J,getVisualVariableColor as K,getVisualVariableSize as Q,getVisualVariableRotation as W}from"../shaders/vvUtils.js";class X extends _{}t([i(3,m)],X.prototype,"color",void 0),t([i(4,m)],X.prototype,"outlineColor",void 0),t([i(5,b)],X.prototype,"offset",void 0),t([i(6,b)],X.prototype,"textureUV",void 0),t([i(7,m)],X.prototype,"sizing",void 0),t([i(8,u)],X.prototype,"placementAngle",void 0),t([i(9,u)],X.prototype,"sdfDecodeCoeff",void 0),t([i(10,b)],X.prototype,"zoomRange",void 0);class Y extends r{}t([i(12,b)],Y.prototype,"offsetNextVertex1",void 0),t([i(13,b)],Y.prototype,"offsetNextVertex2",void 0),t([i(14,b)],Y.prototype,"textureUVNextVertex1",void 0),t([i(15,b)],Y.prototype,"textureUVNextVertex2",void 0);class Z extends j{}function $(t,e,i,o){return e.multiply(t.x).add(i.multiply(t.y)).add(o.multiply(t.z))}function tt(t){return t.multiply(t).divide(128)}class et extends z{constructor(){super(...arguments),this.type="MarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],textureUV:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=tt(t.sizing.x),o=tt(t.sizing.y),s=tt(t.sizing.z),l=t.placementAngle,r=O(t.bitset,M.bitset.isSDF),y=O(t.bitset,M.bitset.isMapAligned),h=O(t.bitset,M.bitset.scaleSymbolsProportionally),c=q(t.bitset,M.bitset.colorLocked),x=J(this,t.id),v=K(this,t.id,t.color,c).multiply(x),f=this.view.displayViewScreenMat3.multiply(new a(t.pos.xy,1)),V=Q(this,t.id,s).divide(s),w=i.multiply(V),S=t.offset.xy.multiply(V);let b=o.multiply(h.multiply(V.subtract(1)).add(1));b=p(b,n(w.subtract(.99),new u(0)));const g=n(b,new u(1)),C=p(b,new u(1)),z=d.fromRotation(l.multiply(R)),_=W(this,t.id),j=this._getViewRotationMatrix(y).multiply(_).multiply(z).multiply(new a(S.xy,0)),U=this.clip(t.id,t.zoomRange),N=new m(f.xy.add(j.xy),U,1),D=t.textureUV.divide(this.mosaicInfo.size),F=t.outlineColor.multiply(C),k=O(t.bitset,M.bitset.overrideOutlineColor),I=t.sdfDecodeCoeff.multiply(w);return{glPosition:N,color:v,textureUV:D,outlineColor:F,outlineSize:g,distanceToPx:I,isSDF:r,overrideOutlineColor:k,...this.maybeRunHittest(t,e,{pos:t.pos,size:w,sizeCorrection:V,isMapAligned:y,vvRotationMat3:_,placementMat3:z,outlineSize:g,distanceToPx:I,isSDF:r})}}fragment(t){const e=this._getColor(t.textureUV,t);return this.getFragmentOutput(e,t)}hittest(t,e,i){return y(h(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,i=this.view.displayMat3,o=new u(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getViewScreenMatrix(t){const e=this.view.viewMat3.multiply(this.view.tileMat3),i=this.view.tileMat3,o=new u(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getColor(t,e){return y(c(e.isSDF,new u(1)),this._getSDFColor(t,e),this._getSpriteColor(t,e))}_getSpriteColor(t,e){return x(this.mosaicInfo.texture,t).multiply(e.color)}_getSDFColor(t,e){const i=x(this.mosaicInfo.texture,t),o=new u(.5).subtract(A(i)).multiply(e.distanceToPx).multiply(U),s=v(new u(.5).subtract(o),new u(0),new u(1)),l=e.color.multiply(s);let r=e.outlineSize;this.highlight&&(r=n(r,e.overrideOutlineColor.multiply(4)));const a=r.multiply(.5),p=f(o).subtract(a),d=v(new u(.5).subtract(p),new u(0),new u(1)),m=V(e.outlineColor,e.color,e.overrideOutlineColor).multiply(d);return new u(1).subtract(m.a).multiply(l).add(m)}_hittestSmallMarker(t,e,i){const{position:o,distance:s,smallSymbolDistance:l}=this.hittestRequest,r=s.subtract(l),{viewMat3:p,tileMat3:n}=this.view,u=p.multiply(n).multiply(new a(i.pos,1)).xy,d=i.size.multiply(.5);return w(u,o).subtract(d).add(r)}_hittestMarker(t,e,i){const{pos:o,sizeCorrection:s,isMapAligned:l}=i,r=new a(t.offset.multiply(s),0),p=new a(e.offsetNextVertex1.multiply(s),0),n=new a(e.offsetNextVertex2.multiply(s),0),{viewMat3:u,tileMat3:d}=this.view,m=u.multiply(d).multiply(new a(o,1)),h=this._getViewScreenMatrix(l).multiply(i.vvRotationMat3).multiply(i.placementMat3),c=m.add(h.multiply(r)).xy,x=m.add(h.multiply(p)).xy,v=m.add(h.multiply(n)).xy,f=this.hittestRequest.position,V=this.hittestRequest.distance,w=N(f,c,x,v);return y(S(w,V),w,this._hittestSamples(c,x,v,t,e,i))}_hittestSamples(t,e,i,o,s,l){const{outlineSize:r,isSDF:a,distanceToPx:p}=l,n=this.hittestRequest.position,d=this.hittestRequest.distance,y=D(n.add(new b(g(d),g(d))),t,e,i),h=D(n.add(new b(0,g(d))),t,e,i),c=D(n.add(new b(d,g(d))),t,e,i),x=D(n.add(new b(g(d),0)),t,e,i),v=D(n,t,e,i),f=D(n.add(new b(d,0)),t,e,i),V=D(n.add(new b(g(d),d)),t,e,i),w=D(n.add(new b(0,d)),t,e,i),S=D(n.add(new b(d,d)),t,e,i),M=o.textureUV.divide(this.mosaicInfo.size),z=s.textureUVNextVertex1.divide(this.mosaicInfo.size),_=s.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new m(1),outlineColor:new m(1),overrideOutlineColor:new u(1),outlineSize:r,distanceToPx:p,isSDF:a};let R=new u(0);return R=R.add(F(y).multiply(this._getColor($(y,M,z,_),j).a)),R=R.add(F(h).multiply(this._getColor($(h,M,z,_),j).a)),R=R.add(F(c).multiply(this._getColor($(c,M,z,_),j).a)),R=R.add(F(x).multiply(this._getColor($(x,M,z,_),j).a)),R=R.add(F(v).multiply(this._getColor($(v,M,z,_),j).a)),R=R.add(F(f).multiply(this._getColor($(f,M,z,_),j).a)),R=R.add(F(V).multiply(this._getColor($(V,M,z,_),j).a)),R=R.add(F(w).multiply(this._getColor($(w,M,z,_),j).a)),R=R.add(F(S).multiply(this._getColor($(S,M,z,_),j).a)),C(R,new u(.05)).multiply(k(this.hittestRequest))}}t([o(P)],et.prototype,"visualVariableColor",void 0),t([o(T)],et.prototype,"visualVariableOpacity",void 0),t([o(G)],et.prototype,"visualVariableRotation",void 0),t([o(H)],et.prototype,"visualVariableSizeMinMaxValue",void 0),t([o(L)],et.prototype,"visualVariableSizeScaleStops",void 0),t([o(B)],et.prototype,"visualVariableSizeStops",void 0),t([o(E)],et.prototype,"visualVariableSizeUnitValue",void 0),t([s(I)],et.prototype,"mosaicInfo",void 0),t([e(0,l(X)),e(1,l(Y))],et.prototype,"vertex",null),t([e(0,l(Z))],et.prototype,"fragment",null);export{Z as MarkerFragmentInput,et as MarkerShader,X as MarkerVertexInput};
5
+ import{_ as t,a as e}from"../../../../../../../chunks/tslib.es6.js";import{location as i,option as o,uniform as s,input as l,ComputeVertexInput as r}from"../../GraphShaderModule.js";import{Vec3 as a,min as p,max as n,Float as u,Mat3 as d,Vec4 as m,ifElse as y,lessThan as h,equal as c,texture2D as x,clamp as v,abs as f,mix as V,distance as w,greaterThan as S,Vec2 as b,negate as g,step as C}from"../../graph/glsl.js";import{MarkerConstants as M}from"./markerConstants.js";import{AFeatureShader as z,FeatureVertexInput as _,FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{c256ToRad as R,softEdgeRatio as U}from"../shaders/constants.js";import{distPointTriangle as N,xyToBarycentric as D,inTriangle as F,failHittest as k}from"../shaders/hittestUtils.js";import{MosaicInfo as I}from"../shaders/MosaicInfo.js";import{getBit as O,getBitBool as q,rgba2float as A}from"../shaders/utils.js";import{VisualVariableColor as P}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as T}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as G}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as H}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as L}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as B}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as E}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as J,getVisualVariableColor as K,getVisualVariableSize as Q,getVisualVariableRotation as W}from"../shaders/vvUtils.js";class X extends _{}t([i(3,m)],X.prototype,"color",void 0),t([i(4,m)],X.prototype,"outlineColor",void 0),t([i(5,b)],X.prototype,"offset",void 0),t([i(6,b)],X.prototype,"textureUV",void 0),t([i(7,m)],X.prototype,"sizing",void 0),t([i(8,u)],X.prototype,"placementAngle",void 0),t([i(9,u)],X.prototype,"sdfDecodeCoeff",void 0),t([i(10,b)],X.prototype,"zoomRange",void 0);class Y extends r{}t([i(11,b)],Y.prototype,"offsetNextVertex1",void 0),t([i(12,b)],Y.prototype,"offsetNextVertex2",void 0),t([i(13,b)],Y.prototype,"textureUVNextVertex1",void 0),t([i(14,b)],Y.prototype,"textureUVNextVertex2",void 0);class Z extends j{}function $(t,e,i,o){return e.multiply(t.x).add(i.multiply(t.y)).add(o.multiply(t.z))}function tt(t){return t.multiply(t).divide(128)}class et extends z{constructor(){super(...arguments),this.type="MarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],textureUV:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=tt(t.sizing.x),o=tt(t.sizing.y),s=tt(t.sizing.z),l=t.placementAngle,r=O(t.bitset,M.bitset.isSDF),y=O(t.bitset,M.bitset.isMapAligned),h=O(t.bitset,M.bitset.scaleSymbolsProportionally),c=q(t.bitset,M.bitset.colorLocked),x=J(this,t.id),v=K(this,t.id,t.color,c).multiply(x),f=this.view.displayViewScreenMat3.multiply(new a(t.pos.xy,1)),V=Q(this,t.id,s).divide(s),w=i.multiply(V),S=t.offset.xy.multiply(V);let b=o.multiply(h.multiply(V.subtract(1)).add(1));b=p(b,n(w.subtract(.99),new u(0)));const g=n(b,new u(1)),C=p(b,new u(1)),z=d.fromRotation(l.multiply(R)),_=W(this,t.id),j=this._getViewRotationMatrix(y).multiply(_).multiply(z).multiply(new a(S.xy,0)),U=this.clip(t.id,t.zoomRange),N=new m(f.xy.add(j.xy),U,1),D=t.textureUV.divide(this.mosaicInfo.size),F=t.outlineColor.multiply(C),k=O(t.bitset,M.bitset.overrideOutlineColor),I=t.sdfDecodeCoeff.multiply(w);return{glPosition:N,color:v,textureUV:D,outlineColor:F,outlineSize:g,distanceToPx:I,isSDF:r,overrideOutlineColor:k,...this.maybeRunHittest(t,e,{pos:t.pos,size:w,sizeCorrection:V,isMapAligned:y,vvRotationMat3:_,placementMat3:z,outlineSize:g,distanceToPx:I,isSDF:r})}}fragment(t){const e=this._getColor(t.textureUV,t);return this.getFragmentOutput(e,t)}hittest(t,e,i){return y(h(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,i=this.view.displayMat3,o=new u(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getViewScreenMatrix(t){const e=this.view.viewMat3.multiply(this.view.tileMat3),i=this.view.tileMat3,o=new u(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getColor(t,e){return y(c(e.isSDF,new u(1)),this._getSDFColor(t,e),this._getSpriteColor(t,e))}_getSpriteColor(t,e){return x(this.mosaicInfo.texture,t).multiply(e.color)}_getSDFColor(t,e){const i=x(this.mosaicInfo.texture,t),o=new u(.5).subtract(A(i)).multiply(e.distanceToPx).multiply(U),s=v(new u(.5).subtract(o),new u(0),new u(1)),l=e.color.multiply(s);let r=e.outlineSize;this.highlight&&(r=n(r,e.overrideOutlineColor.multiply(4)));const a=r.multiply(.5),p=f(o).subtract(a),d=v(new u(.5).subtract(p),new u(0),new u(1)),m=V(e.outlineColor,e.color,e.overrideOutlineColor).multiply(d);return new u(1).subtract(m.a).multiply(l).add(m)}_hittestSmallMarker(t,e,i){const{position:o,distance:s,smallSymbolDistance:l}=this.hittestRequest,r=s.subtract(l),{viewMat3:p,tileMat3:n}=this.view,u=p.multiply(n).multiply(new a(i.pos,1)).xy,d=i.size.multiply(.5);return w(u,o).subtract(d).add(r)}_hittestMarker(t,e,i){const{pos:o,sizeCorrection:s,isMapAligned:l}=i,r=new a(t.offset.multiply(s),0),p=new a(e.offsetNextVertex1.multiply(s),0),n=new a(e.offsetNextVertex2.multiply(s),0),{viewMat3:u,tileMat3:d}=this.view,m=u.multiply(d).multiply(new a(o,1)),h=this._getViewScreenMatrix(l).multiply(i.vvRotationMat3).multiply(i.placementMat3),c=m.add(h.multiply(r)).xy,x=m.add(h.multiply(p)).xy,v=m.add(h.multiply(n)).xy,f=this.hittestRequest.position,V=this.hittestRequest.distance,w=N(f,c,x,v);return y(S(w,V),w,this._hittestSamples(c,x,v,t,e,i))}_hittestSamples(t,e,i,o,s,l){const{outlineSize:r,isSDF:a,distanceToPx:p}=l,n=this.hittestRequest.position,d=this.hittestRequest.distance,y=D(n.add(new b(g(d),g(d))),t,e,i),h=D(n.add(new b(0,g(d))),t,e,i),c=D(n.add(new b(d,g(d))),t,e,i),x=D(n.add(new b(g(d),0)),t,e,i),v=D(n,t,e,i),f=D(n.add(new b(d,0)),t,e,i),V=D(n.add(new b(g(d),d)),t,e,i),w=D(n.add(new b(0,d)),t,e,i),S=D(n.add(new b(d,d)),t,e,i),M=o.textureUV.divide(this.mosaicInfo.size),z=s.textureUVNextVertex1.divide(this.mosaicInfo.size),_=s.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new m(1),outlineColor:new m(1),overrideOutlineColor:new u(1),outlineSize:r,distanceToPx:p,isSDF:a};let R=new u(0);return R=R.add(F(y).multiply(this._getColor($(y,M,z,_),j).a)),R=R.add(F(h).multiply(this._getColor($(h,M,z,_),j).a)),R=R.add(F(c).multiply(this._getColor($(c,M,z,_),j).a)),R=R.add(F(x).multiply(this._getColor($(x,M,z,_),j).a)),R=R.add(F(v).multiply(this._getColor($(v,M,z,_),j).a)),R=R.add(F(f).multiply(this._getColor($(f,M,z,_),j).a)),R=R.add(F(V).multiply(this._getColor($(V,M,z,_),j).a)),R=R.add(F(w).multiply(this._getColor($(w,M,z,_),j).a)),R=R.add(F(S).multiply(this._getColor($(S,M,z,_),j).a)),C(R,new u(.05)).multiply(k(this.hittestRequest))}}t([o(P)],et.prototype,"visualVariableColor",void 0),t([o(T)],et.prototype,"visualVariableOpacity",void 0),t([o(G)],et.prototype,"visualVariableRotation",void 0),t([o(H)],et.prototype,"visualVariableSizeMinMaxValue",void 0),t([o(L)],et.prototype,"visualVariableSizeScaleStops",void 0),t([o(B)],et.prototype,"visualVariableSizeStops",void 0),t([o(E)],et.prototype,"visualVariableSizeUnitValue",void 0),t([s(I)],et.prototype,"mosaicInfo",void 0),t([e(0,l(X)),e(1,l(Y))],et.prototype,"vertex",null),t([e(0,l(Z))],et.prototype,"fragment",null);export{Z as MarkerFragmentInput,et as MarkerShader,X as MarkerVertexInput};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{TechniqueType as r}from"../TechniqueType.js";import{AnimatedMarkerMeshWriter as e}from"../animated/AnimatedMarkerMeshWriter.js";import{DotDensityMeshWriter as t}from"../dotDensity/DotDensityMeshWriter.js";import{ComplexFillMeshWriter as i}from"../fill/ComplexFillMeshWriter.js";import{ComplexOutlineFillMeshWriter as s}from"../fill/ComplexOutlineFillMeshWriter.js";import{FillMeshWriter as l}from"../fill/FillMeshWriter.js";import{GradientFillMeshWriter as a}from"../fill/GradientFillMeshWriter.js";import{OutlineFillMeshWriter as n}from"../fill/OutlineFillMeshWriter.js";import{PatternFillMeshWriter as o}from"../fill/PatternFillMeshWriter.js";import{PatternOutlineFillMeshWriter as m}from"../fill/PatternOutlineFillMeshWriter.js";import{HeatmapMeshWriter as p}from"../heatmap/HeatmapMeshWriter.js";import{LabelMeshWriter as u}from"../labels/LabelMeshWriter.js";import{GradientStrokeMeshWriter as h}from"../line/GradientStrokeMeshWriter.js";import{LineMeshWriter as f}from"../line/LineMeshWriter.js";import{TexturedLineMeshWriter as c}from"../line/TexturedLineMeshWriter.js";import{MarkerMeshWriter as M}from"../markers/MarkerMeshWriter.js";import{MeshWriterInputEvaluator as W}from"./MeshWriterInputEvaluator.js";import{PieChartMeshWriter as j}from"../pieChart/PieChartMeshWriter.js";import{TextMeshWriter as d}from"../text/TextMeshWriter.js";class F{async createMeshWriter(r,e,t,i,s){const l=this._getMeshWriter(i.techniqueType),a=await W.create(r,e,i.inputParams,s),n=new l(i.id,a,i.optionalAttributes,t);return await n.loadDependencies(),n}_getMeshWriter(W){switch(W){case r.Fill:return l;case r.DotDensity:return t;case r.ComplexFill:return i;case r.PatternFill:return o;case r.GradientFill:return a;case r.OutlineFill:return n;case r.PatternOutlineFill:return m;case r.ComplexOutlineFill:return s;case r.Marker:return M;case r.PieChart:return j;case r.Text:return d;case r.Line:return f;case r.TexturedLine:return c;case r.GradientStroke:return h;case r.Heatmap:return p;case r.Label:return u;case r.AnimatedMarker:return e;default:throw new Error("Internal Error: Mesh writer not in the registry")}}}export{F as MeshWriterRegistry};
5
+ import{TechniqueType as e}from"../TechniqueType.js";import{AnimatedMarkerShiftMeshWriter as r,AnimatedMarkerMeshWriter as t}from"../animated/AnimatedMarkerMeshWriter.js";import{AnimatedLineMeshWriter as i,AnimatedFillMeshWriter as s}from"../animated/AnimatedPolyMeshWriters.js";import{DotDensityMeshWriter as a}from"../dotDensity/DotDensityMeshWriter.js";import{ComplexFillMeshWriter as n}from"../fill/ComplexFillMeshWriter.js";import{ComplexOutlineFillMeshWriter as l}from"../fill/ComplexOutlineFillMeshWriter.js";import{FillMeshWriter as o}from"../fill/FillMeshWriter.js";import{GradientFillMeshWriter as m}from"../fill/GradientFillMeshWriter.js";import{OutlineFillMeshWriter as u}from"../fill/OutlineFillMeshWriter.js";import{PatternFillMeshWriter as p}from"../fill/PatternFillMeshWriter.js";import{PatternOutlineFillMeshWriter as h}from"../fill/PatternOutlineFillMeshWriter.js";import{HeatmapMeshWriter as c}from"../heatmap/HeatmapMeshWriter.js";import{LabelMeshWriter as f}from"../labels/LabelMeshWriter.js";import{GradientStrokeMeshWriter as M}from"../line/GradientStrokeMeshWriter.js";import{LineMeshWriter as W}from"../line/LineMeshWriter.js";import{TexturedLineMeshWriter as j}from"../line/TexturedLineMeshWriter.js";import{MarkerMeshWriter as d}from"../markers/MarkerMeshWriter.js";import{MeshWriterInputEvaluator as F}from"./MeshWriterInputEvaluator.js";import{PieChartMeshWriter as x}from"../pieChart/PieChartMeshWriter.js";import{TextMeshWriter as k}from"../text/TextMeshWriter.js";class y{async createMeshWriter(e,r,t,i,s){const a=this._getMeshWriter(i.techniqueType),n=await F.create(e,r,i.inputParams,s),l=new a(i.id,n,i.optionalAttributes,t);return await l.loadDependencies(),l}_getMeshWriter(F){switch(F){case e.Fill:return o;case e.DotDensity:return a;case e.ComplexFill:return n;case e.PatternFill:return p;case e.GradientFill:return m;case e.OutlineFill:return u;case e.PatternOutlineFill:return h;case e.ComplexOutlineFill:return l;case e.Marker:return d;case e.PieChart:return x;case e.Text:return k;case e.Line:return W;case e.TexturedLine:return j;case e.GradientStroke:return M;case e.Heatmap:return c;case e.Label:return f;case e.AnimatedMarker:return t;case e.AnimatedMarkerShift:return r;case e.AnimatedFill:return s;case e.AnimatedLine:return i;default:throw new Error("Internal Error: Mesh writer not in the registry")}}}export{y as MeshWriterRegistry};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t,a as e}from"../../../../../../../chunks/tslib.es6.js";import{location as o,uniform as i,input as r}from"../../GraphShaderModule.js";import{Float as l,Vec2 as s,sin as p,cos as a,Vec3 as n,ifElse as d,mod as m,mix as u,texture2D as f,greaterThan as c,equal as y,float as v,Vec4 as h,mat3 as x,negate as g,vec2 as b}from"../../graph/glsl.js";import{BaseHittestVertexInput as w,FeatureFragmentInput as j}from"./AFeatureShader.js";import{c256ToRad as O,bitsetFillRandomPatternOffset as T,bitsetGenericConsiderAlphaOnly as C}from"./constants.js";import{FillShader as F,FillVertexInput as A}from"./FillShader.js";import{LocalTileOffset as I}from"./LocalTileOffset.js";import{MosaicInfo as S}from"./MosaicInfo.js";import{getBit as z,isNan as M,rgba2float as V,rand as k}from"./utils.js";class q extends A{}t([o(5,h)],q.prototype,"tlbr",void 0),t([o(6,l)],q.prototype,"width",void 0),t([o(7,l)],q.prototype,"height",void 0),t([o(8,s)],q.prototype,"offset",void 0),t([o(9,s)],q.prototype,"scale",void 0),t([o(10,l)],q.prototype,"angle",void 0);class G extends j{}function L(t,e,o,i,r){const l=y(z(r,T),v(1)),s=V(new h(t,0));return d(l,x(i.divide(e.x),o.divide(e.y),0,g(o.divide(e.x)),i.divide(e.y),0,k(b(s,0)),k(b(0,s)),1),x(i.divide(e.x),o.divide(e.y),0,g(o.divide(e.x)),i.divide(e.y),0,0,0,1))}function P(t,e){const o=t.view.requiredZoomFactor,i=new s(e.width,e.height),r=i.multiply(e.scale).multiply(o),m=e.angle.multiply(O),u=p(m),f=a(m),c=L(e.id,r,u,f,e.bitset),y=t.localTileOffset.getPatternOffsetAtTileOrigin(i,u,f),v=o.multiply(e.scale).multiply(e.offset.subtract(y)).divide(r),h=new n(e.pos,1),x=c.multiply(h).xy.subtract(v),g=e.tlbr.divide(t.mosaicInfo.size.xyxy);let b=z(e.bitset,C);return null!=t.visualVariableColor&&(b=d(M(t.storage.getColorValue(e.id)),new l(0),b)),{tileTextureCoord:x,tlbr:g,sampleAlphaOnly:b}}function Z(t,e){const o=m(e.tileTextureCoord,new l(1)),i=u(e.tlbr.xy,e.tlbr.zw,o);let r=f(t.mosaicInfo.texture,i);return r=d(c(e.sampleAlphaOnly,new l(.5)),r.aaaa,r),e.color.multiply(r)}class _ extends F{constructor(){super(...arguments),this.type="ComplexFillShader"}vertex(t,e){return{...super.vertex(t,e),...P(this,t)}}fragment(t){const e=Z(this,t);return this.getFragmentOutput(e,t,new l(0))}}t([i(S)],_.prototype,"mosaicInfo",void 0),t([i(I)],_.prototype,"localTileOffset",void 0),t([e(0,r(q)),e(1,r(w))],_.prototype,"vertex",null),t([e(0,r(G))],_.prototype,"fragment",null);export{G as ComplexFillFragmentInput,_ as ComplexFillShader,q as ComplexFillVertexInput,Z as getComplexFillFragmentColor,P as getComplexFillVertexData};
5
+ import{_ as t,a as e}from"../../../../../../../chunks/tslib.es6.js";import{location as o,uniform as i,input as r}from"../../GraphShaderModule.js";import{Float as l,equal as s,float as p,Vec4 as a,ifElse as n,mat3 as d,negate as m,vec2 as u,Vec2 as f,sin as c,cos as y,Vec3 as v,mod as h,mix as x,texture2D as g,greaterThan as b}from"../../graph/glsl.js";import{BaseHittestVertexInput as w,FeatureFragmentInput as j}from"./AFeatureShader.js";import{c256ToRad as O,bitsetGenericConsiderAlphaOnly as T,bitsetFillRandomPatternOffset as C}from"./constants.js";import{FillShader as F,FillVertexInput as A}from"./FillShader.js";import{LocalTileOffset as I}from"./LocalTileOffset.js";import{MosaicInfo as S}from"./MosaicInfo.js";import{getBit as z,rgba2float as M,rand as V,isNan as k}from"./utils.js";class q extends A{}t([o(5,a)],q.prototype,"tlbr",void 0),t([o(6,l)],q.prototype,"width",void 0),t([o(7,l)],q.prototype,"height",void 0),t([o(8,f)],q.prototype,"offset",void 0),t([o(9,f)],q.prototype,"scale",void 0),t([o(10,l)],q.prototype,"angle",void 0);class G extends j{}function L(t,e,o,i,r){const l=s(z(r,C),p(1)),f=M(new a(t,0));return n(l,d(i.divide(e.x),o.divide(e.y),0,m(o.divide(e.x)),i.divide(e.y),0,V(u(f,0)),V(u(0,f)),1),d(i.divide(e.x),o.divide(e.y),0,m(o.divide(e.x)),i.divide(e.y),0,0,0,1))}function P(t,e){const o=t.view.requiredZoomFactor,i=new f(e.width,e.height),r=i.multiply(e.scale).multiply(o),s=e.angle.multiply(O),p=c(s),a=y(s),d=L(e.id,r,p,a,e.bitset),m=t.localTileOffset.getPatternOffsetAtTileOrigin(i,p,a),u=o.multiply(e.scale).multiply(e.offset.subtract(m)).divide(r),h=new v(e.pos,1),x=d.multiply(h).xy.subtract(u),g=e.tlbr.divide(t.mosaicInfo.size.xyxy);let b=z(e.bitset,T);return null!=t.visualVariableColor&&(b=n(k(t.storage.getColorValue(e.id)),new l(0),b)),{tileTextureCoord:x,tlbr:g,sampleAlphaOnly:b}}function Z(t,e){const o=h(e.tileTextureCoord,new l(1)),i=x(e.tlbr.xy,e.tlbr.zw,o);let r=g(t.mosaicInfo.texture,i);return r=n(b(e.sampleAlphaOnly,new l(.5)),r.aaaa,r),e.color.multiply(r)}class _ extends F{constructor(){super(...arguments),this.type="ComplexFillShader"}vertex(t,e){return{...super.vertex(t,e),...P(this,t)}}fragment(t){const e=Z(this,t);return this.getFragmentOutput(e,t,new l(0))}}t([i(S)],_.prototype,"mosaicInfo",void 0),t([i(I)],_.prototype,"localTileOffset",void 0),t([e(0,r(q)),e(1,r(w))],_.prototype,"vertex",null),t([e(0,r(G))],_.prototype,"fragment",null);export{G as ComplexFillFragmentInput,_ as ComplexFillShader,q as ComplexFillVertexInput,Z as getComplexFillFragmentColor,P as getComplexFillVertexData,L as getPatternMatrix};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t,a as i}from"../../../../../../../chunks/tslib.es6.js";import{location as e,uniform as o,option as l,input as a,UniformGroup as r}from"../../GraphShaderModule.js";import{Vec3 as s,step as n,min as p,Float as u,max as m,Vec4 as d,length as y,clamp as c,Vec2 as f}from"../../graph/glsl.js";import{AFeatureShader as h,BaseHittestVertexInput as v,FeatureVertexInput as w,FeatureFragmentInput as V}from"./AFeatureShader.js";import{epsilon as b,thinLineWidthFactor as S,thinLineHalfWidth as x}from"./constants.js";import{distPointSegment as g}from"./hittestUtils.js";import{VisualVariableColor as j}from"./VisualVariableColor.js";import{VisualVariableOpacity as z}from"./VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as M}from"./VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as W}from"./VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as C}from"./VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as P}from"./VisualVariableSizeUnitValue.js";import{getVisualVariableColor as R,getVisualVariableOpacity as H,hasVisualVariableSize as O,getVisualVariableSize as U}from"./vvUtils.js";class q extends w{}t([e(3,d)],q.prototype,"color",void 0),t([e(4,f)],q.prototype,"offset",void 0),t([e(5,f)],q.prototype,"normal",void 0),t([e(6,u)],q.prototype,"halfWidth",void 0),t([e(7,u)],q.prototype,"referenceHalfWidth",void 0),t([e(8,f)],q.prototype,"zoomRange",void 0);class A extends V{}class F extends r{}function k(t){return m(new u(S).multiply(n(t,new u(x))),new u(1))}function D(t,i){const{halfWidth:e,normal:o}=t,l=k(e),a=y(o).multiply(e);return c(l.multiply(e.subtract(a)).divide(i.add(l).subtract(new u(1))),new u(0),new u(1))}function G(t,i){const{id:e,halfWidth:o,referenceHalfWidth:l}=i;if(O(t)){const i=new u(2).multiply(l),a=U(t,e,i);return new u(.5).multiply(o.divide(m(l,new u(b)))).multiply(a)}return o}function L(t,i){const{id:e,offset:o,pos:l,normal:a,zoomRange:r}=i,{displayViewScreenMat3:p,displayViewMat3:y}=t.view,c=R(t,e,i.color),f=H(t,e),h=G(t,i),v=new u(.5).multiply(t.antialiasingControls.antialiasing),w=m(h.add(v),new u(.45)).add(new u(.1).multiply(v)),V=k(w).multiply(w).multiply(o),b=y.multiply(new s(V,new u(0))),S=p.multiply(new s(l,new u(1))).add(b),x=new u(2).multiply(n(h,new u(0))).add(t.clip(e,r)),g=new d(S.xy,x,1);return{color:c,opacity:f,halfWidth:w,normal:a,scaledOffset:V,scaledHalfWidth:h,glPosition:new d(g.xy,x,1)}}function T(t,i){const{opacity:e,color:o}=t,l=D(t,i);return e.multiply(o).multiply(l)}t([o(u)],F.prototype,"antialiasing",void 0),t([o(u)],F.prototype,"blur",void 0);class _ extends h{constructor(){super(...arguments),this.type="LineShader",this.computeAttributes={pos:["nextPos1","nextPos2"]}}vertex(t,i){const e=L(this,t);return{...e,...this.maybeRunHittest(t,i,e.halfWidth)}}fragment(t){const i=T(t,this.antialiasingControls.blur);return this.getFragmentOutput(i,t)}hittest(t,i,e){const{viewMat3:o,tileMat3:l}=this.view,a=o.multiply(l),r=a.multiply(new s(t.pos,1)),u=a.multiply(new s(i.nextPos1,1)),m=a.multiply(new s(i.nextPos2,1)),{distance:d,smallSymbolDistance:y,smallSymbolSizeThreshold:c}=this.hittestRequest,f=n(e,c.multiply(.5)).multiply(d.subtract(y)),h=this.hittestRequest.position;return p(g(h,r.xy,u.xy),g(h,r.xy,m.xy)).subtract(e).add(f)}}t([o(F)],_.prototype,"antialiasingControls",void 0),t([l(j)],_.prototype,"visualVariableColor",void 0),t([l(z)],_.prototype,"visualVariableOpacity",void 0),t([l(M)],_.prototype,"visualVariableSizeMinMaxValue",void 0),t([l(W)],_.prototype,"visualVariableSizeScaleStops",void 0),t([l(C)],_.prototype,"visualVariableSizeStops",void 0),t([l(P)],_.prototype,"visualVariableSizeUnitValue",void 0),t([i(0,a(q)),i(1,a(v))],_.prototype,"vertex",null),t([i(0,a(A))],_.prototype,"fragment",null);export{F as AntialiasingControls,A as LineFragmentInput,_ as LineShader,q as LineVertexInput,D as getLineAntialiasing,T as getLineFragmentColor,L as getLineVertexData};
5
+ import{_ as t,a as i}from"../../../../../../../chunks/tslib.es6.js";import{location as e,uniform as o,option as l,input as a,UniformGroup as r}from"../../GraphShaderModule.js";import{Vec3 as s,step as n,min as p,max as u,Float as m,Vec4 as d,length as y,clamp as c,Vec2 as f}from"../../graph/glsl.js";import{AFeatureShader as h,BaseHittestVertexInput as v,FeatureVertexInput as w,FeatureFragmentInput as V}from"./AFeatureShader.js";import{thinLineWidthFactor as b,thinLineHalfWidth as S,epsilon as x}from"./constants.js";import{distPointSegment as g}from"./hittestUtils.js";import{VisualVariableColor as j}from"./VisualVariableColor.js";import{VisualVariableOpacity as z}from"./VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as M}from"./VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as W}from"./VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as C}from"./VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as P}from"./VisualVariableSizeUnitValue.js";import{getVisualVariableColor as R,getVisualVariableOpacity as H,hasVisualVariableSize as O,getVisualVariableSize as U}from"./vvUtils.js";class q extends w{}t([e(3,d)],q.prototype,"color",void 0),t([e(4,f)],q.prototype,"offset",void 0),t([e(5,f)],q.prototype,"normal",void 0),t([e(6,m)],q.prototype,"halfWidth",void 0),t([e(7,m)],q.prototype,"referenceHalfWidth",void 0),t([e(8,f)],q.prototype,"zoomRange",void 0);class A extends V{}class F extends r{}function k(t){return u(new m(b).multiply(n(t,new m(S))),new m(1))}function D(t,i){const{halfWidth:e,normal:o}=t,l=k(e),a=y(o).multiply(e);return c(l.multiply(e.subtract(a)).divide(i.add(l).subtract(new m(1))),new m(0),new m(1))}function G(t,i){const{id:e,halfWidth:o,referenceHalfWidth:l}=i;if(O(t)){const i=new m(2).multiply(l),a=U(t,e,i);return new m(.5).multiply(o.divide(u(l,new m(x)))).multiply(a)}return o}function L(t,i){const{id:e,offset:o,pos:l,normal:a,zoomRange:r}=i,{displayViewScreenMat3:p,displayViewMat3:y}=t.view,c=R(t,e,i.color),f=H(t,e),h=G(t,i),v=new m(.5).multiply(t.antialiasingControls.antialiasing),w=u(h.add(v),new m(.45)).add(new m(.1).multiply(v)),V=k(w).multiply(w).multiply(o),b=y.multiply(new s(V,new m(0))),S=p.multiply(new s(l,new m(1))).add(b),x=new m(2).multiply(n(h,new m(0))).add(t.clip(e,r)),g=new d(S.xy,x,1);return{color:c,opacity:f,halfWidth:w,normal:a,scaledOffset:V,scaledHalfWidth:h,glPosition:new d(g.xy,x,1)}}function T(t,i){const{opacity:e,color:o}=t,l=D(t,i);return e.multiply(o).multiply(l)}t([o(m)],F.prototype,"antialiasing",void 0),t([o(m)],F.prototype,"blur",void 0);class _ extends h{constructor(){super(...arguments),this.type="LineShader",this.computeAttributes={pos:["nextPos1","nextPos2"]}}vertex(t,i){const e=L(this,t);return{...e,...this.maybeRunHittest(t,i,e.halfWidth)}}fragment(t){const i=T(t,this.antialiasingControls.blur);return this.getFragmentOutput(i,t)}hittest(t,i,e){const{viewMat3:o,tileMat3:l}=this.view,a=o.multiply(l),r=a.multiply(new s(t.pos,1)),u=a.multiply(new s(i.nextPos1,1)),m=a.multiply(new s(i.nextPos2,1)),{distance:d,smallSymbolDistance:y,smallSymbolSizeThreshold:c}=this.hittestRequest,f=n(e,c.multiply(.5)).multiply(d.subtract(y)),h=this.hittestRequest.position;return p(g(h,r.xy,u.xy),g(h,r.xy,m.xy)).subtract(e).add(f)}}t([o(F)],_.prototype,"antialiasingControls",void 0),t([l(j)],_.prototype,"visualVariableColor",void 0),t([l(z)],_.prototype,"visualVariableOpacity",void 0),t([l(M)],_.prototype,"visualVariableSizeMinMaxValue",void 0),t([l(W)],_.prototype,"visualVariableSizeScaleStops",void 0),t([l(C)],_.prototype,"visualVariableSizeStops",void 0),t([l(P)],_.prototype,"visualVariableSizeUnitValue",void 0),t([i(0,a(q)),i(1,a(v))],_.prototype,"vertex",null),t([i(0,a(A))],_.prototype,"fragment",null);export{F as AntialiasingControls,A as LineFragmentInput,_ as LineShader,q as LineVertexInput,D as getLineAntialiasing,T as getLineFragmentColor,k as getLineThinFactor,L as getLineVertexData};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{and as t,greaterThan as u,Float as n,lessThan as r,cond as i,min as y,not as s,Mat3 as l,Vec3 as c,abs as e,step as a,distance as o,clamp as p,length as x,equal as m,dot as b,normalize as d}from"../../graph/glsl.js";import{epsilonHitTest as w}from"./constants.js";import{cross2 as f}from"./utils.js";function v(t,u){return b(t,d(u))}function j(t,u,r){const i=r.subtract(u),y=v(t.subtract(u),i),s=p(y.divide(x(i)),new n(0),new n(1));return o(t,u.add(s.multiply(r.subtract(u))))}function g(t){const u=e(t);return a(u.x.add(u.y).add(u.z),new n(1.05))}function h(t,u,r,i){const y=new l(r.x.multiply(i.y).subtract(i.x.multiply(r.y)),i.x.multiply(u.y).subtract(u.x.multiply(i.y)),u.x.multiply(r.y).subtract(r.x.multiply(u.y)),r.y.subtract(i.y),i.y.subtract(u.y),u.y.subtract(r.y),i.x.subtract(r.x),u.x.subtract(i.x),r.x.subtract(u.x)),s=u.x.multiply(r.y.subtract(i.y)),e=r.x.multiply(i.y.subtract(u.y)),a=i.x.multiply(u.y.subtract(r.y)),o=s.add(e).add(a);return new n(1).divide(o).multiply(y.multiply(new c(1,t)))}function M(t,u,r,i){return m(g(h(t,u,r,i)),new n(1))}function P(l,c,e,a){const o=e.subtract(c),p=a.subtract(c),x=f(o,p),m=t(r(x,new n(w)),u(x,new n(-.05)));return i([t(s(m),M(l.xy,c,e,a)),new n(-1)],[!0,()=>{const t=j(l,c,e),u=j(l,e,a),n=j(l,a,c);return y(y(t,u),n)}])}function q(t){return t.distance.add(1)}function z(t,u,n){const{viewMat3:r,tileMat3:i}=t.view,y=r.multiply(i),s=y.multiply(new c(u.pos,1)),l=y.multiply(new c(n.nextPos1,1)),e=y.multiply(new c(n.nextPos2,1));return P(t.hittestRequest.position,s.xy,l.xy,e.xy)}function R(t,u,n){return o(t,n).subtract(u)}export{j as distPointSegment,P as distPointTriangle,q as failHittest,z as hittestFill,R as hittestMarker,g as inTriangle,v as projectScalar,h as xyToBarycentric};
5
+ import{clamp as t,Float as u,length as n,distance as r,Vec3 as i,and as y,greaterThan as s,lessThan as l,cond as c,not as e,Mat3 as a,abs as o,step as p,dot as x,normalize as m,equal as b,min as d}from"../../graph/glsl.js";import{epsilonHitTest as w}from"./constants.js";import{cross2 as f}from"./utils.js";function v(t,u){return x(t,m(u))}function j(i,y,s){const l=s.subtract(y),c=v(i.subtract(y),l),e=t(c.divide(n(l)),new u(0),new u(1));return r(i,y.add(e.multiply(s.subtract(y))))}function g(t){const n=o(t);return p(n.x.add(n.y).add(n.z),new u(1.05))}function h(t,n,r,y){const s=new a(r.x.multiply(y.y).subtract(y.x.multiply(r.y)),y.x.multiply(n.y).subtract(n.x.multiply(y.y)),n.x.multiply(r.y).subtract(r.x.multiply(n.y)),r.y.subtract(y.y),y.y.subtract(n.y),n.y.subtract(r.y),y.x.subtract(r.x),n.x.subtract(y.x),r.x.subtract(n.x)),l=n.x.multiply(r.y.subtract(y.y)),c=r.x.multiply(y.y.subtract(n.y)),e=y.x.multiply(n.y.subtract(r.y)),o=l.add(c).add(e);return new u(1).divide(o).multiply(s.multiply(new i(1,t)))}function M(t,n,r,i){return b(g(h(t,n,r,i)),new u(1))}function P(t,n,r,i){const a=r.subtract(n),o=i.subtract(n),p=f(a,o),x=y(l(p,new u(w)),s(p,new u(-.05)));return c([y(e(x),M(t.xy,n,r,i)),new u(-1)],[!0,()=>{const u=j(t,n,r),y=j(t,r,i),s=j(t,i,n);return d(d(u,y),s)}])}function q(t){return t.distance.add(1)}function z(t,u,n){const{viewMat3:r,tileMat3:y}=t.view,s=r.multiply(y),l=s.multiply(new i(u.pos,1)),c=s.multiply(new i(n.nextPos1,1)),e=s.multiply(new i(n.nextPos2,1));return P(t.hittestRequest.position,l.xy,c.xy,e.xy)}function R(t,u,n){return r(t,n).subtract(u)}export{j as distPointSegment,P as distPointTriangle,q as failHittest,z as hittestFill,R as hittestMarker,g as inTriangle,v as projectScalar,h as xyToBarycentric};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{maxHighlightReasons as t}from"../../../definitions.js";import{Float as n,float as r,mod as u,floor as i,greaterThan as c,max as o,vec4 as e,dot as f,equal as s,vec2 as l,fract as m,sin as a,vec3 as p,divide as y}from"../../graph/glsl.js";import{nanMagicNumber as d}from"./constants.js";function b(t){const n=r(12.9898),i=r(78.233),c=r(43758.5453),o=f(t,l(n,i)),e=u(o,r(3.14));return m(a(e).multiply(c))}function w(t){return s(t,r(d))}function x(t){return y(t,r(255))}function j(t,n){return t.x.multiply(n.y).subtract(n.x.multiply(t.y))}function z(t){return t.multiply(2).subtract(1)}function g(t){return t.multiply(.5).add(.5)}function v(t,n){const c=r(2**n);return u(i(t.divide(c)),r(2))}function h(t,n){return c(v(t,n),r(.5))}function k(n,r){return v(n,r+t)}function q(t,n){return v(t,n)}function A(t){const n=v(t.z,7),u=r(1).subtract(n),i=t.xyz.subtract(p(0,0,r(128)));return u.multiply(t).add(n.multiply(i))}function B(t){const n=e(255/256,255/65536,255/16777216,255/4294967296);return f(t,n)}function C(t){return o(o(o(t.x,t.y),t.z),t.w)}function D(t){return new n(1).subtract(t)}function E(t){return t.subtract(new n(1))}function F(t){return new n(1).divide(t)}function G(t,r){return new n(t).subtract(r)}function H(t,r){return t.subtract(new n(r))}export{g as clipToUv,j as cross2,v as getBit,h as getBitBool,k as getFilterBit,q as getHighlightBit,w as isNan,C as max4,E as minusOne,H as minusScalar,x as norm,D as oneMinus,F as oneOver,b as rand,B as rgba2float,G as scalarMinus,A as unpackDisplayIdTexel,z as uvToClip};
5
+ import{maxHighlightReasons as t}from"../../../definitions.js";import{Float as n,greaterThan as r,float as u,max as i,mod as c,floor as o,vec4 as e,dot as f,vec2 as s,fract as l,sin as m,equal as a,vec3 as p,divide as y}from"../../graph/glsl.js";import{nanMagicNumber as d}from"./constants.js";function b(t){const n=u(12.9898),r=u(78.233),i=u(43758.5453),o=f(t,s(n,r)),e=c(o,u(3.14));return l(m(e).multiply(i))}function w(t){return a(t,u(d))}function x(t){return y(t,u(255))}function j(t,n){return t.x.multiply(n.y).subtract(n.x.multiply(t.y))}function z(t){return t.multiply(2).subtract(1)}function g(t){return t.multiply(.5).add(.5)}function v(t,n){const r=u(2**n);return c(o(t.divide(r)),u(2))}function h(t,n){return r(v(t,n),u(.5))}function k(n,r){return v(n,r+t)}function q(t,n){return v(t,n)}function A(t){const n=v(t.z,7),r=u(1).subtract(n),i=t.xyz.subtract(p(0,0,u(128)));return r.multiply(t).add(n.multiply(i))}function B(t){const n=e(255/256,255/65536,255/16777216,255/4294967296);return f(t,n)}function C(t){return i(i(i(t.x,t.y),t.z),t.w)}function D(t){return new n(1).subtract(t)}function E(t){return t.subtract(new n(1))}function F(t){return new n(1).divide(t)}function G(t,r){return new n(t).subtract(r)}function H(t,r){return t.subtract(new n(r))}export{g as clipToUv,j as cross2,v as getBit,h as getBitBool,k as getFilterBit,q as getHighlightBit,w as isNan,C as max4,E as minusOne,H as minusScalar,x as norm,D as oneMinus,F as oneOver,b as rand,B as rgba2float,G as scalarMinus,A as unpackDisplayIdTexel,z as uvToClip};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../Graphic.js";import t from"../../../core/Collection.js";import i from"../../../core/Error.js";import"../../../core/has.js";import s from"../../../core/Logger.js";import{getOrCreateMapValue as r}from"../../../core/MapUtils.js";import{isAbortError as o}from"../../../core/promiseUtils.js";import{watch as n,syncAndInitial as l,on as m}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/RandomLCG.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import c from"../../../geometry/Extent.js";import{create as h}from"../../../geometry/support/aaBoundingRect.js";import{ringsContainsCoords as d}from"../../../geometry/support/contains.js";import{extentIntersectsPolygon as f}from"../../../geometry/support/intersectsBase.js";import{MediaElementView as g}from"../../../layers/support/MediaElementView.js";import"../../../renderers/SimpleRenderer.js";import"../../../symbols/SimpleFillSymbol.js";import"../../../core/scheduling.js";import"../../../core/colorUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../symbols/cim/enums.js";import"../../../core/floatRGBA.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../engine/webgl/definitions.js";import"../engine/webgl/animations/instructions.js";import"../../../symbols/Font.js";import"../../../core/mathUtils.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/Axis.js";import"../../../geometry/support/spatialReferenceUtils.js";import"../../../geometry/support/TileClipper.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectEnclosingPolygon.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectRadial.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectSuppress.js";import"../../../symbols/cim/effects/EffectTaperedPolygon.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../symbols/cim/constants.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/alignmentUtils.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Evented.js";import"../engine/transitions/FadeTransition.js";import"../engine/webgl/enums.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../webgl/enums.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../../webgl/checkWebGLError.js";import"../engine/webgl/DefaultVertexAttributeLayouts.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/MappedMesh.js";import"../engine/webgl/number.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../../webgl/Texture.js";import"../../webgl/FBOAttachmentType.js";import"../engine/vectorTiles/style/StyleDefinition.js";import"../engine/vectorTiles/enums.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/TechniqueType.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../../webgl/FramebufferObject.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../Color.js";import"../engine/webgl/shaderGraph/techniques/shaders/constants.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../arcade/ArcadeDate.js";import"../../../intl/locale.js";import"luxon";import"../../../core/sql/UnknownTimeZone.js";import"../../../layers/support/fieldUtils.js";import"../../../time/constants.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/glsl.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../LabelManager.js";import"./graphics/GraphicsView2D.js";import"../../../chunks/earcut.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtilsCommon.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/support/Ellipsoid.js";import"../../../kernel.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../core/unitUtils.js";import"../../../geometry/ellipsoidUtils.js";import"../../../chunks/pe.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import u from"../tiling/TileQueue.js";import y from"../tiling/TileStrategy.js";import j from"../engine/webgl/Overlay.js";import b from"../engine/webgl/OverlayContainer.js";import{LayerView2DMixin as w}from"./LayerView2D.js";import _ from"../../layers/LayerView.js";import v from"../../layers/MediaLayerView.js";import{TaskPriority as E}from"../../support/Scheduler.js";let G=class extends(w(v(_))){constructor(){super(...arguments),this._overlayContainer=null,this._fetchQueue=null,this._tileStrategy=null,this._elementReferences=new Map,this._debugGraphicsView=null,this._interaction=null,this.layer=null,this.elements=new t}initialize(){this.addHandles([n((()=>[this.interactive,this.suspended]),(async()=>{if(this.interactive&&!this._interaction){const{MediaLayerInteraction:e}=await import("./support/MediaLayerInteraction.js");this._interaction=new e({view:this.view,layer:this.layer}),this.selectedElement!==this._interaction.selectedElement&&(this._interaction.selectedElement=this.selectedElement),this.interactionOptions!==this._interaction.options&&(this._interaction.options=this.interactionOptions)}this._interaction&&(this._interaction.enabled=!this.suspended&&this.interactive)}),l),n((()=>this.interactionOptions),(e=>{this._interaction&&(this._interaction.options=e)}),l),n((()=>this.selectedElement),(e=>{this._interaction&&(this._interaction.selectedElement=e)}),l)])}attach(){this.addAttachHandles([m((()=>this.layer.effectiveSource),"refresh",(()=>{this._tileStrategy.refresh((e=>this._updateTile(e))),this.requestUpdate()})),m((()=>this.layer.effectiveSource),"change",(({element:e})=>this._elementUpdateHandler(e)))]),this._overlayContainer=new b,this.container.addChild(this._overlayContainer),this._fetchQueue=new u({tileInfoView:this.view.featuresTilingScheme,concurrency:10,process:(e,t)=>this._queryElements(e,t),scheduler:this.scheduler,priority:E.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new y({cachePolicy:"purge",resampling:!0,acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme}),this.requestUpdate()}detach(){this.elements.removeAll(),this._tileStrategy.destroy(),this._fetchQueue.destroy(),this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this._elementReferences.clear(),this._debugGraphicsView?.destroy()}supportsSpatialReference(e){return!0}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}update(e){this._tileStrategy.update(e),this._debugGraphicsView?.update(e)}async hitTest(e,t){const i=[],s=e.normalize(),r=[s.x,s.y];for(const{elementView:{normalizedCoords:o,element:n}}of this._elementReferences.values())null!=o&&d(o.rings,r)&&i.push({type:"media",element:n,layer:this.layer,mapPoint:e,sourcePoint:n.toSource(e)});return i.reverse()}canResume(){return null!=this.layer.source&&super.canResume()}async doRefresh(){this._fetchQueue.reset(),this._tileStrategy.refresh((e=>this._updateTile(e)))}_acquireTile(e){const t=new M(e.clone());return this._updateTile(t),t}_updateTile(e){this._updatingHandles.addPromise(this._fetchQueue.push(e.key).then((t=>{const[i,s]=e.setElements(t);this._referenceElements(e,i),this._dereferenceElements(e,s),this.requestUpdate()}),(e=>{o(e)||s.getLogger(this).error(e)})))}_releaseTile(e){this._fetchQueue.abort(e.key.id),e.elements&&this._dereferenceElements(e,e.elements),this.requestUpdate()}async _queryElements(e,t){const i=this.layer.effectiveSource;if(null==i)return[];this.view.featuresTilingScheme.getTileBounds(S,e,!0);const s=new c({xmin:S[0],ymin:S[1],xmax:S[2],ymax:S[3],spatialReference:this.view.spatialReference});return i.queryElements(s,t)}_referenceElements(e,t){if(null!=this.layer.source)for(const i of t)this._referenceElement(e,i)}_referenceElement(e,t){r(this._elementReferences,t.uid,(()=>{const e=new g({element:t,spatialReference:this.view.spatialReference}),r=new j(e);return this._overlayContainer.addChild(r),this.elements.add(t),this._updatingHandles.addPromise(t.load().catch((e=>{s.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new i("element-load-error","Element cannot be displayed",{element:t,error:e}))}))),{debugGraphic:null,elementView:e,overlay:r,tiles:new Set}})).tiles.add(e)}_dereferenceElements(e,t){for(const i of t)this._dereferenceElement(e,i)}_dereferenceElement(e,t){const i=this._elementReferences.get(t.uid);i.tiles.delete(e),i.tiles.size||(this._overlayContainer.removeChild(i.overlay),i.overlay.destroy(),i.elementView.destroy(),this._elementReferences.delete(t.uid),this.elements.remove(t),this._debugGraphicsView?.graphics.remove(i.debugGraphic))}_elementUpdateHandler(e){let t=this._elementReferences.get(e.uid);if(t){const i=t.elementView.normalizedCoords;if(null==i)return this._overlayContainer.removeChild(t.overlay),t.overlay.destroy(),t.elementView.destroy(),this._elementReferences.delete(e.uid),this.elements.remove(e),void this._debugGraphicsView?.graphics.remove(t.debugGraphic);const s=[],r=[];for(const e of this._tileStrategy.tiles){const o=T(this.view.featuresTilingScheme,e,i);t.tiles.has(e)?o||r.push(e):o&&s.push(e)}for(const t of s)this._referenceElement(t,e);for(const t of r)this._dereferenceElement(t,e);return t=this._elementReferences.get(e.uid),void(t?.debugGraphic&&(t.debugGraphic.geometry=t.elementView.normalizedCoords,this._debugGraphicsView.graphicUpdateHandler({graphic:t.debugGraphic,property:"geometry"})))}const i=new g({element:e,spatialReference:this.view.spatialReference}).normalizedCoords;if(null!=i)for(const s of this._tileStrategy.tiles){T(this.view.featuresTilingScheme,s,i)&&this._referenceElement(s,e)}}};e([a()],G.prototype,"layer",void 0),e([a({readOnly:!0})],G.prototype,"elements",void 0),G=e([p("esri.views.2d.layers.MediaLayerView2D")],G);const S=h(),q={xmin:0,ymin:0,xmax:0,ymax:0};function T(e,t,i){return e.getTileBounds(S,t.key,!0),q.xmin=S[0],q.ymin=S[1],q.xmax=S[2],q.ymax=S[3],f(q,i)}class M{constructor(e){this.key=e,this.elements=null,this.isReady=!1,this.visible=!0}setElements(e){const t=[],i=new Set(this.elements);this.elements=e;for(const s of e)i.has(s)?i.delete(s):t.push(s);return this.isReady=!0,[t,Array.from(i)]}destroy(){}}const C=G;export{C as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import"../../../Graphic.js";import t from"../../../core/Collection.js";import i from"../../../core/Error.js";import"../../../core/has.js";import s from"../../../core/Logger.js";import{getOrCreateMapValue as r}from"../../../core/MapUtils.js";import{isAbortError as o}from"../../../core/promiseUtils.js";import{watch as n,syncAndInitial as l,on as m}from"../../../core/reactiveUtils.js";import{property as a}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/RandomLCG.js";import{subclass as p}from"../../../core/accessorSupport/decorators/subclass.js";import c from"../../../geometry/Extent.js";import{create as h}from"../../../geometry/support/aaBoundingRect.js";import{ringsContainsCoords as d}from"../../../geometry/support/contains.js";import{extentIntersectsPolygon as f}from"../../../geometry/support/intersectsBase.js";import{MediaElementView as g}from"../../../layers/support/MediaElementView.js";import"../../../renderers/SimpleRenderer.js";import"../../../symbols/SimpleFillSymbol.js";import"../../../core/scheduling.js";import"../../../core/colorUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../symbols/cim/enums.js";import"../../../core/floatRGBA.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../engine/webgl/definitions.js";import"../engine/webgl/animations/instructions.js";import"../../../symbols/Font.js";import"../../../core/mathUtils.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/Axis.js";import"../../../geometry/support/spatialReferenceUtils.js";import"../../../geometry/support/TileClipper.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectEnclosingPolygon.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectRadial.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectSuppress.js";import"../../../symbols/cim/effects/EffectTaperedPolygon.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../symbols/cim/constants.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/alignmentUtils.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Evented.js";import"../engine/transitions/FadeTransition.js";import"../engine/webgl/enums.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../webgl/enums.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../../webgl/checkWebGLError.js";import"../engine/webgl/DefaultVertexAttributeLayouts.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/MappedMesh.js";import"../engine/webgl/number.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../../webgl/Texture.js";import"../../webgl/FBOAttachmentType.js";import"../engine/vectorTiles/style/StyleDefinition.js";import"../engine/vectorTiles/enums.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/TechniqueType.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../../webgl/FramebufferObject.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../Color.js";import"../engine/webgl/shaderGraph/techniques/animated/attributes.js";import"../engine/webgl/shaderGraph/techniques/shaders/constants.js";import"../engine/webgl/mesh/templates/templateUtils.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../arcade/ArcadeDate.js";import"../../../intl/locale.js";import"luxon";import"../../../core/sql/UnknownTimeZone.js";import"../../../layers/support/fieldUtils.js";import"../../../time/constants.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/glsl.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../LabelManager.js";import"./graphics/GraphicsView2D.js";import"../../../chunks/earcut.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtilsCommon.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/support/Ellipsoid.js";import"../../../kernel.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../core/unitUtils.js";import"../../../geometry/ellipsoidUtils.js";import"../../../chunks/pe.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import"../tiling/TileInfoView.js";import"../tiling/TileKey.js";import u from"../tiling/TileQueue.js";import j from"../tiling/TileStrategy.js";import y from"../engine/webgl/Overlay.js";import b from"../engine/webgl/OverlayContainer.js";import{LayerView2DMixin as w}from"./LayerView2D.js";import _ from"../../layers/LayerView.js";import v from"../../layers/MediaLayerView.js";import{TaskPriority as E}from"../../support/Scheduler.js";let G=class extends(w(v(_))){constructor(){super(...arguments),this._overlayContainer=null,this._fetchQueue=null,this._tileStrategy=null,this._elementReferences=new Map,this._debugGraphicsView=null,this._interaction=null,this.layer=null,this.elements=new t}initialize(){this.addHandles([n((()=>[this.interactive,this.suspended]),(async()=>{if(this.interactive&&!this._interaction){const{MediaLayerInteraction:e}=await import("./support/MediaLayerInteraction.js");this._interaction=new e({view:this.view,layer:this.layer}),this.selectedElement!==this._interaction.selectedElement&&(this._interaction.selectedElement=this.selectedElement),this.interactionOptions!==this._interaction.options&&(this._interaction.options=this.interactionOptions)}this._interaction&&(this._interaction.enabled=!this.suspended&&this.interactive)}),l),n((()=>this.interactionOptions),(e=>{this._interaction&&(this._interaction.options=e)}),l),n((()=>this.selectedElement),(e=>{this._interaction&&(this._interaction.selectedElement=e)}),l)])}attach(){this.addAttachHandles([m((()=>this.layer.effectiveSource),"refresh",(()=>{this._tileStrategy.refresh((e=>this._updateTile(e))),this.requestUpdate()})),m((()=>this.layer.effectiveSource),"change",(({element:e})=>this._elementUpdateHandler(e)))]),this._overlayContainer=new b,this.container.addChild(this._overlayContainer),this._fetchQueue=new u({tileInfoView:this.view.featuresTilingScheme,concurrency:10,process:(e,t)=>this._queryElements(e,t),scheduler:this.scheduler,priority:E.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new j({cachePolicy:"purge",resampling:!0,acquireTile:e=>this._acquireTile(e),releaseTile:e=>this._releaseTile(e),tileInfoView:this.view.featuresTilingScheme}),this.requestUpdate()}detach(){this.elements.removeAll(),this._tileStrategy.destroy(),this._fetchQueue.destroy(),this._overlayContainer.removeAllChildren(),this.container.removeAllChildren(),this._elementReferences.clear(),this._debugGraphicsView?.destroy()}supportsSpatialReference(e){return!0}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}update(e){this._tileStrategy.update(e),this._debugGraphicsView?.update(e)}async hitTest(e,t){const i=[],s=e.normalize(),r=[s.x,s.y];for(const{elementView:{normalizedCoords:o,element:n}}of this._elementReferences.values())null!=o&&d(o.rings,r)&&i.push({type:"media",element:n,layer:this.layer,mapPoint:e,sourcePoint:n.toSource(e)});return i.reverse()}canResume(){return null!=this.layer.source&&super.canResume()}async doRefresh(){this._fetchQueue.reset(),this._tileStrategy.refresh((e=>this._updateTile(e)))}_acquireTile(e){const t=new M(e.clone());return this._updateTile(t),t}_updateTile(e){this._updatingHandles.addPromise(this._fetchQueue.push(e.key).then((t=>{const[i,s]=e.setElements(t);this._referenceElements(e,i),this._dereferenceElements(e,s),this.requestUpdate()}),(e=>{o(e)||s.getLogger(this).error(e)})))}_releaseTile(e){this._fetchQueue.abort(e.key.id),e.elements&&this._dereferenceElements(e,e.elements),this.requestUpdate()}async _queryElements(e,t){const i=this.layer.effectiveSource;if(null==i)return[];this.view.featuresTilingScheme.getTileBounds(S,e,!0);const s=new c({xmin:S[0],ymin:S[1],xmax:S[2],ymax:S[3],spatialReference:this.view.spatialReference});return i.queryElements(s,t)}_referenceElements(e,t){if(null!=this.layer.source)for(const i of t)this._referenceElement(e,i)}_referenceElement(e,t){r(this._elementReferences,t.uid,(()=>{const e=new g({element:t,spatialReference:this.view.spatialReference}),r=new y(e);return this._overlayContainer.addChild(r),this.elements.add(t),this._updatingHandles.addPromise(t.load().catch((e=>{s.getLogger("esri.views.2d.layers.MediaLayerView2D").error(new i("element-load-error","Element cannot be displayed",{element:t,error:e}))}))),{debugGraphic:null,elementView:e,overlay:r,tiles:new Set}})).tiles.add(e)}_dereferenceElements(e,t){for(const i of t)this._dereferenceElement(e,i)}_dereferenceElement(e,t){const i=this._elementReferences.get(t.uid);i.tiles.delete(e),i.tiles.size||(this._overlayContainer.removeChild(i.overlay),i.overlay.destroy(),i.elementView.destroy(),this._elementReferences.delete(t.uid),this.elements.remove(t),this._debugGraphicsView?.graphics.remove(i.debugGraphic))}_elementUpdateHandler(e){let t=this._elementReferences.get(e.uid);if(t){const i=t.elementView.normalizedCoords;if(null==i)return this._overlayContainer.removeChild(t.overlay),t.overlay.destroy(),t.elementView.destroy(),this._elementReferences.delete(e.uid),this.elements.remove(e),void this._debugGraphicsView?.graphics.remove(t.debugGraphic);const s=[],r=[];for(const e of this._tileStrategy.tiles){const o=T(this.view.featuresTilingScheme,e,i);t.tiles.has(e)?o||r.push(e):o&&s.push(e)}for(const t of s)this._referenceElement(t,e);for(const t of r)this._dereferenceElement(t,e);return t=this._elementReferences.get(e.uid),void(t?.debugGraphic&&(t.debugGraphic.geometry=t.elementView.normalizedCoords,this._debugGraphicsView.graphicUpdateHandler({graphic:t.debugGraphic,property:"geometry"})))}const i=new g({element:e,spatialReference:this.view.spatialReference}).normalizedCoords;if(null!=i)for(const s of this._tileStrategy.tiles){T(this.view.featuresTilingScheme,s,i)&&this._referenceElement(s,e)}}};e([a()],G.prototype,"layer",void 0),e([a({readOnly:!0})],G.prototype,"elements",void 0),G=e([p("esri.views.2d.layers.MediaLayerView2D")],G);const S=h(),q={xmin:0,ymin:0,xmax:0,ymax:0};function T(e,t,i){return e.getTileBounds(S,t.key,!0),q.xmin=S[0],q.ymin=S[1],q.xmax=S[2],q.ymax=S[3],f(q,i)}class M{constructor(e){this.key=e,this.elements=null,this.isReady=!1,this.visible=!0}setElements(e){const t=[],i=new Set(this.elements);this.elements=e;for(const s of e)i.has(s)?i.delete(s):t.push(s);return this.isReady=!0,[t,Array.from(i)]}destroy(){}}const C=G;export{C as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import{makeHandle as i}from"../../../core/handleUtils.js";import t from"../../../core/Logger.js";import{isAbortError as s,waitTick as r}from"../../../core/promiseUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{equals as h}from"../../../geometry/support/spatialReferenceUtils.js";import{GraphicsCollection as a}from"../../../support/GraphicsCollection.js";import"../../../core/Error.js";import"../../../core/scheduling.js";import"../../../core/colorUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../symbols/cim/enums.js";import"../../../core/floatRGBA.js";import"../../../geometry/Extent.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../engine/webgl/definitions.js";import"../engine/webgl/animations/instructions.js";import"../../../core/mathUtils.js";import"../../../symbols/Font.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/Axis.js";import"../../../geometry/support/TileClipper.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectEnclosingPolygon.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectRadial.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectSuppress.js";import"../../../symbols/cim/effects/EffectTaperedPolygon.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../symbols/cim/constants.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/alignmentUtils.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Evented.js";import"../engine/transitions/FadeTransition.js";import"../engine/webgl/enums.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../webgl/enums.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../../webgl/checkWebGLError.js";import"../engine/webgl/DefaultVertexAttributeLayouts.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/MappedMesh.js";import"../engine/webgl/number.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../../webgl/Texture.js";import"../../webgl/FBOAttachmentType.js";import"../engine/vectorTiles/style/StyleDefinition.js";import"../engine/vectorTiles/enums.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/TechniqueType.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../../webgl/FramebufferObject.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../Color.js";import"../engine/webgl/shaderGraph/techniques/shaders/constants.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../arcade/ArcadeDate.js";import"../../../intl/locale.js";import"luxon";import"../../../core/sql/UnknownTimeZone.js";import"../../../layers/support/fieldUtils.js";import"../../../time/constants.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/glsl.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../LabelManager.js";import p from"./graphics/GraphicsView2D.js";import"../../../core/accessorSupport/watch.js";import"../../../core/accessorSupport/tracking/SimpleTrackingTarget.js";import"../../../chunks/earcut.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtilsCommon.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/support/Ellipsoid.js";import"../../../kernel.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../core/unitUtils.js";import"../../../geometry/ellipsoidUtils.js";import"../../../chunks/pe.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import{BitmapTileLayerView2D as n}from"./BitmapTileLayerView2D.js";import{LayerView2DMixin as m}from"./LayerView2D.js";import c from"./graphics/HighlightGraphicContainer.js";import{createBlankImage as g,resampleImage as f}from"./support/imageUtils.js";import u from"../tiling/TileInfoView.js";import d from"../tiling/TileKey.js";import j from"../tiling/TileQueue.js";import y from"../tiling/TileStrategy.js";import w from"../../layers/LayerView.js";import b from"../../layers/RefreshableLayerView.js";import{getHighlightGraphics as _}from"../../layers/support/highlightUtils.js";import{isMapServiceLayerView as T,MapServiceLayerViewHelper as G}from"../../layers/support/MapServiceLayerViewHelper.js";import{createQueryGeometry as q}from"../../support/drapedUtils.js";import{defaultHighlightName as V}from"../../support/HighlightDefaults.js";import{TaskPriority as v}from"../../support/Scheduler.js";const I=[0,0];let P=class extends(b(n(m(w)))){constructor(){super(...arguments),this._fetchQueue=null,this._highlightGraphics=new a,this._highlightView=null,this._popupHighlightHelper=null,this._tileStrategy=null,this.layer=null}get resampling(){return!("resampling"in this.layer)||!1!==this.layer.resampling}get tilemapCache(){return"tilemapCache"in this.layer?this.layer.tilemapCache:null}update(e){this._fetchQueue.pause(),this._fetchQueue.state=e.state,this._tileStrategy.update(e),this._fetchQueue.resume(),this._highlightView?.processUpdate(e)}attach(){const e="tileServers"in this.layer?this.layer.tileServers:null,i=this.tilemapCache;if(this._tileInfoView=new u(this.layer.tileInfo,this.layer.fullExtent,i?.effectiveMinLOD,i?.effectiveMaxLOD),this._fetchQueue=new j({tileInfoView:this._tileInfoView,concurrency:e&&10*e.length||10,process:(e,i)=>this.fetchTile(e,i),scheduler:this.scheduler,priority:v.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new y({cachePolicy:"keep",resampling:this.resampling,acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView}),T(this,this.layer)){const e=this._highlightView=new p({view:this.view,graphics:this._highlightGraphics,requestUpdateCallback:()=>this.requestUpdate(),container:new c(this.view.featuresTilingScheme),defaultPointSymbolEnabled:!1});this.container.addChild(this._highlightView.container),this._popupHighlightHelper=new G({createFetchPopupFeaturesQueryGeometry:(e,i)=>q(e,i,this.view),highlightGraphics:this._highlightGraphics,highlightGraphicUpdated:({graphic:i,property:t})=>e.graphicUpdateHandler({graphic:i,property:t}),layerView:this,updatingHandles:this._updatingHandles})}this.requestUpdate(),this.addAttachHandles(this._updatingHandles.add((()=>this.resampling),(()=>{this.doRefresh()}))),super.attach()}detach(){super.detach(),this._tileStrategy.destroy(),this._fetchQueue.clear(),this.container.removeAllChildren(),this._popupHighlightHelper?.destroy(),this._highlightView?.destroy(),this._fetchQueue=this._tileStrategy=this._tileInfoView=this._popupHighlightHelper=null}async fetchPopupFeaturesAtLocation(e,i){return this._popupHighlightHelper?this._popupHighlightHelper.fetchPopupFeaturesAtLocation(e,i):[]}highlight(e,t){const s=_(e);if(0===s.length)return i();const r=t?.name??V;return this._addHighlightGraphics(s,r),i((()=>!this.destroyed&&this._removeHighlightGraphics(s,r)))}_processHighlight(){const e=this._getHighlights();this._highlightView?.setHighlight(e)}_addHighlightGraphics(e,i){this._highlightGraphics.addMany(e),this._addHighlights(e.map((e=>e.uid)),i)}_removeHighlightGraphics(e,i){this._highlightGraphics.removeMany(e),this._removeHighlights(e.map((e=>e.uid)),i)}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}supportsSpatialReference(e){return h(this.layer.tileInfo?.spatialReference,e)}async doRefresh(){if(this.attached){if(this.suspended)return this._tileStrategy.clear(),void this.requestUpdate();this._fetchQueue.reset(),this._tileStrategy.refresh((e=>this._updatingHandles.addPromise(this._enqueueTileFetch(e))))}}acquireTile(e){const i=this._bitmapView.createTile(e),t=i.bitmap;return[t.x,t.y]=this._tileInfoView.getTileCoords(I,i.key),t.resolution=this._tileInfoView.getTileResolution(i.key),[t.width,t.height]=this._tileInfoView.tileInfo.size,this._updatingHandles.addPromise(this._enqueueTileFetch(i)),this._bitmapView.addChild(i),this.requestUpdate(),i}releaseTile(e){this._fetchQueue.abort(e.key.id),this._bitmapView.removeChild(e),e.once("detach",(()=>e.destroy())),this.requestUpdate()}async fetchTile(e,i={}){return this.tilemapCache?this._fetchTileWithTilemapCache(e,i):this._fetchTileWithoutTilemapCache(e,i)}async _fetchTileWithoutTilemapCache(e,i={}){const{signal:t,resamplingLevel:r=0}=i;try{return await this._fetchImage(e,t)}catch(o){if(s(o))throw o;if(!this.resampling)return g(this._tileInfoView.tileInfo.size);if(r<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){const s=new d(t),o=await this._fetchTileWithoutTilemapCache(s,{...i,resamplingLevel:r+1});return f(this._tileInfoView,o,s,e)}}return g(this._tileInfoView.tileInfo.size)}}async _fetchTileWithTilemapCache(e,i={}){const t=this.tilemapCache,{signal:o,resamplingLevel:l=0}=i,h=new d(0,0,0,0);let a,p=null;try{if(p=await t.fetchAvailabilityUpsample(e.level,e.row,e.col,h,{signal:o}),!this.resampling&&h.level!==e.level)return await r(i),g(this._tileInfoView.tileInfo.size);a=await this._fetchImage(h,o)}catch(n){if(s(n))throw n;if(this.resampling&&"unknown"===p&&l<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){h.set(t);try{a=await this._fetchTileWithTilemapCache(h,{...i,resamplingLevel:l+1})}catch{}}}}return a?this.resampling?f(this._tileInfoView,a,h,e):a:g(this._tileInfoView.tileInfo.size)}async _enqueueTileFetch(e){if(!this._fetchQueue.has(e.key.id)){try{const i=await this._fetchQueue.push(e.key);e.bitmap.source=i,e.bitmap.width=this._tileInfoView.tileInfo.size[0],e.bitmap.height=this._tileInfoView.tileInfo.size[1],e.once("attach",(()=>this.requestUpdate()))}catch(i){s(i)||t.getLogger(this).error(i)}this.requestUpdate()}}async _fetchImage(e,i){return this.layer.fetchImageBitmapTile(e.level,e.row,e.col,{signal:i})}};e([o()],P.prototype,"resampling",null),e([o()],P.prototype,"tilemapCache",null),P=e([l("esri.views.2d.layers.TileLayerView2D")],P);const C=P;export{C as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import{makeHandle as i}from"../../../core/handleUtils.js";import t from"../../../core/Logger.js";import{isAbortError as s,waitTick as r}from"../../../core/promiseUtils.js";import{property as o}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/RandomLCG.js";import{subclass as l}from"../../../core/accessorSupport/decorators/subclass.js";import{equals as h}from"../../../geometry/support/spatialReferenceUtils.js";import{GraphicsCollection as a}from"../../../support/GraphicsCollection.js";import"../../../core/Error.js";import"../../../core/scheduling.js";import"../../../core/colorUtils.js";import"../../../config.js";import"../../../symbols/cim/defaultCIMValues.js";import"../../../symbols/cim/enums.js";import"../../../core/floatRGBA.js";import"../../../geometry/Extent.js";import"../../../geometry/Geometry.js";import"../../../geometry/Multipoint.js";import"../../../geometry/Point.js";import"../../../geometry/Polygon.js";import"../../../geometry/Polyline.js";import"../engine/webgl/definitions.js";import"../engine/webgl/animations/instructions.js";import"../../../core/mathUtils.js";import"../../../symbols/Font.js";import"../../../core/ObjectPool.js";import"../../../geometry/support/Axis.js";import"../../../geometry/support/TileClipper.js";import"../../../symbols/cim/effects/EffectAddControlPoints.js";import"../../../symbols/cim/effects/EffectArrow.js";import"../../../symbols/cim/effects/EffectBuffer.js";import"../../../symbols/cim/effects/EffectControlMeasureLine.js";import"../../../symbols/cim/effects/EffectCut.js";import"../../../symbols/cim/effects/EffectDashes.js";import"../../../symbols/cim/effects/EffectDonut.js";import"../../../symbols/cim/effects/EffectEnclosingPolygon.js";import"../../../symbols/cim/effects/EffectJog.js";import"../../../symbols/cim/effects/EffectMove.js";import"../../../symbols/cim/effects/EffectOffset.js";import"../../../symbols/cim/effects/EffectRadial.js";import"../../../symbols/cim/effects/EffectReverse.js";import"../../../symbols/cim/effects/EffectRotate.js";import"../../../symbols/cim/effects/EffectScale.js";import"../../../symbols/cim/effects/EffectSuppress.js";import"../../../symbols/cim/effects/EffectTaperedPolygon.js";import"../../../symbols/cim/effects/EffectWave.js";import"../../../symbols/cim/placements/PlacementAlongLineSameSize.js";import"../../../symbols/cim/placements/PlacementAtExtremities.js";import"../../../symbols/cim/placements/PlacementAtRatioPositions.js";import"../../../symbols/cim/placements/PlacementInsidePolygon.js";import"../../../symbols/cim/placements/PlacementOnLine.js";import"../../../symbols/cim/placements/PlacementOnVertices.js";import"../../../symbols/cim/placements/PlacementPolygonCenter.js";import"../../../symbols/cim/constants.js";import"../../../core/libs/gl-matrix-2/factories/vec2f32.js";import"../engine/webgl/alignmentUtils.js";import"../../../symbols/support/defaults.js";import"../../../symbols/cim/OverrideHelper.js";import"../../../layers/effects/EffectView.js";import"../../../core/Evented.js";import"../engine/transitions/FadeTransition.js";import"../engine/webgl/enums.js";import"../../../core/libs/gl-matrix-2/factories/vec4f32.js";import"../../webgl/enums.js";import"../engine/webgl/shaders/BackgroundPrograms.js";import"../../webgl/checkWebGLError.js";import"../engine/webgl/DefaultVertexAttributeLayouts.js";import"../engine/webgl/AFeatureTile.js";import"../engine/webgl/DisplayEntity.js";import"../engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js";import"../engine/webgl/cpuMapped/MappedMesh.js";import"../engine/webgl/number.js";import"../engine/webgl/shaders/TileInfoPrograms.js";import"../../webgl/Texture.js";import"../../webgl/FBOAttachmentType.js";import"../engine/vectorTiles/style/StyleDefinition.js";import"../engine/vectorTiles/enums.js";import"../engine/webgl/shaders/BitBlitPrograms.js";import"../../../request.js";import"../../../core/urlUtils.js";import"../../../core/pbf.js";import"../engine/webgl/shaders/StencilPrograms.js";import"../engine/webgl/shaderGraph/techniques/TechniqueType.js";import"../engine/webgl/shaderGraph/techniques/shaders/BlendShader.js";import"../engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js";import"../engine/webgl/shaders/HighlightPrograms.js";import"../../webgl/FramebufferObject.js";import"../engine/webgl/meshing/SimpleMesh.js";import"../engine/webgl/PooledUint32Array.js";import"../engine/webgl/Profiler.js";import"../engine/webgl/shaderGraph/techniques/TechniqueRegistry.js";import"../../../Color.js";import"../engine/webgl/shaderGraph/techniques/animated/attributes.js";import"../engine/webgl/shaderGraph/techniques/shaders/constants.js";import"../engine/webgl/mesh/templates/templateUtils.js";import"../engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/dotDensity/DotDensityMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/OutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/heatmap/HeatmapMeshWriter.js";import"../../../geometry/support/aaBoundingBox.js";import"../engine/webgl/shaderGraph/techniques/text/TextMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js";import"../engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js";import"../../../arcade/ArcadeDate.js";import"../../../intl/locale.js";import"luxon";import"../../../core/sql/UnknownTimeZone.js";import"../../../layers/support/fieldUtils.js";import"../../../time/constants.js";import"../engine/webgl/shaderGraph/techniques/pieChart/PieChartMeshWriter.js";import"../../webgl/renderState.js";import"../../3d/webgl-engine/core/shaderModules/glsl.js";import"../../webgl/testSVGPremultipliedAlpha.js";import"../LabelManager.js";import n from"./graphics/GraphicsView2D.js";import"../../../core/accessorSupport/watch.js";import"../../../core/accessorSupport/tracking/SimpleTrackingTarget.js";import"../../../chunks/earcut.js";import"../../../core/libs/gl-matrix-2/factories/vec3f32.js";import"../../../geometry/support/normalizeUtilsCommon.js";import"../../../geometry/SpatialReference.js";import"../../../geometry/support/Ellipsoid.js";import"../../../kernel.js";import"./support/util.js";import"../navigation/MapViewNavigation.js";import"../../../core/asyncUtils.js";import"../../../core/support/UpdatingHandles.js";import"../engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js";import"../../../core/unitUtils.js";import"../../../geometry/ellipsoidUtils.js";import"../../../chunks/pe.js";import"../../../geometry/projection/projectors.js";import"../engine/webgl/shaderGraph/techniques/shaders/GridShader.js";import"../../../geometry/support/geodesicConstants.js";import{BitmapTileLayerView2D as p}from"./BitmapTileLayerView2D.js";import{LayerView2DMixin as m}from"./LayerView2D.js";import c from"./graphics/HighlightGraphicContainer.js";import{createBlankImage as g,resampleImage as f}from"./support/imageUtils.js";import u from"../tiling/TileInfoView.js";import d from"../tiling/TileKey.js";import j from"../tiling/TileQueue.js";import y from"../tiling/TileStrategy.js";import w from"../../layers/LayerView.js";import b from"../../layers/RefreshableLayerView.js";import{getHighlightGraphics as _}from"../../layers/support/highlightUtils.js";import{isMapServiceLayerView as T,MapServiceLayerViewHelper as G}from"../../layers/support/MapServiceLayerViewHelper.js";import{createQueryGeometry as q}from"../../support/drapedUtils.js";import{defaultHighlightName as V}from"../../support/HighlightDefaults.js";import{TaskPriority as v}from"../../support/Scheduler.js";const I=[0,0];let P=class extends(b(p(m(w)))){constructor(){super(...arguments),this._fetchQueue=null,this._highlightGraphics=new a,this._highlightView=null,this._popupHighlightHelper=null,this._tileStrategy=null,this.layer=null}get resampling(){return!("resampling"in this.layer)||!1!==this.layer.resampling}get tilemapCache(){return"tilemapCache"in this.layer?this.layer.tilemapCache:null}update(e){this._fetchQueue.pause(),this._fetchQueue.state=e.state,this._tileStrategy.update(e),this._fetchQueue.resume(),this._highlightView?.processUpdate(e)}attach(){const e="tileServers"in this.layer?this.layer.tileServers:null,i=this.tilemapCache;if(this._tileInfoView=new u(this.layer.tileInfo,this.layer.fullExtent,i?.effectiveMinLOD,i?.effectiveMaxLOD),this._fetchQueue=new j({tileInfoView:this._tileInfoView,concurrency:e&&10*e.length||10,process:(e,i)=>this.fetchTile(e,i),scheduler:this.scheduler,priority:v.MAPVIEW_FETCH_QUEUE}),this._tileStrategy=new y({cachePolicy:"keep",resampling:this.resampling,acquireTile:e=>this.acquireTile(e),releaseTile:e=>this.releaseTile(e),tileInfoView:this._tileInfoView}),T(this,this.layer)){const e=this._highlightView=new n({view:this.view,graphics:this._highlightGraphics,requestUpdateCallback:()=>this.requestUpdate(),container:new c(this.view.featuresTilingScheme),defaultPointSymbolEnabled:!1});this.container.addChild(this._highlightView.container),this._popupHighlightHelper=new G({createFetchPopupFeaturesQueryGeometry:(e,i)=>q(e,i,this.view),highlightGraphics:this._highlightGraphics,highlightGraphicUpdated:({graphic:i,property:t})=>e.graphicUpdateHandler({graphic:i,property:t}),layerView:this,updatingHandles:this._updatingHandles})}this.requestUpdate(),this.addAttachHandles(this._updatingHandles.add((()=>this.resampling),(()=>{this.doRefresh()}))),super.attach()}detach(){super.detach(),this._tileStrategy.destroy(),this._fetchQueue.clear(),this.container.removeAllChildren(),this._popupHighlightHelper?.destroy(),this._highlightView?.destroy(),this._fetchQueue=this._tileStrategy=this._tileInfoView=this._popupHighlightHelper=null}async fetchPopupFeaturesAtLocation(e,i){return this._popupHighlightHelper?this._popupHighlightHelper.fetchPopupFeaturesAtLocation(e,i):[]}highlight(e,t){const s=_(e);if(0===s.length)return i();const r=t?.name??V;return this._addHighlightGraphics(s,r),i((()=>!this.destroyed&&this._removeHighlightGraphics(s,r)))}_processHighlight(){const e=this._getHighlights();this._highlightView?.setHighlight(e)}_addHighlightGraphics(e,i){this._highlightGraphics.addMany(e),this._addHighlights(e.map((e=>e.uid)),i)}_removeHighlightGraphics(e,i){this._highlightGraphics.removeMany(e),this._removeHighlights(e.map((e=>e.uid)),i)}viewChange(){this.requestUpdate()}moveEnd(){this.requestUpdate()}supportsSpatialReference(e){return h(this.layer.tileInfo?.spatialReference,e)}async doRefresh(){if(this.attached){if(this.suspended)return this._tileStrategy.clear(),void this.requestUpdate();this._fetchQueue.reset(),this._tileStrategy.refresh((e=>this._updatingHandles.addPromise(this._enqueueTileFetch(e))))}}acquireTile(e){const i=this._bitmapView.createTile(e),t=i.bitmap;return[t.x,t.y]=this._tileInfoView.getTileCoords(I,i.key),t.resolution=this._tileInfoView.getTileResolution(i.key),[t.width,t.height]=this._tileInfoView.tileInfo.size,this._updatingHandles.addPromise(this._enqueueTileFetch(i)),this._bitmapView.addChild(i),this.requestUpdate(),i}releaseTile(e){this._fetchQueue.abort(e.key.id),this._bitmapView.removeChild(e),e.once("detach",(()=>e.destroy())),this.requestUpdate()}async fetchTile(e,i={}){return this.tilemapCache?this._fetchTileWithTilemapCache(e,i):this._fetchTileWithoutTilemapCache(e,i)}async _fetchTileWithoutTilemapCache(e,i={}){const{signal:t,resamplingLevel:r=0}=i;try{return await this._fetchImage(e,t)}catch(o){if(s(o))throw o;if(!this.resampling)return g(this._tileInfoView.tileInfo.size);if(r<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){const s=new d(t),o=await this._fetchTileWithoutTilemapCache(s,{...i,resamplingLevel:r+1});return f(this._tileInfoView,o,s,e)}}return g(this._tileInfoView.tileInfo.size)}}async _fetchTileWithTilemapCache(e,i={}){const t=this.tilemapCache,{signal:o,resamplingLevel:l=0}=i,h=new d(0,0,0,0);let a,n=null;try{if(n=await t.fetchAvailabilityUpsample(e.level,e.row,e.col,h,{signal:o}),!this.resampling&&h.level!==e.level)return await r(i),g(this._tileInfoView.tileInfo.size);a=await this._fetchImage(h,o)}catch(p){if(s(p))throw p;if(this.resampling&&"unknown"===n&&l<3){const t=this._tileInfoView.getTileParentId(e.id);if(t){h.set(t);try{a=await this._fetchTileWithTilemapCache(h,{...i,resamplingLevel:l+1})}catch{}}}}return a?this.resampling?f(this._tileInfoView,a,h,e):a:g(this._tileInfoView.tileInfo.size)}async _enqueueTileFetch(e){if(!this._fetchQueue.has(e.key.id)){try{const i=await this._fetchQueue.push(e.key);e.bitmap.source=i,e.bitmap.width=this._tileInfoView.tileInfo.size[0],e.bitmap.height=this._tileInfoView.tileInfo.size[1],e.once("attach",(()=>this.requestUpdate()))}catch(i){s(i)||t.getLogger(this).error(i)}this.requestUpdate()}}async _fetchImage(e,i){return this.layer.fetchImageBitmapTile(e.level,e.row,e.col,{signal:i})}};e([o()],P.prototype,"resampling",null),e([o()],P.prototype,"tilemapCache",null),P=e([l("esri.views.2d.layers.TileLayerView2D")],P);const C=P;export{C as default};