@arcgis/core 5.1.0-next.127 → 5.1.0-next.128

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 (289) hide show
  1. package/applications/Urban/editingSessionUtils.js +1 -1
  2. package/arcade/featureSetUtils.js +1 -1
  3. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  4. package/arcade/featureset/sources/FeatureLayerParquet.js +2 -0
  5. package/arcade/featureset/support/FeatureSet.js +1 -1
  6. package/arcade/featureset/support/shared.js +1 -1
  7. package/arcade.d.ts +2 -1
  8. package/arcgisGlobal.d.ts +3 -1
  9. package/assets/esri/core/workers/RemoteClient.js +1 -1
  10. package/assets/esri/core/workers/chunks/01ba5319cac3e0f14205.js +1 -0
  11. package/assets/esri/core/workers/chunks/{b045bffb4f2eb9203183.js → 05e1f1628a3726eca03d.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{38cfedce779dd75bd217.js → 07ca020796c57cefda62.js} +1 -1
  13. package/assets/esri/core/workers/chunks/08dfe61c75f0032db4d4.js +1 -0
  14. package/assets/esri/core/workers/chunks/0a1037fdc8c7bf8d0e7e.js +1 -0
  15. package/assets/esri/core/workers/chunks/0b45d34938fa7862f746.js +1 -0
  16. package/assets/esri/core/workers/chunks/0fe57b2d06368d3f68c9.js +1 -0
  17. package/assets/esri/core/workers/chunks/11c3b1e8ca21ad62fdd1.js +1 -0
  18. package/assets/esri/core/workers/chunks/{1436e378d975345686aa.js → 183b7664c68babd90fc8.js} +1 -1
  19. package/assets/esri/core/workers/chunks/{c187bc997bad61b6c6e9.js → 18d1ac2165a84c42e98f.js} +1 -1
  20. package/assets/esri/core/workers/chunks/{0b169bb1969f86232a1a.js → 1b03e10a6b721365acbb.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{b7e363c14919698f5b65.js → 1b07d7656ffcf53cba2b.js} +1 -1
  22. package/assets/esri/core/workers/chunks/1bd49e8d2657c72bf3f9.js +1 -0
  23. package/assets/esri/core/workers/chunks/1d38b2fcd85ac9ebd7c6.js +1 -0
  24. package/assets/esri/core/workers/chunks/1d91e69483c3ceec3c4d.js +1 -0
  25. package/assets/esri/core/workers/chunks/{c2cd80b712f29e8cbb8d.js → 1ff57bf19f021f5fd246.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{287f1441819c345f389e.js → 268243ee64d001009f78.js} +1 -1
  27. package/assets/esri/core/workers/chunks/26aa8190ac439f634c5b.js +1 -0
  28. package/assets/esri/core/workers/chunks/2b781de7b467c61849b2.js +1 -0
  29. package/assets/esri/core/workers/chunks/309fcc46da0b4393960e.js +1 -0
  30. package/assets/esri/core/workers/chunks/{03e93c18efc67a25ca63.js → 35c4037b8eea067d9638.js} +1 -1
  31. package/assets/esri/core/workers/chunks/39a10b2092a98083f4cf.js +1 -0
  32. package/assets/esri/core/workers/chunks/3b9174de370b187a0985.js +1 -0
  33. package/assets/esri/core/workers/chunks/3bd32387af52fa48d747.js +1 -0
  34. package/assets/esri/core/workers/chunks/3d4bb539bf939fcdeef9.js +1 -0
  35. package/assets/esri/core/workers/chunks/3dc6e9494af16f7b8009.js +1 -0
  36. package/assets/esri/core/workers/chunks/42e5e00610f281ca8ffa.js +1 -0
  37. package/assets/esri/core/workers/chunks/{73c355b895fd6a34fcb8.js → 45b560ca01fb566ba560.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{d36b407f5ad5eabac530.js → 4a9e34fe9a16b1850876.js} +28 -28
  39. package/assets/esri/core/workers/chunks/4e59e5a5d0ff887ff899.js +1 -0
  40. package/assets/esri/core/workers/chunks/4efef5fa8bf23aaf34cd.js +1 -0
  41. package/assets/esri/core/workers/chunks/511b9c12a7479d39dac0.js +1 -0
  42. package/assets/esri/core/workers/chunks/51a53011478e0cf96e0b.js +1 -0
  43. package/assets/esri/core/workers/chunks/599bd80379423c99799d.js +1 -0
  44. package/assets/esri/core/workers/chunks/{640abe600fa069ed7640.js → 6144f59bc0ba153a82d3.js} +1 -1
  45. package/assets/esri/core/workers/chunks/65cc9a48ac95523f7aa8.js +1 -0
  46. package/assets/esri/core/workers/chunks/66392ff750c28064040a.js +1 -0
  47. package/assets/esri/core/workers/chunks/668d84dc512b3085a960.js +1 -0
  48. package/assets/esri/core/workers/chunks/67bf361d0b5cfd6b53da.js +1 -0
  49. package/assets/esri/core/workers/chunks/68b77b36daae2b4b4237.js +1 -0
  50. package/assets/esri/core/workers/chunks/6f5a82388a5eb5fcf1b7.js +1 -0
  51. package/assets/esri/core/workers/chunks/70b5e0fce22122a7ccc2.js +1 -0
  52. package/assets/esri/core/workers/chunks/73b0edabddbb72fe1104.js +1 -0
  53. package/assets/esri/core/workers/chunks/{8b0a01ebc86ab226f01f.js → 75b4c27ca02b124a713c.js} +1 -1
  54. package/assets/esri/core/workers/chunks/7a1f65511bce26e6b770.js +1 -0
  55. package/assets/esri/core/workers/chunks/7f849c8255140be6097f.js +1 -0
  56. package/assets/esri/core/workers/chunks/831455798b177678720c.js +1 -0
  57. package/assets/esri/core/workers/chunks/8570d1c7159b5a84d56c.js +1 -0
  58. package/assets/esri/core/workers/chunks/{3bdef4b9f86711ae48b3.js → 86cad656a6a473982109.js} +2 -2
  59. package/assets/esri/core/workers/chunks/{9331969046f2b277d620.js → 8a39dd585742960d3ca2.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{5cb1b950249d651f3837.js → 8dcb3e77f76d8396706b.js} +1 -1
  61. package/assets/esri/core/workers/chunks/8f25d91ea7b99597124e.js +1 -0
  62. package/assets/esri/core/workers/chunks/92341f36a8b15f34bcca.js +1 -0
  63. package/assets/esri/core/workers/chunks/96f58e0157b960f6ee22.js +1 -0
  64. package/assets/esri/core/workers/chunks/{bf706a5d065a357de51b.js → 993fee0e91303eb1f01f.js} +1 -1
  65. package/assets/esri/core/workers/chunks/9da1a514e042eb642d35.js +1 -0
  66. package/assets/esri/core/workers/chunks/9f93c29af2a18f7cb160.js +1 -0
  67. package/assets/esri/core/workers/chunks/{f0556a695d080454b8da.js → 9fd61a387bd6603da299.js} +1 -1
  68. package/assets/esri/core/workers/chunks/a18cb809dd56c5537b3b.js +1 -0
  69. package/assets/esri/core/workers/chunks/{52175ff9e8c2c136f90a.js → a3ecde3794a7db3cf283.js} +1 -1
  70. package/assets/esri/core/workers/chunks/a4cdcb0b06242a95722a.js +1 -0
  71. package/assets/esri/core/workers/chunks/{bfd1aef8ac795e1ce227.js → a892b3be70f482bef0ba.js} +1 -1
  72. package/assets/esri/core/workers/chunks/a8ef7acb6d3d1f45e14c.js +1 -0
  73. package/assets/esri/core/workers/chunks/ac5032253c752768021b.js +2 -0
  74. package/assets/esri/core/workers/chunks/ac7ecd90330090c90005.js +1 -0
  75. package/assets/esri/core/workers/chunks/b1524f23e6cee5301a14.js +1 -0
  76. package/assets/esri/core/workers/chunks/{c983e5ce0ff952b65d7f.js → b2b342b06d502fc61ea5.js} +1 -1
  77. package/assets/esri/core/workers/chunks/b75a4753cea6544da8bb.js +1 -0
  78. package/assets/esri/core/workers/chunks/b775a0d8894930af4983.js +1 -0
  79. package/assets/esri/core/workers/chunks/bbcad2fde838819ffc7b.js +1 -0
  80. package/assets/esri/core/workers/chunks/bd36c57dd0cd28dee55f.js +30 -0
  81. package/assets/esri/core/workers/chunks/be1d2c3a61e6447fbbc7.js +1 -0
  82. package/assets/esri/core/workers/chunks/be8340d5ae5e662c2671.js +1 -0
  83. package/assets/esri/core/workers/chunks/{97a654e8054302582a3b.js → bfa6f4c08e7571bb1f37.js} +1 -1
  84. package/assets/esri/core/workers/chunks/c030cdb4cdb08cb51501.js +262 -0
  85. package/assets/esri/core/workers/chunks/c2cbc2a920e6e199533a.js +1 -0
  86. package/assets/esri/core/workers/chunks/c8460bdf60aca749ed05.js +30 -0
  87. package/assets/esri/core/workers/chunks/c9057b0ad2c2bae4a8ce.js +1 -0
  88. package/assets/esri/core/workers/chunks/cf9a132c4c37e62de3d7.js +1 -0
  89. package/assets/esri/core/workers/chunks/{03354e9256b2f77fd4f2.js → d6145cd7e7c5346f62ec.js} +1 -1
  90. package/assets/esri/core/workers/chunks/d6911e9453532501f460.js +1 -0
  91. package/assets/esri/core/workers/chunks/{886ae23a1d8fa21e531f.js → d750e4abeb777caa8c36.js} +1 -1
  92. package/assets/esri/core/workers/chunks/dada22a4350e9ddaf850.js +30 -0
  93. package/assets/esri/core/workers/chunks/e9acc05b0cf9e05f31a8.js +1 -0
  94. package/assets/esri/core/workers/chunks/e9cd84ad0054e9fea448.js +1 -0
  95. package/assets/esri/core/workers/chunks/ead719bff4a94816a42e.js +1 -0
  96. package/assets/esri/core/workers/chunks/f116ff0121d28bbf7a23.js +1 -0
  97. package/assets/esri/core/workers/chunks/f27c7d5cb0937fe50acf.js +1 -0
  98. package/assets/esri/core/workers/chunks/f5f9f21c23c51e35ae65.js +1 -0
  99. package/assets/esri/core/workers/chunks/f955b35337a08f9f747d.js +1 -0
  100. package/assets/esri/core/workers/chunks/{f75295cdd5e84eb97d5a.js → f9d583785b3b09ace222.js} +1 -1
  101. package/assets/esri/core/workers/chunks/fe6385115d76e16e8da0.js +1 -0
  102. package/assets/esri/views/3d/analysis/ShadowCast/t9n/ShadowCastAnalysis_fr.json +1 -1
  103. package/chunks/ComponentShader.glsl.js +11 -11
  104. package/chunks/GaussianSplatComposition.glsl.js +1 -1
  105. package/chunks/GlobalIlluminationBlur.glsl.js +8 -8
  106. package/chunks/OITBlend.glsl.js +1 -24
  107. package/chunks/OITBlendEmission.glsl.js +9 -9
  108. package/chunks/OITDimOpaque.glsl.js +3 -9
  109. package/config.js +1 -1
  110. package/core/reactiveUtils.d.ts +410 -109
  111. package/graphic/AnnotationFeatureGraphicOrigin.d.ts +5 -2
  112. package/graphic/AnnotationFeatureGraphicOrigin.js +1 -1
  113. package/graphic/DimensionFeatureGraphicOrigin.js +1 -1
  114. package/graphic/graphicOrigins.js +1 -1
  115. package/graphic/isAnnotationFeatureGraphicOrigin.d.ts +29 -0
  116. package/graphic/isAnnotationFeatureGraphicOrigin.js +2 -0
  117. package/graphic/isDimensionFeatureGraphicOrigin.d.ts +29 -0
  118. package/graphic/isDimensionFeatureGraphicOrigin.js +2 -0
  119. package/interfaces.d.ts +3 -3
  120. package/kernel.js +1 -1
  121. package/layers/AnnotationFeatureLayer.d.ts +73 -0
  122. package/layers/AnnotationFeatureLayer.js +1 -1
  123. package/layers/ParquetLayer.js +1 -1
  124. package/layers/graphics/sources/MemorySource.js +1 -1
  125. package/layers/graphics/sources/ParquetSource.js +1 -1
  126. package/layers/graphics/sources/support/ParquetSourceWorker.js +1 -1
  127. package/layers/mixins/OperationalLayer.js +1 -1
  128. package/layers/support/{AnnotationSublayer.d.ts → AnnotationFeatureSublayer.d.ts} +12 -12
  129. package/layers/support/AnnotationFeatureSublayer.js +2 -0
  130. package/layers/support/ExportImageServiceParameters.js +1 -1
  131. package/layers/support/ParquetPortalItemData.js +1 -1
  132. package/layers/support/layersMapping.js +1 -1
  133. package/package.json +3 -3
  134. package/rest/print.js +1 -1
  135. package/smartMapping/renderers/location.js +1 -1
  136. package/smartMapping/renderers/predominance.js +1 -1
  137. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  138. package/smartMapping/renderers/support/rendererUtils.d.ts +3 -1
  139. package/smartMapping/renderers/support/rendererUtils.js +1 -1
  140. package/support/revision.js +1 -1
  141. package/symbols/WebStyleSymbol.js +1 -1
  142. package/symbols/support/symbolUtils.js +1 -1
  143. package/symbols/support/webStyleSymbolCache.js +2 -0
  144. package/undoredo/support/ApplySet.js +1 -1
  145. package/undoredo/support/ApplySetItem.js +1 -1
  146. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  147. package/views/2d/engine/webgl/TextureManager.js +1 -1
  148. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  149. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  150. package/views/2d/engine/webgl/shaderGraph/techniques/animated/attributes.js +1 -1
  151. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  152. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  153. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  154. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  155. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  156. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  157. package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
  158. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  159. package/views/3d/support/gaussianSplatting/GaussianSplatOrderTexture.js +1 -1
  160. package/views/3d/support/gaussianSplatting/GaussianSplatTextureAtlas.js +1 -1
  161. package/views/3d/webgl-engine/collections/Component/Material/ComponentShader.glsl.js +1 -1
  162. package/views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js +2 -2
  163. package/views/3d/webgl-engine/core/shaderLibrary/util/EmissionDimming.glsl.js +1 -1
  164. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js +6 -8
  165. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  166. package/views/3d/webgl-engine/effects/fog/FogTechniqueConfiguration.js +1 -1
  167. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
  168. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  169. package/views/3d/webgl-engine/effects/glow/GlowBlurTechniqueConfiguration.js +1 -1
  170. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechniqueConfiguration.js +1 -1
  171. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  172. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  173. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  174. package/views/3d/webgl-engine/effects/transparency/OITBlendEmission.glsl.js +1 -1
  175. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechnique.js +1 -1
  176. package/views/3d/webgl-engine/effects/transparency/OITBlendFragmentTechniqueConfiguration.js +2 -0
  177. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  178. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  179. package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
  180. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
  181. package/views/3d/webgl-engine/effects/transparency/oitBlendFragment.glsl.js +2 -0
  182. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  183. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  184. package/views/3d/webgl-engine/lib/Material.js +1 -1
  185. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  186. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  187. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  188. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  189. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  190. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  191. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  192. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  193. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  194. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  195. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +1 -1
  196. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +1 -1
  197. package/views/3d/webgl-engine/shaders/alphaCutoff.glsl.js +1 -1
  198. package/views/3d/webgl-engine/shaders/oitResolution.glsl.js +1 -1
  199. package/views/View2D.d.ts +2 -3
  200. package/views/draw/support/editingSessionUtils.js +1 -1
  201. package/webdoc/support/writeUtils.js +1 -1
  202. package/webscene/support/AlphaCutoff.js +1 -1
  203. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.d.ts +2 -2
  204. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  205. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  206. package/widgets/BatchAttributeForm/types.d.ts +30 -4
  207. package/widgets/BatchAttributeForm.js +1 -1
  208. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  209. package/widgets/Editor/MergeFeaturesWorkflow.js +1 -1
  210. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  211. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  212. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  213. package/widgets/Editor/support/SketchController.js +1 -1
  214. package/widgets/Editor/workflowUtils.js +1 -1
  215. package/widgets/Editor.js +1 -1
  216. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  217. package/widgets/Print/PrintViewModel.d.ts +11 -1
  218. package/widgets/Print/PrintViewModel.js +1 -1
  219. package/assets/esri/core/workers/chunks/0803f022b5191171bc9c.js +0 -1
  220. package/assets/esri/core/workers/chunks/152f1c08197955224ad3.js +0 -1
  221. package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +0 -1
  222. package/assets/esri/core/workers/chunks/1a95370ddc22729ab3c6.js +0 -1
  223. package/assets/esri/core/workers/chunks/23d50c4478f40a7d62bf.js +0 -1
  224. package/assets/esri/core/workers/chunks/2623cd08487fdc9a94f1.js +0 -1
  225. package/assets/esri/core/workers/chunks/2b00229c238aae70b948.js +0 -1
  226. package/assets/esri/core/workers/chunks/2b814bb51704a5b4fdc2.js +0 -30
  227. package/assets/esri/core/workers/chunks/30f1909c5ef1835b8507.js +0 -1
  228. package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +0 -1
  229. package/assets/esri/core/workers/chunks/39596715e84d0da2f803.js +0 -30
  230. package/assets/esri/core/workers/chunks/426b8e1e2eef2460851d.js +0 -1
  231. package/assets/esri/core/workers/chunks/44e52fe98ffafe6a2807.js +0 -1
  232. package/assets/esri/core/workers/chunks/4d09ef7c57ab7f9782fe.js +0 -1
  233. package/assets/esri/core/workers/chunks/5022413f5a41b5d435ea.js +0 -1
  234. package/assets/esri/core/workers/chunks/52afd43bbe23e358efb5.js +0 -1
  235. package/assets/esri/core/workers/chunks/59a60fa09b19a0b2f473.js +0 -1
  236. package/assets/esri/core/workers/chunks/59dafa1e1340ea4043e6.js +0 -1
  237. package/assets/esri/core/workers/chunks/6284eafe2c3b45a0e72a.js +0 -1
  238. package/assets/esri/core/workers/chunks/65f02eca694cc1c9f5a7.js +0 -1
  239. package/assets/esri/core/workers/chunks/6cab67fc7044ee9b863b.js +0 -1
  240. package/assets/esri/core/workers/chunks/6d616b66fb32904b55a1.js +0 -1
  241. package/assets/esri/core/workers/chunks/6d696beddcc5fbed5875.js +0 -1
  242. package/assets/esri/core/workers/chunks/6f125b4ed06c0022dee6.js +0 -1
  243. package/assets/esri/core/workers/chunks/6f4825c3ef1fe202ab82.js +0 -1
  244. package/assets/esri/core/workers/chunks/6f7193b9ff5942c0d354.js +0 -1
  245. package/assets/esri/core/workers/chunks/70737052bab29fcaa120.js +0 -1
  246. package/assets/esri/core/workers/chunks/72d67cc3a382e83bf1a2.js +0 -1
  247. package/assets/esri/core/workers/chunks/7cadb872b9ca96eedca5.js +0 -1
  248. package/assets/esri/core/workers/chunks/8486ef6c7076baf0348b.js +0 -1
  249. package/assets/esri/core/workers/chunks/851705cf276eae8d4d37.js +0 -1
  250. package/assets/esri/core/workers/chunks/882ee7ed8a3a0215f9b9.js +0 -1
  251. package/assets/esri/core/workers/chunks/8c443c52c846a096a250.js +0 -1
  252. package/assets/esri/core/workers/chunks/972ba277a27704d28357.js +0 -1
  253. package/assets/esri/core/workers/chunks/97d2bdbea39cbcf8fd0f.js +0 -1
  254. package/assets/esri/core/workers/chunks/9d27cc631bab8aa7479e.js +0 -1
  255. package/assets/esri/core/workers/chunks/9d5f7573bfe3b051daf1.js +0 -1
  256. package/assets/esri/core/workers/chunks/a0c00c6fe60db49b3ab9.js +0 -1
  257. package/assets/esri/core/workers/chunks/a2d7e8147dee6642029a.js +0 -2
  258. package/assets/esri/core/workers/chunks/a643a4751bbf4430bde2.js +0 -262
  259. package/assets/esri/core/workers/chunks/a9003fe5975cd554ba24.js +0 -1
  260. package/assets/esri/core/workers/chunks/aa02458ceb839b555ee1.js +0 -1
  261. package/assets/esri/core/workers/chunks/ab62724b80b3c478a597.js +0 -1
  262. package/assets/esri/core/workers/chunks/b44cf254585210578eab.js +0 -1
  263. package/assets/esri/core/workers/chunks/b9935cc8e2bd4045058a.js +0 -1
  264. package/assets/esri/core/workers/chunks/c2a65de34f6a6c89c652.js +0 -1
  265. package/assets/esri/core/workers/chunks/c32430e99e8cd6e5f688.js +0 -1
  266. package/assets/esri/core/workers/chunks/c6d0b4875b6b8d6bc25a.js +0 -1
  267. package/assets/esri/core/workers/chunks/c80fc1b3048e8d58a1f8.js +0 -1
  268. package/assets/esri/core/workers/chunks/ca8c08659d82019d775d.js +0 -1
  269. package/assets/esri/core/workers/chunks/cf8ce21dc649021e97f6.js +0 -1
  270. package/assets/esri/core/workers/chunks/d41caf20c26f80385265.js +0 -1
  271. package/assets/esri/core/workers/chunks/d52864823067e57a719a.js +0 -1
  272. package/assets/esri/core/workers/chunks/d5c35a75fd4c41def420.js +0 -1
  273. package/assets/esri/core/workers/chunks/dd920a6f6422fa213eba.js +0 -1
  274. package/assets/esri/core/workers/chunks/df18b0a653b328d8d052.js +0 -1
  275. package/assets/esri/core/workers/chunks/e1505ec80b068011bdc5.js +0 -1
  276. package/assets/esri/core/workers/chunks/e16710ef178d64606a55.js +0 -1
  277. package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +0 -1
  278. package/assets/esri/core/workers/chunks/e5ef06c205d34df1e4bc.js +0 -1
  279. package/assets/esri/core/workers/chunks/e912b515704e20313e53.js +0 -1
  280. package/assets/esri/core/workers/chunks/eabeaab5c4810f999a4d.js +0 -1
  281. package/assets/esri/core/workers/chunks/ec723f8777b935c5e81a.js +0 -1
  282. package/assets/esri/core/workers/chunks/f590db684d88e72bd79b.js +0 -1
  283. package/assets/esri/core/workers/chunks/f622ae3887c85535e8ab.js +0 -30
  284. package/assets/esri/core/workers/chunks/fa3faec65882c5b6f1a0.js +0 -1
  285. package/layers/support/AnnotationSublayer.js +0 -2
  286. package/views/3d/webgl-engine/effects/transparency/OITBlendEmissionTechniqueConfiguration.js +0 -2
  287. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechniqueConfiguration.js +0 -2
  288. /package/assets/esri/core/workers/chunks/{3bdef4b9f86711ae48b3.js.LICENSE.txt → 86cad656a6a473982109.js.LICENSE.txt} +0 -0
  289. /package/assets/esri/core/workers/chunks/{a2d7e8147dee6642029a.js.LICENSE.txt → ac5032253c752768021b.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{create as e}from"../../../../geometry/support/aaBoundingRect.js";import t from"../../../../layers/support/TileInfo.js";import{tileSizeInTileUnits as s,tileSizeInPixels as r}from"./constants.js";import{SymbolFader as i}from"./decluttering/SymbolFader.js";import{writeOpacityToBuffers as o}from"./decluttering/util.js";import{RenderableTile as l}from"../webgl/RenderableTile.js";import n from"../webgl/TileContainer.js";import{simplePipelineState as a}from"../webgl/shaderGraph/utils.js";import{VTLTechniquesRepo as d}from"../webgl/shaderGraph/techniques/vectorTiles/VTLTechniques.js";import h from"../../tiling/TileCoverage.js";import c from"../../tiling/TileKey.js";const u=1e-6;function y(e,t){if(e){const s=e.getLayoutProperty("visibility");if(!s||1!==s.getValue()&&(void 0===e.minzoom||e.minzoom<t+u)&&(void 0===e.maxzoom||e.maxzoom>=t-u))return!0}return!1}class m extends n{constructor(e){super(e),this._backgroundTiles=[],this._techniques=new d,this._computeDisplayInfoView(e),this._techniques.startup()}destroy(){super.destroy(),this.removeAllChildren(),this._spriteMosaic?.dispose(),this._spriteMosaic=null,this._glyphMosaic?.dispose(),this._glyphMosaic=null,null!=this._symbolFader&&(this._symbolFader.clear(),this._symbolFader=null);const e=this.stage?.context;e&&this._techniques.shutdown(e),this._styleRepository=null,this._backgroundTiles=[]}get fading(){return this._symbolFader?.fading??!1}get symbolFader(){return this._symbolFader}get symbolRepository(){return this._symbolFader?.symbolRepository}setStyleResources(e,t,r,l){if(this._spriteMosaic=e,this._glyphMosaic=t,this._styleRepository=r,this.tilingScheme=l,this._computeDisplayInfoView(l),null==this._symbolFader){const e=(e,t)=>{e.allSymbolsFadingOut=!0,e.lastOpacityUpdate=t,o(e,t,!0),e.decluttered=!0,e.requestRender()};this._symbolFader=new i("vector-tile",this._styleRepository,e,this.children,s)}this._symbolFader.styleRepository=r}setSpriteMosaic(e){this._spriteMosaic?.dispose(),this._spriteMosaic=e}deleteStyleLayers(e){null!=this._symbolFader&&this._symbolFader.deleteStyleLayers(e)}createRenderParams(e){return{...super.createRenderParams(e),renderPass:null,styleLayer:null,styleLayerUID:-1,glyphMosaic:this._glyphMosaic,spriteMosaic:this._spriteMosaic}}doRender(e){const{drawPhase:t}=e,s=1===t||64===t;this.visible&&s&&void 0!==this._spriteMosaic&&super.doRender(e)}addChild(e){return super.addChild(e),null!=this._symbolFader?this._symbolFader.addTile(e):e.decluttered=!0,this.requestRender(),e}removeChild(e){return null!=this._symbolFader&&this._symbolFader.removeTile(e),this.requestRender(),super.removeChild(e)}renderChildren(e){const{drawPhase:t}=e;64!==t?this._doRender(e):super.renderChildren(e)}removeAllChildren(){for(let e=0;e<this.children.length;e++){const t=this.children[e];null!=this._symbolFader&&this._symbolFader.removeTile(t),t.dispose()}super.removeAllChildren()}getStencilTarget(){return this.children.filter(e=>e.neededForCoverage&&e.hasData())}restartDeclutter(){null!=this._symbolFader&&this._symbolFader.restartDeclutter()}_doRender(e){const{context:t,painter:s,state:r}=e,i=this._styleRepository;if(!i)return;const o=i.layers,l=this._displayInfo.scaleToZoom(r.scale);this.children.forEach(e=>e.disposeLayerData()),super.renderChildren(e),i.backgroundBucketIds.length>0&&(e.renderPass="background",this._renderBackgroundLayers(e,i.backgroundBucketIds,l)),1===e.drawPhase&&this._fade(l,r);const n=this.children.filter(t=>(1===e.drawPhase&&t.fader.fade()<1&&this.requestRender(),t.visible&&t.hasData()));if(n&&0!==n.length){for(const e of n)e.triangleCount=0;t.setClearDepth(1),t.clear(256),s.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}},depth:{write:!1,test:515}}),e.renderPass="translucent";for(let t=0;t<o.length;t++)this._renderStyleLayer(o[t],e,n);t.bindVAO(null),s.setPipelineState(a);for(const e of n)e.debugInfo.display.triangleCount=e.triangleCount}else t.bindVAO(null)}_fade(e,t){null!=this._symbolFader&&(this._symbolFader.update(e,t)||this.requestRender())}_renderStyleLayer(e,t,s){const{displayLevel:r,renderPass:i}=t;if(void 0===e)return;const o=e.getLayoutProperty("visibility");if(o&&1===o.getValue())return;switch(e.type){case 0:return;case 1:case 2:case 4:case 3:if("translucent"!==i)return}if(s=3===e.type?s.filter(e=>e.decluttered):s.filter(e=>e.neededForCoverage),3!==e.type&&(0===s.length||void 0!==e.minzoom&&e.minzoom>=r+u||void 0!==e.maxzoom&&e.maxzoom<r-u))return;const l=e.uid;t.styleLayerUID=l,t.styleLayer=e;const n=this._techniques.getTechnique(e.type);null!=n&&n.render(t,{tiles:s})}_renderBackgroundLayers(t,i,o){const{state:n}=t,a=this._styleRepository;let d=!1;for(const e of i){const t=a.getLayerById(e);if(t&&0===t.type&&y(a.getLayerById(e),o)){d=!0;break}}if(!d)return;const u=this.tilingScheme,m=u.getTileCoverage(t.state,0,!0,"smallest"),{spans:p,lodInfo:g}=m,{level:f}=g,_=e(),b=[],F=this._backgroundTiles;let R,v=0;for(const{row:h,colFrom:y,colTo:C}of p)for(let t=y;t<=C;t++){if(v<F.length)R=F[v],R.key.set(f,h,g.normalizeCol(t),g.getWorldForColumn(t)),u.getTileBounds(_,R.key,!1),R.x=_[0],R.y=_[3],R.resolution=u.getTileResolution(f);else{const i=new c(f,h,g.normalizeCol(t),g.getWorldForColumn(t)),o=u.getTileBounds(e(),i),n=u.getTileResolution(f);R=new l(i,n,o[0],o[3],r,r,s,s),F.push(R)}R.setTransform(n),b.push(R),v++}const T=this._techniques.getTechnique(0);for(const e of i){const s=a.getLayerById(e);0===s.type&&y(s,o)&&(t.styleLayerUID=s.uid,t.styleLayer=s,T.render(t,{tiles:b}))}h.pool.release(m)}_computeDisplayInfoView(e){let s=e.tileInfo.lods[0].scale;const i=Math.max(25,e.tileInfo.lods.length),o=[];for(let t=0;t<=i;t++)o.push(s),s/=2;this._displayInfo=t.create({scales:o,size:r,spatialReference:e.spatialReference,numLODs:i})}}export{m as VectorTileContainer};
2
+ import{create as e}from"../../../../geometry/support/aaBoundingRect.js";import t from"../../../../layers/support/TileInfo.js";import{tileSizeInTileUnits as s,tileSizeInPixels as r}from"./constants.js";import{SymbolFader as i}from"./decluttering/SymbolFader.js";import{writeOpacityToBuffers as o}from"./decluttering/util.js";import{RenderableTile as l}from"../webgl/RenderableTile.js";import n from"../webgl/TileContainer.js";import{simplePipelineState as a}from"../webgl/shaderGraph/utils.js";import{VTLTechniquesRepo as d}from"../webgl/shaderGraph/techniques/vectorTiles/VTLTechniques.js";import h from"../../tiling/TileCoverage.js";import c from"../../tiling/TileKey.js";const u=1e-6;function y(e,t){if(e){const s=e.getLayoutProperty("visibility");if(!s||1!==s.getValue()&&(void 0===e.minzoom||e.minzoom<t+u)&&(void 0===e.maxzoom||e.maxzoom>=t-u))return!0}return!1}class m extends n{constructor(e){super(e),this._backgroundTiles=[],this._techniques=new d,this._computeDisplayInfoView(e),this._techniques.startup()}destroy(){super.destroy(),this.removeAllChildren(),this._spriteMosaic?.dispose(),this._spriteMosaic=null,this._glyphMosaic?.dispose(),this._glyphMosaic=null,null!=this._symbolFader&&(this._symbolFader.clear(),this._symbolFader=null);const e=this.stage?.context;e&&this._techniques.shutdown(e),this._styleRepository=null,this._backgroundTiles=[]}get fading(){return this._symbolFader?.fading??!1}get symbolFader(){return this._symbolFader}get symbolRepository(){return this._symbolFader?.symbolRepository}setStyleResources(e,t,r,l){if(this._spriteMosaic=e,this._glyphMosaic=t,this._styleRepository=r,this.tilingScheme=l,this._computeDisplayInfoView(l),null==this._symbolFader){const e=(e,t)=>{e.allSymbolsFadingOut=!0,e.lastOpacityUpdate=t,o(e,t,!0),e.decluttered=!0,e.requestRender()};this._symbolFader=new i("vector-tile",this._styleRepository,e,this.children,s)}this._symbolFader.styleRepository=r}setSpriteMosaic(e){this._spriteMosaic?.dispose(),this._spriteMosaic=e}deleteStyleLayers(e){null!=this._symbolFader&&this._symbolFader.deleteStyleLayers(e)}createRenderParams(e){return{...super.createRenderParams(e),renderPass:null,styleLayer:null,styleLayerUID:-1,glyphMosaic:this._glyphMosaic,spriteMosaic:this._spriteMosaic}}doRender(e){const{drawPhase:t}=e,s=1===t||64===t;this.visible&&s&&void 0!==this._spriteMosaic&&super.doRender(e)}addChild(e){return super.addChild(e),null!=this._symbolFader?this._symbolFader.addTile(e):e.decluttered=!0,this.requestRender(),e}removeChild(e){return null!=this._symbolFader&&this._symbolFader.removeTile(e),this.requestRender(),super.removeChild(e)}renderChildren(e){const{drawPhase:t}=e;64!==t?this._doRender(e):super.renderChildren(e)}removeAllChildren(){for(let e=0;e<this.children.length;e++){const t=this.children[e];null!=this._symbolFader&&this._symbolFader.removeTile(t),t.dispose()}super.removeAllChildren()}getStencilTarget(){return this.children.filter(e=>e.neededForCoverage&&e.hasData())}restartDeclutter(){null!=this._symbolFader&&this._symbolFader.restartDeclutter()}_doRender(e){const{context:t,painter:s,state:r}=e,i=this._styleRepository;if(!i)return;const o=i.layers,l=this._displayInfo.scaleToZoom(r.scale);this.children.forEach(e=>e.disposeLayerData()),super.renderChildren(e),i.backgroundBucketIds.length>0&&(e.renderPass="background",this._renderBackgroundLayers(e,i.backgroundBucketIds,l)),1===e.drawPhase&&this._fade(l,r);const n=this.children.filter(t=>(1===e.drawPhase&&t.fader.fade()<1&&this.requestRender(),t.visible&&t.hasData()));if(n&&0!==n.length){for(const e of n)e.triangleCount=0;t.setClearDepth(1),t.clear(256),s.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}},depth:{write:!1,test:515}}),e.renderPass="translucent";for(let t=0;t<o.length;t++)this._renderStyleLayer(o[t],e,n);t.bindVAO(null),s.setPipelineState(a);for(const e of n)e.debugInfo.display.triangleCount=e.triangleCount}else t.bindVAO(null)}_fade(e,t){null!=this._symbolFader&&(this._symbolFader.update(e,t)||this.requestRender())}_renderStyleLayer(e,t,s){const{displayLevel:r,renderPass:i}=t;if(void 0===e)return;const o=e.getLayoutProperty("visibility");if(o&&1===o.getValue())return;switch(e.type){case 0:return;case 1:case 2:case 4:case 3:if("translucent"!==i)return}if(s=3===e.type?s.filter(e=>e.decluttered):s.filter(e=>e.neededForCoverage),3!==e.type&&(0===s.length||void 0!==e.minzoom&&e.minzoom>=r+u||void 0!==e.maxzoom&&e.maxzoom<r-u))return;const l=e.uid;t.styleLayerUID=l,t.styleLayer=e;const n=this._techniques.getTechnique(e.type);null!=n&&n.render(t,{tiles:s})}_renderBackgroundLayers(t,i,o){const{displayLevel:n,state:a}=t,d=this._styleRepository;let m=!1;for(const e of i){const t=d.getLayerById(e);if(t&&0===t.type&&y(d.getLayerById(e),o)){m=!0;break}}if(!m)return;const p=this.tilingScheme,g=p.getTileCoverage(t.state,0,!0,"smallest"),{spans:f,lodInfo:_}=g,{level:b}=_,F=e(),v=[],R=this._backgroundTiles;let T,C=0;for(const{row:h,colFrom:u,colTo:y}of f)for(let t=u;t<=y;t++){if(C<R.length)T=R[C],T.key.set(b,h,_.normalizeCol(t),_.getWorldForColumn(t)),p.getTileBounds(F,T.key,!1),T.x=F[0],T.y=F[3],T.resolution=p.getTileResolution(b);else{const i=new c(b,h,_.normalizeCol(t),_.getWorldForColumn(t)),o=p.getTileBounds(e(),i),n=p.getTileResolution(b);T=new l(i,n,o[0],o[3],r,r,s,s),R.push(T)}T.setTransform(a),v.push(T),C++}const L=this._techniques.getTechnique(0);for(const e of i){const s=d.getLayerById(e);0!==s.type||!y(s,o)||void 0!==s.minzoom&&s.minzoom>=n+u||void 0!==s.maxzoom&&s.maxzoom<n-u||(t.styleLayerUID=s.uid,t.styleLayer=s,L.render(t,{tiles:v}))}h.pool.release(g)}_computeDisplayInfoView(e){let s=e.tileInfo.lods[0].scale;const i=Math.max(25,e.tileInfo.lods.length),o=[];for(let t=0;t<=i;t++)o.push(s),s/=2;this._displayInfo=t.create({scales:o,size:r,spatialReference:e.spatialReference,numLODs:i})}}export{m as VectorTileContainer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import e from"../../../../config.js";import t from"../../../../request.js";import i from"../../../../core/Error.js";import{getFullyQualifiedFontName as r}from"../../../../core/fontUtils.js";import has from"../../../../core/has.js";import s from"../../../../core/Logger.js";import{throwIfAborted as a,isAbortError as n}from"../../../../core/promiseUtils.js";import{QueueProcessor as o}from"../../../../core/QueueProcessor.js";import{pt2px as c}from"../../../../core/screenUtils.js";import{numericHash as l}from"../../../../core/string.js";import h from"../../../../symbols/cim/CIMResourceManager.js";import{CIMSymbolHelper as u}from"../../../../symbols/cim/CIMSymbolHelper.js";import m from"../../../../symbols/cim/Rasterizer.js";import{normalizeDashTemplate as p}from"../../../../symbols/cim/utils.js";import{svgSdfTextureInnerSize as d,textureBindingSpriteAtlas as g,textureBindingGlyphAtlas as y}from"./definitions.js";import f from"./GlyphMosaic.js";import M from"./GlyphSource.js";import _ from"./Rect.js";import S from"./SDFConverter.js";import I from"./SpriteMosaic.js";import{discardUrlIfHasUrlHash as w}from"./urlUtils.js";import{getCIMMarkerPlacementHash as z,isSVGImage as T}from"./Utils.js";import{AnimatableTextureResource as b}from"./animatedFormats/AnimatableTextureResource.js";import{AnimationStore as C}from"./animations/store/AnimationStore.js";const P="arial-unicode-ms-regular",R=/[\u0695\u0698\u06a9\u06af\u06b5\u06be\u06c6\u06cc\u06ce\u06d5\u06ca]|\p{Script=Thai}|\p{Script=Lao}|\p{Script=Tamil}|\p{Script=Khmer}/u,x=new Set(["Noto Sans Khmer","Noto Sans Lao","Noto Sans Myanmar","Noto Sans Thai"]),v=()=>s.getLogger("esri.views.MapView"),$=(e,t,r)=>v().error(new i(e,t,r)),A=(e,t="")=>v().warnOnce(e,t);class j{static fromMosaic(e,t){return new j(e,t.page,t.sdf,t.samplingMode)}constructor(e,t,i,r){this.mosaicType=e,this.page=t,this.sdf=i,this.samplingMode=r}}class k{constructor(r){this._requestRender=r,this._resourceManager=new h,this._invalidFonts=new Set,this._sdfConverter=new S(d),this._bindingInfos=new Array,this._hashToBindingIndex=new Map,this._ongoingRasterizations=new Map,this._imageRequestQueue=new o({concurrency:10,process:async(e,r)=>{a(r);try{return await t(e,{responseType:"image",signal:r})}catch(s){if(!n(s))throw new i("mapview-invalid-resource",`Could not fetch requested resource at ${e}`,s);throw s}}}),this.animationStore=new C,this._spriteMosaic=new I(2048,2048,500),this._glyphSource=new M(`${e.fontsUrl}/{fontstack}/{range}.pbf`),this._glyphMosaic=new f(1024,1024,this._glyphSource),this._rasterizer=new m(this.resourceManager)}dispose(){this._spriteMosaic.dispose(),this._glyphMosaic.dispose(),this._rasterizer.dispose(),this._sdfConverter.dispose(),this._spriteMosaic=null,this._glyphMosaic=null,this._sdfConverter=null,this._hashToBindingIndex.clear(),this._hashToBindingIndex=null,this._bindingInfos=null,this._ongoingRasterizations.clear(),this._ongoingRasterizations=null,this._imageRequestQueue.clear(),this._imageRequestQueue=null,this._resourceManager.destroy(),this.animationStore.destroy()}get sprites(){return this._spriteMosaic}get glyphs(){return this._glyphMosaic}get resourceManager(){return this._resourceManager}async rasterizeItem(e,t){if(null==e)return $("mapview-null-resource","Unable to rasterize null resource"),null;if("animation-info"===e.type){const{resource:t}=e,i=this.animationStore.add(t),{location:r}=i;return{rect:new _(r.column,r.row,t.length,1),page:r.page,type:"sprite",width:t.length,height:1,rasterizationScale:1,sdfPaddingRatio:.5,samplingMode:"Linear",sdfDecodeCoeff:1,simplePattern:!1}}if("cim-rasterization-info"!==e.type)return $("mapview-unexpected-resource","Unable to rasterize resource"),null;const{resource:i}=e;if("text"===i.type){const e=await this._rasterizeText(i,t);for(const t of e.glyphs)this._setTextureBinding(1,t.mosaicItem);return e}const r=await this._rasterizeSprite(i,t);return r&&this._setTextureBinding(0,r),r}getMosaicInfo(e,t,i=!1){const r=this._getTextureBindingInfo(e,t,i);return r?{size:r.size}:($("mapview-invalid-resource",`Unable to find resource for ${t}`),{size:[0,0]})}getMosaicTexture(e,t,i=!1){const r=this._getTextureBindingInfo(e,t,i);return r?{texture:r.texture,unit:"sprite"===r.type?g:y}:($("mapview-invalid-resource",`Unable to find resource for ${t}`),null)}_getTextureBindingInfo(e,t,i){const{context:r}=e,s=this._bindingInfos[t-1],a=s.page,n="Nearest"===s.samplingMode?9728:i?9987:9729;switch(s.mosaicType){case 0:{const t=[this.sprites.getWidth(a),this.sprites.getHeight(a)],i=this._spriteMosaic.getTexture(e,a);return i.setSamplingMode(n),{type:"sprite",texture:i,size:t}}case 1:{const e=[this.glyphs.width,this.glyphs.height],t=this._glyphMosaic.getTexture(r,a);return this._glyphMosaic.bind(r,n,a,y),t.setSamplingMode(n),{type:"glyph",texture:t,size:e}}default:return $("mapview-texture-manager",`Cannot handle unknown type ${s.mosaicType}`),null}}_hashMosaic(e,t){return 1|e<<1|(t.sdf?1:0)<<2|("Nearest"===t.samplingMode?1:0)<<3|t.page<<4}_setTextureBinding(e,t){const i=this._hashMosaic(e,t);if(!this._hashToBindingIndex.has(i)){const r=j.fromMosaic(e,t),s=this._bindingInfos.length+1;this._hashToBindingIndex.set(i,s),this._bindingInfos.push(r)}t.textureBinding=this._hashToBindingIndex.get(i)}async _rasterizeText(e,t){const{font:i,textString:s}=e,a=r(i),n=this._invalidFonts.has(a),o=!!has("esri-2d-force-complex-shaping"),c=!!has("esri-2d-complex-shaping")&&R.test(s),l=x.has(i.family),h=o||c||l,u=n?P:a;has("esri-2d-stabilize-glyphs")&&await this._glyphMosaic.preloadASCIIGlyphCache(u).catch(()=>{});let m=await this._glyphMosaic.getGlyphItems(s,h,u,t);return m||(A(`Font ${a} is not available on the web, using "Arial Unicode MS Regular"`),this._invalidFonts.add(a),m=await this._glyphMosaic.getGlyphItems(s,h,P,t)),m}_hashSpriteResource(e){switch(e.type){case"path":return`path:${e.path}.${e.asFill?1:0}`;case"CIMPictureMarker":return`${e.type}:${e.url}:${e.size}:${z(e.markerPlacement)}`;case"CIMPictureFill":return`${e.type}:${e.url}:${e.height}`;case"CIMPictureStroke":return`${e.type}:${e.url}:${e.width}`;case"dash":return`dash:${e.capStyle}.${p(e.dashTemplate).join("")}`;case"sdf":return`sdf:${JSON.stringify(e.geometry)}.${e.sdfTextureSize}.${e.asFill?1:0}`;case"fill-style":return`fill_style:${e.style}`;case"animated":return JSON.stringify(w(e));case"CIMGradientFill":case"CIMGradientStroke":return`gradient:${JSON.stringify(e.colorRamp)}.${e.gradientType}.${e.interval}`;case"CIMHatchFill":case"CIMVectorMarker":return JSON.stringify(e)}}async _rasterizeSprite(e,t){if(!e)return null;const i=l(this._hashSpriteResource(e));if(this._spriteMosaic.has(i))return this._spriteMosaic.getSpriteItem(i);if("url"in e&&e.url&&"animated"!==e.type||"CIMPictureFill"===e.type||"CIMPictureStroke"===e.type||"CIMPictureMarker"===e.type||"CIMVectorMarker"===e.type){const t={type:"CIMPointSymbol",symbolLayers:[e]};await u.normalizeSymbolAndFetchResources(t,this._resourceManager)}switch(e.type){case"CIMPictureMarker":return"CIMMarkerPlacementInsidePolygon"===e.markerPlacement?.type?this._rasterizeJSONResource(i,e):this._handleAsyncResource(i,e,t);case"animated":case"CIMPictureFill":case"CIMPictureStroke":case"path":return this._handleAsyncResource(i,e,t);case"CIMGradientFill":case"CIMGradientStroke":case"CIMHatchFill":case"CIMVectorMarker":case"dash":case"fill-style":case"sdf":return this._rasterizeJSONResource(i,e)}}_rasterizeJSONResource(e,t){const i=this._rasterizer.rasterizeJSONResource(t);if(i){const{size:r,image:s,sdf:a,simplePattern:n,rasterizationScale:o,samplingMode:c,sdfPaddingRatio:l,sdfDecodeCoeff:h}=i;return this._addItemToMosaic(e,r,{type:"static",data:s},G(t),a,n,o,c,l,h)}return null}async _handleAsyncResource(e,t,i){if(this._ongoingRasterizations.has(e))return this._ongoingRasterizations.get(e);let r;return r="path"===t.type?this._handleSVG(t,e,i):this._handleImage(t,e,i),this._ongoingRasterizations.set(e,r),r.finally(()=>this._ongoingRasterizations.delete(e)),r}async _handleSVG(e,t,i){const r=[d,d],{asFill:s}=e,a=await this._sdfConverter.draw(e.path,s,i);return this._addItemToMosaic(t,r,{type:"static",data:new Uint32Array(a.buffer)},!1,!0,!0)}_handleGIFOrPNG(e,t,i){const r=e.url,s=this.resourceManager.getResource(r);if(null==s)return null;const{width:a,height:n}=s;if(s instanceof HTMLImageElement){if("animated"===e.type)return $("mapview-unexpected-resource","Attempt to configure animations for a non-animated image."),null;const i="colorSubstitutions"in e?e.colorSubstitutions:void 0,{size:r,sdf:o,image:c}=this._rasterizer.rasterizeImageResource(a,n,s,i);return this._addItemToMosaic(t,r,{type:"static",data:c},G(e),o,!1)}let o,c;const l=F(e);"animated"===e.type?(o=!1,c=e.startGroup||0):"CIMPictureMarker"===e.type?(o=!1,c=0):(o=G(e),c=0);const h=new b(s,this._requestRender,l,c);return this._addItemToMosaic(t,[h.width,h.height],{type:"animated",data:h},o,!1,!1)}async _handleImage(e,t,r){const s=e.url;if(O(s)||U(s))return this._handleGIFOrPNG(e,t,r);if("animated"===e.type)return $("mapview-unexpected-resource","Attempt to configure animations for a non-animated image."),null;try{let i;const a=this.resourceManager.getResource(s);if(null!=a&&a instanceof HTMLImageElement)i=a;else{const{data:e}=await this._imageRequestQueue.push(s,{...r});i=e}if(T(s))if("width"in e&&"height"in e)i.width=c(e.width),i.height=c(e.height);else if("cim"in e){const t=e;i.width=c(t.width??t.scaleX*t.size),i.height=c(t.size)}if(!i.width||!i.height)return null;const n=i.width,o=i.height,l="colorSubstitutions"in e?e.colorSubstitutions:void 0,{size:h,sdf:u,image:m}=this._rasterizer.rasterizeImageResource(n,o,i,l);return this._addItemToMosaic(t,h,{type:"static",data:m},G(e),u,!1)}catch($){if(!n($))throw new i("mapview-invalid-resource",`Could not fetch requested resource at ${s}. ${$.message}`);throw $}}_addItemToMosaic(e,t,i,r,s,a,n,o,c,l){return this._spriteMosaic.addSpriteItem(e,t,i,r,s,a,n,o,c,l)}}function F(e){return"animated"===e.type?{type:"CIMAnimatedSymbolProperties",playAnimation:e.playAnimation,reverseAnimation:e.reverseAnimation,randomizeStartTime:e.randomizeStartTime,randomizeStartSeed:e.randomizeStartSeed,startTimeOffset:e.startTimeOffset,duration:e.duration,repeatType:e.repeatType,repeatDelay:e.repeatDelay}:"CIMPictureMarker"===e.type?e.animatedSymbolProperties?{type:"CIMAnimatedSymbolProperties",playAnimation:e.animatedSymbolProperties.playAnimation??!1,reverseAnimation:e.animatedSymbolProperties.reverseAnimation,randomizeStartTime:e.animatedSymbolProperties.randomizeStartTime,randomizeStartSeed:e.animatedSymbolProperties.randomizeStartSeed,startTimeOffset:e.animatedSymbolProperties.startTimeOffset,duration:e.animatedSymbolProperties.duration,repeatType:e.animatedSymbolProperties.repeatType,repeatDelay:e.animatedSymbolProperties.repeatDelay}:{type:"CIMAnimatedSymbolProperties",playAnimation:!1}:{type:"CIMAnimatedSymbolProperties",playAnimation:!0}}function G(e){switch(e.type){case"CIMVectorMarker":case"CIMPictureMarker":return q(e);default:return!0}}const N=e=>null!=e&&e.startsWith("data:image/gif"),O=e=>e&&(e.includes(".gif")||N(e)),B=e=>null!=e&&e.startsWith("data:image/png"),U=e=>e&&(e.includes(".png")||B(e)),q=e=>e&&"markerPlacement"in e&&e.markerPlacement&&"CIMMarkerPlacementInsidePolygon"===e.markerPlacement.type;export{k as default};
2
+ import e from"../../../../config.js";import t from"../../../../request.js";import i from"../../../../core/Error.js";import{getFullyQualifiedFontName as r}from"../../../../core/fontUtils.js";import has from"../../../../core/has.js";import s from"../../../../core/Logger.js";import{throwIfAborted as a,isAbortError as n}from"../../../../core/promiseUtils.js";import{QueueProcessor as o}from"../../../../core/QueueProcessor.js";import{pt2px as c}from"../../../../core/screenUtils.js";import{numericHash as h}from"../../../../core/string.js";import l from"../../../../symbols/cim/CIMResourceManager.js";import{CIMSymbolHelper as u}from"../../../../symbols/cim/CIMSymbolHelper.js";import p from"../../../../symbols/cim/Rasterizer.js";import{normalizeDashTemplate as m}from"../../../../symbols/cim/utils.js";import{svgSdfTextureInnerSize as d,textureBindingSpriteAtlas as g,textureBindingGlyphAtlas as f}from"./definitions.js";import y from"./GlyphMosaic.js";import M from"./GlyphSource.js";import _ from"./Rect.js";import I from"./SDFConverter.js";import w from"./SpriteMosaic.js";import{discardUrlIfHasUrlHash as S}from"./urlUtils.js";import{getCIMMarkerPlacementHash as z,isSVGImage as T}from"./Utils.js";import{AnimatableTextureResource as C}from"./animatedFormats/AnimatableTextureResource.js";import{AnimationStore as R}from"./animations/store/AnimationStore.js";const x="arial-unicode-ms-regular",b=/[\u0695\u0698\u06a9\u06af\u06b5\u06be\u06c6\u06cc\u06ce\u06d5\u06ca]|\p{Script=Thai}|\p{Script=Lao}|\p{Script=Tamil}|\p{Script=Khmer}/u,P=new Set(["Noto Sans Khmer","Noto Sans Lao","Noto Sans Myanmar","Noto Sans Thai"]),$=()=>s.getLogger("esri.views.MapView"),v=(e,t,r)=>$().error(new i(e,t,r)),j=(e,t="")=>$().warnOnce(e,t);class k{static fromMosaic(e,t){return new k(e,t.page,t.sdf,t.samplingMode)}constructor(e,t,i,r){this.mosaicType=e,this.page=t,this.sdf=i,this.samplingMode=r}}class A{constructor(r){this._requestRender=r,this._resourceManager=new l,this._invalidFonts=new Set,this._sdfConverter=new I(d),this._bindingInfos=new Array,this._hashToBindingIndex=new Map,this._ongoingRasterizations=new Map,this._imageRequestQueue=new o({concurrency:10,process:async(e,r)=>{a(r);try{return await t(e,{responseType:"image",signal:r})}catch(s){if(!n(s))throw new i("mapview-invalid-resource",`Could not fetch requested resource at ${e}`,s);throw s}}}),this.animationStore=new R,this._spriteMosaic=new w(2048,2048,500),this._glyphSource=new M(`${e.fontsUrl}/{fontstack}/{range}.pbf`),this._glyphMosaic=new y(1024,1024,this._glyphSource),this._rasterizer=new p(this.resourceManager)}dispose(){this._spriteMosaic.dispose(),this._glyphMosaic.dispose(),this._rasterizer.dispose(),this._sdfConverter.dispose(),this._spriteMosaic=null,this._glyphMosaic=null,this._sdfConverter=null,this._hashToBindingIndex.clear(),this._hashToBindingIndex=null,this._bindingInfos=null,this._ongoingRasterizations.clear(),this._ongoingRasterizations=null,this._imageRequestQueue.clear(),this._imageRequestQueue=null,this._resourceManager.destroy(),this.animationStore.destroy()}get sprites(){return this._spriteMosaic}get glyphs(){return this._glyphMosaic}get resourceManager(){return this._resourceManager}async rasterizeItem(e,t){if(null==e)return v("mapview-null-resource","Unable to rasterize null resource"),null;if("animation-info"===e.type){const{resource:t}=e,i=this.animationStore.add(t),{location:r}=i;return{rect:new _(r.column,r.row,t.length,1),page:r.page,type:"sprite",width:t.length,height:1,rasterizationScale:1,sdfPaddingRatio:.5,samplingMode:"Linear",sdfDecodeCoeff:1,simplePattern:!1}}if("cim-rasterization-info"!==e.type)return v("mapview-unexpected-resource","Unable to rasterize resource"),null;const{resource:i}=e;if("text"===i.type){const e=await this._rasterizeText(i,t);for(const t of e.glyphs)this._setTextureBinding(1,t.mosaicItem);return e}const r=await this._rasterizeSprite(i,t);return r&&this._setTextureBinding(0,r),r}getMosaicInfo(e,t,i=!1){const r=this._getTextureBindingInfo(e,t,i);return r?{size:r.size}:(v("mapview-invalid-resource",`Unable to find resource for ${t}`),{size:[0,0]})}getMosaicTexture(e,t,i=!1){const r=this._getTextureBindingInfo(e,t,i);return r?{texture:r.texture,unit:"sprite"===r.type?g:f}:(v("mapview-invalid-resource",`Unable to find resource for ${t}`),null)}_getTextureBindingInfo(e,t,i){const{context:r}=e,s=this._bindingInfos[t-1],a=s.page,n="Nearest"===s.samplingMode?9728:i?9987:9729;switch(s.mosaicType){case 0:{const t=[this.sprites.getWidth(a),this.sprites.getHeight(a)],i=this._spriteMosaic.getTexture(e,a);return i.setSamplingMode(n),{type:"sprite",texture:i,size:t}}case 1:{const e=[this.glyphs.width,this.glyphs.height],t=this._glyphMosaic.getTexture(r,a);return this._glyphMosaic.bind(r,n,a,f),t.setSamplingMode(n),{type:"glyph",texture:t,size:e}}default:return v("mapview-texture-manager",`Cannot handle unknown type ${s.mosaicType}`),null}}_hashMosaic(e,t){return 1|e<<1|(t.sdf?1:0)<<2|("Nearest"===t.samplingMode?1:0)<<3|t.page<<4}_setTextureBinding(e,t){const i=this._hashMosaic(e,t);if(!this._hashToBindingIndex.has(i)){const r=k.fromMosaic(e,t),s=this._bindingInfos.length+1;this._hashToBindingIndex.set(i,s),this._bindingInfos.push(r)}t.textureBinding=this._hashToBindingIndex.get(i)}async _rasterizeText(e,t){const{font:i,textString:s}=e,a=r(i),n=this._invalidFonts.has(a),o=!!has("esri-2d-force-complex-shaping"),c=!!has("esri-2d-complex-shaping")&&b.test(s),h=P.has(i.family),l=o||c||h,u=n?x:a;has("esri-2d-stabilize-glyphs")&&await this._glyphMosaic.preloadASCIIGlyphCache(u).catch(()=>{});let p=await this._glyphMosaic.getGlyphItems(s,l,u,t);return p||(j(`Font ${a} is not available on the web, using "Arial Unicode MS Regular"`),this._invalidFonts.add(a),p=await this._glyphMosaic.getGlyphItems(s,l,x,t)),p}_hashSpriteResource(e){switch(e.type){case"path":return`path:${e.path}.${e.asFill?1:0}`;case"CIMPictureMarker":return`${e.type}:${e.url}:${e.size}:${z(e.markerPlacement)}`;case"CIMPictureFill":return`${e.type}:${e.url}:${e.height}`;case"CIMPictureStroke":return`${e.type}:${e.url}:${e.width}`;case"dash":return`dash:${e.capStyle}.${m(e.dashTemplate).join("")}`;case"sdf":return`sdf:${JSON.stringify(e.geometry)}.${e.sdfTextureSize}.${e.asFill?1:0}`;case"fill-style":return`fill_style:${e.style}`;case"animated":return JSON.stringify(S(e));case"CIMGradientFill":case"CIMGradientStroke":return`gradient:${JSON.stringify(e.colorRamp)}.${e.gradientType}.${e.interval}`;case"CIMHatchFill":case"CIMVectorMarker":return JSON.stringify(e)}}async _rasterizeSprite(e,t){if(!e)return null;const i=h(this._hashSpriteResource(e));if(this._spriteMosaic.has(i))return this._spriteMosaic.getSpriteItem(i);if("url"in e&&e.url&&"animated"!==e.type||"CIMPictureFill"===e.type||"CIMPictureStroke"===e.type||"CIMPictureMarker"===e.type||"CIMVectorMarker"===e.type){const t={type:"CIMPointSymbol",symbolLayers:[e]};await u.normalizeSymbolAndFetchResources(t,this._resourceManager)}switch(e.type){case"CIMPictureMarker":return"CIMMarkerPlacementInsidePolygon"===e.markerPlacement?.type?this._rasterizeJSONResource(i,e):this._handleAsyncResource(i,e,t);case"animated":case"CIMPictureFill":case"CIMPictureStroke":case"path":return this._handleAsyncResource(i,e,t);case"CIMGradientFill":case"CIMGradientStroke":case"CIMHatchFill":case"CIMVectorMarker":case"dash":case"fill-style":case"sdf":return this._rasterizeJSONResource(i,e)}}_rasterizeJSONResource(e,t){const i=this._rasterizer.rasterizeJSONResource(t);if(i){const{size:r,image:s,sdf:a,simplePattern:n,rasterizationScale:o,samplingMode:c,sdfPaddingRatio:h,sdfDecodeCoeff:l}=i;return this._addItemToMosaic(e,r,{type:"static",data:s},F(t),a,n,o,c,h,l)}return null}async _handleAsyncResource(e,t,i){if(this._ongoingRasterizations.has(e))return this._ongoingRasterizations.get(e);let r;return r="path"===t.type?this._handleSVG(t,e,i):this._handleImage(t,e,i),this._ongoingRasterizations.set(e,r),r.finally(()=>this._ongoingRasterizations.delete(e)),r}async _handleSVG(e,t,i){const r=[d,d],{asFill:s}=e,a=await this._sdfConverter.draw(e.path,s,i);return this._addItemToMosaic(t,r,{type:"static",data:new Uint32Array(a.buffer)},!1,!0,!0)}_handleGIFOrPNG(e,t,i){const r=e.url,s=this.resourceManager.getResource(r);if(null==s)return null;const{width:a,height:n}=s;if(s instanceof HTMLImageElement){if("animated"===e.type)return v("mapview-unexpected-resource","Attempt to configure animations for a non-animated image."),null;const i="colorSubstitutions"in e?e.colorSubstitutions:void 0,{size:r,sdf:o,image:c}=this._rasterizer.rasterizeImageResource(a,n,s,i);return this._addItemToMosaic(t,r,{type:"static",data:c},F(e),o,!1)}let o,c,h;"animated"===e.type?(o=!1,c={type:"CIMAnimatedSymbolProperties",playAnimation:e.playAnimation,reverseAnimation:e.reverseAnimation,randomizeStartTime:e.randomizeStartTime,randomizeStartSeed:e.randomizeStartSeed,startTimeOffset:e.startTimeOffset,duration:e.duration,repeatType:e.repeatType,repeatDelay:e.repeatDelay},h=e.startGroup||0):(o=F(e),c={type:"CIMAnimatedSymbolProperties",playAnimation:!0},h=0);const l=new C(s,this._requestRender,c,h);return this._addItemToMosaic(t,[l.width,l.height],{type:"animated",data:l},o,!1,!1)}async _handleImage(e,t,r){const s=e.url;if(N(s)||O(s))return this._handleGIFOrPNG(e,t,r);if("animated"===e.type)return v("mapview-unexpected-resource","Attempt to configure animations for a non-animated image."),null;try{let i;const a=this.resourceManager.getResource(s);if(null!=a&&a instanceof HTMLImageElement)i=a;else{const{data:e}=await this._imageRequestQueue.push(s,{...r});i=e}if(T(s))if("width"in e&&"height"in e)i.width=c(e.width),i.height=c(e.height);else if("cim"in e){const t=e;i.width=c(t.width??t.scaleX*t.size),i.height=c(t.size)}if(!i.width||!i.height)return null;const n=i.width,o=i.height,h="colorSubstitutions"in e?e.colorSubstitutions:void 0,{size:l,sdf:u,image:p}=this._rasterizer.rasterizeImageResource(n,o,i,h);return this._addItemToMosaic(t,l,{type:"static",data:p},F(e),u,!1)}catch(v){if(!n(v))throw new i("mapview-invalid-resource",`Could not fetch requested resource at ${s}. ${v.message}`);throw v}}_addItemToMosaic(e,t,i,r,s,a,n,o,c,h){return this._spriteMosaic.addSpriteItem(e,t,i,r,s,a,n,o,c,h)}}function F(e){switch(e.type){case"CIMVectorMarker":case"CIMPictureMarker":return U(e);default:return!0}}const G=e=>null!=e&&e.startsWith("data:image/gif"),N=e=>e&&(e.includes(".gif")||G(e)),B=e=>null!=e&&e.startsWith("data:image/png"),O=e=>e&&(e.includes(".png")||B(e)),U=e=>e&&"markerPlacement"in e&&e.markerPlacement&&"CIMMarkerPlacementInsidePolygon"===e.markerPlacement.type;export{A as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as i}from"tslib";import{animationDebugFlags as t}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{generateVirtualMachineSource as e}from"../../../animations/instructions.js";import{location as o,uniform as a,texture as r,option as s}from"../../GraphShaderModule.js";import{Vec2 as l,Vec4 as n,Float as m,Sampler2D as p,step as u,negate as d,cond as c,equal as y,Mat2 as f,cos as v,sin as b,Mat3 as S,Vec3 as h,lessThanEqual as w,ifElse as g,texture2D as x,clamp as V,abs as z,block as T}from"../../graph/glsl.js";import{AnimationUniformInfo as P}from"./AnimationUniformInfo.js";import{MarkerConstants as j}from"../markers/markerConstants.js";import{FeatureVertexInput as _,AFeatureShader as O,FeatureFragmentInput as I}from"../shaders/AFeatureShader.js";import{c256ToRad as C,softEdgeRatio as M}from"../shaders/constants.js";import{LocalTileOffset as D}from"../shaders/LocalTileOffset.js";import{MosaicInfo as A}from"../shaders/MosaicInfo.js";import{getBit as F,rgba2float as L}from"../shaders/utils.js";import{VisualVariableColor as R}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as k}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as U}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as E}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as B}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as G}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as N}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as W,getVisualVariableAngle as q}from"../shaders/vvUtils.js";class H extends _{}i([o(3,l)],H.prototype,"offset",void 0),i([o(4,n)],H.prototype,"sizing",void 0),i([o(5,n)],H.prototype,"value1Position2Value2",void 0),i([o(6,n)],H.prototype,"animationPointerAndBaseSizeAndReferenceSize",void 0),i([o(7,l)],H.prototype,"zoomRange",void 0),i([o(8,m)],H.prototype,"lineLength",void 0);class J extends I{}class K extends O{_vertexPreamble(i,t,e){const{id:o,offset:a,animationPointerAndBaseSizeAndReferenceSize:r,sizing:s}=i,l=r.xy,n=r.z,p=r.w,S=s.xy,h=this._getEvalParams(i,S,e);let w,g;if(i.value1Position2Value2){const t=Q(l,6,h).a,e=i.pos,o=i.value1Position2Value2.yz,a=i.value1Position2Value2.x,r=i.value1Position2Value2.w,s=t.subtract(a).divide(r.subtract(a));g=e.add(o.subtract(e).multiply(s)),w=u(new m(1),s).add(u(new m(0),d(s)))}else g=i.pos,w=new m(0);const x=s.z,V=F(i.bitset,j.bitset.isStroke),z=s.w,T=F(i.bitset,j.bitset.scaleSymbolsProportionally),P=Q(l,0,h),_=c([y(F(i.bitset,j.bitset.isMapAligned),new m(1)),this.view.rotation.divide(180).multiply(Math.PI)],[!0,new m(0)]),O=new f(v(_),b(_.multiply(-1)),b(_),v(_)).multiply(P.xy),I=P.z.subtract(_).subtract(t.multiply(C)),M=P.w,D=F(i.bitset,j.bitset.isSDF),A=W(this,o,new m(p)).divide(new m(p));return{baseSize:n,animationPointer:l,strokeWidth:x,isOutline:V,unscaledDistanceToPx:z,scaleSymbolsProportionally:T,isSDF:D,position:this._getScreenPosition({id:o,pos:g,offset:a,referenceSize:p,translation:O,rotation:I,scale:M,vvScale:A}),evalParams:h,vvScale:A,scale:M,clip:w}}_getScreenPosition(i){const{pos:t,translation:e,rotation:o,scale:a,offset:r,id:s,vvScale:l}=i,n=q(this,s).multiply(Math.PI/180),p=e.x.multiply(4/3),u=e.y.multiply(-1).multiply(4/3),c=b(n),y=v(n),f=y.multiply(p).add(d(c).multiply(u)),w=c.multiply(p).add(y.multiply(u)),g=b(o.subtract(n)),x=v(o.subtract(n)),V=new m(0),z=new m(1),{pixelRatio:T}=this.animationInfo,P=new S(z,V,V,V,z,V,f.multiply(T),w.multiply(T),z),j=new S(x,g.multiply(-1),V,g,x,V,0,0,z),_=a.multiply(l).multiply(T).multiply(4/3),O=j.multiply(_),I=this.animationInfo.toScreen.multiply(new h(t,1)),C=P.multiply(I).xy,M=O.multiply(new h(r,0)).xy;return C.add(M)}_clip(i,e){let o=super.clip(i,e);const a=w(this._getLocalTimeOrigin(i),new m(0));return t.forceGlobalTimeOrigin||(o=o.add(c([a,()=>new m(2)],[!0,()=>new m(0)]))),o}_getLocalTimeOrigin(i){return this.getLocalTimeOrigin(i)}_toNdc(i){return this.animationInfo.toNdc.multiply(new h(i,1)).xy}_getEvalParams(i,t,e){const{globalTime:o,animationTextureSize:a}=this.animationInfo;return{globalTime:o,localTimeOrigin:this._getLocalTimeOrigin(i.id),animationTextureSize:a,animationTexture:this.animationTexture,pixelDimensions:t,lineLength:e}}_getColor(i,t){return g(y(t.isSDF,new m(1)),this._getSDFColor(i,t),this._getSpriteColor(i,t))}_getSpriteColor(i,t){return x(this.mosaicTexture,i).multiply(t.color)}_getSDFColor(i,t){const e=x(this.mosaicTexture,i),o=new m(.5).subtract(L(e)).multiply(t.distanceToPx).multiply(M),a=V(new m(.5).subtract(o),new m(0),new m(1)),r=t.color.multiply(a),s=t.outlineSize.multiply(.5),l=z(o).subtract(s),n=V(new m(.5).subtract(l),new m(0),new m(1)),p=t.outlineColor.multiply(n);return new m(1).subtract(p.a).multiply(r).add(p)}}function Q(i,t,o){const a=i.add(new l(t,0)),r=x(o.animationTexture,a.add(.5).divide(o.animationTextureSize)).xy;return i=i.add(r),T({animationPointer:i,...o},n,null,i=>{const{out:t}=i;if(!t)throw new Error("out is null");return e({...i,out:t})})}i([a(A)],K.prototype,"mosaicInfo",void 0),i([a(P)],K.prototype,"animationInfo",void 0),i([a(D)],K.prototype,"localTileOffset",void 0),i([r(p)],K.prototype,"mosaicTexture",void 0),i([s(R)],K.prototype,"visualVariableColor",void 0),i([s(k)],K.prototype,"visualVariableOpacity",void 0),i([s(E)],K.prototype,"visualVariableSizeMinMaxValue",void 0),i([s(B)],K.prototype,"visualVariableSizeScaleStops",void 0),i([s(G)],K.prototype,"visualVariableSizeStops",void 0),i([s(N)],K.prototype,"visualVariableSizeUnitValue",void 0),i([s(U)],K.prototype,"visualVariableRotation",void 0),i([r(p)],K.prototype,"animationTexture",void 0);export{J as AAnimatedFragmentInput,K as AAnimatedShader,H as AAnimatedVertexInput,Q as getValue};
2
+ import{__decorate as i}from"tslib";import{animationDebugFlags as t}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{generateVirtualMachineSource as e}from"../../../animations/instructions.js";import{location as o,uniform as a,texture as r,option as s}from"../../GraphShaderModule.js";import{Vec2 as l,Vec4 as n,Float as m,Sampler2D as p,step as u,negate as d,cond as c,equal as y,Mat2 as f,cos as v,sin as b,Mat3 as S,Vec3 as h,lessThanEqual as w,ifElse as g,texture2D as x,clamp as V,abs as z,block as T}from"../../graph/glsl.js";import{AnimationUniformInfo as P}from"./AnimationUniformInfo.js";import{MarkerConstants as j}from"../markers/markerConstants.js";import{FeatureVertexInput as _,AFeatureShader as O,FeatureFragmentInput as I}from"../shaders/AFeatureShader.js";import{softEdgeRatio as C}from"../shaders/constants.js";import{LocalTileOffset as M}from"../shaders/LocalTileOffset.js";import{MosaicInfo as D}from"../shaders/MosaicInfo.js";import{getBit as A,rgba2float as F}from"../shaders/utils.js";import{VisualVariableColor as L}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as R}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as k}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as U}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as E}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as B}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as G}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as N,getVisualVariableAngle as W}from"../shaders/vvUtils.js";class q extends _{}i([o(3,l)],q.prototype,"offset",void 0),i([o(4,n)],q.prototype,"sizing",void 0),i([o(5,n)],q.prototype,"value1Position2Value2",void 0),i([o(6,n)],q.prototype,"animationPointerAndBaseSizeAndReferenceSize",void 0),i([o(7,l)],q.prototype,"zoomRange",void 0),i([o(8,m)],q.prototype,"lineLength",void 0);class H extends I{}class J extends O{_vertexPreamble(i,t,e){const{id:o,offset:a,animationPointerAndBaseSizeAndReferenceSize:r,sizing:s}=i,l=r.xy,n=r.z,p=r.w,S=s.xy,h=this._getEvalParams(i,S,e);let w,g;if(i.value1Position2Value2){const t=K(l,6,h).a,e=i.pos,o=i.value1Position2Value2.yz,a=i.value1Position2Value2.x,r=i.value1Position2Value2.w,s=t.subtract(a).divide(r.subtract(a));g=e.add(o.subtract(e).multiply(s)),w=u(new m(1),s).add(u(new m(0),d(s)))}else g=i.pos,w=new m(0);const x=s.z,V=A(i.bitset,j.bitset.isStroke),z=s.w,T=A(i.bitset,j.bitset.scaleSymbolsProportionally),P=K(l,0,h),_=c([y(A(i.bitset,j.bitset.isMapAligned),new m(1)),this.view.rotation.divide(180).multiply(Math.PI)],[!0,new m(0)]),O=new f(v(_),b(_.multiply(-1)),b(_),v(_)).multiply(P.xy),I=P.z.subtract(_).subtract(t),C=P.w,M=A(i.bitset,j.bitset.isSDF),D=N(this,o,new m(p)).divide(new m(p));return{baseSize:n,animationPointer:l,strokeWidth:x,isOutline:V,unscaledDistanceToPx:z,scaleSymbolsProportionally:T,isSDF:M,position:this._getScreenPosition({id:o,pos:g,offset:a,referenceSize:p,translation:O,rotation:I,scale:C,vvScale:D}),evalParams:h,vvScale:D,scale:C,clip:w}}_getScreenPosition(i){const{pos:t,translation:e,rotation:o,scale:a,offset:r,id:s,vvScale:l}=i,n=W(this,s).multiply(Math.PI/180),p=e.x.multiply(4/3),u=e.y.multiply(-1).multiply(4/3),c=b(n),y=v(n),f=y.multiply(p).add(d(c).multiply(u)),w=c.multiply(p).add(y.multiply(u)),g=b(o.subtract(n)),x=v(o.subtract(n)),V=new m(0),z=new m(1),{pixelRatio:T}=this.animationInfo,P=new S(z,V,V,V,z,V,f.multiply(T),w.multiply(T),z),j=new S(x,g.multiply(-1),V,g,x,V,0,0,z),_=a.multiply(l).multiply(T).multiply(4/3),O=j.multiply(_),I=this.animationInfo.toScreen.multiply(new h(t,1)),C=P.multiply(I).xy,M=O.multiply(new h(r,0)).xy;return C.add(M)}_clip(i,e){let o=super.clip(i,e);const a=w(this._getLocalTimeOrigin(i),new m(0));return t.forceGlobalTimeOrigin||(o=o.add(c([a,()=>new m(2)],[!0,()=>new m(0)]))),o}_getLocalTimeOrigin(i){return this.getLocalTimeOrigin(i)}_toNdc(i){return this.animationInfo.toNdc.multiply(new h(i,1)).xy}_getEvalParams(i,t,e){const{globalTime:o,animationTextureSize:a}=this.animationInfo;return{globalTime:o,localTimeOrigin:this._getLocalTimeOrigin(i.id),animationTextureSize:a,animationTexture:this.animationTexture,pixelDimensions:t,lineLength:e}}_getColor(i,t){return g(y(t.isSDF,new m(1)),this._getSDFColor(i,t),this._getSpriteColor(i,t))}_getSpriteColor(i,t){return x(this.mosaicTexture,i).multiply(t.color)}_getSDFColor(i,t){const e=x(this.mosaicTexture,i),o=new m(.5).subtract(F(e)).multiply(t.distanceToPx).multiply(C),a=V(new m(.5).subtract(o),new m(0),new m(1)),r=t.color.multiply(a),s=t.outlineSize.multiply(.5),l=z(o).subtract(s),n=V(new m(.5).subtract(l),new m(0),new m(1)),p=t.outlineColor.multiply(n);return new m(1).subtract(p.a).multiply(r).add(p)}}function K(i,t,o){const a=i.add(new l(t,0)),r=x(o.animationTexture,a.add(.5).divide(o.animationTextureSize)).xy;return i=i.add(r),T({animationPointer:i,...o},n,null,i=>{const{out:t}=i;if(!t)throw new Error("out is null");return e({...i,out:t})})}i([a(D)],J.prototype,"mosaicInfo",void 0),i([a(P)],J.prototype,"animationInfo",void 0),i([a(M)],J.prototype,"localTileOffset",void 0),i([r(p)],J.prototype,"mosaicTexture",void 0),i([s(L)],J.prototype,"visualVariableColor",void 0),i([s(R)],J.prototype,"visualVariableOpacity",void 0),i([s(U)],J.prototype,"visualVariableSizeMinMaxValue",void 0),i([s(E)],J.prototype,"visualVariableSizeScaleStops",void 0),i([s(B)],J.prototype,"visualVariableSizeStops",void 0),i([s(G)],J.prototype,"visualVariableSizeUnitValue",void 0),i([s(k)],J.prototype,"visualVariableRotation",void 0),i([r(p)],J.prototype,"animationTexture",void 0);export{H as AAnimatedFragmentInput,J as AAnimatedShader,q as AAnimatedVertexInput,K as getValue};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- 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{CIMMarkerPlacementHelper as r}from"../../../../../../../symbols/cim/placements/CIMMarkerPlacementHelper.js";import{spritePadding as s}from"../../../definitions.js";import{AAnimatedMeshWriter as n}from"./AnimatedMeshWriter.js";import{angle as o,sizing as a,animationPointerAndBaseSizeAndReferenceSize as c,uv as l,offset as m,pos as d,bitset as p,id as h,lineLength as u,value1Position2Value2 as f,zoomRange as y}from"./attributes.js";import{createComputedAnimatedMeshParams as x}from"./ComputedAnimatedParams.js";import{c256ToRad as P}from"../shaders/constants.js";const M=64,g=64,v=2;class w extends n{get vertexSpec(){return{createComputedParams:x,optionalAttributes:{zoomRange:y,value1Position2Value2:f,lineLength:u},attributes:{id:h,bitset:p,pos:d,offset:m.marker,uv:l.marker,animationPointerAndBaseSizeAndReferenceSize:c,sizing:a,angle:o}}}_write(e,{target:i,effectGeometry:r}){const s=this.evaluatedMeshParams.sprite,{textureBinding:n}=s;e.recordStart(this.instanceId,this.attributeLayout,n);const o=i.getDisplayId();if(this.shift&&"esriGeometryPolyline"===i.geometryType){if(!r){const r=t.fromFeatureSetReaderCIM(i);r&&this._writeParticles(e,i,r)}}else if(null!=this.evaluatedMeshParams.placement)this._writePlacedMarkers(e,i);else if("esriGeometryPolygon"===i.geometryType){const t=i.readCentroidForDisplay();if(!t)return;const[r,s]=t.coords;this._writeQuad(e,o,r,s)}else if("esriGeometryPoint"===i.geometryType){const t=i.readXForDisplay(),r=i.readYForDisplay();this._writeQuad(e,o,t,r)}else{const t=i.readGeometryForDisplay();t&&t.forEachVertex((t,i)=>{this._writeQuad(e,o,t,i)})}e.recordEnd()}_writePlacedMarkers(s,n){const o=t.fromFeatureSetReaderCIM(n)?.clone();if(!o)return;const a=-1,c=r.getPlacement(o,a,this.evaluatedMeshParams.placement,e(1),s.id);if(!c)return;const l=n.getDisplayId();let m=c.next(),d=null;for(;null!=m;){const e=m.tx,t=-m.ty;if(Math.abs(e)>i||Math.abs(t)>i){m=c.next();continue}const r=-m.getAngle();s.recordBounds(e,t,M,g),this.shift?d&&this._writeQuad(s,l,d[0],d[1],void 0,r):this._writeQuad(s,l,e,t,void 0,r),d=[e,t],m=c.next()}}_writeParticles(e,t,i){const r=t.getDisplayId();for(;i.nextPath();){const t=[];for(;i.nextPoint();)t.push([i.x,i.y]);const s=_(t);let n=0;for(let e=1;e<t.length;e++){const i=t[e][0]-t[e-1][0],r=t[e][1]-t[e-1][1],s=Math.sqrt(i*i+r*r);n+=s}const o=t=>{for(const i of s){const{a:s,b:o}=i;this._writeQuad(e,r,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,n,!0)}},{placement:a}=this.evaluatedMeshParams;if(!a||"placementTemplate"in a||"CIMMarkerPlacementOnVertices"===a.type){let e;if(a&&"CIMMarkerPlacementOnVertices"!==a.type)e=a.placementTemplate;else{e=[0];for(const t of s){const{a:i,b:r}=t,s=i.position[0]-r.position[0],n=i.position[1]-r.position[1],o=Math.sqrt(s*s+n*n);e.push(o)}}let t=-1*n;for(;t<(1+v/2)*n;)for(const i of e)t+=i,o(t)}else"CIMMarkerPlacementAtExtremities"===a.type?"JustBegin"===a.extremityPlacement?o(1):"JustEnd"===a.extremityPlacement?(o(n-1),o(-1)):"Both"===a.extremityPlacement&&(o(1),o(n-1)):"CIMMarkerPlacementOnLine"===a.type&&("LineBeginning"===a.relativeTo?o(1):"LineEnd"===a.relativeTo?(o(n-1),o(-1)):"LineMiddle"===a.relativeTo&&o(n/2))}}_writeQuad(e,t,i,r,n,o=0,a=0,c=!1){const l=this.evaluatedMeshParams.sprite,{rect:m}=l,d=m.x+s,p=m.y+s,h=m.x+m.width-s,u=m.y+m.height-s,f=e.vertexCount();c||e.recordBounds(i,r,M,M);const y={texXmin:d,texYmin:p,texXmax:h,texYmax:u,value1Position2Value2:n,angle:o/P,lineLength:a};for(let s=0;s<4;s++)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 _(e){const t=[];let i=0;for(let r=1;r<e.length;r++){const s=e[r-1],n=e[r],o=n[0]-s[0],a=n[1]-s[1],c=Math.sqrt(o*o+a*a),l=o/c,m=a/c;t.push({a:{position:s,distance:i,direction:[l,m]},b:{position:n,distance:i+c,direction:[l,m]}}),i+=c}return t}class b extends w{constructor(){super(...arguments),this.shift=!1}}class C extends w{constructor(){super(...arguments),this.shift=!0}}export{b as AnimatedMarkerMeshWriter,C as AnimatedMarkerShiftMeshWriter};
2
+ 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{CIMMarkerPlacementHelper as r}from"../../../../../../../symbols/cim/placements/CIMMarkerPlacementHelper.js";import{spritePadding as s}from"../../../definitions.js";import{AAnimatedMeshWriter as n}from"./AnimatedMeshWriter.js";import{angle as o,sizing as a,animationPointerAndBaseSizeAndReferenceSize as c,uv as l,offset as m,pos as d,bitset as p,id as u,lineLength as h,value1Position2Value2 as f,zoomRange as y}from"./attributes.js";import{createComputedAnimatedMeshParams as x}from"./ComputedAnimatedParams.js";const P=64,M=64,g=2;class v extends n{get vertexSpec(){return{createComputedParams:x,optionalAttributes:{zoomRange:y,value1Position2Value2:f,lineLength:h},attributes:{id:u,bitset:p,pos:d,offset:m.marker,uv:l.marker,animationPointerAndBaseSizeAndReferenceSize:c,sizing:a,angle:o}}}_write(e,{target:i,effectGeometry:r}){const s=this.evaluatedMeshParams.sprite,{textureBinding:n}=s;e.recordStart(this.instanceId,this.attributeLayout,n);const o=i.getDisplayId();if(this.shift&&"esriGeometryPolyline"===i.geometryType){if(!r){const r=t.fromFeatureSetReaderCIM(i);r&&this._writeParticles(e,i,r)}}else if(null!=this.evaluatedMeshParams.placement)this._writePlacedMarkers(e,i);else if("esriGeometryPolygon"===i.geometryType){const t=i.readCentroidForDisplay();if(!t)return;const[r,s]=t.coords;this._writeQuad(e,o,r,s)}else if("esriGeometryPoint"===i.geometryType){const t=i.readXForDisplay(),r=i.readYForDisplay();this._writeQuad(e,o,t,r)}else{const t=i.readGeometryForDisplay();t&&t.forEachVertex((t,i)=>{this._writeQuad(e,o,t,i)})}e.recordEnd()}_writePlacedMarkers(s,n){const o=t.fromFeatureSetReaderCIM(n)?.clone();if(!o)return;const a=-1,c=r.getPlacement(o,a,this.evaluatedMeshParams.placement,e(1),s.id);if(!c)return;const l=n.getDisplayId();let m=c.next(),d=null;for(;null!=m;){const e=m.tx,t=-m.ty;if(Math.abs(e)>i||Math.abs(t)>i){m=c.next();continue}const r=-m.getAngle();s.recordBounds(e,t,P,M),this.shift?d&&this._writeQuad(s,l,d[0],d[1],void 0,r):this._writeQuad(s,l,e,t,void 0,r),d=[e,t],m=c.next()}}_writeParticles(e,t,i){const r=t.getDisplayId();for(;i.nextPath();){const t=[];for(;i.nextPoint();)t.push([i.x,i.y]);const s=w(t);let n=0;for(let e=1;e<t.length;e++){const i=t[e][0]-t[e-1][0],r=t[e][1]-t[e-1][1],s=Math.sqrt(i*i+r*r);n+=s}const o=t=>{for(const i of s){const{a:s,b:o}=i;this._writeQuad(e,r,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,n,!0)}},{placement:a}=this.evaluatedMeshParams;if(!a||"placementTemplate"in a||"CIMMarkerPlacementOnVertices"===a.type){let e;if(a&&"CIMMarkerPlacementOnVertices"!==a.type)e=a.placementTemplate;else{e=[0];for(const t of s){const{a:i,b:r}=t,s=i.position[0]-r.position[0],n=i.position[1]-r.position[1],o=Math.sqrt(s*s+n*n);e.push(o)}}let t=-1*n;for(;t<(1+g/2)*n;)for(const i of e)t+=i,o(t)}else"CIMMarkerPlacementAtExtremities"===a.type?"JustBegin"===a.extremityPlacement?o(1):"JustEnd"===a.extremityPlacement?(o(n-1),o(-1)):"Both"===a.extremityPlacement&&(o(1),o(n-1)):"CIMMarkerPlacementOnLine"===a.type&&("LineBeginning"===a.relativeTo?o(1):"LineEnd"===a.relativeTo?(o(n-1),o(-1)):"LineMiddle"===a.relativeTo&&o(n/2))}}_writeQuad(e,t,i,r,n,o=0,a=0,c=!1){const l=this.evaluatedMeshParams.sprite,{rect:m}=l,d=m.x+s,p=m.y+s,u=m.x+m.width-s,h=m.y+m.height-s,f=e.vertexCount();c||e.recordBounds(i,r,P,P);const y={texXmin:d,texYmin:p,texXmax:u,texYmax:h,value1Position2Value2:n,angle:o,lineLength:a};for(let s=0;s<4;s++)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 w(e){const t=[];let i=0;for(let r=1;r<e.length;r++){const s=e[r-1],n=e[r],o=n[0]-s[0],a=n[1]-s[1],c=Math.sqrt(o*o+a*a),l=o/c,m=a/c;t.push({a:{position:s,distance:i,direction:[l,m]},b:{position:n,distance:i+c,direction:[l,m]}}),i+=c}return t}class _ extends v{constructor(){super(...arguments),this.shift=!1}}class b extends v{constructor(){super(...arguments),this.shift=!0}}export{_ as AnimatedMarkerMeshWriter,b as AnimatedMarkerShiftMeshWriter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{cDegTo256 as t}from"../../../../vectorTiles/GeometryUtils.js";import{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.HALF_FLOAT,count:2,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:4,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]}},A={type:n.BYTE,count:1,packTessellation:({angle:e})=>e*t},E={type:n.BYTE,count:1,pack:({angle:e})=>e?e*t:0},N={type:n.BYTE,count:1,pack:()=>0};export{k as accumulatedDistance,A as angle,d as animationPointerAndBaseSizeAndReferenceSize,y as bitset,m as id,l as lineLength,r as noLineLength,N as noPatternAngle,p as noTiming,T as normal,f as offset,E as patternAngle,F as pos,u as segmentDirection,x as sizing,S as tlbr,O as uv,s as value1Position2Value2,a as zoomRange};
2
+ import{cDegTo256 as t}from"../../../../vectorTiles/GeometryUtils.js";import{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.HALF_FLOAT,count:2,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:4,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]}},A={type:n.BYTE,count:1,packPrecisionFactor:16,packTessellation:({angle:t})=>t},E={type:n.BYTE,count:1,pack:({angle:e})=>e?e*t:0},N={type:n.BYTE,count:1,pack:()=>0};export{k as accumulatedDistance,A as angle,d as animationPointerAndBaseSizeAndReferenceSize,y as bitset,m as id,l as lineLength,r as noLineLength,N as noPatternAngle,p as noTiming,T as normal,f as offset,E as patternAngle,F as pos,u as segmentDirection,x as sizing,S as tlbr,O as uv,s as value1Position2Value2,a as zoomRange};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{nextPowerOfTwo as t}from"../../../../../../../core/mathUtils.js";import{create as e}from"../../../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as r}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getDefinesKey as s}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as o,vtlHighResCutoff as i}from"../../../definitions.js";import{Mesh as a}from"../../../meshing/Mesh.js";import{simplePipelineState as n}from"../../utils.js";import{Technique as l}from"../Technique.js";import{VTLShaderBackground as c}from"../shaders/vector-tiles/VTLShaderBackground.js";import{PrimitiveType as u}from"../../../../../../webgl/enums.js";class h extends l{constructor(){super(...arguments),this.type=38,this._color=r(1,0,0,1),this._patternMatrix=e(),this._mesh=null,this.shaders={background:new c}}render(r,a){if(0===a.tiles.length)return;this._loadResources(r);const{context:l,displayLevel:c,painter:u,spriteMosaic:h,state:m,styleLayer:d}=r,p=d,f=p.backgroundMaterial,g=p.getPaintValue("background-color",c),y=p.getPaintValue("background-opacity",c),M=p.getPaintValue("background-pattern",c),_=void 0!==M,x=1|window.devicePixelRatio;let b,v;const w=f.key+s({hasPattern:_}),j=x>i?2:1,k={layerInfo:{depth:p.z,coordRange:a.tiles[0].rangeX},tileInfo:{dvsMat:m.displayViewMat3},solidColor:null,pattern:null,patternMat:{mat:e()}};let P=null;if(_){const t=h.getMosaicItemPosition(M,!0);if(null!=t){const{tl:e,br:r,page:s}=t;b=r[0]-e[0],v=r[1]-e[1];const i=h.getPageSize(s);null!=i&&(h.bind(l,9729,s,o),k.pattern={tlbr:[e[0],e[1],r[0],r[1]],mosaicSize:i,opacity:y},P={patternTexture:{texture:h.getTexture(s),unit:o}})}}else{const t=g[3]*y;this._color[0]=t*g[0],this._color[1]=t*g[1],this._color[2]=t*g[2],this._color[3]=t,k.solidColor={color:this._color}}u.setPipelineState(n);for(const e of a.tiles){if(k.tileInfo.dvsMat=e.transforms.displayViewScreenMat3,k.layerInfo.coordRange=e.rangeX,_){const r=Math.max(2**(Math.round(c)-e.key.level),1),s=j*e.width*r,o=s/t(b),i=s/t(v);this._patternMatrix[0]=o,this._patternMatrix[4]=i,k.patternMat={mat:this._patternMatrix}}const r={shader:this.shaders.background,uniforms:k,textures:P,defines:{renderMode:_?1:0},optionalAttributes:f.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:f.getPrecisionFactors(),materialKey:w};u.submitDrawMeshUntyped(l,r,this._mesh,{stencilRef:e.stencilRef})}}shutdown(){this._mesh&&(this._mesh.destroy(),this._mesh=null)}_loadResources(t){if(this._mesh)return;const{context:e,styleLayer:r}=t,s=r,o=new Int16Array([0,0,1,0,0,1,1,1]),i=s.backgroundMaterial.geometryLayout;if(!i)return;const n={vertex:{geometryVB:{data:o,layout:i}},groups:[{primitive:u.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:4}]};this._mesh=new a(e,n)}}export{h as VTLTechniqueBackground};
2
+ import{nextPowerOfTwo as t}from"../../../../../../../core/mathUtils.js";import{create as e}from"../../../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as r}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getDefinesKey as o}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as s,vtlHighResCutoff as i}from"../../../definitions.js";import{Mesh as a}from"../../../meshing/Mesh.js";import{simplePipelineState as n}from"../../utils.js";import{Technique as l}from"../Technique.js";import{VTLShaderBackground as c}from"../shaders/vector-tiles/VTLShaderBackground.js";import{PrimitiveType as u}from"../../../../../../webgl/enums.js";function h(t,e){return{color:t.getPaintValue("background-color",e),opacity:t.getPaintValue("background-opacity",e),pattern:t.getPaintValue("background-pattern",Math.floor(e))}}class m extends l{constructor(){super(...arguments),this.type=38,this._color=r(1,0,0,1),this._patternMatrix=e(),this._mesh=null,this.shaders={background:new c}}render(r,a){if(0===a.tiles.length)return;this._loadResources(r);const{context:l,displayLevel:c,painter:u,spriteMosaic:m,state:p,styleLayer:d}=r,f=d,g=f.backgroundMaterial,{color:y,opacity:M,pattern:_}=h(f,c),x=void 0!==_,b=1|window.devicePixelRatio;let v,w;const j=g.key+o({hasPattern:x}),k=b>i?2:1,P={layerInfo:{depth:f.z,coordRange:a.tiles[0].rangeX},tileInfo:{dvsMat:p.displayViewMat3},solidColor:null,pattern:null,patternMat:{mat:e()}};let R=null;if(x){const t=m.getMosaicItemPosition(_,!0);if(null==t)return;{const{tl:e,br:r,page:o}=t;v=r[0]-e[0],w=r[1]-e[1];const i=m.getPageSize(o);null!=i&&(m.bind(l,9729,o,s),P.pattern={tlbr:[e[0],e[1],r[0],r[1]],mosaicSize:i,opacity:M},R={patternTexture:{texture:m.getTexture(o),unit:s}})}}else{const t=y[3]*M;this._color[0]=t*y[0],this._color[1]=t*y[1],this._color[2]=t*y[2],this._color[3]=t,P.solidColor={color:this._color}}u.setPipelineState(n);for(const e of a.tiles){if(P.tileInfo.dvsMat=e.transforms.displayViewScreenMat3,P.layerInfo.coordRange=e.rangeX,x){const r=Math.max(2**(Math.round(c)-e.key.level),1),o=k*e.width*r,s=o/t(v),i=o/t(w);this._patternMatrix[0]=s,this._patternMatrix[4]=i,P.patternMat={mat:this._patternMatrix}}const r={shader:this.shaders.background,uniforms:P,textures:R,defines:{renderMode:x?1:0},optionalAttributes:g.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:g.getPrecisionFactors(),materialKey:j};u.submitDrawMeshUntyped(l,r,this._mesh,{stencilRef:e.stencilRef})}}shutdown(){this._mesh&&(this._mesh.destroy(),this._mesh=null)}_loadResources(t){if(this._mesh)return;const{context:e,styleLayer:r}=t,o=r,s=new Int16Array([0,0,1,0,0,1,1,1]),i=o.backgroundMaterial.geometryLayout;if(!i)return;const n={vertex:{geometryVB:{data:s,layout:i}},groups:[{primitive:u.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:4}]};this._mesh=new a(e,n)}}export{m as VTLTechniqueBackground,h as getBackgroundPaintValues};