@arcgis/core 5.2.0-next.74 → 5.2.0-next.76

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 (489) hide show
  1. package/arcgisGlobal.d.ts +1 -0
  2. package/assets/esri/core/workers/RemoteClient.js +1 -1
  3. package/assets/esri/core/workers/chunks/013c9cc198736a72f7f2.js +1 -0
  4. package/assets/esri/core/workers/chunks/0194244a3f437ad74045.js +1 -0
  5. package/assets/esri/core/workers/chunks/0502641d9a214b37ff29.js +1 -0
  6. package/assets/esri/core/workers/chunks/{4dcd4a052b40047a9230.js → 08cac27df6c216ae1995.js} +1 -1
  7. package/assets/esri/core/workers/chunks/08ec5461af74356e7570.js +1 -0
  8. package/assets/esri/core/workers/chunks/0909816f13d25cacf250.js +1 -0
  9. package/assets/esri/core/workers/chunks/0933203eee15ea50e123.js +1 -0
  10. package/assets/esri/core/workers/chunks/0d9fe49812554e7d7ba7.js +1 -0
  11. package/assets/esri/core/workers/chunks/{0e81c6d4f1c81f9b0a1b.js → 1142f8e9c80207d6bdae.js} +1 -1
  12. package/assets/esri/core/workers/chunks/16929524565a677db4dc.js +1 -0
  13. package/assets/esri/core/workers/chunks/16a04fc184728d66e6e1.js +1 -0
  14. package/assets/esri/core/workers/chunks/177c3b23c1cbd4737049.js +1 -0
  15. package/assets/esri/core/workers/chunks/18e0e993c0c39c962e61.js +1 -0
  16. package/assets/esri/core/workers/chunks/1a467da4c0b33f655199.js +1 -0
  17. package/assets/esri/core/workers/chunks/1ef28d4457c8c943ad19.js +1 -0
  18. package/assets/esri/core/workers/chunks/20b54e7872d967f3be32.js +1 -0
  19. package/assets/esri/core/workers/chunks/{5f31b375971ab067121e.js → 21f763694a41968ac21a.js} +1 -1
  20. package/assets/esri/core/workers/chunks/230925079cee040a8d77.js +1 -0
  21. package/assets/esri/core/workers/chunks/2501d9459f6d14c797e5.js +1 -0
  22. package/assets/esri/core/workers/chunks/257f1e8316877f611e11.js +1 -0
  23. package/assets/esri/core/workers/chunks/270ed3070d118edb3f37.js +1 -0
  24. package/assets/esri/core/workers/chunks/2740f755c3a322cbd477.js +1 -0
  25. package/assets/esri/core/workers/chunks/2e7c830b5b1fe406169f.js +1 -0
  26. package/assets/esri/core/workers/chunks/2f4ed8a63d57636a4ebe.js +1 -0
  27. package/assets/esri/core/workers/chunks/{31d19bb72a9e79b30070.js → 30818b5ff0ce51b25d6f.js} +1 -1
  28. package/assets/esri/core/workers/chunks/315031323e11a18154e3.js +1 -0
  29. package/assets/esri/core/workers/chunks/393f79843d5a78c1cc37.js +1 -0
  30. package/assets/esri/core/workers/chunks/3b5c5356353f1a2303a0.js +1 -0
  31. package/assets/esri/core/workers/chunks/3c28e2040cb4fb716eaa.js +1 -0
  32. package/assets/esri/core/workers/chunks/{99e3aa4832ed87474ab4.js → 44857a76be2c0ac65bb9.js} +1 -1
  33. package/assets/esri/core/workers/chunks/44a786aba84918f2b247.js +1 -0
  34. package/assets/esri/core/workers/chunks/{3e2b4e734aa20a308f3e.js → 46e56fac44e0fd26ba1d.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{4491dc227c28e2ab4f8e.js → 484b251fbcbffcb58323.js} +1 -1
  36. package/assets/esri/core/workers/chunks/48e2d0bfb62e1f4f2ad9.js +1 -0
  37. package/assets/esri/core/workers/chunks/4945d6b0ca1812864185.js +1 -0
  38. package/assets/esri/core/workers/chunks/{7f2f2a92dce3f68e579b.js → 4b54444c04fbd6f42c18.js} +1 -1
  39. package/assets/esri/core/workers/chunks/4c82f5f23004f905a18f.js +1 -0
  40. package/assets/esri/core/workers/chunks/4d7a3b3aaf876da0891b.js +1 -0
  41. package/assets/esri/core/workers/chunks/4f8ce5887102971bfa34.js +2 -0
  42. package/assets/esri/core/workers/chunks/50b08415e072a49bc572.js +1 -0
  43. package/assets/esri/core/workers/chunks/{186bedc377cc97731ca2.js → 532e3a59888e4cc13bd3.js} +2 -2
  44. package/assets/esri/core/workers/chunks/53eed0941a39b56cc034.js +1 -0
  45. package/assets/esri/core/workers/chunks/{1a3afee3ecd806b4aa81.js → 552d6aecc7d88d16227b.js} +1 -1
  46. package/assets/esri/core/workers/chunks/56e6d8c4a9ed893ce951.js +1 -0
  47. package/assets/esri/core/workers/chunks/57159bcac86d660dcceb.js +1 -0
  48. package/assets/esri/core/workers/chunks/58026fc30d8a0ded4102.js +1 -0
  49. package/assets/esri/core/workers/chunks/59598023c0aea62a6297.js +1 -0
  50. package/assets/esri/core/workers/chunks/5bf2ce280ea35ea4c96b.js +1 -0
  51. package/assets/esri/core/workers/chunks/5fd2aa0be03dfb494efa.js +1 -0
  52. package/assets/esri/core/workers/chunks/619aa1381296172ff47b.js +1 -0
  53. package/assets/esri/core/workers/chunks/62f37d1075390a177ae9.js +1 -0
  54. package/assets/esri/core/workers/chunks/{2baa16ec8559e77c226f.js → 64a1ffc221e5b63b43fb.js} +1 -1
  55. package/assets/esri/core/workers/chunks/65d1e338612e59063eba.js +1 -0
  56. package/assets/esri/core/workers/chunks/680dd7b7638465eb33de.js +1 -0
  57. package/assets/esri/core/workers/chunks/69b0dcd7bcd8ec42e2c3.js +1 -0
  58. package/assets/esri/core/workers/chunks/6c740c411b085d2d08c4.js +1 -0
  59. package/assets/esri/core/workers/chunks/6c982779d6d47ec99899.js +1 -0
  60. package/assets/esri/core/workers/chunks/6dddd3df31961b9fda12.js +1 -0
  61. package/assets/esri/core/workers/chunks/{1ca04ecf010e68863014.js → 6e45ecf359bce3417f5d.js} +1 -1
  62. package/assets/esri/core/workers/chunks/702b2381acf4d1f90094.js +1 -0
  63. package/assets/esri/core/workers/chunks/{a52c88e2d837b525ff6c.js → 71ee7c51d2c60a180f1e.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{ad1d06a91121ebfe9162.js → 755b2d883fba90c4e688.js} +2 -2
  65. package/assets/esri/core/workers/chunks/75fc0b1db8e2e3fd2458.js +1 -0
  66. package/assets/esri/core/workers/chunks/{9e25f715cda59c686a4c.js → 792303e4090c0c70c4ff.js} +1 -1
  67. package/assets/esri/core/workers/chunks/79429c8be5da85713200.js +1 -0
  68. package/assets/esri/core/workers/chunks/7b470d6ad182548b9e95.js +1 -0
  69. package/assets/esri/core/workers/chunks/7d8eb4dbea1916320f74.js +1 -0
  70. package/assets/esri/core/workers/chunks/83e54166ba634ec2bd89.js +1717 -0
  71. package/assets/esri/core/workers/chunks/841c81c280114412c95b.js +1 -0
  72. package/assets/esri/core/workers/chunks/87eaed6fdabd482d142e.js +1 -0
  73. package/assets/esri/core/workers/chunks/88d5541679e77117bf03.js +1 -0
  74. package/assets/esri/core/workers/chunks/894ebc64b698e5d7604b.js +1 -0
  75. package/assets/esri/core/workers/chunks/8a36b999cbd65dd2f16c.js +1 -0
  76. package/assets/esri/core/workers/chunks/8ae3a6ddc87bf8315583.js +1 -0
  77. package/assets/esri/core/workers/chunks/{67f54586156d1ab80257.js → 8b980c6b92cc4ea68ede.js} +1 -1
  78. package/assets/esri/core/workers/chunks/8d9a7fa14489897780d3.js +1 -0
  79. package/assets/esri/core/workers/chunks/8e225dd0319672103561.js +1 -0
  80. package/assets/esri/core/workers/chunks/9199300ffd225a1bbef1.js +1 -0
  81. package/assets/esri/core/workers/chunks/94b9a61b4dbb83425a78.js +1 -0
  82. package/assets/esri/core/workers/chunks/98613fded899c59f34a4.js +1 -0
  83. package/assets/esri/core/workers/chunks/{9ca59077712e45ef4d56.js → 9c3e6325dc60bcaf44d7.js} +1 -1
  84. package/assets/esri/core/workers/chunks/9e1392a0c608a13ab036.js +1 -0
  85. package/assets/esri/core/workers/chunks/9e2e4d197a7a57c2a691.js +1 -0
  86. package/assets/esri/core/workers/chunks/{d03e7be74c57c3dbf003.js → a014c17fc210620da738.js} +2 -2
  87. package/assets/esri/core/workers/chunks/{8302bffd28cc6720e0fe.js → a19be304219808268039.js} +2 -2
  88. package/assets/esri/core/workers/chunks/{bd311c85437743cf7d2f.js → a4e4fa4dd1a122bbf7cd.js} +1 -1
  89. package/assets/esri/core/workers/chunks/a5240c8a47842138f31f.js +1 -0
  90. package/assets/esri/core/workers/chunks/a69c10bfd632a5546b34.js +1 -0
  91. package/assets/esri/core/workers/chunks/{b6d26d9738c0787acc38.js → a6a2a4a2bae0d327d7ed.js} +1 -1
  92. package/assets/esri/core/workers/chunks/a7727a2377470d586ff9.js +1 -0
  93. package/assets/esri/core/workers/chunks/a91c1d782346a9c7e1ef.js +1 -0
  94. package/assets/esri/core/workers/chunks/{6cd6d0cfd313f0475d98.js → ac59218847e5ef4c4160.js} +1 -1
  95. package/assets/esri/core/workers/chunks/ac87be2210f868524996.js +1 -0
  96. package/assets/esri/core/workers/chunks/aed16c3e26652960ad3f.js +1 -0
  97. package/assets/esri/core/workers/chunks/b084829a3fd709dc47a8.js +1 -0
  98. package/assets/esri/core/workers/chunks/{05f6887805d92da03122.js → b24fc7eeda580ef020d2.js} +1 -1
  99. package/assets/esri/core/workers/chunks/b37a20c5c4a4686257d4.js +1 -0
  100. package/assets/esri/core/workers/chunks/{a0a1f0bd3648738354a6.js → b4abf82b8ac974a55ae1.js} +1 -1
  101. package/assets/esri/core/workers/chunks/b950ddafba8125c84a5b.js +1 -0
  102. package/assets/esri/core/workers/chunks/b9d1bb106737a05290e1.js +1 -0
  103. package/assets/esri/core/workers/chunks/bab5f4b2424b487b87ac.js +1 -0
  104. package/assets/esri/core/workers/chunks/bad2c7219e95750906e1.js +1 -0
  105. package/assets/esri/core/workers/chunks/bbc6b270d2032189107c.js +1 -0
  106. package/assets/esri/core/workers/chunks/{faa55265020591fd2224.js → bc0395777c5c1adb1ddb.js} +1 -1
  107. package/assets/esri/core/workers/chunks/bc6e488f5fbd50f9f3d0.js +1 -0
  108. package/assets/esri/core/workers/chunks/bd7d87d175ba933ab2ce.js +1 -0
  109. package/assets/esri/core/workers/chunks/{859dd86c921053bf03a1.js → c17dda6fadb8bfad0d51.js} +1 -1
  110. package/assets/esri/core/workers/chunks/c1e5ffe9a251be5a0744.js +1 -0
  111. package/assets/esri/core/workers/chunks/{94368a097e6190ce3c7a.js → c37b28f200b704ae6002.js} +1 -1
  112. package/assets/esri/core/workers/chunks/ca6652c6304ad0e37e8f.js +1 -0
  113. package/assets/esri/core/workers/chunks/{762be5d3e6aeaea33f74.js → cef02ed3942c010da2e8.js} +1 -1
  114. package/assets/esri/core/workers/chunks/cff6390b863361eaeeed.js +1 -0
  115. package/assets/esri/core/workers/chunks/d2172583ee6e481a66aa.js +1 -0
  116. package/assets/esri/core/workers/chunks/d520d407043bc52e5410.js +1 -0
  117. package/assets/esri/core/workers/chunks/da0ef984509057ec8507.js +1 -0
  118. package/assets/esri/core/workers/chunks/dbdd96e558936955acdb.js +1 -0
  119. package/assets/esri/core/workers/chunks/ddd8f6154e265dbb6f9f.js +1 -0
  120. package/assets/esri/core/workers/chunks/de601f0d5a2a282d2efd.js +1 -0
  121. package/assets/esri/core/workers/chunks/de927b1460bc384f5b87.js +1 -0
  122. package/assets/esri/core/workers/chunks/de9a1cce70581920f248.js +1 -0
  123. package/assets/esri/core/workers/chunks/dff932682d6386a861ce.js +1 -0
  124. package/assets/esri/core/workers/chunks/{2c31648a4b95275516ee.js → e227eb44cd139fe2bc1b.js} +1 -1
  125. package/assets/esri/core/workers/chunks/e4e5a171a4874c5af4a4.js +1 -0
  126. package/assets/esri/core/workers/chunks/{fdca9873914b9dbd9244.js → e59101f1d060d0a30a65.js} +1 -1
  127. package/assets/esri/core/workers/chunks/{ddb92c815d17c67a45e6.js → e5d114f2b57d2b8e2f1c.js} +1 -1
  128. package/assets/esri/core/workers/chunks/e89e6eea380ca2c13b64.js +1 -0
  129. package/assets/esri/core/workers/chunks/e9d352d030dcad1619a6.js +1 -0
  130. package/assets/esri/core/workers/chunks/{3de6e54b6ed0feae1940.js → eae51e827f629ab37207.js} +1 -1
  131. package/assets/esri/core/workers/chunks/eee1fd629619021ea279.js +1 -0
  132. package/assets/esri/core/workers/chunks/ef47a5da641cb0d33fdf.js +1 -0
  133. package/assets/esri/core/workers/chunks/f35e749bb5be39880cbe.js +1 -0
  134. package/assets/esri/core/workers/chunks/{3dff36f6de181d9dcdc5.js → f40e4433e7608d0962a6.js} +1 -1
  135. package/assets/esri/core/workers/chunks/f4aa6e90200f61e623e5.js +1 -0
  136. package/assets/esri/core/workers/chunks/ff578f0ca68d652fece5.js +1 -0
  137. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  138. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  139. package/assets/esri/libs/text/pkg/bundle_bg.wasm +0 -0
  140. package/chunks/GaussianSplat.glsl.js +8 -8
  141. package/chunks/GaussianSplatShadow.glsl.js +4 -5
  142. package/chunks/HeatmapDensity.glsl.js +5 -5
  143. package/chunks/OccludedGeometryDepth.glsl.js +5 -0
  144. package/chunks/ShadowCastVisualize.glsl.js +2 -2
  145. package/chunks/bundle2.js +1 -1
  146. package/chunks/lyr3DMain.js +1 -1
  147. package/chunks/lyr3DWorker.js +1 -1
  148. package/config.js +1 -1
  149. package/core/importUtils.js +2 -0
  150. package/geometry/geometryEngine.js +1 -1
  151. package/geometry/operators/importUtils.js +2 -0
  152. package/geometry/support/centroid.js +1 -1
  153. package/geometry/support/curves/densifyCurvedGeometry.js +1 -1
  154. package/geometry/support/extentUtils.js +1 -1
  155. package/geometry/support/frustum.js +1 -1
  156. package/geometry/support/normalizeUtils.d.ts +17 -15
  157. package/geometry/support/normalizeUtils.js +1 -1
  158. package/kernel.js +1 -1
  159. package/layers/FeatureLayer.d.ts +1 -1
  160. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  161. package/layers/graphics/data/QueryEngine.js +1 -1
  162. package/layers/graphics/data/QueryEngineResult.js +1 -1
  163. package/layers/graphics/data/projectionSupport.js +1 -1
  164. package/layers/graphics/data/queryUtils.js +1 -1
  165. package/layers/graphics/hydratedFeatures.js +1 -1
  166. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  167. package/package.json +2 -2
  168. package/portal/schemas/definitions.js +1 -1
  169. package/rest/geoprocessor/utils.js +1 -1
  170. package/rest/identify.js +1 -1
  171. package/rest/imageService.js +1 -1
  172. package/rest/query/operations/query.js +1 -1
  173. package/rest/query/operations/queryAttributeBins.js +1 -1
  174. package/rest/query/operations/queryPivot.js +1 -1
  175. package/rest/query/operations/queryTopFeatures.js +1 -1
  176. package/support/revision.js +1 -1
  177. package/symbols/cim/CIMEffects.js +1 -1
  178. package/symbols/cim/animationUtils.js +1 -1
  179. package/symbols/cim/cimAnalyzer.js +1 -1
  180. package/symbols/cim/effects/EffectCircularSector.js +1 -1
  181. package/symbols/cim/utils.js +1 -1
  182. package/views/2d/engine/BitmapTile.js +1 -1
  183. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  184. package/views/2d/engine/flow/styles/Particles.js +1 -1
  185. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  186. package/views/2d/engine/imagery/RasterTile.js +1 -1
  187. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  188. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  189. package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
  190. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  191. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  192. package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
  193. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  194. package/views/2d/engine/webgl/Painter.js +1 -1
  195. package/views/2d/engine/webgl/RenderingDevice.js +1 -1
  196. package/views/2d/engine/webgl/TileContainer.js +1 -1
  197. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  198. package/views/2d/engine/webgl/animations/infos.js +1 -1
  199. package/views/2d/engine/webgl/animations/instructions.js +1 -1
  200. package/views/2d/engine/webgl/normalizedTileUtils.js +1 -1
  201. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  202. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  203. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  204. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  205. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
  206. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  207. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
  208. package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
  209. package/views/2d/engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js +1 -1
  210. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  211. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
  212. package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
  213. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  214. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillTechnique.js +1 -1
  215. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
  216. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillTechnique.js +1 -1
  217. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillTechnique.js +1 -1
  218. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
  219. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.js +1 -1
  220. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
  221. package/views/2d/engine/webgl/shaderGraph/techniques/flow/FlowTechnique.js +1 -1
  222. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
  223. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelMeshWriter.js +1 -1
  224. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
  225. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  226. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
  227. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
  228. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  229. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerTechnique.js +1 -1
  230. package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
  231. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
  232. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
  233. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  234. package/views/2d/engine/webgl/shaderGraph/techniques/raster/VectorFieldTechnique.js +1 -1
  235. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  236. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
  237. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  238. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  239. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  240. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
  241. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
  242. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  243. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  244. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  245. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
  246. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  247. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/Tile.js +1 -1
  248. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
  249. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileInfo.js +1 -1
  250. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js +1 -1
  251. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ViewInfo.js +1 -1
  252. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  253. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterColorizerShader.js +1 -1
  254. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/MagDirShader.js +1 -1
  255. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/ScalarShader.js +1 -1
  256. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderBackground.js +1 -1
  257. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderCircle.js +1 -1
  258. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderFill.js +1 -1
  259. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderIcon.js +1 -1
  260. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderLine.js +1 -1
  261. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderOutline.js +1 -1
  262. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderText.js +1 -1
  263. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  264. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.js +1 -1
  265. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
  266. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileStencilTechnique.js +1 -1
  267. package/views/2d/engine/webgl/shaderGraph/techniques/utility/DebugOverlayTechnique.js +1 -1
  268. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  269. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueCircle.js +1 -1
  270. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
  271. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
  272. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  273. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  274. package/views/2d/engine/webgl/shaderGraph/types.js +2 -0
  275. package/views/2d/engine/webgl/shaderGraph/uniformBufferUtils.js +2 -0
  276. package/views/2d/layers/MediaLayerView2D.js +1 -1
  277. package/views/2d/layers/TileLayerView2D.js +1 -1
  278. package/views/2d/layers/support/DisplayGL.js +1 -1
  279. package/views/2d/layers/support/RouteLayerInteraction.js +1 -1
  280. package/views/2d/viewpointUtils.js +1 -1
  281. package/views/3d/environment/EnvironmentManager.js +1 -1
  282. package/views/3d/interactive/Manipulator3D.js +1 -1
  283. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  284. package/views/3d/interactive/manipulatorUtils.js +1 -1
  285. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  286. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  287. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  288. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  289. package/views/3d/layers/MediaLayerView3D.js +1 -1
  290. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  291. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  292. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  293. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  294. package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
  295. package/views/3d/support/flow/geometryUtils.js +1 -1
  296. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  297. package/views/3d/support/hitTest.js +1 -1
  298. package/views/3d/support/renderInfoUtils/line.js +1 -1
  299. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  300. package/views/3d/terrain/DrapedZ.js +2 -0
  301. package/views/3d/terrain/OverlayRenderer.js +1 -1
  302. package/views/3d/terrain/TileCompositor.js +1 -1
  303. package/views/3d/webgl/RenderCamera.js +1 -1
  304. package/views/3d/webgl/RenderNode.js +1 -1
  305. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBuffer.glsl.js +2 -2
  306. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +2 -2
  307. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatCovariance.glsl.js +8 -3
  308. package/views/3d/webgl-engine/core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js +8 -2
  309. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowAccumulator.js +2 -0
  310. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulate.glsl.js +2 -0
  311. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulateTechnique.js +2 -0
  312. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastAccumulateTechniqueConfiguration.js +2 -0
  313. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastClear.glsl.js +2 -0
  314. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastClearTechnique.js +2 -0
  315. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastMaskTechnique.js +2 -0
  316. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastRenderer.js +2 -0
  317. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastVisualize.glsl.js +2 -0
  318. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastVisualizeTechnique.js +2 -0
  319. package/views/3d/webgl-engine/effects/shadowAccumulation/ShadowCastVisualizeTechniqueConfiguration.js +2 -0
  320. package/views/3d/webgl-engine/lib/CutFillVisualization.js +1 -1
  321. package/views/3d/webgl-engine/lib/PositionReader.js +1 -1
  322. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  323. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  324. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFields.js +1 -1
  325. package/views/3d/webgl-engine/lib/screenPolygonOverlapUtils.js +1 -1
  326. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  327. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  328. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  329. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  330. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  331. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  332. package/views/3d/webgl-engine/shaders/GaussianSplatPass.glsl.js +28 -21
  333. package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
  334. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  335. package/views/3d/webgl-engine/shaders/OccludedGeometryDepth.glsl.js +2 -0
  336. package/views/3d/webgl-engine/shaders/OccludedGeometryDepthTechnique.js +2 -0
  337. package/views/VideoView.js +1 -1
  338. package/views/selection/SelectionOperation.js +1 -1
  339. package/views/webgl/RenderingContext.js +1 -1
  340. package/views/webgl/UniformBufferLayout.js +1 -1
  341. package/views/webgl/UniformBufferObject.js +1 -1
  342. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +20 -6
  343. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  344. package/widgets/BatchAttributeForm/inputs/support/MultipleChoiceController.d.ts +100 -0
  345. package/widgets/BatchAttributeForm/inputs/support/MultipleChoiceController.js +2 -0
  346. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  347. package/widgets/BatchAttributeForm/inputs/support/multipleChoiceInputUtils.js +1 -1
  348. package/widgets/BatchAttributeForm.js +1 -1
  349. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  350. package/widgets/OrientedImageryViewer.js +1 -1
  351. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  352. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  353. package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
  354. package/widgets/support/SelectionList/GroupLayerItem.d.ts +8 -1
  355. package/widgets/support/SelectionList/GroupLayerItem.js +1 -1
  356. package/widgets/support/SelectionList/LayerItem.d.ts +8 -1
  357. package/widgets/support/SelectionList/LayerItem.js +1 -1
  358. package/widgets/support/SelectionList/SelectionListViewModel.d.ts +29 -1
  359. package/widgets/support/SelectionList/SelectionListViewModel.js +1 -1
  360. package/widgets/support/SelectionList.js +1 -1
  361. package/widgets/support/SelectionToolbar.js +1 -1
  362. package/assets/esri/core/workers/chunks/01c92e68fb17cf2d0e08.js +0 -1
  363. package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +0 -1
  364. package/assets/esri/core/workers/chunks/0823961e5d0bdedbf8cf.js +0 -2
  365. package/assets/esri/core/workers/chunks/0aedeb837399d3f92e4a.js +0 -1
  366. package/assets/esri/core/workers/chunks/0bf644f93c180a2bc2f8.js +0 -705
  367. package/assets/esri/core/workers/chunks/0dbf31a663b5220a3136.js +0 -1
  368. package/assets/esri/core/workers/chunks/0df660dfd941cff3ea1d.js +0 -1
  369. package/assets/esri/core/workers/chunks/1119a33245138e7b3914.js +0 -1
  370. package/assets/esri/core/workers/chunks/1418c03c4ab87f7ab5f4.js +0 -1
  371. package/assets/esri/core/workers/chunks/160b204cbf5bda2a29e9.js +0 -1
  372. package/assets/esri/core/workers/chunks/193aed69de2dec4f36b6.js +0 -1
  373. package/assets/esri/core/workers/chunks/1cc063aa2ddf44bbd515.js +0 -1
  374. package/assets/esri/core/workers/chunks/264fd750691d517ab1f3.js +0 -1
  375. package/assets/esri/core/workers/chunks/2791f3fe16ca5ee2f39a.js +0 -1
  376. package/assets/esri/core/workers/chunks/2a2ed7bd44010f24c2dd.js +0 -1
  377. package/assets/esri/core/workers/chunks/2bdb9b5365869081c936.js +0 -1
  378. package/assets/esri/core/workers/chunks/2d45daacec0d5ed38782.js +0 -1
  379. package/assets/esri/core/workers/chunks/2e44978ee677aa23163d.js +0 -256
  380. package/assets/esri/core/workers/chunks/2ea3ca68cfa4d34e8f3b.js +0 -1
  381. package/assets/esri/core/workers/chunks/2f81047790c4890ae625.js +0 -1
  382. package/assets/esri/core/workers/chunks/32f5112c848efec6c33b.js +0 -1
  383. package/assets/esri/core/workers/chunks/35fd2f765d2cb3f59a22.js +0 -1462
  384. package/assets/esri/core/workers/chunks/3bc2943035391b44d4cf.js +0 -29
  385. package/assets/esri/core/workers/chunks/3d6b2d5ae647e140abaf.js +0 -1
  386. package/assets/esri/core/workers/chunks/44e8cd4b3dad777ab0c9.js +0 -1
  387. package/assets/esri/core/workers/chunks/45ccca01db0027b9dc16.js +0 -1
  388. package/assets/esri/core/workers/chunks/4710f21b138a2c9a0345.js +0 -1
  389. package/assets/esri/core/workers/chunks/4abd54518e35050feb90.js +0 -1
  390. package/assets/esri/core/workers/chunks/4b5bd0c9a55ea2998601.js +0 -1
  391. package/assets/esri/core/workers/chunks/4c2794687aea172775a0.js +0 -1
  392. package/assets/esri/core/workers/chunks/4cf2b0558a4acc141429.js +0 -1
  393. package/assets/esri/core/workers/chunks/4d9bde9f66817a92ceca.js +0 -1
  394. package/assets/esri/core/workers/chunks/4e129b9f5772a06e580c.js +0 -1
  395. package/assets/esri/core/workers/chunks/509aecafbc629bee1c15.js +0 -1
  396. package/assets/esri/core/workers/chunks/5441f96cdd0660229efe.js +0 -1
  397. package/assets/esri/core/workers/chunks/553be2bd69bd311477ea.js +0 -1
  398. package/assets/esri/core/workers/chunks/5600fc334d20c4f0c83d.js +0 -1
  399. package/assets/esri/core/workers/chunks/56bbde1dff96b423fbb9.js +0 -1
  400. package/assets/esri/core/workers/chunks/5bf4ab72b9634b06cc5d.js +0 -1
  401. package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +0 -1
  402. package/assets/esri/core/workers/chunks/613e799377bdb767c955.js +0 -1
  403. package/assets/esri/core/workers/chunks/623d5518bca227f643bd.js +0 -1
  404. package/assets/esri/core/workers/chunks/62811bca7ad2100c023c.js +0 -1
  405. package/assets/esri/core/workers/chunks/64176f7ae719289a2f79.js +0 -1
  406. package/assets/esri/core/workers/chunks/6f58cb9dffe8016397a2.js +0 -1
  407. package/assets/esri/core/workers/chunks/73f77f5a6907cb8d9a35.js +0 -1
  408. package/assets/esri/core/workers/chunks/76b573143d1a65fdbcb6.js +0 -1
  409. package/assets/esri/core/workers/chunks/7aaa051b51a8e34bbfb0.js +0 -1
  410. package/assets/esri/core/workers/chunks/7b5b66ae79e0287e3ade.js +0 -1
  411. package/assets/esri/core/workers/chunks/7e373d9c98ce910db9d2.js +0 -1
  412. package/assets/esri/core/workers/chunks/7f91e45156bbe88f9a62.js +0 -1
  413. package/assets/esri/core/workers/chunks/86a4057572755b403548.js +0 -1
  414. package/assets/esri/core/workers/chunks/877594b6db08da98acd7.js +0 -1
  415. package/assets/esri/core/workers/chunks/8a48a6760c33ed50b650.js +0 -1
  416. package/assets/esri/core/workers/chunks/8d21e2dabc5165f1c8ca.js +0 -1
  417. package/assets/esri/core/workers/chunks/903e1cd8b76eff19ebdf.js +0 -1
  418. package/assets/esri/core/workers/chunks/917c11cb40a7742d7f98.js +0 -1
  419. package/assets/esri/core/workers/chunks/91d133c04ca764d74934.js +0 -1
  420. package/assets/esri/core/workers/chunks/92c4464b67fce6cea134.js +0 -1
  421. package/assets/esri/core/workers/chunks/947f1ea4dbc3e3419ecc.js +0 -1
  422. package/assets/esri/core/workers/chunks/9482a6d7baa24bbf5693.js +0 -1
  423. package/assets/esri/core/workers/chunks/96cec8a02ca96175d602.js +0 -1
  424. package/assets/esri/core/workers/chunks/98e6c1d035755a074d24.js +0 -1
  425. package/assets/esri/core/workers/chunks/9902fcd2070c8eb6d043.js +0 -1
  426. package/assets/esri/core/workers/chunks/9b76c8974424a1908e86.js +0 -1
  427. package/assets/esri/core/workers/chunks/9be6827e5756031a56c1.js +0 -1
  428. package/assets/esri/core/workers/chunks/a101152066dd56259619.js +0 -1
  429. package/assets/esri/core/workers/chunks/a27cdf4c29dd50a6dab1.js +0 -1
  430. package/assets/esri/core/workers/chunks/a294dd12b5c708ce04af.js +0 -1
  431. package/assets/esri/core/workers/chunks/a2a2c7e274fb32fecffa.js +0 -1
  432. package/assets/esri/core/workers/chunks/a3bf8aa81ee398da5b52.js +0 -1
  433. package/assets/esri/core/workers/chunks/a9053ad0f4e8c4705665.js +0 -1
  434. package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +0 -1
  435. package/assets/esri/core/workers/chunks/b1a175b3b2d1a7ddde8e.js +0 -1
  436. package/assets/esri/core/workers/chunks/b33d870cbfa238762c5e.js +0 -1
  437. package/assets/esri/core/workers/chunks/b3b53cf0a3a30164d337.js +0 -1
  438. package/assets/esri/core/workers/chunks/b599b7dadce8b8bc88f6.js +0 -1
  439. package/assets/esri/core/workers/chunks/b858adff7043683fe41c.js +0 -1
  440. package/assets/esri/core/workers/chunks/b984b808d383974ca3d8.js +0 -1
  441. package/assets/esri/core/workers/chunks/be1d2c3a61e6447fbbc7.js +0 -1
  442. package/assets/esri/core/workers/chunks/bff75cc7413bf0d319db.js +0 -1
  443. package/assets/esri/core/workers/chunks/c02ae1d40c1fe95ae6c5.js +0 -1
  444. package/assets/esri/core/workers/chunks/c1189316d24fb4cdb2a0.js +0 -1
  445. package/assets/esri/core/workers/chunks/c1a4d499a30f3d80567b.js +0 -1
  446. package/assets/esri/core/workers/chunks/c25dc9073e73d6b44d88.js +0 -1
  447. package/assets/esri/core/workers/chunks/c45a5bcf26659daf02a1.js +0 -1
  448. package/assets/esri/core/workers/chunks/c46f79d5b7712adbbd1c.js +0 -1
  449. package/assets/esri/core/workers/chunks/c53b2be005721591e29b.js +0 -1
  450. package/assets/esri/core/workers/chunks/c82ab4f0908290e70ee9.js +0 -1
  451. package/assets/esri/core/workers/chunks/c866b66ba72d96453899.js +0 -1
  452. package/assets/esri/core/workers/chunks/c873383e7dae35dc1a61.js +0 -1
  453. package/assets/esri/core/workers/chunks/cc5ec6e99aa09342c704.js +0 -1
  454. package/assets/esri/core/workers/chunks/cd892c9603710d6130a9.js +0 -1
  455. package/assets/esri/core/workers/chunks/cf360767310fb45660a8.js +0 -1
  456. package/assets/esri/core/workers/chunks/d021775cf747556660a5.js +0 -1
  457. package/assets/esri/core/workers/chunks/d08f81d545930a79fb2e.js +0 -1
  458. package/assets/esri/core/workers/chunks/d607cf154218d20e4114.js +0 -1
  459. package/assets/esri/core/workers/chunks/d79ce047afbc034f6008.js +0 -1
  460. package/assets/esri/core/workers/chunks/da6134c7883531f21afe.js +0 -1
  461. package/assets/esri/core/workers/chunks/dbc9249dae41096d750d.js +0 -1
  462. package/assets/esri/core/workers/chunks/e4a2eefffe16cd5bb20f.js +0 -1
  463. package/assets/esri/core/workers/chunks/e602b91d8fdc36a92530.js +0 -1
  464. package/assets/esri/core/workers/chunks/ebfb3cdc0df15eb05d75.js +0 -1
  465. package/assets/esri/core/workers/chunks/ec1841e6e498d54012eb.js +0 -1
  466. package/assets/esri/core/workers/chunks/ed1de8b7406269e217b9.js +0 -29
  467. package/assets/esri/core/workers/chunks/f1727b4a32cb6f36a5e6.js +0 -1
  468. package/assets/esri/core/workers/chunks/f2ab8e49c7f17f488aa8.js +0 -1
  469. package/assets/esri/core/workers/chunks/f721756a6c1593f96409.js +0 -1
  470. package/assets/esri/core/workers/chunks/fb51f823b25c827c6b29.js +0 -1
  471. package/chunks/geometryEngineBase.js +0 -2
  472. package/geometry/geometryAdapters/json.js +0 -2
  473. package/geometry/geometryEngineJSON.js +0 -2
  474. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +0 -2
  475. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +0 -2
  476. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +0 -2
  477. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +0 -2
  478. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechniqueConfiguration.js +0 -2
  479. package/views/3d/webgl-engine/shaders/ShadowCastClear.glsl.js +0 -2
  480. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +0 -2
  481. package/views/3d/webgl-engine/shaders/ShadowCastMaskTechnique.js +0 -2
  482. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +0 -2
  483. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +0 -2
  484. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechniqueConfiguration.js +0 -2
  485. /package/assets/esri/core/workers/chunks/{0823961e5d0bdedbf8cf.js.LICENSE.txt → 4f8ce5887102971bfa34.js.LICENSE.txt} +0 -0
  486. /package/assets/esri/core/workers/chunks/{186bedc377cc97731ca2.js.LICENSE.txt → 532e3a59888e4cc13bd3.js.LICENSE.txt} +0 -0
  487. /package/assets/esri/core/workers/chunks/{ad1d06a91121ebfe9162.js.LICENSE.txt → 755b2d883fba90c4e688.js.LICENSE.txt} +0 -0
  488. /package/assets/esri/core/workers/chunks/{d03e7be74c57c3dbf003.js.LICENSE.txt → a014c17fc210620da738.js.LICENSE.txt} +0 -0
  489. /package/assets/esri/core/workers/chunks/{8302bffd28cc6720e0fe.js.LICENSE.txt → a19be304219808268039.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{BitmapTile as e}from"../../../../BitmapTile.js";import{textureBindingBitmap as i}from"../../../definitions.js";import{Technique as t}from"../Technique.js";import{BitmapShader as n}from"../shaders/BitmapShader.js";import{getTileUniforms as r}from"../shaders/Tile.js";import{getTileContainerUniforms as o}from"../shaders/TileInfo.js";import{getViewUniforms as s}from"../shaders/ViewInfo.js";const a={nearest:{samplingMode:9728,mips:!1},bilinear:{samplingMode:9729,mips:!1},bicubic:{samplingMode:9729,mips:!1},trilinear:{samplingMode:9987,mips:!0}},l=(e,i,t)=>{if("dynamic"===t.samplingMode){const{state:t}=e,n=i.resolution/i.pixelRatio/t.resolution,r=Math.round(e.pixelRatio)!==e.pixelRatio,o=n>1.05||n<.95;return t.rotation||o||r||i.isSourceScaled||i.rotation?a.bilinear:a.nearest}return a[t.samplingMode]};class m extends t{constructor(){super(...arguments),this.name="BrushBitmap",this.type=4,this.shaders={bitmap:new n}}render(e,t){const{context:n,renderingOptions:m,painter:d}=e,f=s(e);for(const s of t.bitmaps){const t=c(s),h=t.texture;if(!t.source||!t.isReady||null==h)continue;const b=l(e,t,m);e.timeline.begin(this.name),d.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"additive"===t.blendFunction?"additive":"composite"}}),t.setSamplingProfile(b);const{coordScale:g,computedOpacity:M}=t,w={coordScale:g,opacity:M},x=p(s);let S;if(x){if(!u(e))throw new Error("BitmapTile requires tile render parameters");S={view:f,tileContainer:o(e),tile:r(e.tilingScheme,s),localTransform:null,config:w}}else S={view:f,tileContainer:null,tile:null,localTransform:{localToScreenMat3:t.transforms.localToScreenMat3},config:w};d.submitDrawMesh(n,{shader:this.shaders.bitmap,uniforms:S,textures:{texture:{texture:h,unit:i}},defines:{bicubic:b===a.bicubic,tiled:x},optionalAttributes:null,useComputeBuffer:!1},d.quadMesh,t),e.timeline.end(this.name)}}}function c(e){return p(e)?e.bitmap:e}function p(i){return i instanceof e}function u(e){return"normalizedTileView"in e}export{m as BitmapTechnique};
2
+ import{BitmapTile as e}from"../../../../BitmapTile.js";import{textureBindingBitmap as i}from"../../../definitions.js";import{Technique as t}from"../Technique.js";import{BitmapShader as n}from"../shaders/BitmapShader.js";const o={nearest:{samplingMode:9728,mips:!1},bilinear:{samplingMode:9729,mips:!1},bicubic:{samplingMode:9729,mips:!1},trilinear:{samplingMode:9987,mips:!0}},r=(e,i,t)=>{if("dynamic"===t.samplingMode){const{state:t}=e,n=i.resolution/i.pixelRatio/t.resolution,r=Math.round(e.pixelRatio)!==e.pixelRatio,s=n>1.05||n<.95;return t.rotation||s||r||i.isSourceScaled||i.rotation?o.bilinear:o.nearest}return o[t.samplingMode]};class s extends t{constructor(){super(...arguments),this.name="BrushBitmap",this.type=4,this.shaders={bitmap:new n}}render(e,t){const{context:n,renderingOptions:s,painter:m}=e;for(const p of t.bitmaps){const t=a(p),u=t.texture;if(!t.source||!t.isReady||null==u)continue;const d=r(e,t,s);e.timeline.begin(this.name),m.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"additive"===t.blendFunction?"additive":"composite"}}),t.setSamplingProfile(d);const{coordScale:f,computedOpacity:h}=t,b={coordScale:f,opacity:h},g=l(p);let M;if(g){if(!c(e))throw new Error("BitmapTile requires tile render parameters");p.bindTile(n,e.tilingScheme),M={tileInfo:!0,tile:!0,localTransform:null,config:b}}else M={tileInfo:null,tile:null,localTransform:{localToScreenMat3:t.transforms.localToScreenMat3},config:b};m.submitDrawMesh(n,{shader:this.shaders.bitmap,uniforms:M,textures:{texture:{texture:u,unit:i}},defines:{bicubic:d===o.bicubic,tiled:g},optionalAttributes:null,useComputeBuffer:!1},m.quadMesh,t),e.timeline.end(this.name)}}}function a(e){return l(e)?e.bitmap:e}function l(i){return i instanceof e}function c(e){return"normalizedTileView"in e}export{s as BitmapTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{Technique as e}from"../Technique.js";import{ClipShader as s}from"../shaders/ClipShader.js";import{getViewUniforms as t}from"../shaders/ViewInfo.js";class i extends e{constructor(){super(...arguments),this.type=8,this.shaders={clip:new s}}render(e,s){const{context:i,painter:r,state:o}=e,n=s.getMesh(i,o);if(!n)return;r.setPipelineState({color:!1,depth:!1,stencil:{write:{mask:255},test:{compare:519,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const a={shader:this.shaders.clip,uniforms:{view:t(e)},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};r.submitDrawMesh(i,a,n,{stencilRef:0})}}const r=new i;export{r as clipTechnique};
2
+ import{Technique as e}from"../Technique.js";import{ClipShader as s}from"../shaders/ClipShader.js";class t extends e{constructor(){super(...arguments),this.type=8,this.shaders={clip:new s}}render(e,s){const{context:t,painter:i,state:r}=e,o=s.getMesh(t,r);if(!o)return;i.setPipelineState({color:!1,depth:!1,stencil:{write:{mask:255},test:{compare:519,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const n={shader:this.shaders.clip,uniforms:{},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};i.submitDrawMesh(t,n,o,{stencilRef:0})}}const i=new t;export{i as clipTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as o}from"tslib";import{tileSize as e}from"../../../definitions.js";import{location as i,uniform as r,texture as s,input as d,VertexInput as n,UniformGroup as p,GraphShaderModule as a,FragmentOutput as l}from"../../GraphShaderModule.js";import{Vec2 as m,Float as y,Sampler2D as c,Mat3 as v,Vec3 as w,texture2D as h,max as u,step as f,Vec4 as x,length as g,smoothstep as S}from"../../graph/glsl.js";import{FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{Tile as z}from"../shaders/Tile.js";import{TileInfo as C}from"../shaders/TileInfo.js";import{ViewInfo as P}from"../shaders/ViewInfo.js";class R extends n{}t([i(0,m)],R.prototype,"pos",void 0);class b extends j{}class D extends p{}t([r(y)],D.prototype,"dotSize",void 0);class F extends p{}t([r(y)],F.prototype,"pixelRatio",void 0),t([r(y)],F.prototype,"tileZoomFactor",void 0);const E=1e-6;class I extends a{constructor(){super(...arguments),this.type="DotDensityPointShader"}vertex(t){const o=new v(1,0,0,0,-1,0,0,1,1).multiply(new w(t.pos.xy.divide(e),1)),i=h(this.drawLocations,o.xy),r=u(this.instance.dotSize.divide(2),new y(1));let s=new y(0);s=s.add(f(i.a,new y(E)).multiply(2));let d=r.add(this.instance.dotSize);const n=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new w(t.pos.add(.5),1)),p=new x(n.xy,s,1),a=this.instance.dotSize.divide(d),l=new y(-1).divide(r.divide(d));return d=d.multiply(this.draw.pixelRatio.multiply(this.draw.tileZoomFactor)),{glPosition:p,glPointSize:d,color:i,ratio:a,invEdgeRatio:l}}fragment(t){const o=g(t.glPointCoord.subtract(.5)).multiply(2),e=S(new y(0),new y(1),t.invEdgeRatio.multiply(o.subtract(t.ratio)).add(1)),i=new l;return i.fragColor=t.color.multiply(e),i}}t([r(D)],I.prototype,"instance",void 0),t([r(F)],I.prototype,"draw",void 0),t([r(C)],I.prototype,"tileContainer",void 0),t([r(z)],I.prototype,"tile",void 0),t([r(P)],I.prototype,"view",void 0),t([s(c)],I.prototype,"drawLocations",void 0),t([o(0,d(R))],I.prototype,"vertex",null),t([o(0,d(b))],I.prototype,"fragment",null);export{F as DotDensityPointDrawUniforms,b as DotDensityPointFragmentInput,D as DotDensityPointInstanceUniforms,I as DotDensityPointShader,R as DotDensityPointVertexInput};
2
+ import{__decorate as t,__param as o}from"tslib";import{tileSize as e}from"../../../definitions.js";import{location as i,uniform as r,texture as s,input as d,VertexInput as n,UniformGroup as p,GraphShaderModule as l,FragmentOutput as a}from"../../GraphShaderModule.js";import{Vec2 as m,Float as y,Sampler2D as c,Mat3 as v,Vec3 as w,texture2D as h,max as u,step as f,Vec4 as x,length as g,smoothstep as S}from"../../graph/glsl.js";import{FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{Tile as z}from"../shaders/Tile.js";import{TileInfo as I}from"../shaders/TileInfo.js";import{ViewInfo as P}from"../shaders/ViewInfo.js";class R extends n{}t([i(0,m)],R.prototype,"pos",void 0);class b extends j{}class D extends p{}t([r(y)],D.prototype,"dotSize",void 0);class F extends p{}t([r(y)],F.prototype,"pixelRatio",void 0),t([r(y)],F.prototype,"tileZoomFactor",void 0);const C=1e-6;class E extends l{constructor(){super(...arguments),this.type="DotDensityPointShader"}vertex(t){const o=new v(1,0,0,0,-1,0,0,1,1).multiply(new w(t.pos.xy.divide(e),1)),i=h(this.drawLocations,o.xy),r=u(this.instance.dotSize.divide(2),new y(1));let s=new y(0);s=s.add(f(i.a,new y(C)).multiply(2));let d=r.add(this.instance.dotSize);const n=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new w(t.pos.add(.5),1)),p=new x(n.xy,s,1),l=this.instance.dotSize.divide(d),a=new y(-1).divide(r.divide(d));return d=d.multiply(this.draw.pixelRatio.multiply(this.draw.tileZoomFactor)),{glPosition:p,glPointSize:d,color:i,ratio:l,invEdgeRatio:a}}fragment(t){const o=g(t.glPointCoord.subtract(.5)).multiply(2),e=S(new y(0),new y(1),t.invEdgeRatio.multiply(o.subtract(t.ratio)).add(1)),i=new a;return i.fragColor=t.color.multiply(e),i}}t([r(D)],E.prototype,"instance",void 0),t([r(F)],E.prototype,"draw",void 0),t([r(I)],E.prototype,"tileInfo",void 0),t([r(z)],E.prototype,"tile",void 0),t([r(P)],E.prototype,"view",void 0),t([s(c)],E.prototype,"drawLocations",void 0),t([o(0,d(R))],E.prototype,"vertex",null),t([o(0,d(b))],E.prototype,"fragment",null);export{F as DotDensityPointDrawUniforms,b as DotDensityPointFragmentInput,D as DotDensityPointInstanceUniforms,E as DotDensityPointShader,R as DotDensityPointVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{tileSize as e,textureBindingRenderer1 as t,textureBindingRenderer0 as i}from"../../../definitions.js";import{FeatureTechnique as r}from"../FeatureTechnique.js";import{isHighlight as s,isHittest as o,getSelectionDefines as n,getFeatureTextures as a,getFeatureUniforms as l,getFeaturePipelineState as d}from"../featureTechniqueUtils.js";import{DotDensityPointShader as u}from"./DotDensityPointShader.js";import{DotDensityPolygonShader as c}from"./DotDensityPolygonShader.js";import{DotDensityResources as h}from"./DotDensityResources.js";import{FillShader as p}from"../shaders/FillShader.js";import{getTileUniforms as m}from"../shaders/Tile.js";import{getTileContainerUniforms as f}from"../shaders/TileInfo.js";import{getViewUniforms as w}from"../shaders/ViewInfo.js";class g extends r{constructor(){super(...arguments),this.type=12,this.shaders={polygon:new c,point:new u,fill:new p},this._resources=new Map}render(e,t){s(e)||o(e)?this._renderPolygons(e,t):this._renderDotDensity(e,t)}_renderPolygons(e,t){const{painter:i}=e;i.setShader({shader:this.shaders.fill,uniforms:{...l(e,t.target),visualVariableColor:null,visualVariableOpacity:null},textures:a(e),defines:{...n(e)},optionalAttributes:{zoomRange:!1},useComputeBuffer:o(e)}),i.setPipelineState(d(e)),i.submitDraw(e,t)}_renderDotDensity(r,s){const{context:o,painter:u,requiredLevel:c}=r,h=s.instance.getInput().uniforms,p=this._getOrCreateResourcesRecord(o),g=p.getDotDensityTextures(o,e,h.seed),x=1/2**(c-s.target.key.level),D=e,b=D*window.devicePixelRatio*D*window.devicePixelRatio,y=1/x*(1/x),R=h.dotScale?r.state.scale/h.dotScale:1,S=h.dotValue*R*y;u.setShader({shader:this.shaders.polygon,uniforms:{...l(r,s.target),instance:{isActive:h.isActive,colors:h.colors,dotValue:Math.max(1,S)},draw:{tileZoomFactor:x,pixelRatio:window.devicePixelRatio,tileDotsOverArea:b/(e*window.devicePixelRatio*e*window.devicePixelRatio)}},textures:{...a(r),drawTextures:{dotTexture0:{unit:i,texture:g[0]},dotTexture1:{unit:t,texture:g[1]}}},defines:{...n(r),blending:h.blending},optionalAttributes:{},useComputeBuffer:!1});const v=o.getViewport();o.setViewport(0,0,e,e);const P=o.boundFramebuffer,_=p.getFBO(o);o.bindFramebuffer(_),o.setClearColor(0,0,0,0),o.clear(16384),u.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1}),u.updatePipelineState(o),u.submitDraw(r,s),o.bindFramebuffer(P),o.setViewport(v.x,v.y,v.width,v.height);const j=p.getFBO(o).colorTexture,C={shader:this.shaders.point,uniforms:{tileContainer:f(r),tile:m(r.tilingScheme,s.target),view:w(r),instance:{dotSize:h.dotSize},draw:{tileZoomFactor:1,pixelRatio:window.devicePixelRatio}},textures:{drawLocations:{unit:i,texture:j}},defines:{...n(r)},optionalAttributes:{},useComputeBuffer:!1};u.setPipelineState(d(r)),u.submitDrawMesh(o,C,p.getDotDensityMesh(o),{stencilRef:s.getStencilReference()})}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e)}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new h,this._resources.set(e,t)),t}}export{g as DotDensityTechnique};
2
+ import{tileSize as e,textureBindingRenderer1 as t,textureBindingRenderer0 as i}from"../../../definitions.js";import{FeatureTechnique as r}from"../FeatureTechnique.js";import{isHighlight as s,isHittest as o,getSelectionDefines as n,getFeatureTextures as a,getFeatureUniforms as d,getFeaturePipelineState as l}from"../featureTechniqueUtils.js";import{DotDensityPointShader as u}from"./DotDensityPointShader.js";import{DotDensityPolygonShader as c}from"./DotDensityPolygonShader.js";import{DotDensityResources as p}from"./DotDensityResources.js";import{FillShader as h}from"../shaders/FillShader.js";class f extends r{constructor(){super(...arguments),this.type=12,this.shaders={polygon:new c,point:new u,fill:new h},this._resources=new Map}render(e,t){s(e)||o(e)?this._renderPolygons(e,t):this._renderDotDensity(e,t)}_renderPolygons(e,t){const{painter:i}=e;i.setShader({shader:this.shaders.fill,uniforms:{...d(e),visualVariableColor:null,visualVariableOpacity:null},textures:a(e),defines:{...n(e)},optionalAttributes:{zoomRange:!1},useComputeBuffer:o(e)}),i.setPipelineState(l(e)),i.submitDraw(e,t)}_renderDotDensity(r,s){const{context:o,painter:u,requiredLevel:c}=r,p=s.instance.getInput().uniforms,h=this._getOrCreateResourcesRecord(o),f=h.getDotDensityTextures(o,e,p.seed),m=1/2**(c-s.target.key.level),w=e,x=w*window.devicePixelRatio*w*window.devicePixelRatio,g=1/m*(1/m),D=p.dotScale?r.state.scale/p.dotScale:1,b=p.dotValue*D*g;u.setShader({shader:this.shaders.polygon,uniforms:{...d(r),instance:{isActive:p.isActive,colors:p.colors,dotValue:Math.max(1,b)},draw:{tileZoomFactor:m,pixelRatio:window.devicePixelRatio,tileDotsOverArea:x/(e*window.devicePixelRatio*e*window.devicePixelRatio)}},textures:{...a(r),drawTextures:{dotTexture0:{unit:i,texture:f[0]},dotTexture1:{unit:t,texture:f[1]}}},defines:{...n(r),blending:p.blending},optionalAttributes:{},useComputeBuffer:!1});const y=o.getViewport();o.setViewport(0,0,e,e);const R=o.boundFramebuffer,P=h.getFBO(o);o.bindFramebuffer(P),o.setClearColor(0,0,0,0),o.clear(16384),u.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1}),u.updatePipelineState(o),u.submitDraw(r,s),o.bindFramebuffer(R),o.setViewport(y.x,y.y,y.width,y.height);const S=h.getFBO(o).colorTexture,v={shader:this.shaders.point,uniforms:{instance:{dotSize:p.dotSize},draw:{tileZoomFactor:1,pixelRatio:window.devicePixelRatio}},textures:{drawLocations:{unit:i,texture:S}},defines:{...n(r)},optionalAttributes:{},useComputeBuffer:!1};u.setPipelineState(l(r)),u.submitDrawMesh(o,v,h.getDotDensityMesh(o),{stencilRef:s.getStencilReference()})}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e)}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new p,this._resources.set(e,t)),t}}export{f as DotDensityTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{GaussianBlurShader as i}from"../shaders/BlurShader.js";import{DropShadowCompositeShader as o}from"../shaders/DropShadowShader.js";import{getViewUniforms as u}from"../shaders/ViewInfo.js";import{DisposableFramebufferObject as a}from"../../../../../../webgl/FramebufferObject.js";import l from"../../../../../../webgl/Texture.js";import{TextureDescriptor as n}from"../../../../../../webgl/TextureDescriptor.js";const h=[1,0],B=[0,1];class c extends s{constructor(){super(...arguments),this.type=13,this._layerFBOTexture=null,this._horizontalBlurFBO=null,this._verticalBlurFBO=null,this._size=[0,0],this.shaders={gaussianBlur:new i,composite:new o}}shutdown(){super.shutdown(),this._horizontalBlurFBO=e(this._horizontalBlurFBO),this._verticalBlurFBO=e(this._verticalBlurFBO),this._layerFBOTexture=e(this._layerFBOTexture)}render(e,s){const{context:i,painter:o}=e,{layerFBO:a}=s,l=a.width,n=a.height,c=[Math.round(l),Math.round(n)],{blurRadius:f,offsetX:m,offsetY:d,color:p}=s.effect,F=[t(m),t(d)];this._createOrResizeResources(e,l,n,c);const w=this._horizontalBlurFBO,x=this._verticalBlurFBO,_={color:{write:[!0,!0,!0,!0],blendMode:"none"},depth:{write:!1,test:!1},stencil:{write:{mask:0},test:!1}};o.setPipelineState(_);const O=this._layerFBOTexture;a.copyToTexture(0,0,l,n,0,0,O),i.setViewport(0,0,c[0],c[1]),i.bindFramebuffer(w),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:c,direction:h,sigma:f}},textures:{texture:{texture:a.colorTexture,unit:4}},defines:{kernelRadius:Math.ceil(f)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(x),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:c,direction:B,sigma:f}},textures:{texture:{texture:w?.colorTexture,unit:5}},defines:{kernelRadius:Math.ceil(f)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(a),i.setViewport(0,0,l,n),o.submitDrawMesh(i,{shader:this.shaders.composite,uniforms:{view:u(e),compositeConfig:{shadowColor:[p[3]*(p[0]/255),p[3]*(p[1]/255),p[3]*(p[2]/255),p[3]],shadowOffset:F}},textures:{blurTexture:{texture:x?.colorTexture,unit:2},layerFBOTexture:{texture:O,unit:3}},defines:null,optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),o.setPipelineState({...r,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1}})}_createOrResizeResources(e,t,r,s){const{context:i}=e;if(!this._horizontalBlurFBO||this._size[0]!==t||this._size[1]!==r){if(this._size[0]=t,this._size[1]=r,this._horizontalBlurFBO)this._horizontalBlurFBO.resize(s[0],s[1]);else{const e=new n(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._horizontalBlurFBO=new a(i,e)}if(this._verticalBlurFBO)this._verticalBlurFBO.resize(s[0],s[1]);else{const e=new n(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._verticalBlurFBO=new a(i,e)}if(this._layerFBOTexture)this._layerFBOTexture.resize(t,r);else{const e=new n(t,r);e.internalFormat=6408,e.wrapMode=33071,this._layerFBOTexture=new l(i,e)}}}}export{c as DropShadowTechnique};
2
+ import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{GaussianBlurShader as i}from"../shaders/BlurShader.js";import{DropShadowCompositeShader as o}from"../shaders/DropShadowShader.js";import{DisposableFramebufferObject as u}from"../../../../../../webgl/FramebufferObject.js";import l from"../../../../../../webgl/Texture.js";import{TextureDescriptor as a}from"../../../../../../webgl/TextureDescriptor.js";const n=[1,0],h=[0,1];class B extends s{constructor(){super(...arguments),this.type=13,this._layerFBOTexture=null,this._horizontalBlurFBO=null,this._verticalBlurFBO=null,this._size=[0,0],this.shaders={gaussianBlur:new i,composite:new o}}shutdown(){super.shutdown(),this._horizontalBlurFBO=e(this._horizontalBlurFBO),this._verticalBlurFBO=e(this._verticalBlurFBO),this._layerFBOTexture=e(this._layerFBOTexture)}render(e,s){const{context:i,painter:o}=e,{layerFBO:u}=s,l=u.width,a=u.height,B=[Math.round(l),Math.round(a)],{blurRadius:c,offsetX:f,offsetY:m,color:d}=s.effect,p=[t(f),t(m)];this._createOrResizeResources(e,l,a,B);const F=this._horizontalBlurFBO,x=this._verticalBlurFBO,w={color:{write:[!0,!0,!0,!0],blendMode:"none"},depth:{write:!1,test:!1},stencil:{write:{mask:0},test:!1}};o.setPipelineState(w);const _=this._layerFBOTexture;u.copyToTexture(0,0,l,a,0,0,_),i.setViewport(0,0,B[0],B[1]),i.bindFramebuffer(F),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:B,direction:n,sigma:c}},textures:{texture:{texture:u.colorTexture,unit:4}},defines:{kernelRadius:Math.ceil(c)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(x),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:B,direction:h,sigma:c}},textures:{texture:{texture:F?.colorTexture,unit:5}},defines:{kernelRadius:Math.ceil(c)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(u),i.setViewport(0,0,l,a),o.submitDrawMesh(i,{shader:this.shaders.composite,uniforms:{compositeConfig:{shadowColor:[d[3]*(d[0]/255),d[3]*(d[1]/255),d[3]*(d[2]/255),d[3]],shadowOffset:p}},textures:{blurTexture:{texture:x?.colorTexture,unit:2},layerFBOTexture:{texture:_,unit:3}},defines:null,optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),o.setPipelineState({...r,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1}})}_createOrResizeResources(e,t,r,s){const{context:i}=e;if(!this._horizontalBlurFBO||this._size[0]!==t||this._size[1]!==r){if(this._size[0]=t,this._size[1]=r,this._horizontalBlurFBO)this._horizontalBlurFBO.resize(s[0],s[1]);else{const e=new a(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._horizontalBlurFBO=new u(i,e)}if(this._verticalBlurFBO)this._verticalBlurFBO.resize(s[0],s[1]);else{const e=new a(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._verticalBlurFBO=new u(i,e)}if(this._layerFBOTexture)this._layerFBOTexture.resize(t,r);else{const e=new a(t,r);e.internalFormat=6408,e.wrapMode=33071,this._layerFBOTexture=new l(i,e)}}}}export{B as DropShadowTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{maxRepresentableInt as t,tileSize as e}from"../../definitions.js";import{getTileUniforms as i}from"./shaders/Tile.js";import{getTileContainerUniforms as n}from"./shaders/TileInfo.js";import{getViewUniforms as o}from"./shaders/ViewInfo.js";const s={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},r={color:{write:[!0,!0,!0,!0],blendParameters:{srcRGB:1,dstRGB:1,srcAlpha:1,dstAlpha:1},blendEquation:32776,blendMode:"custom"},depth:!1,stencil:!1},l={...s,color:{write:[!0,!0,!0,!0],blendMode:"delete"}};function c(t){return"highlight"===t.passOptions?.type}function a(t){return"hittest"===t.passOptions?.type}function u(t){if(!a(t))return null;const{position:e,distance:i,smallSymbolDistance:n,smallSymbolSizeThreshold:o,tlbr:s}=t.passOptions;return{position:e,distance:i,smallSymbolDistance:n,smallSymbolSizeThreshold:o,tlbr:s}}function f(t){if(!c(t))return null;const{activeReasons:e,highlightAll:i}=t.passOptions;return{activeReasons:e,highlightAll:i?1:0}}function p(t,e,i){const n={};for(const o in i)"function"!=typeof i[o]?n[o]=i[o]:n[o]=i[o](t,e);return n}function h(t,e){return{storage:t.attributeView.getUniforms(),view:o(t),tileContainer:n(t),tile:i(t.tilingScheme,e),hittestRequest:u(t),highlight:f(t)}}function m(t){return t.attributeView.getTextures(t.context)}function d(t){return{storageTextures:m(t)}}function g(t){return{inside:2===t.selection,outside:3===t.selection}}function b(t){return a(t)?r:c(t)&&"clear"===t.passOptions.stepType?l:s}function w(i){const{row:n,col:o}=i.key,s=o*e,r=n*e;return{tileOffsetFromLocalOrigin:[s%t,r%t],maxIntsToLocalOrigin:[Math.floor(s/t),Math.floor(r/t)]}}export{b as getFeaturePipelineState,m as getFeatureStorageTextures,d as getFeatureTextures,h as getFeatureUniforms,w as getLocalTileOffset,g as getSelectionDefines,c as isHighlight,a as isHittest,p as resolveDynamicUniforms};
2
+ import{maxRepresentableInt as t,tileSize as e}from"../../definitions.js";const n={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},o={color:{write:[!0,!0,!0,!0],blendParameters:{srcRGB:1,dstRGB:1,srcAlpha:1,dstAlpha:1},blendEquation:32776,blendMode:"custom"},depth:!1,stencil:!1},i={...n,color:{write:[!0,!0,!0,!0],blendMode:"delete"}};function s(t){return"highlight"===t.passOptions?.type}function r(t){return"hittest"===t.passOptions?.type}function l(t){if(!r(t))return null;const{position:e,distance:n,smallSymbolDistance:o,smallSymbolSizeThreshold:i,tlbr:s}=t.passOptions;return{position:e,distance:n,smallSymbolDistance:o,smallSymbolSizeThreshold:i,tlbr:s}}function c(t){if(!s(t))return null;const{activeReasons:e,highlightAll:n}=t.passOptions;return{activeReasons:e,highlightAll:n?1:0}}function a(t,e,n){const o={};for(const i in n)"function"!=typeof n[i]?o[i]=n[i]:o[i]=n[i](t,e);return o}function u(t){return{storage:t.attributeView.getUniforms(),hittestRequest:l(t),highlight:c(t)}}function p(t){return t.attributeView.getTextures(t.context)}function f(t){return{storageTextures:p(t)}}function h(t){return{inside:2===t.selection,outside:3===t.selection}}function d(t){return r(t)?o:s(t)&&"clear"===t.passOptions.stepType?i:n}function m(n){const{row:o,col:i}=n.key,s=i*e,r=o*e;return{tileOffsetFromLocalOrigin:[s%t,r%t],maxIntsToLocalOrigin:[Math.floor(s/t),Math.floor(r/t)]}}export{d as getFeaturePipelineState,p as getFeatureStorageTextures,f as getFeatureTextures,u as getFeatureUniforms,m as getLocalTileOffset,h as getSelectionDefines,s as isHighlight,r as isHittest,a as resolveDynamicUniforms};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexFillShader as n}from"../shaders/ComplexFillShader.js";class m extends e{constructor(){super(...arguments),this.type=10,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,f.uniforms),...i(e,n.target),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:a(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as o,resolveDynamicUniforms as a,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexFillShader as n}from"../shaders/ComplexFillShader.js";class m extends e{constructor(){super(...arguments),this.type=10,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...a(e,n.target,f.uniforms),...o(e),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:i(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as a,resolveDynamicUniforms as o,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexOutlineFillShader as n}from"../shaders/ComplexOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=11,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,f.uniforms),...a(e,n.target),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:i(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexOutlineFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as o,resolveDynamicUniforms as a,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexOutlineFillShader as n}from"../shaders/ComplexOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=11,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...a(e,n.target,f.uniforms),...o(e),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:i(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexOutlineFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{FillShader as n}from"../shaders/FillShader.js";class u extends e{constructor(){super(...arguments),this.type=15,this.shaders={geometry:new n}}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms),...i(e,n.target)},textures:s(e),defines:r(e),optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as FillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{FillShader as a}from"../shaders/FillShader.js";class u extends e{constructor(){super(...arguments),this.type=15,this.shaders={geometry:new a}}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e)},textures:s(e),defines:r(e),optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as FillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as a,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{GradientFillShader as n}from"../shaders/GradientFillShader.js";class u extends e{constructor(){super(...arguments),this.type=16,this.shaders={geometry:new n},this.symbologyPlane=0}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...a(e,n.target,m.uniforms),...i(e,n.target),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(o(e)),u.submitDraw(e,n)}}export{u as GradientFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{GradientFillShader as n}from"../shaders/GradientFillShader.js";class u extends e{constructor(){super(...arguments),this.type=16,this.shaders={geometry:new n},this.symbologyPlane=0}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms),...i(e),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as GradientFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{OutlineFillShader as a}from"../shaders/OutlineFillShader.js";class u extends e{constructor(){super(...arguments),this.type=26,this.shaders={geometry:new a}}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e,a.target)},textures:s(e),defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as OutlineFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{OutlineFillShader as u}from"../shaders/OutlineFillShader.js";class a extends e{constructor(){super(...arguments),this.type=26,this.shaders={geometry:new u}}render(e,u){const{painter:a}=e,m=u.instance.getInput();a.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,m.uniforms),...i(e)},textures:s(e),defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),a.setPipelineState(n(e)),a.submitDraw(e,u)}}export{a as OutlineFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{PatternFillShader as u}from"../shaders/PatternFillShader.js";class m extends e{constructor(){super(...arguments),this.type=28,this.shaders={geometry:new u}}render(e,u){const{painter:m}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...i(e,u.target),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:a(u.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m as PatternFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{PatternFillShader as u}from"../shaders/PatternFillShader.js";class m extends e{constructor(){super(...arguments),this.type=28,this.shaders={geometry:new u}}render(e,u){const{painter:m}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...i(e),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:a(u.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m as PatternFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{PatternOutlineFillShader as u}from"../shaders/PatternOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=29,this.shaders={geometry:new u}}render(e,u){const{painter:m}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...i(e,u.target),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:a(u.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m as PatternOutlineFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as a,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{PatternOutlineFillShader as u}from"../shaders/PatternOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=29,this.shaders={geometry:new u}}render(e,u){const{painter:m}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...a(e),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:i(u.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m as PatternOutlineFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{getValue as e,getEndValue as s}from"../../../../flow/animatedValues.js";import{longSafetyTime as t}from"../../../../flow/utils.js";import{Technique as r}from"../Technique.js";import{getViewUniforms as i}from"../shaders/ViewInfo.js";import{FlowImageryShader as a}from"../shaders/flow/FlowImageryShader.js";import{FlowParticlesShader as o}from"../shaders/flow/FlowParticlesShader.js";import{FlowStreamlinesShader as n}from"../shaders/flow/FlowStreamlinesShader.js";class c extends r{constructor(){super(...arguments),this.type=14,this.drawPhase=1,this.shaders={imagery:new a,particles:new o,streamlines:new n}}render(e,s){const{painter:t}=e;t.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7680},mask:255}}}),this._renderResource(e,s.item.resources,this._createVisualState(e,s))}_renderResource(e,s,t){switch(s.kind){case"stack":return void this._renderStackResources(e,s,t);case"imagery":return void this._renderImageryResources(e,s,t);case"particles":return void this._renderParticlesResources(e,s,t);case"streamlines":return void this._renderStreamlinesResources(e,s,t)}}_createVisualState(r,a){const{item:o,localToScreenMat3:n}=a,c=r.time/1e3;return{time:r.animationsEnabled?c:t,view:i(r),localToScreenMat3:n,displayOpacity:r.animationsEnabled?e(o.displayOpacity,c):s(o.displayOpacity),startTime:o.startTime,endTime:o.endTime}}_renderStackResources(e,s,t){for(const r of s.resources)this._renderResource(e,r,t)}_renderImageryResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.imagery,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderParticlesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.particles,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderStreamlinesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.streamlines,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}}export{c as FlowTechnique};
2
+ import{getValue as e,getEndValue as s}from"../../../../flow/animatedValues.js";import{longSafetyTime as t}from"../../../../flow/utils.js";import{Technique as r}from"../Technique.js";import{FlowImageryShader as i}from"../shaders/flow/FlowImageryShader.js";import{FlowParticlesShader as a}from"../shaders/flow/FlowParticlesShader.js";import{FlowStreamlinesShader as o}from"../shaders/flow/FlowStreamlinesShader.js";class n extends r{constructor(){super(...arguments),this.type=14,this.drawPhase=1,this.shaders={imagery:new i,particles:new a,streamlines:new o}}render(e,s){const{painter:t}=e;t.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7680},mask:255}}}),this._renderResource(e,s.item.resources,this._createVisualState(e,s))}_renderResource(e,s,t){switch(s.kind){case"stack":return void this._renderStackResources(e,s,t);case"imagery":return void this._renderImageryResources(e,s,t);case"particles":return void this._renderParticlesResources(e,s,t);case"streamlines":return void this._renderStreamlinesResources(e,s,t)}}_createVisualState(r,i){const{item:a,localToScreenMat3:o}=i,n=r.time/1e3;return{time:r.animationsEnabled?n:t,localToScreenMat3:o,displayOpacity:r.animationsEnabled?e(a.displayOpacity,n):s(a.displayOpacity),startTime:a.startTime,endTime:a.endTime}}_renderStackResources(e,s,t){for(const r of s.resources)this._renderResource(e,r,t)}_renderImageryResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.imagery,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderParticlesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.particles,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderStreamlinesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.streamlines,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}}export{n as FlowTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i}from"../featureTechniqueUtils.js";import{HeatmapResources as n}from"./HeatmapResources.js";import{HeatmapAccumulateShader as o}from"../shaders/HeatmapAccumulateShader.js";import{HeatmapResolveShader as u}from"../shaders/HeatmapResolveShader.js";class a extends e{constructor(){super(...arguments),this.type=19,this.drawPhase=73,this.shaders={accumulate:new o,resolve:new u},this._isBound=!1,this._resources=new Map}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e),this._prevFBO=null,this._unbind()}render(e,n){const{context:o,painter:u,state:a}=e,l=n.instance.getInput(),{isFieldActive:d}=l.uniforms,p=this._getOrCreateResourcesRecord(o),m=p.loadQualityProfile(o);t(e)||this._bind(e,p,l),u.setShader({shader:this.shaders.accumulate,uniforms:{...i(e,n.target),kernelControls:{radius:f(l,a),isFieldActive:d?1:0}},textures:s(e),defines:{...r(e),...m.defines},optionalAttributes:{},useComputeBuffer:t(e)});const _=t(e)?h:c;u.setPipelineState(_),u.submitDraw(e,n)}getStencilReference(e){return d(e)}renderResolvePass(e,r){if(t(e))return;const{context:s,painter:i}=e,n=this._resources.get(s);if(null==this._prevFBO||null==this._prevViewport||!n?.initialized)return;const{defines:o}=n.loadQualityProfile(s),{minDensity:u,maxDensity:a,radius:l}=r.getInput().uniforms,d=8,c=9,h=n.accumulateFramebuffer,f=n.resolveGradientTexture,m={shader:this.shaders.resolve,uniforms:{accumulatedDensity:{minAndInvRange:[u,1/(a-u)],normalization:3/(l*l*Math.PI)}},textures:{densityTexture:{unit:d,texture:h.colorTexture},gradientTexture:{unit:c,texture:f}},defines:o,optionalAttributes:{},useComputeBuffer:!1};s.bindFramebuffer(this._prevFBO),s.setViewport(0,0,this._prevViewport.width,this._prevViewport.height),s.bindTexture(h.colorTexture,d),s.bindTexture(f,c),i.setPipelineState(p),i.submitDrawMesh(s,m,i.quadMesh),this._unbind()}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new n,this._resources.set(e,t)),t}_unbind(){this._prevFBO=null,this._prevViewport=null,this._isBound=!1}_bind(e,t,r){const{context:s,state:i,pixelRatio:n}=e,o=s.boundFramebuffer;if(this._isBound||null==o)return;const u=s.getViewport();this._prevFBO=o,this._prevViewport=u;const{gradient:a,gradientHash:d}=r.uniforms;t.ensureResolveGradientTexture(s,d,a);const{width:c,height:h}=u,p=l(f(r,i),n),m=c*p,_=h*p,w=t.ensureAccumulateFBO(s,m,_);s.blitFramebuffer(o,w,1024),s.bindFramebuffer(w),s.setViewport(0,0,w.width,w.height),s.setColorMask(!0,!0,!0,!0),s.setClearColor(0,0,0,0),s.clear(16384),this._isBound=!0}}function l(e,t){const r=t>1.5?.25:.5;return e<1/(2*r)?1:r}function d(e){return e.key.level+1}const c={color:{write:[!0,!0,!0,!0],blendMode:"additive"},depth:!1,stencil:{write:!1,test:{compare:518,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},h={...c,stencil:!1},p={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1};function f(e,t){const{referenceScale:r,radius:s}=e.uniforms;return s*(0!==r?r/t.scale:1)}export{a as HeatmapTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i}from"../featureTechniqueUtils.js";import{HeatmapResources as n}from"./HeatmapResources.js";import{HeatmapAccumulateShader as o}from"../shaders/HeatmapAccumulateShader.js";import{HeatmapResolveShader as u}from"../shaders/HeatmapResolveShader.js";class a extends e{constructor(){super(...arguments),this.type=19,this.drawPhase=73,this.shaders={accumulate:new o,resolve:new u},this._isBound=!1,this._resources=new Map}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e),this._prevFBO=null,this._unbind()}render(e,n){const{context:o,painter:u,state:a}=e,l=n.instance.getInput(),{isFieldActive:d}=l.uniforms,p=this._getOrCreateResourcesRecord(o),m=p.loadQualityProfile(o);t(e)||this._bind(e,p,l),u.setShader({shader:this.shaders.accumulate,uniforms:{...i(e),kernelControls:{radius:f(l,a),isFieldActive:d?1:0}},textures:s(e),defines:{...r(e),...m.defines},optionalAttributes:{},useComputeBuffer:t(e)});const _=t(e)?h:c;u.setPipelineState(_),u.submitDraw(e,n)}getStencilReference(e){return d(e)}renderResolvePass(e,r){if(t(e))return;const{context:s,painter:i}=e,n=this._resources.get(s);if(null==this._prevFBO||null==this._prevViewport||!n?.initialized)return;const{defines:o}=n.loadQualityProfile(s),{minDensity:u,maxDensity:a,radius:l}=r.getInput().uniforms,d=8,c=9,h=n.accumulateFramebuffer,f=n.resolveGradientTexture,m={shader:this.shaders.resolve,uniforms:{accumulatedDensity:{minAndInvRange:[u,1/(a-u)],normalization:3/(l*l*Math.PI)}},textures:{densityTexture:{unit:d,texture:h.colorTexture},gradientTexture:{unit:c,texture:f}},defines:o,optionalAttributes:{},useComputeBuffer:!1};s.bindFramebuffer(this._prevFBO),s.setViewport(0,0,this._prevViewport.width,this._prevViewport.height),s.bindTexture(h.colorTexture,d),s.bindTexture(f,c),i.setPipelineState(p),i.submitDrawMesh(s,m,i.quadMesh),this._unbind()}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new n,this._resources.set(e,t)),t}_unbind(){this._prevFBO=null,this._prevViewport=null,this._isBound=!1}_bind(e,t,r){const{context:s,state:i,pixelRatio:n}=e,o=s.boundFramebuffer;if(this._isBound||null==o)return;const u=s.getViewport();this._prevFBO=o,this._prevViewport=u;const{gradient:a,gradientHash:d}=r.uniforms;t.ensureResolveGradientTexture(s,d,a);const{width:c,height:h}=u,p=l(f(r,i),n),m=c*p,_=h*p,w=t.ensureAccumulateFBO(s,m,_);s.blitFramebuffer(o,w,1024),s.bindFramebuffer(w),s.setViewport(0,0,w.width,w.height),s.setColorMask(!0,!0,!0,!0),s.setClearColor(0,0,0,0),s.clear(16384),this._isBound=!0}}function l(e,t){const r=t>1.5?.25:.5;return e<1/(2*r)?1:r}function d(e){return e.key.level+1}const c={color:{write:[!0,!0,!0,!0],blendMode:"additive"},depth:!1,stencil:{write:!1,test:{compare:518,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},h={...c,stencil:!1},p={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1};function f(e,t){const{referenceScale:r,radius:s}=e.uniforms;return s*(0!==r?r/t.scale:1)}export{a as HeatmapTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{memoize as e}from"../../../../../../../core/MapUtils.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{numericHash as i}from"../../../../../../../core/string.js";import{fromRotation as r,translate as s}from"../../../../../../../core/libs/gl-matrix-2/math/mat2d.js";import{create as o}from"../../../../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{transformMat2d as n,set as a,sub as l,normalize as c,add as h,scale as m}from"../../../../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as u}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{create as d}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{convertGeometryToFlat as f,convertOptimizedGeometryToFlat as g,convertFlatToOptimizedGeometry as p,FlatGeometry as _}from"../../../../../../../geometry/FlatGeometry.js";import{GeometryCursor as y}from"../../../../../../../geometry/GeometryCursor.js";import{getLabelPoint as x}from"../../../../../../../geometry/support/labelPoint.js";import{generalizeOptimizedGeometry as P,convertToGeometry as v}from"../../../../../../../layers/graphics/featureConversionUtils.js";import b from"../../../../../../../layers/graphics/OptimizedGeometry.js";import{importLazily as M}from"../../../../../../../symbols/cim/utils.js";import{tileSize as w}from"../../../definitions.js";import L from"../../../collisions/BoundingBox.js";import{LabelMetric as I}from"../../../collisions/LabelMetric.js";import{smoothPaths as B,pathDivide as S}from"../../../mesh/templates/segmentUtils.js";import{getMinMaxZoom as z,processColorInput as G}from"../fill/meshWriterUtils.js";import{TextMeshWriter as j,maxLabelZoom as D}from"../text/TextMeshWriter.js";const A=1,F=0,R=128,$=w*w/16,k=M(()=>import("../../../../../../../geometry/operators/gx/operatorIntersection.js")),C=M(()=>import("../../../../../../../chunks/FlatGeometry.js"));function E(e,t,r){return i(`${e}${t}${r}`)}function O(e,t,r,s,o){return i(`${e}${t}${r}${s*2**(D-o)}`)}function T(e,t,r){return i(`${e}${t}${r}`)}function X(e,t,r,s,o){return i(`${e}${o}${t}${r*2**(D-s)}`)}const Y=e(e=>{let t=0;if(0===e)return 1/0;for(;!(e%2);)t++,e/=2;return t});class W extends j{constructor(){super(...arguments),this._zoomLevel=0}async loadDependencies(){await Promise.all([super.loadDependencies(),k.getImportPromise(),C.getImportPromise()])}_write(e,{target:t,effectGeometry:i,level:r,viewExtent:s}){if(this._zoomLevel=r,null!=i)throw new Error("InternalError: EffectGeometry not support for LabelMeshWriter");switch(t.geometryType){case"esriGeometryPoint":{const i=t.readXForDisplay(),r=t.readYForDisplay();this._writePoint(e,i,r,0,t);break}case"esriGeometryEnvelope":case"esriGeometryPolygon":this._writePolygon(e,t,s);break;case"esriGeometryMultipoint":{let i=0;const r=y.fromFeatureSetReader(t);if(r?.nextPath())for(;r.nextPoint();)this._writePoint(e,r.x,r.y,i++,t);break}case"esriGeometryPolyline":this._writeLines(e,t)}}_getMetricDir(){const{horizontalAlignment:e,verticalAlignment:t}=this.evaluatedMeshParams;return["center"===e?0:"right"===e?-1:1,"middle"===t?0:"bottom"===t?-1:1]}_createLineLabelMetric(e,t,i,r,s,o){const[n,a]=this._getMetricDir(),l=this.evaluatedMeshParams.scaleInfo?.maxScale??0,c=this.evaluatedMeshParams.scaleInfo?.minScale??0,h=this.evaluatedMeshParams.labelClassId;return new I(e,h,t,i,r,s,n,a,l,c,o)}_writePolygon(e,t,i){const r=k.module,s=C.module.constructFromFlatGeometry,o=t.readGeometryForDisplay()?.justXY(),n=t.readCentroidForDisplay()?.coords,a=o?.area()||0;if(!n)return;const l=a>=$;e.requiresRefresh||=l;const c=s(f(i)),h=s(f({x:n[0],y:n[1]})),m=!!r.execute(h,c,null);if(!o||!l||!m)return void this._writePoint(e,n[0],n[1],0,t);const u=s(g("polygon",o,null)),d=r.execute(u,c,null);if(!d)return void this._writePoint(e,n[0],n[1],0,t);const P=p(new _(d.toFlatGeometry())),v=y.fromOptimized(P,"esriGeometryPolygon",1),b=x(v)??n;this._writePoint(e,b[0],b[1],0,t)}_writePoint(e,t,i,r,s){if(t<0||t>w||i<0||i>w)return;const o=this._getShaping();if(!o)return;const n=s.getDisplayId(),a=this.evaluatedMeshParams.labelClassId,l=E(this.evaluatedMeshParams.layerId,s.getObjectId(),r),c=T(s.getObjectId(),a,r),[h,m]=this._getMetricDir(),u=this.evaluatedMeshParams.scaleInfo?.maxScale??0,d=this.evaluatedMeshParams.scaleInfo?.minScale??0,f=this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0};e.metricStart(new I(n,a,l,c,t,i,h,m,u,d,f)),this._writeGlyphs(e,n,t,i,o,0,f,void 0,!1),e.metricBoxWrite(o.boundsT),e.metricEnd()}_getPointReferenceBounds(){if(!this._references)return null;for(const e of this._references){const t=e.getBoundsInfo();if(t)return t}return null}_writeLines(e,t){const{scaleInfo:i,verticalAlignment:r}=this.evaluatedMeshParams,s=this.evaluatedMeshParams.repeatLabelDistance||128,o=this._getShaping("middle");if(!o)return;const n=(e,t,i,r)=>this._placeSubdivGlyphs(e,t,i,r),a=(o.bounds.width+s)/(1<<A);this._current={out:e,id:t.getDisplayId(),objId:t.getObjectId(),shaping:o,zoomRange:z(i,this.getTileInfo()),referenceBounds:this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0},offsetDirection:null,pathIndex:0},this._verticalPlacement="bottom"===r?"above":"top"===r?"below":null,this._verticalPlacement?this._writeAboveAndBelowAlong(t,n,a):this._writeCenterAlong(t,n,a)}_writeAboveAndBelowAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=s.bounds.halfHeight,n=e.readGeometryForDisplay()?.justXY();if(!n)return;const a=P(n,"esriGeometryPolyline",1)??new b,l=Z(a,o),c=Z(a,-o),h=v(c,"esriGeometryPolyline",!1,!1),m=v(l,"esriGeometryPolyline",!1,!1),u=B(m.paths,s.bounds.width),d=B(h.paths,s.bounds.width);this._current.offsetDirection="above";for(let f=0;f<u.length;f++)this._current.pathIndex=f,S(u[f],i,t,!!r);this._current.offsetDirection="below";for(let f=0;f<d.length;f++)this._current.pathIndex=f,S(d[f],i,t,!!r)}_writeCenterAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=B(e.readLegacyGeometryForDisplay().paths,s.bounds.width);for(let n=0;n<o.length;n++)this._current.pathIndex=n,S(o[n],i,t,!!r)}_placeSubdivGlyphs(e,t,i,r){const{allowOverrun:s,labelPosition:o,repeatLabelDistance:n,layerId:a,labelClassId:l}=this.evaluatedMeshParams,{objId:c,shaping:h,pathIndex:m}=this._current,u=this._current.zoomRange[0],d=Y(t),f=this._current.shaping.bounds.width/(1<<A),g=Math.sqrt(n||R)/(1<<A),p=Math.min(i,r-i),_=h.isMultiline?D:Math.log2(p/(g+f/2)),y=0===t?_:Math.min(d,_),x=Math.max(u,this._zoomLevel+A-y),P=this._zoomLevel-x,v=h.bounds.width/2*2**P,b=O(a,c,m,t,this._zoomLevel),M=X(c,m,t,this._zoomLevel,l);this._current.shaping.isMultiline?0===t&&this._placeStraight(e,x,b,M):s&&P<0?this._placeStraightAlong(e,u,b,M):"parallel"===o?this._placeStraightAlong(e,x,b,M):"curved"===o&&this._placeCurved(e,x,v,b,M)}_placeStraight(e,t,i,r){const{out:s,id:o,shaping:n,referenceBounds:a}=this._current,{x:l,y:c}=e;s.metricStart(this._createLineLabelMetric(o,i,r,l,c)),s.metricBoxWrite(n.boundsT);const h=e.angle*(180/Math.PI)%360,m=(e.angle*(180/Math.PI)+180)%360;if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const e={clipAngle:h,mapAligned:!0,isLineLabel:!0,minZoom:t};this._writeGlyphs(s,o,l,c,n,0,a,e,!1)}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const e={clipAngle:m,mapAligned:!0,isLineLabel:!0,minZoom:t};this._writeGlyphs(s,o,l,c,n,0,a,e,!1)}s.metricEnd()}_placeCurved(e,t,i,r,s){const{out:o,id:n}=this._current;o.metricStart(this._createLineLabelMetric(n,r,s,e.x,e.y));const a=e.clone(),l=e.angle*(180/Math.PI)%360,c=(e.angle*(180/Math.PI)+180)%360;this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||(this._placeFirst(a,t,1,l),this._placeBack(e,a,t,i,1,l),this._placeForward(e,a,t,i,1,l)),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||(this._placeFirst(a,t,0,c),this._placeBack(e,a,t,i,0,c),this._placeForward(e,a,t,i,0,c)),o.metricEnd()}_placeStraightAlong(e,i,n,a){const{out:l,id:c,shaping:h,zoomRange:m,referenceBounds:d}=this._current,{boxBorderLineColor:f,boxBackgroundColor:g}=this.evaluatedMeshParams,p=e.clone(),_=e.angle*(180/Math.PI)%360,y=(e.angle*(180/Math.PI)+180)%360,x=h.glyphs.length>0&&!(!f&&!g);if(l.metricStart(this._createLineLabelMetric(c,n,a,e.x,e.y)),x){const n=Math.max(i,m[0],0),a=Math.min(D,m[1]),f=r(o(),-e.angle),g={minZoom:n,maxZoom:a,clipAngle:_,mapAligned:!0,isLineLabel:!0},p=t(this.evaluatedMeshParams.offsetX),x=t(this.evaluatedMeshParams.offsetY);if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const t=u(p,-1*x),[i,r]=h.shapeBackground(s(o(),f,t));l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,d,g),l.recordEnd()}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const t=u(p,x),[i,r]=h.shapeBackground(s(o(),f,t));g.clipAngle=y,l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,d,g),l.recordEnd()}}this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||this._placeFirst(p,i,1,_,!0),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||this._placeFirst(p,i,0,y,!0),l.metricEnd()}_placeBack(e,t,i,r,s,o){const n=e.clone();let a=e.backwardLength+F;for(;n.prev()&&!(a>=r);)this._placeOnSegment(n,t,a,i,-1,s,o),a+=n.length+F}_placeForward(e,t,i,r,s,o){const n=e.clone();let a=e.remainingLength+F;for(;n.next()&&!(a>=r);)this._placeOnSegment(n,t,a,i,1,s,o),a+=n.length+F}_placeFirst(e,t,i,r,s=!1){const{out:o,id:n,shaping:a,zoomRange:l,referenceBounds:c}=this._current,h=a.glyphs,m=this._getBoundsOffset(e.angle);for(const u of h){const h=u.x>a.bounds.x?i:1-i,d=h*e.remainingLength+(1-h)*e.backwardLength,f=Math.abs(u.x+u.width/2-a.bounds.x),g=Math.max(0,this._zoomLevel+Math.log2(f/(d+F))),p=Math.max(t,s?0:g);u.angle=e.angle+(1-i)*Math.PI;const _=[Math.max(l[0],p),Math.min(l[1],D)];this._writeLineGlyph(o,n,e.x,e.y,u,_,r,c),this._writeLineGlyphBox(o,u,i,_,m)}}_placeOnSegment(e,t,i,r,s,o,n){const{out:a,id:l,shaping:c,referenceBounds:h}=this._current,m=c.glyphs,u=e.dx/e.length,d=e.dy/e.length,f={x:e.x+i*-s*u,y:e.y+i*-s*d},g=this._getBoundsOffset(e.angle);for(const p of m){const t=p.x>c.bounds.x?o:1-o;if(!(t&&1===s||!t&&-1===s))continue;const m=Math.abs(p.x+p.width/2-c.bounds.x),u=Math.max(0,this._zoomLevel+Math.log2(m/i)-.1),d=Math.max(r,this._zoomLevel+Math.log2(m/(i+e.length+F)));if(0===u)continue;p.angle=e.angle+(1-o)*Math.PI;const _=[d,u];this._writeLineGlyph(a,l,f.x,f.y,p,_,n,h),this._writeLineGlyphBox(a,p,o,_,g)}}_getBoundsOffset(e){const i=t(this.evaluatedMeshParams.offsetX),s=t(this.evaluatedMeshParams.offsetY),a=u(i,s),l=r(o(),-e);return n(a,a,l)}_writeLineGlyph(e,t,i,r,s,o,n,a){if(i<0||i>w||r<0||r>w)return;e.recordStart(this.instanceId,this.attributeLayout,s.textureBinding);const{texcoords:l,offsets:c}=s,{fontSize:h,haloSize:m,outlineSize:u}=this._textMeshTransformProps,d=this._getDefaultGlyphMetrics(this.evaluatedMeshParams.glyphs),f=s.fontSize??h;this._writeQuad(e,t,i,r,{sdfSize:d.sdfSize,sdfRadius:d.sdfRadius,texcoords:l,offsets:c,fontSize:f,haloSize:m,outlineSize:u,color:s.color?G(s.color):G(this.evaluatedMeshParams.color),isBackground:!1,referenceBounds:a,minZoom:Math.max(this._current.zoomRange[0],o[0]),maxZoom:Math.min(this._current.zoomRange[1],o[1]),clipAngle:n,mapAligned:!0,isLineLabel:!0}),e.recordEnd()}_writeLineGlyphBox(e,t,i,r,s){if((i||this._current.offsetDirection)&&this._isVisible(r)&&t.bounds){const i=t.bounds,r=new L(i.x+s[0],i.y+s[1],i.width,i.height);e.metricBoxWrite(r)}}_isVisible(e){const t=Math.max(this._current.zoomRange[0],e[0]),i=Math.min(this._current.zoomRange[1],e[1]),r=this._zoomLevel;return t<=r&&r<=i}}function Z(e,t){const i=new b,{coords:r,lengths:s}=e,o=d(),n=d(),u=d(),f=d(),g=d(),p=d(),_=2;let y=0;for(let d=0;d<s.length;d++){const e=s[d];for(let s=0;s<e;s++){const d=_*(s+y-1),x=_*(s+y),P=_*(s+y+1);s>0?a(o,r[d],r[d+1]):a(o,0,0),a(n,r[x],r[x+1]),s<e-1?a(u,r[P],r[P+1]):a(u,0,0),0===s?a(f,0,0):(l(f,n,o),c(f,f),a(f,f[1],-f[0])),s===e-1?a(g,0,0):(l(g,u,n),c(g,g),a(g,g[1],-g[0])),h(p,f,g),c(p,p);const v=p[0]*g[0]+p[1]*g[1];0!==v&&m(p,p,v),m(p,p,t),i.coords.push(n[0]+p[0],n[1]+p[1])}i.lengths.push(e),y+=e}return i}export{W as LabelMeshWriter,E as labelIdHash,T as labelMetricHash,O as lineLabelIdHash,X as lineLabelMetricHash};
2
+ import{memoize as e}from"../../../../../../../core/MapUtils.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{numericHash as i}from"../../../../../../../core/string.js";import{fromRotation as r,translate as s}from"../../../../../../../core/libs/gl-matrix-2/math/mat2d.js";import{create as o}from"../../../../../../../core/libs/gl-matrix-2/factories/mat2df32.js";import{transformMat2d as n,set as a,sub as l,normalize as c,add as h,scale as m}from"../../../../../../../core/libs/gl-matrix-2/math/vec2.js";import{fromValues as u}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f32.js";import{create as d}from"../../../../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{convertGeometryToFlat as f,convertOptimizedGeometryToFlat as g,convertFlatToOptimizedGeometry as p,FlatGeometry as _}from"../../../../../../../geometry/FlatGeometry.js";import{GeometryCursor as y}from"../../../../../../../geometry/GeometryCursor.js";import{importLazily as x}from"../../../../../../../geometry/operators/importUtils.js";import{getLabelPoint as P}from"../../../../../../../geometry/support/labelPoint.js";import{generalizeOptimizedGeometry as v,convertToGeometry as b}from"../../../../../../../layers/graphics/featureConversionUtils.js";import M from"../../../../../../../layers/graphics/OptimizedGeometry.js";import{tileSize as w}from"../../../definitions.js";import L from"../../../collisions/BoundingBox.js";import{LabelMetric as I}from"../../../collisions/LabelMetric.js";import{smoothPaths as B,pathDivide as S}from"../../../mesh/templates/segmentUtils.js";import{getMinMaxZoom as z,processColorInput as G}from"../fill/meshWriterUtils.js";import{TextMeshWriter as j,maxLabelZoom as D}from"../text/TextMeshWriter.js";const A=1,F=0,R=128,$=w*w/16,k=x(()=>import("../../../../../../../geometry/operators/gx/operatorIntersection.js")),C=x(()=>import("../../../../../../../chunks/FlatGeometry.js"));function E(e,t,r){return i(`${e}${t}${r}`)}function O(e,t,r,s,o){return i(`${e}${t}${r}${s*2**(D-o)}`)}function T(e,t,r){return i(`${e}${t}${r}`)}function X(e,t,r,s,o){return i(`${e}${o}${t}${r*2**(D-s)}`)}const Y=e(e=>{let t=0;if(0===e)return 1/0;for(;!(e%2);)t++,e/=2;return t});class U extends j{constructor(){super(...arguments),this._zoomLevel=0}async loadDependencies(){await Promise.all([super.loadDependencies(),k.getImportPromise(),C.getImportPromise()])}_write(e,{target:t,effectGeometry:i,level:r,viewExtent:s}){if(this._zoomLevel=r,null!=i)throw new Error("InternalError: EffectGeometry not support for LabelMeshWriter");switch(t.geometryType){case"esriGeometryPoint":{const i=t.readXForDisplay(),r=t.readYForDisplay();this._writePoint(e,i,r,0,t);break}case"esriGeometryEnvelope":case"esriGeometryPolygon":this._writePolygon(e,t,s);break;case"esriGeometryMultipoint":{let i=0;const r=y.fromFeatureSetReader(t);if(r?.nextPath())for(;r.nextPoint();)this._writePoint(e,r.x,r.y,i++,t);break}case"esriGeometryPolyline":this._writeLines(e,t)}}_getMetricDir(){const{horizontalAlignment:e,verticalAlignment:t}=this.evaluatedMeshParams;return["center"===e?0:"right"===e?-1:1,"middle"===t?0:"bottom"===t?-1:1]}_createLineLabelMetric(e,t,i,r,s,o){const[n,a]=this._getMetricDir(),l=this.evaluatedMeshParams.scaleInfo?.maxScale??0,c=this.evaluatedMeshParams.scaleInfo?.minScale??0,h=this.evaluatedMeshParams.labelClassId;return new I(e,h,t,i,r,s,n,a,l,c,o)}_writePolygon(e,t,i){const r=k.module,s=C.module.constructFromFlatGeometry,o=t.readGeometryForDisplay()?.justXY(),n=t.readCentroidForDisplay()?.coords,a=o?.area()||0;if(!n)return;const l=a>=$;e.requiresRefresh||=l;const c=s(f(i)),h=s(f({x:n[0],y:n[1]})),m=!!r.execute(h,c,null);if(!o||!l||!m)return void this._writePoint(e,n[0],n[1],0,t);const u=s(g("polygon",o,null)),d=r.execute(u,c,null);if(!d)return void this._writePoint(e,n[0],n[1],0,t);const x=p(new _(d.toFlatGeometry())),v=y.fromOptimized(x,"esriGeometryPolygon",1),b=P(v)??n;this._writePoint(e,b[0],b[1],0,t)}_writePoint(e,t,i,r,s){if(t<0||t>w||i<0||i>w)return;const o=this._getShaping();if(!o)return;const n=s.getDisplayId(),a=this.evaluatedMeshParams.labelClassId,l=E(this.evaluatedMeshParams.layerId,s.getObjectId(),r),c=T(s.getObjectId(),a,r),[h,m]=this._getMetricDir(),u=this.evaluatedMeshParams.scaleInfo?.maxScale??0,d=this.evaluatedMeshParams.scaleInfo?.minScale??0,f=this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0};e.metricStart(new I(n,a,l,c,t,i,h,m,u,d,f)),this._writeGlyphs(e,n,t,i,o,0,f,void 0,!1),e.metricBoxWrite(o.boundsT),e.metricEnd()}_getPointReferenceBounds(){if(!this._references)return null;for(const e of this._references){const t=e.getBoundsInfo();if(t)return t}return null}_writeLines(e,t){const{scaleInfo:i,verticalAlignment:r}=this.evaluatedMeshParams,s=this.evaluatedMeshParams.repeatLabelDistance||128,o=this._getShaping("middle");if(!o)return;const n=(e,t,i,r)=>this._placeSubdivGlyphs(e,t,i,r),a=(o.bounds.width+s)/(1<<A);this._current={out:e,id:t.getDisplayId(),objId:t.getObjectId(),shaping:o,zoomRange:z(i,this.getTileInfo()),referenceBounds:this._getPointReferenceBounds()||{offsetX:0,offsetY:0,size:0},offsetDirection:null,pathIndex:0},this._verticalPlacement="bottom"===r?"above":"top"===r?"below":null,this._verticalPlacement?this._writeAboveAndBelowAlong(t,n,a):this._writeCenterAlong(t,n,a)}_writeAboveAndBelowAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=s.bounds.halfHeight,n=e.readGeometryForDisplay()?.justXY();if(!n)return;const a=v(n,"esriGeometryPolyline",1)??new M,l=W(a,o),c=W(a,-o),h=b(c,"esriGeometryPolyline",!1,!1),m=b(l,"esriGeometryPolyline",!1,!1),u=B(m.paths,s.bounds.width),d=B(h.paths,s.bounds.width);this._current.offsetDirection="above";for(let f=0;f<u.length;f++)this._current.pathIndex=f,S(u[f],i,t,!!r);this._current.offsetDirection="below";for(let f=0;f<d.length;f++)this._current.pathIndex=f,S(d[f],i,t,!!r)}_writeCenterAlong(e,t,i){const{repeatLabel:r}=this.evaluatedMeshParams,{shaping:s}=this._current,o=B(e.readLegacyGeometryForDisplay().paths,s.bounds.width);for(let n=0;n<o.length;n++)this._current.pathIndex=n,S(o[n],i,t,!!r)}_placeSubdivGlyphs(e,t,i,r){const{allowOverrun:s,labelPosition:o,repeatLabelDistance:n,layerId:a,labelClassId:l}=this.evaluatedMeshParams,{objId:c,shaping:h,pathIndex:m}=this._current,u=this._current.zoomRange[0],d=Y(t),f=this._current.shaping.bounds.width/(1<<A),g=Math.sqrt(n||R)/(1<<A),p=Math.min(i,r-i),_=h.isMultiline?D:Math.log2(p/(g+f/2)),y=0===t?_:Math.min(d,_),x=Math.max(u,this._zoomLevel+A-y),P=this._zoomLevel-x,v=h.bounds.width/2*2**P,b=O(a,c,m,t,this._zoomLevel),M=X(c,m,t,this._zoomLevel,l);this._current.shaping.isMultiline?0===t&&this._placeStraight(e,x,b,M):s&&P<0?this._placeStraightAlong(e,u,b,M):"parallel"===o?this._placeStraightAlong(e,x,b,M):"curved"===o&&this._placeCurved(e,x,v,b,M)}_placeStraight(e,t,i,r){const{out:s,id:o,shaping:n,referenceBounds:a}=this._current,{x:l,y:c}=e;s.metricStart(this._createLineLabelMetric(o,i,r,l,c)),s.metricBoxWrite(n.boundsT);const h=e.angle*(180/Math.PI)%360,m=(e.angle*(180/Math.PI)+180)%360;if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const e={clipAngle:h,mapAligned:!0,isLineLabel:!0,minZoom:t};this._writeGlyphs(s,o,l,c,n,0,a,e,!1)}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const e={clipAngle:m,mapAligned:!0,isLineLabel:!0,minZoom:t};this._writeGlyphs(s,o,l,c,n,0,a,e,!1)}s.metricEnd()}_placeCurved(e,t,i,r,s){const{out:o,id:n}=this._current;o.metricStart(this._createLineLabelMetric(n,r,s,e.x,e.y));const a=e.clone(),l=e.angle*(180/Math.PI)%360,c=(e.angle*(180/Math.PI)+180)%360;this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||(this._placeFirst(a,t,1,l),this._placeBack(e,a,t,i,1,l),this._placeForward(e,a,t,i,1,l)),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||(this._placeFirst(a,t,0,c),this._placeBack(e,a,t,i,0,c),this._placeForward(e,a,t,i,0,c)),o.metricEnd()}_placeStraightAlong(e,i,n,a){const{out:l,id:c,shaping:h,zoomRange:m,referenceBounds:d}=this._current,{boxBorderLineColor:f,boxBackgroundColor:g}=this.evaluatedMeshParams,p=e.clone(),_=e.angle*(180/Math.PI)%360,y=(e.angle*(180/Math.PI)+180)%360,x=h.glyphs.length>0&&!(!f&&!g);if(l.metricStart(this._createLineLabelMetric(c,n,a,e.x,e.y)),x){const n=Math.max(i,m[0],0),a=Math.min(D,m[1]),f=r(o(),-e.angle),g={minZoom:n,maxZoom:a,clipAngle:_,mapAligned:!0,isLineLabel:!0},p=t(this.evaluatedMeshParams.offsetX),x=t(this.evaluatedMeshParams.offsetY);if(!this._verticalPlacement||this._verticalPlacement===this._current.offsetDirection){const t=u(p,-1*x),[i,r]=h.shapeBackground(s(o(),f,t));l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,d,g),l.recordEnd()}if(!this._verticalPlacement||this._verticalPlacement!==this._current.offsetDirection){const t=u(p,x),[i,r]=h.shapeBackground(s(o(),f,t));g.clipAngle=y,l.recordStart(this.instanceId,this.attributeLayout,h.glyphs[0].textureBinding),this._writeTextBox(l,c,e.x,e.y,r,d,g),l.recordEnd()}}this._verticalPlacement&&this._verticalPlacement!==this._current.offsetDirection||this._placeFirst(p,i,1,_,!0),this._verticalPlacement&&this._verticalPlacement===this._current.offsetDirection||this._placeFirst(p,i,0,y,!0),l.metricEnd()}_placeBack(e,t,i,r,s,o){const n=e.clone();let a=e.backwardLength+F;for(;n.prev()&&!(a>=r);)this._placeOnSegment(n,t,a,i,-1,s,o),a+=n.length+F}_placeForward(e,t,i,r,s,o){const n=e.clone();let a=e.remainingLength+F;for(;n.next()&&!(a>=r);)this._placeOnSegment(n,t,a,i,1,s,o),a+=n.length+F}_placeFirst(e,t,i,r,s=!1){const{out:o,id:n,shaping:a,zoomRange:l,referenceBounds:c}=this._current,h=a.glyphs,m=this._getBoundsOffset(e.angle);for(const u of h){const h=u.x>a.bounds.x?i:1-i,d=h*e.remainingLength+(1-h)*e.backwardLength,f=Math.abs(u.x+u.width/2-a.bounds.x),g=Math.max(0,this._zoomLevel+Math.log2(f/(d+F))),p=Math.max(t,s?0:g);u.angle=e.angle+(1-i)*Math.PI;const _=[Math.max(l[0],p),Math.min(l[1],D)];this._writeLineGlyph(o,n,e.x,e.y,u,_,r,c),this._writeLineGlyphBox(o,u,i,_,m)}}_placeOnSegment(e,t,i,r,s,o,n){const{out:a,id:l,shaping:c,referenceBounds:h}=this._current,m=c.glyphs,u=e.dx/e.length,d=e.dy/e.length,f={x:e.x+i*-s*u,y:e.y+i*-s*d},g=this._getBoundsOffset(e.angle);for(const p of m){const t=p.x>c.bounds.x?o:1-o;if(!(t&&1===s||!t&&-1===s))continue;const m=Math.abs(p.x+p.width/2-c.bounds.x),u=Math.max(0,this._zoomLevel+Math.log2(m/i)-.1),d=Math.max(r,this._zoomLevel+Math.log2(m/(i+e.length+F)));if(0===u)continue;p.angle=e.angle+(1-o)*Math.PI;const _=[d,u];this._writeLineGlyph(a,l,f.x,f.y,p,_,n,h),this._writeLineGlyphBox(a,p,o,_,g)}}_getBoundsOffset(e){const i=t(this.evaluatedMeshParams.offsetX),s=t(this.evaluatedMeshParams.offsetY),a=u(i,s),l=r(o(),-e);return n(a,a,l)}_writeLineGlyph(e,t,i,r,s,o,n,a){if(i<0||i>w||r<0||r>w)return;e.recordStart(this.instanceId,this.attributeLayout,s.textureBinding);const{texcoords:l,offsets:c}=s,{fontSize:h,haloSize:m,outlineSize:u}=this._textMeshTransformProps,d=this._getDefaultGlyphMetrics(this.evaluatedMeshParams.glyphs),f=s.fontSize??h;this._writeQuad(e,t,i,r,{sdfSize:d.sdfSize,sdfRadius:d.sdfRadius,texcoords:l,offsets:c,fontSize:f,haloSize:m,outlineSize:u,color:s.color?G(s.color):G(this.evaluatedMeshParams.color),isBackground:!1,referenceBounds:a,minZoom:Math.max(this._current.zoomRange[0],o[0]),maxZoom:Math.min(this._current.zoomRange[1],o[1]),clipAngle:n,mapAligned:!0,isLineLabel:!0}),e.recordEnd()}_writeLineGlyphBox(e,t,i,r,s){if((i||this._current.offsetDirection)&&this._isVisible(r)&&t.bounds){const i=t.bounds,r=new L(i.x+s[0],i.y+s[1],i.width,i.height);e.metricBoxWrite(r)}}_isVisible(e){const t=Math.max(this._current.zoomRange[0],e[0]),i=Math.min(this._current.zoomRange[1],e[1]),r=this._zoomLevel;return t<=r&&r<=i}}function W(e,t){const i=new M,{coords:r,lengths:s}=e,o=d(),n=d(),u=d(),f=d(),g=d(),p=d(),_=2;let y=0;for(let d=0;d<s.length;d++){const e=s[d];for(let s=0;s<e;s++){const d=_*(s+y-1),x=_*(s+y),P=_*(s+y+1);s>0?a(o,r[d],r[d+1]):a(o,0,0),a(n,r[x],r[x+1]),s<e-1?a(u,r[P],r[P+1]):a(u,0,0),0===s?a(f,0,0):(l(f,n,o),c(f,f),a(f,f[1],-f[0])),s===e-1?a(g,0,0):(l(g,u,n),c(g,g),a(g,g[1],-g[0])),h(p,f,g),c(p,p);const v=p[0]*g[0]+p[1]*g[1];0!==v&&m(p,p,v),m(p,p,t),i.coords.push(n[0]+p[0],n[1]+p[1])}i.lengths.push(e),y+=e}return i}export{U as LabelMeshWriter,E as labelIdHash,T as labelMetricHash,O as lineLabelIdHash,X as lineLabelMetricHash};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getSelectionDefines as t,getFeaturePipelineState as s,isHittest as r,getFeatureTextures as a,getFeatureUniforms as i,resolveDynamicUniforms as n}from"../featureTechniqueUtils.js";import{TextShader as o}from"../text/TextShader.js";class u extends e{constructor(){super(...arguments),this.type=20,this.shaders={geometry:new o},this.drawPhase=14,this.symbologyPlane=3}render(e,o){const{painter:u}=e,c=t(e),d={...s(e),stencil:{write:!1,test:{compare:516,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}},m=o.instance.getInput(),f={shader:this.shaders.geometry,uniforms:{...n(e,o.target,m.uniforms),...i(e,o.target),mosaicInfo:u.textureManager.getMosaicInfo(e,o.textureKey)},textures:{...a(e),mosaicTexture:u.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...c,textRenderPassType:0,isBackgroundPass:!0,isLabel:!0},optionalAttributes:m.optionalAttributes,useComputeBuffer:r(e)};u.setPipelineState(d),u.setShader(f),u.submitDraw(e,o,{stencilRef:255}),u.setShader({...f,defines:{...c,textRenderPassType:2,isBackgroundPass:!1,isLabel:!0}}),u.submitDraw(e,o,{stencilRef:255}),u.setShader({...f,defines:{...c,textRenderPassType:0,isBackgroundPass:!1,isLabel:!0}}),u.submitDraw(e,o,{stencilRef:255})}}export{u as LabelTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getSelectionDefines as t,getFeaturePipelineState as s,isHittest as r,getFeatureTextures as a,getFeatureUniforms as i,resolveDynamicUniforms as n}from"../featureTechniqueUtils.js";import{TextShader as o}from"../text/TextShader.js";class u extends e{constructor(){super(...arguments),this.type=20,this.shaders={geometry:new o},this.drawPhase=14,this.symbologyPlane=3}render(e,o){const{painter:u}=e,c=t(e),d={...s(e),stencil:{write:!1,test:{compare:516,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}},m=o.instance.getInput(),f={shader:this.shaders.geometry,uniforms:{...n(e,o.target,m.uniforms),...i(e),mosaicInfo:u.textureManager.getMosaicInfo(e,o.textureKey)},textures:{...a(e),mosaicTexture:u.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...c,textRenderPassType:0,isBackgroundPass:!0,isLabel:!0},optionalAttributes:m.optionalAttributes,useComputeBuffer:r(e)};u.setPipelineState(d),u.setShader(f),u.submitDraw(e,o,{stencilRef:255}),u.setShader({...f,defines:{...c,textRenderPassType:2,isBackgroundPass:!1,isLabel:!0}}),u.submitDraw(e,o,{stencilRef:255}),u.setShader({...f,defines:{...c,textRenderPassType:0,isBackgroundPass:!1,isLabel:!0}}),u.submitDraw(e,o,{stencilRef:255})}}export{u as LabelTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as a,isHighlight as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{GradientStrokeShader as p}from"../shaders/GradientStrokeShader.js";class u extends e{constructor(){super(...arguments),this.type=17,this.shaders={geometry:new p},this.symbologyPlane=1}_getShaderOptions(e,o,n){const{painter:p}=e,u=o.instance.getInput();return{shader:this.shaders.geometry,uniforms:{...a(e,o.target,u.uniforms),...i(e,o.target),mosaicInfo:p.textureManager.getMosaicInfo(e,o.textureKey),technique:{isColorPass:n}},textures:{...r(e),mosaicTexture:p.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...s(e)},optionalAttributes:u.optionalAttributes,useComputeBuffer:t(e)}}render(e,s){const{painter:r}=e;if(t(e)||o(e)){const t=n(e);return r.setPipelineState(t),r.setShader(this._getShaderOptions(e,s,1)),void r.submitDraw(e,s)}e.context.setClearDepth(1),e.context.clear(256);const i={color:!1,depth:{write:{zNear:0,zFar:1},test:513},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,0)),r.setPipelineState(i),r.submitDraw(e,s);const a={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:{write:!1,test:515},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,1)),r.setPipelineState(a),r.submitDraw(e,s)}}export{u as GradientStrokeTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as a,isHighlight as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{GradientStrokeShader as p}from"../shaders/GradientStrokeShader.js";class u extends e{constructor(){super(...arguments),this.type=17,this.shaders={geometry:new p},this.symbologyPlane=1}_getShaderOptions(e,o,n){const{painter:p}=e,u=o.instance.getInput();return{shader:this.shaders.geometry,uniforms:{...a(e,o.target,u.uniforms),...i(e),mosaicInfo:p.textureManager.getMosaicInfo(e,o.textureKey),technique:{isColorPass:n}},textures:{...r(e),mosaicTexture:p.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...s(e)},optionalAttributes:u.optionalAttributes,useComputeBuffer:t(e)}}render(e,s){const{painter:r}=e;if(t(e)||o(e)){const t=n(e);return r.setPipelineState(t),r.setShader(this._getShaderOptions(e,s,1)),void r.submitDraw(e,s)}e.context.setClearDepth(1),e.context.clear(256);const i={color:!1,depth:{write:{zNear:0,zFar:1},test:513},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,0)),r.setPipelineState(i),r.submitDraw(e,s);const a={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:{write:!1,test:515},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,1)),r.setPipelineState(a),r.submitDraw(e,s)}}export{u as GradientStrokeTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{LineShader as a}from"../shaders/LineShader.js";class u extends e{constructor(){super(...arguments),this.type=21,this.shaders={geometry:new a},this.symbologyPlane=1}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e,a.target)},textures:r(e),defines:{...s(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as LineTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{LineShader as a}from"../shaders/LineShader.js";class u extends e{constructor(){super(...arguments),this.type=21,this.shaders={geometry:new a},this.symbologyPlane=1}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e)},textures:r(e),defines:{...s(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as LineTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{TexturedLineShader as n}from"../shaders/TexturedLineShader.js";class u extends e{constructor(){super(...arguments),this.type=33,this.shaders={geometry:new n},this.symbologyPlane=1}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms),...i(e,n.target),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as TexturedLineTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{TexturedLineShader as n}from"../shaders/TexturedLineShader.js";class u extends e{constructor(){super(...arguments),this.type=33,this.shaders={geometry:new n},this.symbologyPlane=1}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms),...i(e),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as TexturedLineTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{location as i,option as o,uniform as s,texture as l,input as r,ComputeVertexInput as a}from"../../GraphShaderModule.js";import{Vec4 as n,Vec2 as p,Float as u,Sampler2D as d,Vec3 as m,min as h,max as y,Mat3 as c,ifElse as x,lessThan as V,equal as w,texture2D as v,clamp as f,abs as g,mix as S,distance as b,greaterThan as C,negate as z}from"../../graph/glsl.js";import{MarkerConstants as M}from"./markerConstants.js";import{FeatureVertexInput as _,AFeatureShader as R,FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{c256ToRad as U,softEdgeRatio as F,trueHit as T,noHit as D}from"../shaders/constants.js";import{isRectHittest as N,hittestMarkerScreenRect as q,distPointTriangle as O,xyToBarycentric as k,inTriangle as A}from"../shaders/hittestUtils.js";import{MosaicInfo as P}from"../shaders/MosaicInfo.js";import{getBit as I,getBitBool as H,rgba2float as G}from"../shaders/utils.js";import{VisualVariableColor as L}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as B}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as E}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as J}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as K}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as W}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as X,getVisualVariableColor as Y,getVisualVariableSize as Z,getVisualVariableRotation as $}from"../shaders/vvUtils.js";class tt extends _{}t([i(3,n)],tt.prototype,"color",void 0),t([i(4,n)],tt.prototype,"outlineColor",void 0),t([i(5,p)],tt.prototype,"offset",void 0),t([i(6,p)],tt.prototype,"textureUV",void 0),t([i(7,n)],tt.prototype,"sizing",void 0),t([i(8,u)],tt.prototype,"placementAngle",void 0),t([i(9,u)],tt.prototype,"sdfDecodeCoeff",void 0),t([i(10,p)],tt.prototype,"zoomRange",void 0);class et extends a{}t([i(11,p)],et.prototype,"offsetNextVertex1",void 0),t([i(12,p)],et.prototype,"offsetNextVertex2",void 0),t([i(13,p)],et.prototype,"textureUVNextVertex1",void 0),t([i(14,p)],et.prototype,"textureUVNextVertex2",void 0);class it extends j{}function ot(t,e,i,o){return e.multiply(t.x).add(i.multiply(t.y)).add(o.multiply(t.z))}function st(t){return t.multiply(t).divide(128)}class lt extends R{constructor(){super(...arguments),this.type="MarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],textureUV:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=st(t.sizing.x),o=st(t.sizing.y),s=st(t.sizing.z),l=t.placementAngle,r=I(t.bitset,M.bitset.isSDF),a=I(t.bitset,M.bitset.isMapAligned),p=I(t.bitset,M.bitset.scaleSymbolsProportionally),d=H(t.bitset,M.bitset.colorLocked),x=X(this,t.id),V=Y(this,t.id,t.color,d).multiply(x),w=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new m(t.pos.xy,1)),v=Z(this,t.id,s).divide(s),f=i.multiply(v),g=t.offset.xy.multiply(v);let S=o.multiply(p.multiply(v.subtract(1)).add(1));S=h(S,y(f.subtract(.99),new u(0)));const b=y(S,new u(1)),C=h(S,new u(1)),z=c.fromRotation(l.multiply(U)),_=$(this,t.id),R=this._getViewRotationMatrix(a).multiply(_).multiply(z).multiply(new m(g.xy,0)).multiply(this.tileContainer.scaleFactor),j=this.clip(t.id,t.zoomRange),F=new n(w.xy.add(R.xy),j,1),T=t.textureUV.divide(this.mosaicInfo.size),D=t.outlineColor.multiply(C),N=I(t.bitset,M.bitset.overrideOutlineColor),q=t.sdfDecodeCoeff.multiply(f);return{glPosition:F,color:V,textureUV:T,outlineColor:D,outlineSize:b,distanceToPx:q,isSDF:r,overrideOutlineColor:N,...this.maybeRunHittest(t,e,{pos:t.pos,size:f,sizeCorrection:v,scaleFactor:this.tileContainer.scaleFactor,isMapAligned:a,vvRotationMat3:_,placementMat3:z,outlineSize:b,distanceToPx:q,isSDF:r})}}fragment(t){const e=this._getColor(t.textureUV,t);return this.getFragmentOutput(e,t)}hittest(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=N(this.hittestRequest);return x(r,()=>{const{tlbr:t}=this.hittestRequest;return q(o,s,l,t)},()=>x(V(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.tile.getTileMat3(this.view,this.tileContainer),i=this.view.viewMat3.multiply(e),o=e,s=new u(1).subtract(t);return i.multiply(t).add(o.multiply(s))}_getColor(t,e){return x(w(e.isSDF,new u(1)),this._getSDFColor(t,e),this._getSpriteColor(t,e))}_getSpriteColor(t,e){return v(this.mosaicTexture,t).multiply(e.color)}_getSDFColor(t,e){const i=v(this.mosaicTexture,t),o=new u(.5).subtract(G(i)).multiply(e.distanceToPx).multiply(F),s=f(new u(.5).subtract(o),new u(0),new u(1)),l=e.color.multiply(s);let r=e.outlineSize;this.highlight&&(r=y(r,e.overrideOutlineColor.multiply(4)));const a=r.multiply(.5),n=g(o).subtract(a),p=f(new u(.5).subtract(n),new u(0),new u(1)),d=S(e.outlineColor,e.color,e.overrideOutlineColor).multiply(p);return new u(1).subtract(d.a).multiply(l).add(d)}_hittestSmallMarker(t,e,i){const{position:o,distance:s,smallSymbolDistance:l}=this.hittestRequest,r=s.subtract(l),a=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new m(i.pos,1)).xy,n=i.size.multiply(.5),p=b(a,o).subtract(n).add(r);return x(C(p,this.hittestRequest.distance),new u(D),new u(T))}_hittestMarker(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=this.hittestRequest.position,a=this.hittestRequest.distance,n=O(r,o,s,l);return x(C(n,a),new u(D),this._hittestSamples(o,s,l,t,e,i))}computeHittestTriangle(t,e,i){const{pos:o,sizeCorrection:s,scaleFactor:l,isMapAligned:r}=i,a=new m(t.offset.multiply(s).multiply(l),0),n=new m(e.offsetNextVertex1.multiply(s).multiply(l),0),p=new m(e.offsetNextVertex2.multiply(s).multiply(l),0),u=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new m(o,1)),d=this._getViewScreenMatrix(r).multiply(i.vvRotationMat3).multiply(i.placementMat3);return{pos0:u.add(d.multiply(a)).xy,pos1:u.add(d.multiply(n)).xy,pos2:u.add(d.multiply(p)).xy}}_hittestSamples(t,e,i,o,s,l){const{outlineSize:r,isSDF:a,distanceToPx:d}=l,m=this.hittestRequest.position,h=this.hittestRequest.distance,y=k(m.add(new p(z(h),z(h))),t,e,i),c=k(m.add(new p(0,z(h))),t,e,i),V=k(m.add(new p(h,z(h))),t,e,i),w=k(m.add(new p(z(h),0)),t,e,i),v=k(m,t,e,i),f=k(m.add(new p(h,0)),t,e,i),g=k(m.add(new p(z(h),h)),t,e,i),S=k(m.add(new p(0,h)),t,e,i),b=k(m.add(new p(h,h)),t,e,i),M=o.textureUV.divide(this.mosaicInfo.size),_=s.textureUVNextVertex1.divide(this.mosaicInfo.size),R=s.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new n(1),outlineColor:new n(1),overrideOutlineColor:new u(1),outlineSize:r,distanceToPx:d,isSDF:a};let U=new u(0);return U=U.add(A(y).multiply(this._getColor(ot(y,M,_,R),j).a)),U=U.add(A(c).multiply(this._getColor(ot(c,M,_,R),j).a)),U=U.add(A(V).multiply(this._getColor(ot(V,M,_,R),j).a)),U=U.add(A(w).multiply(this._getColor(ot(w,M,_,R),j).a)),U=U.add(A(v).multiply(this._getColor(ot(v,M,_,R),j).a)),U=U.add(A(f).multiply(this._getColor(ot(f,M,_,R),j).a)),U=U.add(A(g).multiply(this._getColor(ot(g,M,_,R),j).a)),U=U.add(A(S).multiply(this._getColor(ot(S,M,_,R),j).a)),U=U.add(A(b).multiply(this._getColor(ot(b,M,_,R),j).a)),x(C(U,new u(.05)),new u(T),new u(D))}}t([o(L)],lt.prototype,"visualVariableColor",void 0),t([o(B)],lt.prototype,"visualVariableOpacity",void 0),t([o(E)],lt.prototype,"visualVariableRotation",void 0),t([o(J)],lt.prototype,"visualVariableSizeMinMaxValue",void 0),t([o(K)],lt.prototype,"visualVariableSizeScaleStops",void 0),t([o(Q)],lt.prototype,"visualVariableSizeStops",void 0),t([o(W)],lt.prototype,"visualVariableSizeUnitValue",void 0),t([s(P)],lt.prototype,"mosaicInfo",void 0),t([l(d)],lt.prototype,"mosaicTexture",void 0),t([e(0,r(tt)),e(1,r(et))],lt.prototype,"vertex",null),t([e(0,r(it))],lt.prototype,"fragment",null);export{it as MarkerFragmentInput,lt as MarkerShader,tt as MarkerVertexInput};
2
+ import{__decorate as t,__param as e}from"tslib";import{location as i,option as o,uniform as s,texture as l,input as r,ComputeVertexInput as a}from"../../GraphShaderModule.js";import{Vec4 as n,Vec2 as p,Float as u,Sampler2D as d,Vec3 as m,min as h,max as y,Mat3 as c,ifElse as x,lessThan as f,equal as V,texture2D as w,clamp as v,abs as g,mix as S,distance as b,greaterThan as C,negate as z}from"../../graph/glsl.js";import{MarkerConstants as M}from"./markerConstants.js";import{FeatureVertexInput as _,AFeatureShader as R,FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{c256ToRad as U,softEdgeRatio as F,trueHit as T,noHit as D}from"../shaders/constants.js";import{isRectHittest as I,hittestMarkerScreenRect as N,distPointTriangle as q,xyToBarycentric as O,inTriangle as k}from"../shaders/hittestUtils.js";import{MosaicInfo as A}from"../shaders/MosaicInfo.js";import{getBit as P,getBitBool as H,rgba2float as G}from"../shaders/utils.js";import{VisualVariableColor as L}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as B}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as E}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as J}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as K}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as W}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as X,getVisualVariableColor as Y,getVisualVariableSize as Z,getVisualVariableRotation as $}from"../shaders/vvUtils.js";class tt extends _{}t([i(3,n)],tt.prototype,"color",void 0),t([i(4,n)],tt.prototype,"outlineColor",void 0),t([i(5,p)],tt.prototype,"offset",void 0),t([i(6,p)],tt.prototype,"textureUV",void 0),t([i(7,n)],tt.prototype,"sizing",void 0),t([i(8,u)],tt.prototype,"placementAngle",void 0),t([i(9,u)],tt.prototype,"sdfDecodeCoeff",void 0),t([i(10,p)],tt.prototype,"zoomRange",void 0);class et extends a{}t([i(11,p)],et.prototype,"offsetNextVertex1",void 0),t([i(12,p)],et.prototype,"offsetNextVertex2",void 0),t([i(13,p)],et.prototype,"textureUVNextVertex1",void 0),t([i(14,p)],et.prototype,"textureUVNextVertex2",void 0);class it extends j{}function ot(t,e,i,o){return e.multiply(t.x).add(i.multiply(t.y)).add(o.multiply(t.z))}function st(t){return t.multiply(t).divide(128)}class lt extends R{constructor(){super(...arguments),this.type="MarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],textureUV:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=st(t.sizing.x),o=st(t.sizing.y),s=st(t.sizing.z),l=t.placementAngle,r=P(t.bitset,M.bitset.isSDF),a=P(t.bitset,M.bitset.isMapAligned),p=P(t.bitset,M.bitset.scaleSymbolsProportionally),d=H(t.bitset,M.bitset.colorLocked),x=X(this,t.id),f=Y(this,t.id,t.color,d).multiply(x),V=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new m(t.pos.xy,1)),w=Z(this,t.id,s).divide(s),v=i.multiply(w),g=t.offset.xy.multiply(w);let S=o.multiply(p.multiply(w.subtract(1)).add(1));S=h(S,y(v.subtract(.99),new u(0)));const b=y(S,new u(1)),C=h(S,new u(1)),z=c.fromRotation(l.multiply(U)),_=$(this,t.id),R=this._getViewRotationMatrix(a).multiply(_).multiply(z).multiply(new m(g.xy,0)).multiply(this.tileInfo.scaleFactor),j=this.clip(t.id,t.zoomRange),F=new n(V.xy.add(R.xy),j,1),T=t.textureUV.divide(this.mosaicInfo.size),D=t.outlineColor.multiply(C),I=P(t.bitset,M.bitset.overrideOutlineColor),N=t.sdfDecodeCoeff.multiply(v);return{glPosition:F,color:f,textureUV:T,outlineColor:D,outlineSize:b,distanceToPx:N,isSDF:r,overrideOutlineColor:I,...this.maybeRunHittest(t,e,{pos:t.pos,size:v,sizeCorrection:w,scaleFactor:this.tileInfo.scaleFactor,isMapAligned:a,vvRotationMat3:_,placementMat3:z,outlineSize:b,distanceToPx:N,isSDF:r})}}fragment(t){const e=this._getColor(t.textureUV,t);return this.getFragmentOutput(e,t)}hittest(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=I(this.hittestRequest);return x(r,()=>{const{tlbr:t}=this.hittestRequest;return N(o,s,l,t)},()=>x(f(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.tile.getTileMat3(this.view,this.tileInfo),i=this.view.viewMat3.multiply(e),o=e,s=new u(1).subtract(t);return i.multiply(t).add(o.multiply(s))}_getColor(t,e){return x(V(e.isSDF,new u(1)),this._getSDFColor(t,e),this._getSpriteColor(t,e))}_getSpriteColor(t,e){return w(this.mosaicTexture,t).multiply(e.color)}_getSDFColor(t,e){const i=w(this.mosaicTexture,t),o=new u(.5).subtract(G(i)).multiply(e.distanceToPx).multiply(F),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=y(r,e.overrideOutlineColor.multiply(4)));const a=r.multiply(.5),n=g(o).subtract(a),p=v(new u(.5).subtract(n),new u(0),new u(1)),d=S(e.outlineColor,e.color,e.overrideOutlineColor).multiply(p);return new u(1).subtract(d.a).multiply(l).add(d)}_hittestSmallMarker(t,e,i){const{position:o,distance:s,smallSymbolDistance:l}=this.hittestRequest,r=s.subtract(l),a=this.tile.getViewScreenMat3(this.view,this.tileInfo).multiply(new m(i.pos,1)).xy,n=i.size.multiply(.5),p=b(a,o).subtract(n).add(r);return x(C(p,this.hittestRequest.distance),new u(D),new u(T))}_hittestMarker(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=this.hittestRequest.position,a=this.hittestRequest.distance,n=q(r,o,s,l);return x(C(n,a),new u(D),this._hittestSamples(o,s,l,t,e,i))}computeHittestTriangle(t,e,i){const{pos:o,sizeCorrection:s,scaleFactor:l,isMapAligned:r}=i,a=new m(t.offset.multiply(s).multiply(l),0),n=new m(e.offsetNextVertex1.multiply(s).multiply(l),0),p=new m(e.offsetNextVertex2.multiply(s).multiply(l),0),u=this.tile.getViewScreenMat3(this.view,this.tileInfo).multiply(new m(o,1)),d=this._getViewScreenMatrix(r).multiply(i.vvRotationMat3).multiply(i.placementMat3);return{pos0:u.add(d.multiply(a)).xy,pos1:u.add(d.multiply(n)).xy,pos2:u.add(d.multiply(p)).xy}}_hittestSamples(t,e,i,o,s,l){const{outlineSize:r,isSDF:a,distanceToPx:d}=l,m=this.hittestRequest.position,h=this.hittestRequest.distance,y=O(m.add(new p(z(h),z(h))),t,e,i),c=O(m.add(new p(0,z(h))),t,e,i),f=O(m.add(new p(h,z(h))),t,e,i),V=O(m.add(new p(z(h),0)),t,e,i),w=O(m,t,e,i),v=O(m.add(new p(h,0)),t,e,i),g=O(m.add(new p(z(h),h)),t,e,i),S=O(m.add(new p(0,h)),t,e,i),b=O(m.add(new p(h,h)),t,e,i),M=o.textureUV.divide(this.mosaicInfo.size),_=s.textureUVNextVertex1.divide(this.mosaicInfo.size),R=s.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new n(1),outlineColor:new n(1),overrideOutlineColor:new u(1),outlineSize:r,distanceToPx:d,isSDF:a};let U=new u(0);return U=U.add(k(y).multiply(this._getColor(ot(y,M,_,R),j).a)),U=U.add(k(c).multiply(this._getColor(ot(c,M,_,R),j).a)),U=U.add(k(f).multiply(this._getColor(ot(f,M,_,R),j).a)),U=U.add(k(V).multiply(this._getColor(ot(V,M,_,R),j).a)),U=U.add(k(w).multiply(this._getColor(ot(w,M,_,R),j).a)),U=U.add(k(v).multiply(this._getColor(ot(v,M,_,R),j).a)),U=U.add(k(g).multiply(this._getColor(ot(g,M,_,R),j).a)),U=U.add(k(S).multiply(this._getColor(ot(S,M,_,R),j).a)),U=U.add(k(b).multiply(this._getColor(ot(b,M,_,R),j).a)),x(C(U,new u(.05)),new u(T),new u(D))}}t([o(L)],lt.prototype,"visualVariableColor",void 0),t([o(B)],lt.prototype,"visualVariableOpacity",void 0),t([o(E)],lt.prototype,"visualVariableRotation",void 0),t([o(J)],lt.prototype,"visualVariableSizeMinMaxValue",void 0),t([o(K)],lt.prototype,"visualVariableSizeScaleStops",void 0),t([o(Q)],lt.prototype,"visualVariableSizeStops",void 0),t([o(W)],lt.prototype,"visualVariableSizeUnitValue",void 0),t([s(A)],lt.prototype,"mosaicInfo",void 0),t([l(d)],lt.prototype,"mosaicTexture",void 0),t([e(0,r(tt)),e(1,r(et))],lt.prototype,"vertex",null),t([e(0,r(it))],lt.prototype,"fragment",null);export{it as MarkerFragmentInput,lt as MarkerShader,tt as MarkerVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as o,resolveDynamicUniforms as a,getFeaturePipelineState as i}from"../featureTechniqueUtils.js";import{MarkerShader as n}from"./MarkerShader.js";class u extends e{constructor(){super(...arguments),this.type=23,this.shaders={geometry:new n},this.symbologyPlane=2}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...a(e,n.target,m.uniforms),...o(e,n.target),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey,!0)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey,!0)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(i(e)),u.submitDraw(e,n)}}export{u as MarkerTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as o,resolveDynamicUniforms as i,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{MarkerShader as n}from"./MarkerShader.js";class u extends e{constructor(){super(...arguments),this.type=23,this.shaders={geometry:new n},this.symbologyPlane=2}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...i(e,n.target,m.uniforms),...o(e),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey,!0)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey,!0)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as MarkerTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{Mesh as t}from"../../../meshing/Mesh.js";import{simplePipelineState as s}from"../../utils.js";import{Technique as i}from"../Technique.js";import{OverlayShader as r}from"../shaders/OverlayShader.js";import{getViewUniforms as o}from"../shaders/ViewInfo.js";import{PrimitiveType as n,DataType as a}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as u}from"../../../../../../webgl/VertexElementDescriptor.js";class h extends i{constructor(){super(...arguments),this.type=27,this._mesh=null,this.shaders={overlay:new r}}render(e,t){const{context:i,painter:r}=e,n=this._getMesh(e,t);r.setPipelineState(s);const{isWrapAround:a,wrapAroundShift:u,...h}=t.config,p={...h,wrapAroundShift:0},l={shader:this.shaders.overlay,uniforms:{view:o(e),config:p},textures:{texture:t.texture},defines:null,optionalAttributes:null,useComputeBuffer:!1};r.setPipelineState({...s,stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}}),r.submitDrawMeshUntyped(i,l,n,{stencilRef:0}),a&&(p.wrapAroundShift=u,r.submitDrawMeshUntyped(i,l,n,{stencilRef:0}))}shutdown(){e(this._mesh)}_getMesh(e,s){const{context:i}=e;if(this._mesh){const e=this._mesh.vertexBuffers.get("positions");if(!e)throw new Error("Buffer not found");e.setData(s.position)}else{const e=null!=s.index?s.index.length:s.position.length/2;this._mesh=new t(i,{vertex:{positions:{data:s.position,layout:[new u("pos",2,a.FLOAT,0,8)]},uvs:{data:s.tex,layout:[new u("uv",2,a.UNSIGNED_SHORT,0,4)]}},index:null!=s.index?{index:{data:s.index}}:void 0,groups:[{index:null!=s.index?"index":void 0,primitive:n.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:e}]})}return this._mesh}}export{h as OverlayTechnique};
2
+ import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{Mesh as t}from"../../../meshing/Mesh.js";import{simplePipelineState as s}from"../../utils.js";import{Technique as i}from"../Technique.js";import{OverlayShader as r}from"../shaders/OverlayShader.js";import{PrimitiveType as n,DataType as o}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as a}from"../../../../../../webgl/VertexElementDescriptor.js";class u extends i{constructor(){super(...arguments),this.type=27,this._mesh=null,this.shaders={overlay:new r}}render(e,t){const{context:i,painter:r}=e,n=this._getMesh(e,t);r.setPipelineState(s);const{isWrapAround:o,wrapAroundShift:a,...u}=t.config,h={...u,wrapAroundShift:0},p={shader:this.shaders.overlay,uniforms:{config:h},textures:{texture:t.texture},defines:null,optionalAttributes:null,useComputeBuffer:!1};r.setPipelineState({...s,stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}}),r.submitDrawMeshUntyped(i,p,n,{stencilRef:0}),o&&(h.wrapAroundShift=a,r.submitDrawMeshUntyped(i,p,n,{stencilRef:0}))}shutdown(){e(this._mesh)}_getMesh(e,s){const{context:i}=e;if(this._mesh){const e=this._mesh.vertexBuffers.get("positions");if(!e)throw new Error("Buffer not found");e.setData(s.position)}else{const e=null!=s.index?s.index.length:s.position.length/2;this._mesh=new t(i,{vertex:{positions:{data:s.position,layout:[new a("pos",2,o.FLOAT,0,8)]},uvs:{data:s.tex,layout:[new a("uv",2,o.UNSIGNED_SHORT,0,4)]}},index:null!=s.index?{index:{data:s.index}}:void 0,groups:[{index:null!=s.index?"index":void 0,primitive:n.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:e}]})}return this._mesh}}export{u as OverlayTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{uniform as r,location as o,option as i,input as s,UniformGroup as l}from"../../GraphShaderModule.js";import{Float as a,FixedArray as n,Vec4 as u,Vec2 as d,Vec3 as c,Int as h,ifElse as p,greaterThan as m,or as w,max as y,lessThan as S,and as g,greaterThanEqual as b,equal as f,abs as x,length as V,smoothstep as v,mix as C,step as _,not as A,mod as z,atan2 as T,min as R,clamp as D,lessThanEqual as j,distance as M}from"../../graph/glsl.js";import{FeatureVertexInput as O,AFeatureShader as F,FeatureFragmentInput as I}from"../shaders/AFeatureShader.js";import{bitsetMarkerScaleSymbolsProportionally as q,bitsetMarkerAlignmentMap as W,noHit as U,trueHit as P,epsilon as G,cRadToDeg as H}from"../shaders/constants.js";import{hittestMarker as k,isRectHittest as B}from"../shaders/hittestUtils.js";import{getBit as E,isNan as J}from"../shaders/utils.js";import{VisualVariableOpacity as K}from"../shaders/VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as L}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as N}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as X}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as Y,getVisualVariableSize as Z}from"../shaders/vvUtils.js";const $=10;class tt extends l{}t([r(a)],tt.prototype,"outlineWidth",void 0),t([r(n.ofType(u,$))],tt.prototype,"colors",void 0),t([r(u)],tt.prototype,"defaultColor",void 0),t([r(u)],tt.prototype,"othersColor",void 0),t([r(u)],tt.prototype,"outlineColor",void 0),t([r(a)],tt.prototype,"donutRatio",void 0),t([r(a)],tt.prototype,"sectorThreshold",void 0),t([r(a)],tt.prototype,"fieldCount",void 0);class et extends O{}t([o(3,d)],et.prototype,"offset",void 0),t([o(4,d)],et.prototype,"texCoords",void 0),t([o(5,a)],et.prototype,"referenceSize",void 0),t([o(6,d)],et.prototype,"zoomRange",void 0);class rt extends I{}class ot extends F{constructor(){super(...arguments),this.type="PieChartShader"}vertex(t){const e=Y(this,t.id),r=Z(this,t.id,t.referenceSize).divide(t.referenceSize),o=t.referenceSize.multiply(.5).multiply(r),i=t.offset.multiply(r),s=E(t.bitset,q),l=this.chart.outlineWidth.multiply(s.multiply(r.subtract(1)).add(1)),p=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new c(t.pos,1)),m=this._getViewRotationMatrix(E(t.bitset,W)).multiply(new c(i,0)),w=new u(p.xy.add(m.xy),this.clip(t.id,t.zoomRange),1),y=null==this.hittestRequest?this._getSectorData(t.id):{filteredSectorToColorId:new n(new d(0),$),numberOfFilteredSectors:new h(0),maxSectorAngle:new a(0)};return{glPosition:w,color:new u(0),offset:t.texCoords.multiply(2).subtract(1),size:o,outlineWidth:l,opacity:e,filteredSectorToColorId:y.filteredSectorToColorId,numberOfFilteredSectors:y.numberOfFilteredSectors,maxSectorAngle:y.maxSectorAngle,...this.maybeRunHittest(t,{},o)}}fragment(t){return this.getFragmentOutput(null!=this.hittestRequest?new u(0):this._getColor(t),t)}hittest(t,e,r){const o=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new c(t.pos,1)).xy;return p(B(this.hittestRequest),this._hittestScreenRect(o,r),p(m(k(o,r,this.hittestRequest.position),this.hittestRequest.distance),new a(U),new a(P)))}_getColor(t){const e=this._getAngle(t.offset),r=m(this.chart.sectorThreshold,new a(0));let o=p(w(m(t.maxSectorAngle,new a(0)),r),this.chart.othersColor,this.chart.defaultColor);const i=y(t.numberOfFilteredSectors.subtract(1),new h(0)),s=this._getSectorColor(t.filteredSectorToColorId,i),l=this._getSectorColor(t.filteredSectorToColorId,0),n=m(t.numberOfFilteredSectors,new h(0));let u=p(n,s,o),d=p(n,l,o),c=p(n,t.maxSectorAngle,new a(0)),_=p(n,new a(360),new a(0));const A=S(e,t.maxSectorAngle),z=g(r,S(t.maxSectorAngle.add(new a(G)),new a(360)));let T=new a(0);for(let w=0;w<$;w++){const r=t.filteredSectorToColorId.get(w).x,i=S(new h(w),t.numberOfFilteredSectors),l=g(A,g(i,g(m(r,e),b(e,T)))),n=w>0?this._getSectorColor(t.filteredSectorToColorId,w-1):s,y=p(S(new h(w+1),t.numberOfFilteredSectors),new h(w+1),new h(0)),V=this._getSectorColor(t.filteredSectorToColorId,y),v=p(g(z,f(new a(w),new a(0))),this.chart.othersColor,n),C=p(g(z,S(x(r.subtract(t.maxSectorAngle)),new a(G))),this.chart.othersColor,V);o=p(l,this._getSectorColor(t.filteredSectorToColorId,w),o),u=p(l,v,u),d=p(l,C,d),c=p(l,T,c),_=p(l,r,_),T=p(i,r,T)}const R=V(t.offset),D=R.multiply(t.size),j=new a(.75),M=e.subtract(c),O=_.subtract(e),F=v(j.multiply(-1),j,M.multiply(R)),I=v(j.multiply(-1),j,O.multiply(R));o=C(u,o,F).add(C(d,o,I)).subtract(o);const q=t.size.subtract(t.outlineWidth).subtract(j),W=this.chart.donutRatio.multiply(q),U=W.subtract(t.outlineWidth),P=p(m(U,j),v(U.subtract(j),U.add(j),D),new a(1)),H=new a(1).subtract(v(t.size.subtract(j.multiply(2)),t.size,D)),k=P.multiply(H),B=g(m(q,new a(0)),m(t.outlineWidth,new a(.25))),E=v(q.subtract(j),q.add(j),D),J=p(m(W,j),new a(1).subtract(v(W.subtract(j),W.add(j),D)),new a(0));return o=p(B,C(o,this.chart.outlineColor,J.add(E)),o),t.opacity.multiply(k).multiply(o)}_getSectorData(t){const e=this._getAttributeValues(t);let r=new a(0);for(let a=0;a<$;a++)r=r.add(e[a]);const o=this.chart.sectorThreshold.multiply(360);let i=new n(new d(0),$),s=new a(0),l=new h(0);for(let n=0;n<$;n++){const t=p(m(r,new a(0)),e[n].multiply(360).divide(r),new a(0)),u=p(m(t,o),new a(1),new a(0)),c=s.add(u.multiply(t)),w=new d(c,new a(n));i=i.set(l,w),s=c,l=l.add(new h(u))}return{filteredSectorToColorId:i,numberOfFilteredSectors:l,maxSectorAngle:s}}_getAttributeValues(t){const e=this.getAttributeDataCoords(t),r=this.storageTextures.getDataDrivenData0(e),o=this.storageTextures.getDataDrivenData1(e),i=this.storageTextures.getDataDrivenData2(e);return[this._getAttributeValue(r.x,0),this._getAttributeValue(r.y,1),this._getAttributeValue(r.z,2),this._getAttributeValue(r.w,3),this._getAttributeValue(o.x,4),this._getAttributeValue(o.y,5),this._getAttributeValue(o.z,6),this._getAttributeValue(o.w,7),this._getAttributeValue(i.x,8),this._getAttributeValue(i.y,9)]}_getAttributeValue(t,e){const r=_(new a(e+1),this.chart.fieldCount);return p(g(A(J(t)),m(t,new a(0))),t,new a(0)).multiply(r)}_getAngle(t){return z(new a(90).subtract(new a(H).multiply(T(t.y,t.x))),new a(360))}_getSectorColor(t,e){return this.chart.colors.get(new h(t.get(e).y))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,r=this.view.displayMat3,o=new a(1).subtract(t);return e.multiply(t).add(r.multiply(o))}_hittestScreenRect(t,e){const r=this.hittestRequest.tlbr.xy,o=this.hittestRequest.tlbr.zw,i=R(r.x,o.x),s=R(r.y,o.y),l=y(r.x,o.x),n=y(r.y,o.y),u=new d(D(t.x,i,l),D(t.y,s,n));return p(j(M(t,u),e),new a(1),new a(0))}}t([r(tt)],ot.prototype,"chart",void 0),t([i(K)],ot.prototype,"visualVariableOpacity",void 0),t([i(L)],ot.prototype,"visualVariableSizeMinMaxValue",void 0),t([i(N)],ot.prototype,"visualVariableSizeScaleStops",void 0),t([i(Q)],ot.prototype,"visualVariableSizeStops",void 0),t([i(X)],ot.prototype,"visualVariableSizeUnitValue",void 0),t([e(0,s(et))],ot.prototype,"vertex",null),t([e(0,s(rt))],ot.prototype,"fragment",null);export{ot as PieChartShader,et as PieChartVertexInput,$ as maxPieChartFields};
2
+ import{__decorate as t,__param as e}from"tslib";import{uniform as r,location as o,option as i,input as s,UniformGroup as l}from"../../GraphShaderModule.js";import{Float as a,FixedArray as n,Vec4 as u,Vec2 as d,Vec3 as c,Int as h,ifElse as p,greaterThan as m,or as w,max as y,lessThan as S,and as g,greaterThanEqual as f,equal as b,abs as x,length as V,smoothstep as v,mix as C,step as _,not as A,mod as z,atan2 as T,min as R,clamp as D,lessThanEqual as j,distance as I}from"../../graph/glsl.js";import{FeatureVertexInput as M,AFeatureShader as O,FeatureFragmentInput as F}from"../shaders/AFeatureShader.js";import{bitsetMarkerScaleSymbolsProportionally as q,bitsetMarkerAlignmentMap as W,noHit as U,trueHit as P,epsilon as G,cRadToDeg as H}from"../shaders/constants.js";import{hittestMarker as k,isRectHittest as B}from"../shaders/hittestUtils.js";import{getBit as E,isNan as J}from"../shaders/utils.js";import{VisualVariableOpacity as K}from"../shaders/VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as L}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as N}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as X}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as Y,getVisualVariableSize as Z}from"../shaders/vvUtils.js";const $=10;class tt extends l{}t([r(a)],tt.prototype,"outlineWidth",void 0),t([r(n.ofType(u,$))],tt.prototype,"colors",void 0),t([r(u)],tt.prototype,"defaultColor",void 0),t([r(u)],tt.prototype,"othersColor",void 0),t([r(u)],tt.prototype,"outlineColor",void 0),t([r(a)],tt.prototype,"donutRatio",void 0),t([r(a)],tt.prototype,"sectorThreshold",void 0),t([r(a)],tt.prototype,"fieldCount",void 0);class et extends M{}t([o(3,d)],et.prototype,"offset",void 0),t([o(4,d)],et.prototype,"texCoords",void 0),t([o(5,a)],et.prototype,"referenceSize",void 0),t([o(6,d)],et.prototype,"zoomRange",void 0);class rt extends F{}class ot extends O{constructor(){super(...arguments),this.type="PieChartShader"}vertex(t){const e=Y(this,t.id),r=Z(this,t.id,t.referenceSize).divide(t.referenceSize),o=t.referenceSize.multiply(.5).multiply(r),i=t.offset.multiply(r),s=E(t.bitset,q),l=this.chart.outlineWidth.multiply(s.multiply(r.subtract(1)).add(1)),p=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new c(t.pos,1)),m=this._getViewRotationMatrix(E(t.bitset,W)).multiply(new c(i,0)),w=new u(p.xy.add(m.xy),this.clip(t.id,t.zoomRange),1),y=null==this.hittestRequest?this._getSectorData(t.id):{filteredSectorToColorId:new n(new d(0),$),numberOfFilteredSectors:new h(0),maxSectorAngle:new a(0)};return{glPosition:w,color:new u(0),offset:t.texCoords.multiply(2).subtract(1),size:o,outlineWidth:l,opacity:e,filteredSectorToColorId:y.filteredSectorToColorId,numberOfFilteredSectors:y.numberOfFilteredSectors,maxSectorAngle:y.maxSectorAngle,...this.maybeRunHittest(t,{},o)}}fragment(t){return this.getFragmentOutput(null!=this.hittestRequest?new u(0):this._getColor(t),t)}hittest(t,e,r){const o=this.tile.getViewScreenMat3(this.view,this.tileInfo).multiply(new c(t.pos,1)).xy;return p(B(this.hittestRequest),this._hittestScreenRect(o,r),p(m(k(o,r,this.hittestRequest.position),this.hittestRequest.distance),new a(U),new a(P)))}_getColor(t){const e=this._getAngle(t.offset),r=m(this.chart.sectorThreshold,new a(0));let o=p(w(m(t.maxSectorAngle,new a(0)),r),this.chart.othersColor,this.chart.defaultColor);const i=y(t.numberOfFilteredSectors.subtract(1),new h(0)),s=this._getSectorColor(t.filteredSectorToColorId,i),l=this._getSectorColor(t.filteredSectorToColorId,0),n=m(t.numberOfFilteredSectors,new h(0));let u=p(n,s,o),d=p(n,l,o),c=p(n,t.maxSectorAngle,new a(0)),_=p(n,new a(360),new a(0));const A=S(e,t.maxSectorAngle),z=g(r,S(t.maxSectorAngle.add(new a(G)),new a(360)));let T=new a(0);for(let w=0;w<$;w++){const r=t.filteredSectorToColorId.get(w).x,i=S(new h(w),t.numberOfFilteredSectors),l=g(A,g(i,g(m(r,e),f(e,T)))),n=w>0?this._getSectorColor(t.filteredSectorToColorId,w-1):s,y=p(S(new h(w+1),t.numberOfFilteredSectors),new h(w+1),new h(0)),V=this._getSectorColor(t.filteredSectorToColorId,y),v=p(g(z,b(new a(w),new a(0))),this.chart.othersColor,n),C=p(g(z,S(x(r.subtract(t.maxSectorAngle)),new a(G))),this.chart.othersColor,V);o=p(l,this._getSectorColor(t.filteredSectorToColorId,w),o),u=p(l,v,u),d=p(l,C,d),c=p(l,T,c),_=p(l,r,_),T=p(i,r,T)}const R=V(t.offset),D=R.multiply(t.size),j=new a(.75),I=e.subtract(c),M=_.subtract(e),O=v(j.multiply(-1),j,I.multiply(R)),F=v(j.multiply(-1),j,M.multiply(R));o=C(u,o,O).add(C(d,o,F)).subtract(o);const q=t.size.subtract(t.outlineWidth).subtract(j),W=this.chart.donutRatio.multiply(q),U=W.subtract(t.outlineWidth),P=p(m(U,j),v(U.subtract(j),U.add(j),D),new a(1)),H=new a(1).subtract(v(t.size.subtract(j.multiply(2)),t.size,D)),k=P.multiply(H),B=g(m(q,new a(0)),m(t.outlineWidth,new a(.25))),E=v(q.subtract(j),q.add(j),D),J=p(m(W,j),new a(1).subtract(v(W.subtract(j),W.add(j),D)),new a(0));return o=p(B,C(o,this.chart.outlineColor,J.add(E)),o),t.opacity.multiply(k).multiply(o)}_getSectorData(t){const e=this._getAttributeValues(t);let r=new a(0);for(let a=0;a<$;a++)r=r.add(e[a]);const o=this.chart.sectorThreshold.multiply(360);let i=new n(new d(0),$),s=new a(0),l=new h(0);for(let n=0;n<$;n++){const t=p(m(r,new a(0)),e[n].multiply(360).divide(r),new a(0)),u=p(m(t,o),new a(1),new a(0)),c=s.add(u.multiply(t)),w=new d(c,new a(n));i=i.set(l,w),s=c,l=l.add(new h(u))}return{filteredSectorToColorId:i,numberOfFilteredSectors:l,maxSectorAngle:s}}_getAttributeValues(t){const e=this.getAttributeDataCoords(t),r=this.storageTextures.getDataDrivenData0(e),o=this.storageTextures.getDataDrivenData1(e),i=this.storageTextures.getDataDrivenData2(e);return[this._getAttributeValue(r.x,0),this._getAttributeValue(r.y,1),this._getAttributeValue(r.z,2),this._getAttributeValue(r.w,3),this._getAttributeValue(o.x,4),this._getAttributeValue(o.y,5),this._getAttributeValue(o.z,6),this._getAttributeValue(o.w,7),this._getAttributeValue(i.x,8),this._getAttributeValue(i.y,9)]}_getAttributeValue(t,e){const r=_(new a(e+1),this.chart.fieldCount);return p(g(A(J(t)),m(t,new a(0))),t,new a(0)).multiply(r)}_getAngle(t){return z(new a(90).subtract(new a(H).multiply(T(t.y,t.x))),new a(360))}_getSectorColor(t,e){return this.chart.colors.get(new h(t.get(e).y))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,r=this.view.displayMat3,o=new a(1).subtract(t);return e.multiply(t).add(r.multiply(o))}_hittestScreenRect(t,e){const r=this.hittestRequest.tlbr.xy,o=this.hittestRequest.tlbr.zw,i=R(r.x,o.x),s=R(r.y,o.y),l=y(r.x,o.x),n=y(r.y,o.y),u=new d(D(t.x,i,l),D(t.y,s,n));return p(j(I(t,u),e),new a(1),new a(0))}}t([r(tt)],ot.prototype,"chart",void 0),t([i(K)],ot.prototype,"visualVariableOpacity",void 0),t([i(L)],ot.prototype,"visualVariableSizeMinMaxValue",void 0),t([i(N)],ot.prototype,"visualVariableSizeScaleStops",void 0),t([i(Q)],ot.prototype,"visualVariableSizeStops",void 0),t([i(X)],ot.prototype,"visualVariableSizeUnitValue",void 0),t([e(0,s(et))],ot.prototype,"vertex",null),t([e(0,s(rt))],ot.prototype,"fragment",null);export{ot as PieChartShader,et as PieChartVertexInput,$ as maxPieChartFields};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getFeatureUniforms as t,getSelectionDefines as r,isHittest as s,getFeatureTextures as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{PieChartShader as n}from"./PieChartShader.js";class u extends e{constructor(){super(...arguments),this.type=30,this.shaders={geometry:new n},this.symbologyPlane=2}render(e,n){const{painter:u}=e,{instance:h,target:m}=n,p=h.getInput(),d=t(e,m),f=r(e);u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,p.uniforms.shader),...d},textures:i(e),defines:{...f},optionalAttributes:p.optionalAttributes,useComputeBuffer:s(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as PieChartTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getFeatureUniforms as t,getSelectionDefines as r,isHittest as s,getFeatureTextures as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{PieChartShader as n}from"./PieChartShader.js";class u extends e{constructor(){super(...arguments),this.type=30,this.shaders={geometry:new n},this.symbologyPlane=2}render(e,n){const{painter:u}=e,{instance:h}=n,m=h.getInput(),p=t(e),d=r(e);u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms.shader),...p},textures:i(e),defines:{...d},optionalAttributes:m.optionalAttributes,useComputeBuffer:s(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as PieChartTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import has from"../../../../../../../core/has.js";import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{TextureStatisticsTechnique as i}from"../TextureStatisticsTechnique.js";import{getInterpolationDefines as r}from"./processor/textureUtils.js";import{getTileUniforms as s}from"../shaders/Tile.js";import{getTileContainerUniforms as o}from"../shaders/TileInfo.js";import{getViewUniforms as n}from"../shaders/ViewInfo.js";import{RasterColorizerLUTShader as a}from"../shaders/raster/RasterColorizerLUTShader.js";import{RasterColorizerShadedReliefShader as u}from"../shaders/raster/RasterColorizerShadedReliefShader.js";import{RasterColorizerStretchShader as c}from"../shaders/raster/RasterColorizerStretchShader.js";import{SizedPixelFormat as m,PixelType as l}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as p}from"../../../../../../webgl/FramebufferObject.js";import h from"../../../../../../webgl/Texture.js";import{TextureDescriptor as d}from"../../../../../../webgl/TextureDescriptor.js";const f=160,x=new Set(["f32","f64","u16","s16","u32","s32"]);class g extends t{constructor(){super(...arguments),this.name="BrushRasterColorizer",this.type=0,this.shaders={lut:new a,stretch:new c,shadedRelief:new u},this._mosaicFbo=null,this._statisticsTechnique=null,this._draTimer=0}shutdown(t){super.shutdown(t),this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique)}render(t,i){const r=i.tiles.some(({bitmap:e})=>b(e));r||(this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique));const s=r?this._computeStatisticsTextures(t,i):void 0;for(const e of i.tiles){const{bitmap:i}=e;if(!i.source||i.suspended)continue;t.timeline.begin(this.name);const{painter:r}=t;r.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}}),i.updateTexture(t),i.updateProcessedTexture();const{type:o}=i.symbolizerParameters,n="stretch"===o?this._getStretchOptions(t,e,s):"lut"===o?this._getLutOptions(t,e):this._getShadedReliefOptions(t,e);"bilinear"!==i.interpolation||t.context.capabilities.textureFloatLinear||(n.defines.bilinear=!0),r.submitDrawMesh(t.context,n,r.quadMesh,i),t.timeline.end(this.name)}}_computeStatisticsTextures(e,t){this._statisticsTechnique??=new i;const r=this._statisticsTechnique;let s=has("esri-2d-dra-delay");if(null==s){const e=t.tiles.find(({bitmap:e})=>b(e)).bitmap,{stretchType:i,bandCount:r}=e.symbolizerParameters,{pixelType:o}=e.source;"minMax"===i&&r>=3&&x.has(o)&&(s=f)}if(s){const i=performance.now();(i-this._draTimer>=s||e.stationary||!r.minValuesTexture)&&(this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo}),this._draTimer=i)}else this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo});return{minTexture:r.minValuesTexture,maxTexture:r.maxValuesTexture,meanTexture:r.meanValuesTexture,stddevTexture:r.stdDevValuesTexture}}_mosaic(e,t){const{context:i,painter:r}=e,s=i.boundFramebuffer;if(null==s)return;if(this._mosaicFbo)this._mosaicFbo.resize(s.width,s.height);else{const e=T(i,s.width,s.height);this._mosaicFbo=new p(i,e)}i.bindFramebuffer(this._mosaicFbo);const o="RasterColorizerMosaic";for(const n of t.tiles){const{bitmap:t}=n;if(!b(t))continue;e.timeline.begin(o),r.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}});const i=t.interpolation;t.interpolation="nearest",t.updateTexture(e),t.updateProcessedTexture();const s=this._getStretchOptions(e,n,void 0,!0);s.defines.noOp=!0,r.submitDrawMesh(e.context,s,r.quadMesh,t),t.interpolation=i,e.timeline.end(o)}i.bindFramebuffer(s)}_getLutOptions(e,t){const{bitmap:i}=t,{config:a,projectionConfig:u,projectionTextures:c,colormapConfig:m,colormapTextures:l,textures:p,projectionDefines:h}=this._getCommonConfig(i),d=r(i);return{shader:this.shaders.lut,uniforms:{view:n(e),tileContainer:o(e),tile:s(e.tilingScheme,t),projectionConfig:u,config:a,colormapConfig:m},textures:{...p,projectionTextures:c,colormapTextures:l},defines:{...h,...d,applyPixelMask:!!p.pixelMaskTexture,applyPixelHighlights:!!p.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getStretchOptions(e,t,i,a=!1){const{bitmap:u}=t,c=u.symbolizerParameters,{config:m,projectionConfig:l,projectionTextures:p,colormapConfig:h,colormapTextures:d,textures:f,projectionDefines:x,textureUnit:g}=this._getCommonConfig(u),T=r(u),b=i?{numberOfStandardDeviations:c.numberOfStandardDeviations||2}:void 0,_=i?{minTexture:{texture:i.minTexture,unit:g},maxTexture:{texture:i.maxTexture,unit:g+1},meanTexture:{texture:i.meanTexture,unit:g+2},stddevTexture:{texture:i.stddevTexture,unit:g+3}}:void 0,C=i?"standardDeviation"===c.stretchType?2:1:0;return{shader:this.shaders.stretch,uniforms:{view:n(e),tileContainer:o(e),tile:s(e.tilingScheme,t),projectionConfig:l,config:m,stretchConfig:c,colormapConfig:h,statisticsConfig:b},textures:{...f,projectionTextures:p,colormapTextures:d,statisticsTextures:_},defines:{...x,...T,isMultiband:c.bandCount>1,applyColormap:!!h,useGamma:c.useGamma,noOp:u.isRenderedSource&&!u.processed,applyPixelMask:!!f.pixelMaskTexture,applyPixelHighlights:!a&&!!f.highlightTexture,draStretchType:C},optionalAttributes:null,useComputeBuffer:!1}}_getShadedReliefOptions(e,t){const{bitmap:i}=t,a=i.symbolizerParameters,{config:u,projectionConfig:c,projectionTextures:m,colormapConfig:l,colormapTextures:p,textures:h,projectionDefines:d}=this._getCommonConfig(i),f=r(i);return{shader:this.shaders.shadedRelief,uniforms:{view:n(e),tileContainer:o(e),tile:s(e.tilingScheme,t),projectionConfig:c,config:u,hillshadeConfig:a,colormapConfig:l},textures:{...h,projectionTextures:m,colormapTextures:p},defines:{...d,...f,isMultidirectional:a.hillshadeType>0,applyColormap:!!l,applyPixelMask:!!h.pixelMaskTexture,applyPixelHighlights:!!h.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getCommonConfig(e){const{coordScale:t,computedOpacity:i}=e,{names:r,textures:s}=e.getTextures({useProcessedTexture:e.processed}),o=s[r.indexOf("u_image")];let n=0;const a={coordScale:t,srcImageSize:e.getRasterTextureSize(),opacity:i},u={texture:{texture:o,unit:n++},pixelMaskTexture:null,highlightTexture:null},c=s[r.indexOf("u_transformGrid")],{transformGrid:m}=e,l=!(!c||!m),p=l?{targetImageSize:[e.width,e.height],transformSpacing:m.spacing,transformGridSize:m.size}:void 0,h=l?{transformTexture:{texture:c,unit:n++}}:void 0,d=s[r.indexOf("u_colormap")],{colormap:f,colormapOffset:x}=e.symbolizerParameters,g=d&&f?{colormapOffset:x??0,colormapMaxIndex:f.length/4-1}:void 0,T=d&&f?{colormapTexture:{texture:d,unit:n++}}:void 0,b=s[r.indexOf("u_mask")];b&&(u.pixelMaskTexture={texture:b,unit:n++});const{highlightTexture:_}=e;_&&(u.highlightTexture={texture:_,unit:n++});return{config:a,projectionConfig:p,projectionTextures:h,colormapConfig:g,colormapTextures:T,textures:u,projectionDefines:{applyProjection:l,lookupProjection:l&&1===m.spacing[0]},textureUnit:n}}}function T(e,t,i){const r=new d(t,i);return r.internalFormat=m.RGBA32F,r.samplingMode=9728,r.dataType=l.FLOAT,r.wrapMode=33071,new h(e,r)}function b(e){return!e.suspended&&null!=e.source&&!e.isRenderedSource&&"stretch"===e.symbolizerParameters.type&&!!e.symbolizerParameters.dynamicRangeAdjustment}export{g as RasterColorizerTechnique};
2
+ import has from"../../../../../../../core/has.js";import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{TextureStatisticsTechnique as i}from"../TextureStatisticsTechnique.js";import{getInterpolationDefines as r}from"./processor/textureUtils.js";import{RasterColorizerLUTShader as s}from"../shaders/raster/RasterColorizerLUTShader.js";import{RasterColorizerShadedReliefShader as o}from"../shaders/raster/RasterColorizerShadedReliefShader.js";import{RasterColorizerStretchShader as n}from"../shaders/raster/RasterColorizerStretchShader.js";import{SizedPixelFormat as a,PixelType as u}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as c}from"../../../../../../webgl/FramebufferObject.js";import m from"../../../../../../webgl/Texture.js";import{TextureDescriptor as l}from"../../../../../../webgl/TextureDescriptor.js";const p=160,h=new Set(["f32","f64","u16","s16","u32","s32"]);class d extends t{constructor(){super(...arguments),this.name="BrushRasterColorizer",this.type=0,this.shaders={lut:new s,stretch:new n,shadedRelief:new o},this._mosaicFbo=null,this._statisticsTechnique=null,this._draTimer=0}shutdown(t){super.shutdown(t),this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique)}render(t,i){const r=i.tiles.some(({bitmap:e})=>f(e));r||(this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique));const s=r?this._computeStatisticsTextures(t,i):void 0;for(const e of i.tiles){const{bitmap:i}=e;if(!i.source||i.suspended)continue;t.timeline.begin(this.name);const{painter:r}=t;r.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}}),i.updateTexture(t),i.updateProcessedTexture(),e.bindTile(t.context,t.tilingScheme);const{type:o}=i.symbolizerParameters,n="stretch"===o?this._getStretchOptions(e,s):"lut"===o?this._getLutOptions(e):this._getShadedReliefOptions(e);"bilinear"!==i.interpolation||t.context.capabilities.textureFloatLinear||(n.defines.bilinear=!0),r.submitDrawMesh(t.context,n,r.quadMesh,i),t.timeline.end(this.name)}}_computeStatisticsTextures(e,t){this._statisticsTechnique??=new i;const r=this._statisticsTechnique;let s=has("esri-2d-dra-delay");if(null==s){const e=t.tiles.find(({bitmap:e})=>f(e)).bitmap,{stretchType:i,bandCount:r}=e.symbolizerParameters,{pixelType:o}=e.source;"minMax"===i&&r>=3&&h.has(o)&&(s=p)}if(s){const i=performance.now();(i-this._draTimer>=s||e.stationary||!r.minValuesTexture)&&(this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo}),this._draTimer=i)}else this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo});return{minTexture:r.minValuesTexture,maxTexture:r.maxValuesTexture,meanTexture:r.meanValuesTexture,stddevTexture:r.stdDevValuesTexture}}_mosaic(e,t){const{context:i,painter:r}=e,s=i.boundFramebuffer;if(null==s)return;if(this._mosaicFbo)this._mosaicFbo.resize(s.width,s.height);else{const e=x(i,s.width,s.height);this._mosaicFbo=new c(i,e)}i.bindFramebuffer(this._mosaicFbo);const o="RasterColorizerMosaic";for(const n of t.tiles){const{bitmap:t}=n;if(!f(t))continue;e.timeline.begin(o),r.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}});const i=t.interpolation;t.interpolation="nearest",t.updateTexture(e),t.updateProcessedTexture(),n.bindTile(e.context,e.tilingScheme);const s=this._getStretchOptions(n,void 0,!0);s.defines.noOp=!0,r.submitDrawMesh(e.context,s,r.quadMesh,t),t.interpolation=i,e.timeline.end(o)}i.bindFramebuffer(s)}_getLutOptions(e){const{bitmap:t}=e,{config:i,projectionConfig:s,projectionTextures:o,colormapConfig:n,colormapTextures:a,textures:u,projectionDefines:c}=this._getCommonConfig(t),m=r(t);return{shader:this.shaders.lut,uniforms:{projectionConfig:s,config:i,colormapConfig:n},textures:{...u,projectionTextures:o,colormapTextures:a},defines:{...c,...m,applyPixelMask:!!u.pixelMaskTexture,applyPixelHighlights:!!u.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getStretchOptions(e,t,i=!1){const{bitmap:s}=e,o=s.symbolizerParameters,{config:n,projectionConfig:a,projectionTextures:u,colormapConfig:c,colormapTextures:m,textures:l,projectionDefines:p,textureUnit:h}=this._getCommonConfig(s),d=r(s),x=t?{numberOfStandardDeviations:o.numberOfStandardDeviations||2}:void 0,f=t?{minTexture:{texture:t.minTexture,unit:h},maxTexture:{texture:t.maxTexture,unit:h+1},meanTexture:{texture:t.meanTexture,unit:h+2},stddevTexture:{texture:t.stddevTexture,unit:h+3}}:void 0,g=t?"standardDeviation"===o.stretchType?2:1:0;return{shader:this.shaders.stretch,uniforms:{projectionConfig:a,config:n,stretchConfig:o,colormapConfig:c,statisticsConfig:x},textures:{...l,projectionTextures:u,colormapTextures:m,statisticsTextures:f},defines:{...p,...d,isMultiband:o.bandCount>1,applyColormap:!!c,useGamma:o.useGamma,noOp:s.isRenderedSource&&!s.processed,applyPixelMask:!!l.pixelMaskTexture,applyPixelHighlights:!i&&!!l.highlightTexture,draStretchType:g},optionalAttributes:null,useComputeBuffer:!1}}_getShadedReliefOptions(e){const{bitmap:t}=e,i=t.symbolizerParameters,{config:s,projectionConfig:o,projectionTextures:n,colormapConfig:a,colormapTextures:u,textures:c,projectionDefines:m}=this._getCommonConfig(t),l=r(t);return{shader:this.shaders.shadedRelief,uniforms:{projectionConfig:o,config:s,hillshadeConfig:i,colormapConfig:a},textures:{...c,projectionTextures:n,colormapTextures:u},defines:{...m,...l,isMultidirectional:i.hillshadeType>0,applyColormap:!!a,applyPixelMask:!!c.pixelMaskTexture,applyPixelHighlights:!!c.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getCommonConfig(e){const{coordScale:t,computedOpacity:i}=e,{names:r,textures:s}=e.getTextures({useProcessedTexture:e.processed}),o=s[r.indexOf("u_image")];let n=0;const a={coordScale:t,srcImageSize:e.getRasterTextureSize(),opacity:i},u={texture:{texture:o,unit:n++},pixelMaskTexture:null,highlightTexture:null},c=s[r.indexOf("u_transformGrid")],{transformGrid:m}=e,l=!(!c||!m),p=l?{targetImageSize:[e.width,e.height],transformSpacing:m.spacing,transformGridSize:m.size}:void 0,h=l?{transformTexture:{texture:c,unit:n++}}:void 0,d=s[r.indexOf("u_colormap")],{colormap:x,colormapOffset:f}=e.symbolizerParameters,g=d&&x?{colormapOffset:f??0,colormapMaxIndex:x.length/4-1}:void 0,T=d&&x?{colormapTexture:{texture:d,unit:n++}}:void 0,b=s[r.indexOf("u_mask")];b&&(u.pixelMaskTexture={texture:b,unit:n++});const{highlightTexture:_}=e;_&&(u.highlightTexture={texture:_,unit:n++});return{config:a,projectionConfig:p,projectionTextures:h,colormapConfig:g,colormapTextures:T,textures:u,projectionDefines:{applyProjection:l,lookupProjection:l&&1===m.spacing[0]},textureUnit:n}}}function x(e,t,i){const r=new l(t,i);return r.internalFormat=a.RGBA32F,r.samplingMode=9728,r.dataType=u.FLOAT,r.wrapMode=33071,new m(e,r)}function f(e){return!e.suspended&&null!=e.source&&!e.isRenderedSource&&"stretch"===e.symbolizerParameters.type&&!!e.symbolizerParameters.dynamicRangeAdjustment}export{d as RasterColorizerTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{RasterVFTile as e}from"../../../../imagery/RasterVFTile.js";import{Technique as t}from"../Technique.js";import{getRasterVFSamplingUniforms as r}from"./rasterVFUtils.js";import{getTileUniforms as a}from"../shaders/Tile.js";import{getTileContainerUniforms as s}from"../shaders/TileInfo.js";import{getViewUniforms as i}from"../shaders/ViewInfo.js";import{MagDirShader as o}from"../shaders/raster/MagDirShader.js";import{ScalarShader as n}from"../shaders/raster/ScalarShader.js";const l=48,c=[.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1],d=[0,92/255,230/255,1],m={beaufort_ft:c,beaufort_m:c,beaufort_km:c,beaufort_mi:c,beaufort_kn:[.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1],classified_arrow:[.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1],ocean_current_m:[.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1],ocean_current_kn:[0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1],simple_scalar:d,single_arrow:d,wind_speed:[0,0,0,1]},f=[0,20];class u extends t{constructor(){super(...arguments),this.type=3,this.shaders={magDir:new o,scalar:new n},this.drawPhase=1}shutdown(){}render(e,t){const{painter:r}=e;r.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:{mask:0},test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});for(const a of t.tiles)this._renderItem(e,a)}_renderItem(e,t){const r=this._getTileData(t);if(null!=r.source&&0!==r.source.validPixelCount){if(e.timeline.begin("Vector field"),r.updateVectorFieldMesh(e),"scalar"===e.renderPass){const a=r.meshes.scalar;a&&this._drawScalars(e,t,a)}else{const a=r.meshes.magdir;a&&this._drawTriangles(e,t,a)}e.timeline.end("Vector field")}}_drawTriangles(e,t,r){const a=this._getTileData(t),{context:s,painter:i,requestRender:o,allowDelayedRender:n}=e,{symbolizerParameters:c}=a,d=!!c.dataRange,u="geographic"===c.rotationType;if(n&&null!=o)return void o();const{coordScale:g,opacity:p}=a,{style:_,dataRange:y,symbolPercentRange:b,rotation:w}=c,S=this._getTransformUniforms(e,t),R=m[_].concat(Array(l-m[_].length).fill(0)),T={shader:this.shaders.magDir,uniforms:{...S,config:{coordScale:g,opacity:p,colors:R,dataRange:y||f,rotation:w,symbolPercentRange:b,symbolSize:this._getSymbolSize(e,t)}},textures:{},defines:{tiled:h(t),rotationGeographic:u,dataRange:d},optionalAttributes:null,useComputeBuffer:!1};i.submitDrawMeshUntyped(s,T,r,{stencilRef:a.stencilRef})}_drawScalars(e,t,r){const a=this._getTileData(t),{context:s,painter:i,requestRender:o,allowDelayedRender:n}=e,{symbolizerParameters:l}=a,c="wind_speed"===l.style,d=!!l.dataRange;if(n&&null!=o)return void o();const{coordScale:m,opacity:u}=a,{dataRange:g,symbolPercentRange:p}=l,_=this._getTransformUniforms(e,t),y={shader:this.shaders.scalar,uniforms:{..._,config:{coordScale:m,opacity:u,dataRange:g||f,symbolPercentRange:p,symbolSize:this._getSymbolSize(e,t)}},textures:{},defines:{tiled:h(t),innerCircle:c,dataRange:d},optionalAttributes:null,useComputeBuffer:!1};i.submitDrawMeshUntyped(s,y,r,{stencilRef:a.stencilRef})}_getSymbolSize(e,t){const r=this._getTileData(t),a=h(t)?2**(e.displayLevel-t.key.level):r.resolution/e.state.resolution,{symbolTileSize:s}=r.symbolizerParameters;return[s/(Math.round((r.width-r.offset[0])/s)*s)/a,s/(Math.round((r.height-r.offset[1])/s)*s)/a]}_getTransformUniforms(e,t){const o=i(e);return h(t)?{view:o,tileContainer:s(e),tile:a(e.tilingScheme,t),rasterVF:r(t),localTransform:null}:{view:o,tileContainer:null,tile:null,rasterVF:null,localTransform:{localToScreenMat3:t.transforms.localToScreenMat3}}}_getTileData(e){return h(e)?e.tileData:e}}function h(t){return t instanceof e}export{u as VectorFieldTechnique};
2
+ import{RasterVFTile as e}from"../../../../imagery/RasterVFTile.js";import{Technique as t}from"../Technique.js";import{getRasterVFSamplingUniforms as r}from"./rasterVFUtils.js";import{MagDirShader as a,magDirColorCount as s}from"../shaders/raster/MagDirShader.js";import{ScalarShader as o}from"../shaders/raster/ScalarShader.js";function i(e){const t=[];for(let r=0;r<s;r++){const a=4*r;t.push([e[a]??0,e[a+1]??0,e[a+2]??0,e[a+3]??0])}return t}const n=i([.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1]),l=i([0,92/255,230/255,1]),c={beaufort_ft:n,beaufort_m:n,beaufort_km:n,beaufort_mi:n,beaufort_kn:i([.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1]),classified_arrow:i([.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1]),ocean_current_m:i([.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),ocean_current_kn:i([0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1]),simple_scalar:l,single_arrow:l,wind_speed:i([0,0,0,1])},d=[0,20];class m extends t{constructor(){super(...arguments),this.type=3,this.shaders={magDir:new a,scalar:new o},this.drawPhase=1}shutdown(){}render(e,t){const{painter:r}=e;r.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:{mask:0},test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});for(const a of t.tiles)this._renderItem(e,a)}_renderItem(e,t){const r=this._getTileData(t);if(null!=r.source&&0!==r.source.validPixelCount){if(f(t)&&t.bindTile(e.context,e.tilingScheme),e.timeline.begin("Vector field"),r.updateVectorFieldMesh(e),"scalar"===e.renderPass){const a=r.meshes.scalar;a&&this._drawScalars(e,t,a)}else{const a=r.meshes.magdir;a&&this._drawTriangles(e,t,a)}e.timeline.end("Vector field")}}_drawTriangles(e,t,r){const a=this._getTileData(t),{context:s,painter:o,requestRender:i,allowDelayedRender:n}=e,{symbolizerParameters:l}=a,c=!!l.dataRange,m="geographic"===l.rotationType;if(n&&null!=i)return void i();const{coordScale:u,opacity:h}=a,{style:g,dataRange:p,symbolPercentRange:_,rotation:y}=l,b=this._getTransformUniforms(t),S={shader:this.shaders.magDir,uniforms:{...b,config:{coordScale:u,opacity:h,colors:this._getColorUniforms(g),dataRange:p||d,rotation:y,symbolPercentRange:_,symbolSize:this._getSymbolSize(e,t)}},textures:{},defines:{tiled:f(t),rotationGeographic:m,dataRange:c},optionalAttributes:null,useComputeBuffer:!1};o.submitDrawMeshUntyped(s,S,r,{stencilRef:a.stencilRef})}_drawScalars(e,t,r){const a=this._getTileData(t),{context:s,painter:o,requestRender:i,allowDelayedRender:n}=e,{symbolizerParameters:l}=a,c="wind_speed"===l.style,m=!!l.dataRange;if(n&&null!=i)return void i();const{coordScale:u,opacity:h}=a,{dataRange:g,symbolPercentRange:p}=l,_=this._getTransformUniforms(t),y={shader:this.shaders.scalar,uniforms:{..._,config:{coordScale:u,opacity:h,dataRange:g||d,symbolPercentRange:p,symbolSize:this._getSymbolSize(e,t)}},textures:{},defines:{tiled:f(t),innerCircle:c,dataRange:m},optionalAttributes:null,useComputeBuffer:!1};o.submitDrawMeshUntyped(s,y,r,{stencilRef:a.stencilRef})}_getSymbolSize(e,t){const r=this._getTileData(t),a=f(t)?2**(e.displayLevel-t.key.level):r.resolution/e.state.resolution,{symbolTileSize:s}=r.symbolizerParameters;return[s/(Math.round((r.width-r.offset[0])/s)*s)/a,s/(Math.round((r.height-r.offset[1])/s)*s)/a]}_getColorUniforms(e){return c[e]}_getTransformUniforms(e){return f(e)?{tileInfo:!0,tile:!0,rasterVF:r(e),localTransform:null}:{tileInfo:null,tile:null,rasterVF:null,localTransform:{localToScreenMat3:e.transforms.localToScreenMat3}}}_getTileData(e){return f(e)?e.tileData:e}}function f(t){return t instanceof e}export{m as VectorFieldTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{maxHighlightReasons as e}from"../../../definitions.js";import{location as i,define as o,option as r,uniform as s,texture as l,VertexInput as a,ComputeVertexInput as n,GraphShaderModule as h,FragmentOutput as g,FragmentInput as u}from"../../GraphShaderModule.js";import{Vec3 as p,Float as d,Vec2 as m,float as c,step as y,Vec4 as w,equal as b,ifElse as x,or as f}from"../../graph/glsl.js";import{trueHit as v,candidateHit as C,noHit as V}from"./constants.js";import{EntityStorage as H,EntityStorageTextures as T}from"./EntityStorage.js";import{ShaderHighlight as D}from"./ShaderHighlight.js";import{ShaderHittest as j}from"./ShaderHittest.js";import{Tile as A}from"./Tile.js";import{TileInfo as _}from"./TileInfo.js";import{getFilterBit as R,getHighlightBit as S,getBit as F,uvToClip as P}from"./utils.js";import{ViewInfo as k}from"./ViewInfo.js";class O extends a{}t([i(0,p)],O.prototype,"id",void 0),t([i(1,d)],O.prototype,"bitset",void 0),t([i(2,m)],O.prototype,"pos",void 0);class z extends n{}t([i(14,m)],z.prototype,"nextPos1",void 0),t([i(15,m)],z.prototype,"nextPos2",void 0);class q extends u{}class B extends h{clip(t,e){let i=new d(0);const o=this.getFilterFlags(t);if(i=i.add(c(2).multiply(c(1).subtract(R(o,0)))),this.inside?i=i.add(c(2).multiply(c(1).subtract(R(o,1)))):this.outside?i=i.add(c(2).multiply(R(o,1))):this.highlight&&(i=i.add(c(2).multiply(c(1).subtract(this._checkHighlight(o))))),null!=e){const t=new d(1).subtract(y(e.x,this.tileContainer.currentZoom)),o=y(e.y,this.tileContainer.currentZoom);i=i.add(new d(2).multiply(t.add(o)))}return i}getFragmentOutput(t,e,i=new d(1/255)){const o=new g;return o.fragColor=this._maybeWriteHittest(e)??this._maybeHighlight(t,i)??t,o}_maybeHighlight(t,e){return this.highlight?new w(t.rgb,y(e,t.a)):null}_checkHighlight(t){let i=this._checkHighlightBit(t,0);for(let o=1;o<e;o++)i=i.add(this._checkHighlightBit(t,o));return y(new d(.1),i.add(this.highlight.highlightAll))}_checkHighlightBit(t,e){return S(t,e).multiply(F(this.highlight.activeReasons,e))}computeHittestTriangle(t,e,i){const o=this.tile.getViewScreenMat3(this.view,this.tileContainer),{nextPos1:r,nextPos2:s}=e;return{pos0:o.multiply(new p(t.pos,1)).xy,pos1:o.multiply(new p(r,1)).xy,pos2:o.multiply(new p(s,1)).xy}}maybeRunHittest(t,e,i){if(null==this.hittestRequest)return null;const o=this.hittest(t,e,i),r=b(o,new d(v)),s=b(o,new d(C)),l=x(s,()=>new w(new d(1/255),0,0,0),x(r,()=>new w(new d(2/255),0,0,0),new w(V)));let a=x(f(r,s),new d(0),new d(2));const n=this.getAttributeDataCoords(t.id),h=P(n);return a=a.add(this.clip(t.id,t.zoomRange)),{glPointSize:new d(1),glPosition:new w(h,a,1),color:l}}_maybeWriteHittest(t){return null!=this.hittestRequest?t.color:null}getAttributeDataCoords(t){return this.storage.getAttributeDataCoords(t)}getVVData(t){return this.storageTextures.getVVData(this.getAttributeDataCoords(t))}getFilterFlags(t){return this.storageTextures.getFilterFlags(this.getAttributeDataCoords(t))}getLocalTimeOrigin(t){return this.storageTextures.getLocalTimeOrigin(this.getAttributeDataCoords(t))}getSizeValue(t){return this.storageTextures.getSizeValue(this.getAttributeDataCoords(t))}getColorValue(t){return this.storageTextures.getColorValue(this.getAttributeDataCoords(t))}getOpacityValue(t){return this.storageTextures.getOpacityValue(this.getAttributeDataCoords(t))}getRotationValue(t){return this.storageTextures.getRotationValue(this.getAttributeDataCoords(t))}}t([o],B.prototype,"inside",void 0),t([o],B.prototype,"outside",void 0),t([r(D)],B.prototype,"highlight",void 0),t([s(H)],B.prototype,"storage",void 0),t([l(T)],B.prototype,"storageTextures",void 0),t([s(k)],B.prototype,"view",void 0),t([s(_)],B.prototype,"tileContainer",void 0),t([s(A)],B.prototype,"tile",void 0),t([r(j)],B.prototype,"hittestRequest",void 0);export{B as AFeatureShader,z as BaseHittestVertexInput,q as FeatureFragmentInput,O as FeatureVertexInput};
2
+ import{__decorate as t}from"tslib";import{maxHighlightReasons as e}from"../../../definitions.js";import{location as i,define as o,option as r,uniform as s,texture as l,VertexInput as a,ComputeVertexInput as h,GraphShaderModule as n,FragmentOutput as g,FragmentInput as u}from"../../GraphShaderModule.js";import{Vec3 as p,Float as d,Vec2 as m,float as c,step as y,Vec4 as w,equal as f,ifElse as b,or as x}from"../../graph/glsl.js";import{trueHit as v,candidateHit as V,noHit as C}from"./constants.js";import{EntityStorage as H,EntityStorageTextures as T}from"./EntityStorage.js";import{ShaderHighlight as D}from"./ShaderHighlight.js";import{ShaderHittest as j}from"./ShaderHittest.js";import{Tile as A}from"./Tile.js";import{TileInfo as _}from"./TileInfo.js";import{getFilterBit as R,getHighlightBit as S,getBit as F,uvToClip as I}from"./utils.js";import{ViewInfo as P}from"./ViewInfo.js";class k extends a{}t([i(0,p)],k.prototype,"id",void 0),t([i(1,d)],k.prototype,"bitset",void 0),t([i(2,m)],k.prototype,"pos",void 0);class O extends h{}t([i(14,m)],O.prototype,"nextPos1",void 0),t([i(15,m)],O.prototype,"nextPos2",void 0);class z extends u{}class q extends n{clip(t,e){let i=new d(0);const o=this.getFilterFlags(t);if(i=i.add(c(2).multiply(c(1).subtract(R(o,0)))),this.inside?i=i.add(c(2).multiply(c(1).subtract(R(o,1)))):this.outside?i=i.add(c(2).multiply(R(o,1))):this.highlight&&(i=i.add(c(2).multiply(c(1).subtract(this._checkHighlight(o))))),null!=e){const t=new d(1).subtract(y(e.x,this.tileInfo.currentZoom)),o=y(e.y,this.tileInfo.currentZoom);i=i.add(new d(2).multiply(t.add(o)))}return i}getFragmentOutput(t,e,i=new d(1/255)){const o=new g;return o.fragColor=this._maybeWriteHittest(e)??this._maybeHighlight(t,i)??t,o}_maybeHighlight(t,e){return this.highlight?new w(t.rgb,y(e,t.a)):null}_checkHighlight(t){let i=this._checkHighlightBit(t,0);for(let o=1;o<e;o++)i=i.add(this._checkHighlightBit(t,o));return y(new d(.1),i.add(this.highlight.highlightAll))}_checkHighlightBit(t,e){return S(t,e).multiply(F(this.highlight.activeReasons,e))}computeHittestTriangle(t,e,i){const o=this.tile.getViewScreenMat3(this.view,this.tileInfo),{nextPos1:r,nextPos2:s}=e;return{pos0:o.multiply(new p(t.pos,1)).xy,pos1:o.multiply(new p(r,1)).xy,pos2:o.multiply(new p(s,1)).xy}}maybeRunHittest(t,e,i){if(null==this.hittestRequest)return null;const o=this.hittest(t,e,i),r=f(o,new d(v)),s=f(o,new d(V)),l=b(s,()=>new w(new d(1/255),0,0,0),b(r,()=>new w(new d(2/255),0,0,0),new w(C)));let a=b(x(r,s),new d(0),new d(2));const h=this.getAttributeDataCoords(t.id),n=I(h);return a=a.add(this.clip(t.id,t.zoomRange)),{glPointSize:new d(1),glPosition:new w(n,a,1),color:l}}_maybeWriteHittest(t){return null!=this.hittestRequest?t.color:null}getAttributeDataCoords(t){return this.storage.getAttributeDataCoords(t)}getVVData(t){return this.storageTextures.getVVData(this.getAttributeDataCoords(t))}getFilterFlags(t){return this.storageTextures.getFilterFlags(this.getAttributeDataCoords(t))}getLocalTimeOrigin(t){return this.storageTextures.getLocalTimeOrigin(this.getAttributeDataCoords(t))}getSizeValue(t){return this.storageTextures.getSizeValue(this.getAttributeDataCoords(t))}getColorValue(t){return this.storageTextures.getColorValue(this.getAttributeDataCoords(t))}getOpacityValue(t){return this.storageTextures.getOpacityValue(this.getAttributeDataCoords(t))}getRotationValue(t){return this.storageTextures.getRotationValue(this.getAttributeDataCoords(t))}}t([o],q.prototype,"inside",void 0),t([o],q.prototype,"outside",void 0),t([r(D)],q.prototype,"highlight",void 0),t([s(H)],q.prototype,"storage",void 0),t([l(T)],q.prototype,"storageTextures",void 0),t([s(P)],q.prototype,"view",void 0),t([s(_)],q.prototype,"tileInfo",void 0),t([s(A)],q.prototype,"tile",void 0),t([r(j)],q.prototype,"hittestRequest",void 0);export{q as AFeatureShader,O as BaseHittestVertexInput,z as FeatureFragmentInput,k as FeatureVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as i,FragmentOutput as e,location as r,uniform as p,option as l,texture as s,define as n,input as c,VertexInput as a,UniformGroup as d,FragmentInput as m}from"../../GraphShaderModule.js";import{Vec3 as y,Vec4 as f,texture2D as h,Vec2 as u,Float as v,Mat3 as x,Sampler2D as g}from"../../graph/glsl.js";import{sampleBicubicBSpline as w}from"./bitmapUtils.js";import{Tile as S}from"./Tile.js";import{TileInfo as b}from"./TileInfo.js";import{ViewInfo as j}from"./ViewInfo.js";class T extends a{}t([r(0,u)],T.prototype,"position",void 0);class M extends m{}class C extends d{}t([p(u)],C.prototype,"coordScale",void 0),t([p(v)],C.prototype,"opacity",void 0);class V extends d{}t([p(x)],V.prototype,"localToScreenMat3",void 0);class I extends i{constructor(){super(...arguments),this.type="BitmapShader",this.tiled=!1}vertex(t){const o=new y(t.position.multiply(this.config.coordScale),1),i=this.tiled?this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(o):this.view.displayViewMat3.multiply(this.localTransform.localToScreenMat3.multiply(o));return{glPosition:new f(i,1),texcoord:t.position}}fragment(t){const o=new e;let i;return i=this.bicubic?w(this.texture,t.texcoord,this.config.coordScale):h(this.texture,t.texcoord),o.fragColor=new f(i.rgb.multiply(this.config.opacity),i.a.multiply(this.config.opacity)),o}}t([p(j)],I.prototype,"view",void 0),t([l(b)],I.prototype,"tileContainer",void 0),t([l(S)],I.prototype,"tile",void 0),t([l(V)],I.prototype,"localTransform",void 0),t([p(C)],I.prototype,"config",void 0),t([s(g)],I.prototype,"texture",void 0),t([n],I.prototype,"bicubic",void 0),t([n],I.prototype,"tiled",void 0),t([o(0,c(T))],I.prototype,"vertex",null),t([o(0,c(M))],I.prototype,"fragment",null);export{I as BitmapShader};
2
+ import{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as i,FragmentOutput as e,location as r,uniform as p,option as l,texture as s,define as c,input as n,VertexInput as a,UniformGroup as d,FragmentInput as m}from"../../GraphShaderModule.js";import{Vec3 as y,Vec4 as f,texture2D as h,Vec2 as u,Float as v,Mat3 as x,Sampler2D as g}from"../../graph/glsl.js";import{sampleBicubicBSpline as w}from"./bitmapUtils.js";import{Tile as S}from"./Tile.js";import{TileInfo as b}from"./TileInfo.js";import{ViewInfo as j}from"./ViewInfo.js";class T extends a{}t([r(0,u)],T.prototype,"position",void 0);class M extends m{}class I extends d{}t([p(u)],I.prototype,"coordScale",void 0),t([p(v)],I.prototype,"opacity",void 0);class V extends d{}t([p(x)],V.prototype,"localToScreenMat3",void 0);class B extends i{constructor(){super(...arguments),this.type="BitmapShader",this.tiled=!1}vertex(t){const o=new y(t.position.multiply(this.config.coordScale),1),i=this.tiled?this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(o):this.view.displayViewMat3.multiply(this.localTransform.localToScreenMat3.multiply(o));return{glPosition:new f(i,1),texcoord:t.position}}fragment(t){const o=new e;let i;return i=this.bicubic?w(this.texture,t.texcoord,this.config.coordScale):h(this.texture,t.texcoord),o.fragColor=new f(i.rgb.multiply(this.config.opacity),i.a.multiply(this.config.opacity)),o}}t([p(j)],B.prototype,"view",void 0),t([l(b)],B.prototype,"tileInfo",void 0),t([l(S)],B.prototype,"tile",void 0),t([l(V)],B.prototype,"localTransform",void 0),t([p(I)],B.prototype,"config",void 0),t([s(g)],B.prototype,"texture",void 0),t([c],B.prototype,"bicubic",void 0),t([c],B.prototype,"tiled",void 0),t([o(0,n(T))],B.prototype,"vertex",null),t([o(0,n(M))],B.prototype,"fragment",null);export{B as BitmapShader};