@arcgis/core 5.2.0-next.75 → 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 (355) 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/{4dcd4a052b40047a9230.js → 08cac27df6c216ae1995.js} +1 -1
  6. package/assets/esri/core/workers/chunks/08ec5461af74356e7570.js +1 -0
  7. package/assets/esri/core/workers/chunks/0909816f13d25cacf250.js +1 -0
  8. package/assets/esri/core/workers/chunks/0933203eee15ea50e123.js +1 -0
  9. package/assets/esri/core/workers/chunks/{5e1d84e97de0e662aaa9.js → 1142f8e9c80207d6bdae.js} +1 -1
  10. package/assets/esri/core/workers/chunks/16929524565a677db4dc.js +1 -0
  11. package/assets/esri/core/workers/chunks/16a04fc184728d66e6e1.js +1 -0
  12. package/assets/esri/core/workers/chunks/177c3b23c1cbd4737049.js +1 -0
  13. package/assets/esri/core/workers/chunks/1a467da4c0b33f655199.js +1 -0
  14. package/assets/esri/core/workers/chunks/1ef28d4457c8c943ad19.js +1 -0
  15. package/assets/esri/core/workers/chunks/{2b93888e61ca638490cf.js → 20b54e7872d967f3be32.js} +1 -1
  16. package/assets/esri/core/workers/chunks/{5f31b375971ab067121e.js → 21f763694a41968ac21a.js} +1 -1
  17. package/assets/esri/core/workers/chunks/230925079cee040a8d77.js +1 -0
  18. package/assets/esri/core/workers/chunks/257f1e8316877f611e11.js +1 -0
  19. package/assets/esri/core/workers/chunks/270ed3070d118edb3f37.js +1 -0
  20. package/assets/esri/core/workers/chunks/2e7c830b5b1fe406169f.js +1 -0
  21. package/assets/esri/core/workers/chunks/315031323e11a18154e3.js +1 -0
  22. package/assets/esri/core/workers/chunks/393f79843d5a78c1cc37.js +1 -0
  23. package/assets/esri/core/workers/chunks/3b5c5356353f1a2303a0.js +1 -0
  24. package/assets/esri/core/workers/chunks/{99e3aa4832ed87474ab4.js → 44857a76be2c0ac65bb9.js} +1 -1
  25. package/assets/esri/core/workers/chunks/{3e2b4e734aa20a308f3e.js → 46e56fac44e0fd26ba1d.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{4491dc227c28e2ab4f8e.js → 484b251fbcbffcb58323.js} +1 -1
  27. package/assets/esri/core/workers/chunks/48e2d0bfb62e1f4f2ad9.js +1 -0
  28. package/assets/esri/core/workers/chunks/4945d6b0ca1812864185.js +1 -0
  29. package/assets/esri/core/workers/chunks/{7f2f2a92dce3f68e579b.js → 4b54444c04fbd6f42c18.js} +1 -1
  30. package/assets/esri/core/workers/chunks/4c82f5f23004f905a18f.js +1 -0
  31. package/assets/esri/core/workers/chunks/4f8ce5887102971bfa34.js +2 -0
  32. package/assets/esri/core/workers/chunks/{186bedc377cc97731ca2.js → 532e3a59888e4cc13bd3.js} +2 -2
  33. package/assets/esri/core/workers/chunks/53eed0941a39b56cc034.js +1 -0
  34. package/assets/esri/core/workers/chunks/56e6d8c4a9ed893ce951.js +1 -0
  35. package/assets/esri/core/workers/chunks/57159bcac86d660dcceb.js +1 -0
  36. package/assets/esri/core/workers/chunks/58026fc30d8a0ded4102.js +1 -0
  37. package/assets/esri/core/workers/chunks/59598023c0aea62a6297.js +1 -0
  38. package/assets/esri/core/workers/chunks/5bf2ce280ea35ea4c96b.js +1 -0
  39. package/assets/esri/core/workers/chunks/5fd2aa0be03dfb494efa.js +1 -0
  40. package/assets/esri/core/workers/chunks/619aa1381296172ff47b.js +1 -0
  41. package/assets/esri/core/workers/chunks/62f37d1075390a177ae9.js +1 -0
  42. package/assets/esri/core/workers/chunks/65d1e338612e59063eba.js +1 -0
  43. package/assets/esri/core/workers/chunks/680dd7b7638465eb33de.js +1 -0
  44. package/assets/esri/core/workers/chunks/6c740c411b085d2d08c4.js +1 -0
  45. package/assets/esri/core/workers/chunks/{b14961a9f1f40028f141.js → 6c982779d6d47ec99899.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{0eb35e09765fd74eb698.js → 6e45ecf359bce3417f5d.js} +1 -1
  47. package/assets/esri/core/workers/chunks/{a52c88e2d837b525ff6c.js → 71ee7c51d2c60a180f1e.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{ad1d06a91121ebfe9162.js → 755b2d883fba90c4e688.js} +2 -2
  49. package/assets/esri/core/workers/chunks/{6b783f440c4a5d36e879.js → 75fc0b1db8e2e3fd2458.js} +1 -1
  50. package/assets/esri/core/workers/chunks/79429c8be5da85713200.js +1 -0
  51. package/assets/esri/core/workers/chunks/7b470d6ad182548b9e95.js +1 -0
  52. package/assets/esri/core/workers/chunks/7d8eb4dbea1916320f74.js +1 -0
  53. package/assets/esri/core/workers/chunks/83e54166ba634ec2bd89.js +1717 -0
  54. package/assets/esri/core/workers/chunks/87eaed6fdabd482d142e.js +1 -0
  55. package/assets/esri/core/workers/chunks/88d5541679e77117bf03.js +1 -0
  56. package/assets/esri/core/workers/chunks/894ebc64b698e5d7604b.js +1 -0
  57. package/assets/esri/core/workers/chunks/{67f54586156d1ab80257.js → 8b980c6b92cc4ea68ede.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{4046bd65d7d0677f4600.js → 8d9a7fa14489897780d3.js} +1 -1
  59. package/assets/esri/core/workers/chunks/8e225dd0319672103561.js +1 -0
  60. package/assets/esri/core/workers/chunks/9199300ffd225a1bbef1.js +1 -0
  61. package/assets/esri/core/workers/chunks/{5ba3a30b7cbfa9e3aa62.js → 94b9a61b4dbb83425a78.js} +1 -1
  62. package/assets/esri/core/workers/chunks/98613fded899c59f34a4.js +1 -0
  63. package/assets/esri/core/workers/chunks/{6743d726e45e7b660505.js → 9c3e6325dc60bcaf44d7.js} +1 -1
  64. package/assets/esri/core/workers/chunks/9e1392a0c608a13ab036.js +1 -0
  65. package/assets/esri/core/workers/chunks/{7a24cc0f3b4eff2bdb8e.js → 9e2e4d197a7a57c2a691.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{d03e7be74c57c3dbf003.js → a014c17fc210620da738.js} +2 -2
  67. package/assets/esri/core/workers/chunks/{8302bffd28cc6720e0fe.js → a19be304219808268039.js} +2 -2
  68. package/assets/esri/core/workers/chunks/{53d165b4f30fd64e5d8a.js → a4e4fa4dd1a122bbf7cd.js} +1 -1
  69. package/assets/esri/core/workers/chunks/a5240c8a47842138f31f.js +1 -0
  70. package/assets/esri/core/workers/chunks/a69c10bfd632a5546b34.js +1 -0
  71. package/assets/esri/core/workers/chunks/a7727a2377470d586ff9.js +1 -0
  72. package/assets/esri/core/workers/chunks/a91c1d782346a9c7e1ef.js +1 -0
  73. package/assets/esri/core/workers/chunks/{6cd6d0cfd313f0475d98.js → ac59218847e5ef4c4160.js} +1 -1
  74. package/assets/esri/core/workers/chunks/ac87be2210f868524996.js +1 -0
  75. package/assets/esri/core/workers/chunks/aed16c3e26652960ad3f.js +1 -0
  76. package/assets/esri/core/workers/chunks/{43713bc6f7eea07259d0.js → b084829a3fd709dc47a8.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{05f6887805d92da03122.js → b24fc7eeda580ef020d2.js} +1 -1
  78. package/assets/esri/core/workers/chunks/b37a20c5c4a4686257d4.js +1 -0
  79. package/assets/esri/core/workers/chunks/{43a65cab888d43954564.js → b4abf82b8ac974a55ae1.js} +1 -1
  80. package/assets/esri/core/workers/chunks/b950ddafba8125c84a5b.js +1 -0
  81. package/assets/esri/core/workers/chunks/bab5f4b2424b487b87ac.js +1 -0
  82. package/assets/esri/core/workers/chunks/{0d3b2d9a19383bb63f0a.js → bad2c7219e95750906e1.js} +1 -1
  83. package/assets/esri/core/workers/chunks/bbc6b270d2032189107c.js +1 -0
  84. package/assets/esri/core/workers/chunks/bc6e488f5fbd50f9f3d0.js +1 -0
  85. package/assets/esri/core/workers/chunks/bd7d87d175ba933ab2ce.js +1 -0
  86. package/assets/esri/core/workers/chunks/{1c49c9472167a2e0c923.js → c17dda6fadb8bfad0d51.js} +1 -1
  87. package/assets/esri/core/workers/chunks/c1e5ffe9a251be5a0744.js +1 -0
  88. package/assets/esri/core/workers/chunks/ca6652c6304ad0e37e8f.js +1 -0
  89. package/assets/esri/core/workers/chunks/{762be5d3e6aeaea33f74.js → cef02ed3942c010da2e8.js} +1 -1
  90. package/assets/esri/core/workers/chunks/d520d407043bc52e5410.js +1 -0
  91. package/assets/esri/core/workers/chunks/da0ef984509057ec8507.js +1 -0
  92. package/assets/esri/core/workers/chunks/dbdd96e558936955acdb.js +1 -0
  93. package/assets/esri/core/workers/chunks/de927b1460bc384f5b87.js +1 -0
  94. package/assets/esri/core/workers/chunks/de9a1cce70581920f248.js +1 -0
  95. package/assets/esri/core/workers/chunks/dff932682d6386a861ce.js +1 -0
  96. package/assets/esri/core/workers/chunks/{2c31648a4b95275516ee.js → e227eb44cd139fe2bc1b.js} +1 -1
  97. package/assets/esri/core/workers/chunks/e4e5a171a4874c5af4a4.js +1 -0
  98. package/assets/esri/core/workers/chunks/{ddb92c815d17c67a45e6.js → e5d114f2b57d2b8e2f1c.js} +1 -1
  99. package/assets/esri/core/workers/chunks/e89e6eea380ca2c13b64.js +1 -0
  100. package/assets/esri/core/workers/chunks/e9d352d030dcad1619a6.js +1 -0
  101. package/assets/esri/core/workers/chunks/{3de6e54b6ed0feae1940.js → eae51e827f629ab37207.js} +1 -1
  102. package/assets/esri/core/workers/chunks/eee1fd629619021ea279.js +1 -0
  103. package/assets/esri/core/workers/chunks/{b6cd165d0e58598f28a5.js → ef47a5da641cb0d33fdf.js} +1 -1
  104. package/assets/esri/core/workers/chunks/f35e749bb5be39880cbe.js +1 -0
  105. package/assets/esri/core/workers/chunks/{3dff36f6de181d9dcdc5.js → f40e4433e7608d0962a6.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{d1c7c877edc6948f3801.js → f4aa6e90200f61e623e5.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{36ec5b84e551ab08b24a.js → ff578f0ca68d652fece5.js} +1 -1
  108. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  109. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  110. package/assets/esri/libs/text/pkg/bundle_bg.wasm +0 -0
  111. package/chunks/HeatmapDensity.glsl.js +5 -5
  112. package/chunks/bundle2.js +1 -1
  113. package/chunks/lyr3DMain.js +1 -1
  114. package/chunks/lyr3DWorker.js +1 -1
  115. package/config.js +1 -1
  116. package/geometry/geometryEngine.js +1 -1
  117. package/geometry/support/centroid.js +1 -1
  118. package/geometry/support/extentUtils.js +1 -1
  119. package/geometry/support/frustum.js +1 -1
  120. package/kernel.js +1 -1
  121. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  122. package/layers/graphics/data/QueryEngineResult.js +1 -1
  123. package/layers/graphics/data/projectionSupport.js +1 -1
  124. package/layers/graphics/sources/support/sourceUtils.js +1 -1
  125. package/package.json +2 -2
  126. package/support/revision.js +1 -1
  127. package/symbols/cim/animationUtils.js +1 -1
  128. package/symbols/cim/cimAnalyzer.js +1 -1
  129. package/symbols/cim/effects/EffectCircularSector.js +1 -1
  130. package/views/2d/engine/BitmapTile.js +1 -1
  131. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  132. package/views/2d/engine/flow/styles/Particles.js +1 -1
  133. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  134. package/views/2d/engine/imagery/RasterTile.js +1 -1
  135. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  136. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  137. package/views/2d/engine/vectorTiles/TileHandler3D.js +1 -1
  138. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  139. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  140. package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
  141. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  142. package/views/2d/engine/webgl/Painter.js +1 -1
  143. package/views/2d/engine/webgl/RenderingDevice.js +1 -1
  144. package/views/2d/engine/webgl/TileContainer.js +1 -1
  145. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  146. package/views/2d/engine/webgl/animations/infos.js +1 -1
  147. package/views/2d/engine/webgl/animations/instructions.js +1 -1
  148. package/views/2d/engine/webgl/normalizedTileUtils.js +1 -1
  149. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  150. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  151. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  152. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  153. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
  154. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  155. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
  156. package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
  157. package/views/2d/engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js +1 -1
  158. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  159. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
  160. package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
  161. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  162. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillTechnique.js +1 -1
  163. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
  164. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillTechnique.js +1 -1
  165. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillTechnique.js +1 -1
  166. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
  167. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.js +1 -1
  168. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
  169. package/views/2d/engine/webgl/shaderGraph/techniques/flow/FlowTechnique.js +1 -1
  170. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
  171. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
  172. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  173. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
  174. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
  175. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  176. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerTechnique.js +1 -1
  177. package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
  178. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
  179. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
  180. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  181. package/views/2d/engine/webgl/shaderGraph/techniques/raster/VectorFieldTechnique.js +1 -1
  182. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  183. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
  184. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  185. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  186. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  187. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
  188. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
  189. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  190. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  191. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  192. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
  193. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  194. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/Tile.js +1 -1
  195. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
  196. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileInfo.js +1 -1
  197. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js +1 -1
  198. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ViewInfo.js +1 -1
  199. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  200. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterColorizerShader.js +1 -1
  201. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/MagDirShader.js +1 -1
  202. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/ScalarShader.js +1 -1
  203. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderBackground.js +1 -1
  204. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderCircle.js +1 -1
  205. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderFill.js +1 -1
  206. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderIcon.js +1 -1
  207. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderLine.js +1 -1
  208. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderOutline.js +1 -1
  209. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderText.js +1 -1
  210. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  211. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.js +1 -1
  212. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
  213. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileStencilTechnique.js +1 -1
  214. package/views/2d/engine/webgl/shaderGraph/techniques/utility/DebugOverlayTechnique.js +1 -1
  215. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  216. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueCircle.js +1 -1
  217. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
  218. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
  219. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  220. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  221. package/views/2d/engine/webgl/shaderGraph/types.js +2 -0
  222. package/views/2d/engine/webgl/shaderGraph/uniformBufferUtils.js +2 -0
  223. package/views/2d/layers/MediaLayerView2D.js +1 -1
  224. package/views/2d/layers/TileLayerView2D.js +1 -1
  225. package/views/2d/layers/support/DisplayGL.js +1 -1
  226. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  227. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  228. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  229. package/views/3d/layers/MediaLayerView3D.js +1 -1
  230. package/views/3d/layers/VectorTileLayerView3D.js +1 -1
  231. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  232. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  233. package/views/3d/support/GaussianSplatSortWorker.js +1 -1
  234. package/views/3d/support/GaussianSplatWorkerHandle.js +1 -1
  235. package/views/3d/support/flow/geometryUtils.js +1 -1
  236. package/views/3d/support/gaussianSplatting/GaussianSplatDataStore.js +1 -1
  237. package/views/3d/support/renderInfoUtils/line.js +1 -1
  238. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  239. package/views/3d/terrain/DrapedZ.js +2 -0
  240. package/views/3d/terrain/OverlayRenderer.js +1 -1
  241. package/views/3d/terrain/TileCompositor.js +1 -1
  242. package/views/3d/webgl/RenderCamera.js +1 -1
  243. package/views/3d/webgl/RenderNode.js +1 -1
  244. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBuffer.glsl.js +2 -2
  245. package/views/3d/webgl-engine/core/shaderLibrary/TextureBackedBufferFields.glsl.js +2 -2
  246. package/views/3d/webgl-engine/lib/PositionReader.js +1 -1
  247. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  248. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBufferFields.js +1 -1
  249. package/views/3d/webgl-engine/lib/screenPolygonOverlapUtils.js +1 -1
  250. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  251. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  252. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  253. package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
  254. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  255. package/views/VideoView.js +1 -1
  256. package/views/webgl/RenderingContext.js +1 -1
  257. package/views/webgl/UniformBufferLayout.js +1 -1
  258. package/views/webgl/UniformBufferObject.js +1 -1
  259. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +20 -6
  260. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  261. package/widgets/BatchAttributeForm/inputs/support/MultipleChoiceController.d.ts +100 -0
  262. package/widgets/BatchAttributeForm/inputs/support/MultipleChoiceController.js +2 -0
  263. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  264. package/widgets/BatchAttributeForm/inputs/support/multipleChoiceInputUtils.js +1 -1
  265. package/widgets/BatchAttributeForm.js +1 -1
  266. package/widgets/OrientedImageryViewer.js +1 -1
  267. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.js +1 -1
  268. package/widgets/UtilityNetworkTrace/support/GeometryHandler.js +1 -1
  269. package/widgets/UtilityNetworkTrace/support/ResultAreaHandler.js +1 -1
  270. package/assets/esri/core/workers/chunks/02dd79beb13eff6be85e.js +0 -1
  271. package/assets/esri/core/workers/chunks/0823961e5d0bdedbf8cf.js +0 -2
  272. package/assets/esri/core/workers/chunks/0aedeb837399d3f92e4a.js +0 -1
  273. package/assets/esri/core/workers/chunks/0bf644f93c180a2bc2f8.js +0 -705
  274. package/assets/esri/core/workers/chunks/0daaa89de339e8ea4b81.js +0 -1
  275. package/assets/esri/core/workers/chunks/1119a33245138e7b3914.js +0 -1
  276. package/assets/esri/core/workers/chunks/12234a63d3fa4bc25e7e.js +0 -1
  277. package/assets/esri/core/workers/chunks/1cf8fb704c48ac3d3b15.js +0 -1
  278. package/assets/esri/core/workers/chunks/2435ef7d11f8dbb920b7.js +0 -256
  279. package/assets/esri/core/workers/chunks/2791f3fe16ca5ee2f39a.js +0 -1
  280. package/assets/esri/core/workers/chunks/27f574acf52f2c8bc2c9.js +0 -1
  281. package/assets/esri/core/workers/chunks/2d45daacec0d5ed38782.js +0 -1
  282. package/assets/esri/core/workers/chunks/2ea3ca68cfa4d34e8f3b.js +0 -1
  283. package/assets/esri/core/workers/chunks/2f81047790c4890ae625.js +0 -1
  284. package/assets/esri/core/workers/chunks/3235e14fedb19dd94807.js +0 -1
  285. package/assets/esri/core/workers/chunks/32f5112c848efec6c33b.js +0 -1
  286. package/assets/esri/core/workers/chunks/3bc2943035391b44d4cf.js +0 -29
  287. package/assets/esri/core/workers/chunks/3c32471785bc8570e41c.js +0 -1
  288. package/assets/esri/core/workers/chunks/4295822fa6ef743c76f1.js +0 -1
  289. package/assets/esri/core/workers/chunks/42d5ed44111bea77ec71.js +0 -1462
  290. package/assets/esri/core/workers/chunks/46873badbd6ce8ff4e1e.js +0 -1
  291. package/assets/esri/core/workers/chunks/4710f21b138a2c9a0345.js +0 -1
  292. package/assets/esri/core/workers/chunks/4b5bd0c9a55ea2998601.js +0 -1
  293. package/assets/esri/core/workers/chunks/4c2794687aea172775a0.js +0 -1
  294. package/assets/esri/core/workers/chunks/4d9bde9f66817a92ceca.js +0 -1
  295. package/assets/esri/core/workers/chunks/4fe2cca405180af23364.js +0 -1
  296. package/assets/esri/core/workers/chunks/519af918050b47f93516.js +0 -1
  297. package/assets/esri/core/workers/chunks/5600fc334d20c4f0c83d.js +0 -1
  298. package/assets/esri/core/workers/chunks/5627f562dea8bae2f346.js +0 -1
  299. package/assets/esri/core/workers/chunks/5bf4ab72b9634b06cc5d.js +0 -1
  300. package/assets/esri/core/workers/chunks/5e3d5347223f0111f40f.js +0 -1
  301. package/assets/esri/core/workers/chunks/6f58cb9dffe8016397a2.js +0 -1
  302. package/assets/esri/core/workers/chunks/6fc3553c52af6ace926d.js +0 -1
  303. package/assets/esri/core/workers/chunks/7aaa051b51a8e34bbfb0.js +0 -1
  304. package/assets/esri/core/workers/chunks/7dc5aedc964eacd1be5a.js +0 -1
  305. package/assets/esri/core/workers/chunks/7f91e45156bbe88f9a62.js +0 -1
  306. package/assets/esri/core/workers/chunks/8a48a6760c33ed50b650.js +0 -1
  307. package/assets/esri/core/workers/chunks/8d21e2dabc5165f1c8ca.js +0 -1
  308. package/assets/esri/core/workers/chunks/903e1cd8b76eff19ebdf.js +0 -1
  309. package/assets/esri/core/workers/chunks/917c11cb40a7742d7f98.js +0 -1
  310. package/assets/esri/core/workers/chunks/91d133c04ca764d74934.js +0 -1
  311. package/assets/esri/core/workers/chunks/92c4464b67fce6cea134.js +0 -1
  312. package/assets/esri/core/workers/chunks/947f1ea4dbc3e3419ecc.js +0 -1
  313. package/assets/esri/core/workers/chunks/9482a6d7baa24bbf5693.js +0 -1
  314. package/assets/esri/core/workers/chunks/96cec8a02ca96175d602.js +0 -1
  315. package/assets/esri/core/workers/chunks/9902fcd2070c8eb6d043.js +0 -1
  316. package/assets/esri/core/workers/chunks/9b76c8974424a1908e86.js +0 -1
  317. package/assets/esri/core/workers/chunks/9be6827e5756031a56c1.js +0 -1
  318. package/assets/esri/core/workers/chunks/9cff18e6f751d1b3085e.js +0 -1
  319. package/assets/esri/core/workers/chunks/a101152066dd56259619.js +0 -1
  320. package/assets/esri/core/workers/chunks/a2a2c7e274fb32fecffa.js +0 -1
  321. package/assets/esri/core/workers/chunks/a3bf8aa81ee398da5b52.js +0 -1
  322. package/assets/esri/core/workers/chunks/a7a7d3289d4ca95f545f.js +0 -1
  323. package/assets/esri/core/workers/chunks/abb6c76d5dba3559a68e.js +0 -1
  324. package/assets/esri/core/workers/chunks/afeeb11b39e140303b5a.js +0 -1
  325. package/assets/esri/core/workers/chunks/b1a175b3b2d1a7ddde8e.js +0 -1
  326. package/assets/esri/core/workers/chunks/b78f509fd8e95f728178.js +0 -1
  327. package/assets/esri/core/workers/chunks/b858adff7043683fe41c.js +0 -1
  328. package/assets/esri/core/workers/chunks/be1d2c3a61e6447fbbc7.js +0 -1
  329. package/assets/esri/core/workers/chunks/c02ae1d40c1fe95ae6c5.js +0 -1
  330. package/assets/esri/core/workers/chunks/c1189316d24fb4cdb2a0.js +0 -1
  331. package/assets/esri/core/workers/chunks/c53b2be005721591e29b.js +0 -1
  332. package/assets/esri/core/workers/chunks/c82ab4f0908290e70ee9.js +0 -1
  333. package/assets/esri/core/workers/chunks/cc5ec6e99aa09342c704.js +0 -1
  334. package/assets/esri/core/workers/chunks/cd892c9603710d6130a9.js +0 -1
  335. package/assets/esri/core/workers/chunks/d021775cf747556660a5.js +0 -1
  336. package/assets/esri/core/workers/chunks/d633e98b0dfa0490e4de.js +0 -1
  337. package/assets/esri/core/workers/chunks/d79ce047afbc034f6008.js +0 -1
  338. package/assets/esri/core/workers/chunks/d8eca13c127b443141b7.js +0 -1
  339. package/assets/esri/core/workers/chunks/dbc9249dae41096d750d.js +0 -1
  340. package/assets/esri/core/workers/chunks/eb1a86159dbc098f06fe.js +0 -1
  341. package/assets/esri/core/workers/chunks/ec1841e6e498d54012eb.js +0 -1
  342. package/assets/esri/core/workers/chunks/ed1de8b7406269e217b9.js +0 -29
  343. package/assets/esri/core/workers/chunks/ee9eb381e675d2d01260.js +0 -1
  344. package/assets/esri/core/workers/chunks/f2ab8e49c7f17f488aa8.js +0 -1
  345. package/assets/esri/core/workers/chunks/f43a0edf58941e2ac78e.js +0 -1
  346. package/assets/esri/core/workers/chunks/f78acff510ca615d42e4.js +0 -1
  347. package/assets/esri/core/workers/chunks/f7a5c4d22a24e1ac433c.js +0 -1
  348. package/chunks/geometryEngineBase.js +0 -2
  349. package/geometry/geometryAdapters/json.js +0 -2
  350. package/geometry/geometryEngineJSON.js +0 -2
  351. /package/assets/esri/core/workers/chunks/{0823961e5d0bdedbf8cf.js.LICENSE.txt → 4f8ce5887102971bfa34.js.LICENSE.txt} +0 -0
  352. /package/assets/esri/core/workers/chunks/{186bedc377cc97731ca2.js.LICENSE.txt → 532e3a59888e4cc13bd3.js.LICENSE.txt} +0 -0
  353. /package/assets/esri/core/workers/chunks/{ad1d06a91121ebfe9162.js.LICENSE.txt → 755b2d883fba90c4e688.js.LICENSE.txt} +0 -0
  354. /package/assets/esri/core/workers/chunks/{d03e7be74c57c3dbf003.js.LICENSE.txt → a014c17fc210620da738.js.LICENSE.txt} +0 -0
  355. /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{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as i,FragmentOutput as e,location as r,uniform as p,define as s,option as l,texture as n,input as a,VertexInput as c,UniformGroup as h,FragmentInput as y}from"../../../GraphShaderModule.js";import{Vec4 as u,ifElse as g,texture2D as d,sign as v,mix as x,Vec3 as m,Vec2 as P,Float as f,Sampler2D as j}from"../../../graph/glsl.js";import{Tile as b}from"../Tile.js";import{TileInfo as k}from"../TileInfo.js";import{ViewInfo as w}from"../ViewInfo.js";import{getPixelLocation as M,isOutside as T,getPixel as S,ProjectionConfig as _,ProjectionTextures as C}from"./projection.js";class I extends c{}t([r(0,P)],I.prototype,"position",void 0);class z extends y{}class E extends h{}t([p(P)],E.prototype,"coordScale",void 0),t([p(P)],E.prototype,"srcImageSize",void 0),t([p(f)],E.prototype,"opacity",void 0);class O extends i{constructor(){super(...arguments),this.applyProjection=!0,this.lookupProjection=!1,this.bilinear=!1,this.bicubic=!1,this.nearestOnEdge=!1,this.applyPixelMask=!1,this.applyPixelHighlights=!1}fragment(t){const o=new e,i=M(t.uv,this.applyProjection?this.projectionConfig:void 0,this.applyProjection?this.projectionTextures:void 0,this.lookupProjection);let r=this._colorize(i,t.uv);this.applyPixelHighlights&&(r=this._highlightPixels(t.uv,r));const p=g(T(i),new u(0),r);let s=p.a.multiply(this.config.opacity);if(this.applyPixelMask){const o=this._getPixelMask(t.uv);s=s.multiply(o)}return o.fragColor=new u(p.rgb,1).multiply(s),o}_getPixel(t){const{config:o,bicubic:i,bilinear:e,nearestOnEdge:r}=this;return S(t,{texture:this.texture,srcImageSize:o.srcImageSize},{bicubic:i,bilinear:e,nearestOnEdge:r})}_getPixelMask(t){const o=d(this.pixelMaskTexture,t);return v(o.a)}_highlightPixels(t,o){const i=d(this.highlightTexture,t),e=v(i.a);return x(o,i,e)}}t([s],O.prototype,"applyProjection",void 0),t([s],O.prototype,"lookupProjection",void 0),t([s],O.prototype,"bilinear",void 0),t([s],O.prototype,"bicubic",void 0),t([s],O.prototype,"nearestOnEdge",void 0),t([s],O.prototype,"applyPixelMask",void 0),t([s],O.prototype,"applyPixelHighlights",void 0),t([p(E)],O.prototype,"config",void 0),t([l(_)],O.prototype,"projectionConfig",void 0),t([n(j)],O.prototype,"texture",void 0),t([n(C)],O.prototype,"projectionTextures",void 0),t([n(j)],O.prototype,"pixelMaskTexture",void 0),t([n(j)],O.prototype,"highlightTexture",void 0),t([o(0,a(z))],O.prototype,"fragment",null);class H extends O{vertex(t){const o=t.position,i=new m(o.multiply(this.config.coordScale),1),e=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(i);return{uv:o,glPosition:new u(e,1)}}}t([p(w)],H.prototype,"view",void 0),t([p(k)],H.prototype,"tileContainer",void 0),t([p(b)],H.prototype,"tile",void 0),t([o(0,a(I))],H.prototype,"vertex",null);class V extends O{vertex(t){const o=t.position,i=o.multiply(2).subtract(1);return{uv:o,glPosition:new u(i,0,1)}}}t([o(0,a(I))],V.prototype,"vertex",null);export{H as BaseRasterColorizerShader,V as BaseRasterFullscreenShader,z as RasterColorizerFragmentInput,E as RasterConfig};
2
+ import{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as i,FragmentOutput as e,location as r,uniform as p,define as s,option as l,texture as n,input as c,VertexInput as a,UniformGroup as h,FragmentInput as y}from"../../../GraphShaderModule.js";import{Vec4 as u,ifElse as g,texture2D as d,sign as v,mix as x,Vec3 as m,Vec2 as f,Float as P,Sampler2D as j}from"../../../graph/glsl.js";import{Tile as b}from"../Tile.js";import{TileInfo as k}from"../TileInfo.js";import{ViewInfo as w}from"../ViewInfo.js";import{getPixelLocation as M,isOutside as T,getPixel as I,ProjectionConfig as S,ProjectionTextures as _}from"./projection.js";class z extends a{}t([r(0,f)],z.prototype,"position",void 0);class E extends y{}class O extends h{}t([p(f)],O.prototype,"coordScale",void 0),t([p(f)],O.prototype,"srcImageSize",void 0),t([p(P)],O.prototype,"opacity",void 0);class C extends i{constructor(){super(...arguments),this.applyProjection=!0,this.lookupProjection=!1,this.bilinear=!1,this.bicubic=!1,this.nearestOnEdge=!1,this.applyPixelMask=!1,this.applyPixelHighlights=!1}fragment(t){const o=new e,i=M(t.uv,this.applyProjection?this.projectionConfig:void 0,this.applyProjection?this.projectionTextures:void 0,this.lookupProjection);let r=this._colorize(i,t.uv);this.applyPixelHighlights&&(r=this._highlightPixels(t.uv,r));const p=g(T(i),new u(0),r);let s=p.a.multiply(this.config.opacity);if(this.applyPixelMask){const o=this._getPixelMask(t.uv);s=s.multiply(o)}return o.fragColor=new u(p.rgb,1).multiply(s),o}_getPixel(t){const{config:o,bicubic:i,bilinear:e,nearestOnEdge:r}=this;return I(t,{texture:this.texture,srcImageSize:o.srcImageSize},{bicubic:i,bilinear:e,nearestOnEdge:r})}_getPixelMask(t){const o=d(this.pixelMaskTexture,t);return v(o.a)}_highlightPixels(t,o){const i=d(this.highlightTexture,t),e=v(i.a);return x(o,i,e)}}t([s],C.prototype,"applyProjection",void 0),t([s],C.prototype,"lookupProjection",void 0),t([s],C.prototype,"bilinear",void 0),t([s],C.prototype,"bicubic",void 0),t([s],C.prototype,"nearestOnEdge",void 0),t([s],C.prototype,"applyPixelMask",void 0),t([s],C.prototype,"applyPixelHighlights",void 0),t([p(O)],C.prototype,"config",void 0),t([l(S)],C.prototype,"projectionConfig",void 0),t([n(j)],C.prototype,"texture",void 0),t([n(_)],C.prototype,"projectionTextures",void 0),t([n(j)],C.prototype,"pixelMaskTexture",void 0),t([n(j)],C.prototype,"highlightTexture",void 0),t([o(0,c(E))],C.prototype,"fragment",null);class H extends C{vertex(t){const o=t.position,i=new m(o.multiply(this.config.coordScale),1),e=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(i);return{uv:o,glPosition:new u(e,1)}}}t([p(w)],H.prototype,"view",void 0),t([p(k)],H.prototype,"tileInfo",void 0),t([p(b)],H.prototype,"tile",void 0),t([o(0,c(z))],H.prototype,"vertex",null);class V extends C{vertex(t){const o=t.position,i=o.multiply(2).subtract(1);return{uv:o,glPosition:new u(i,0,1)}}}t([o(0,c(z))],V.prototype,"vertex",null);export{H as BaseRasterColorizerShader,V as BaseRasterFullscreenShader,E as RasterColorizerFragmentInput,O as RasterConfig};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as r,uniform as p,define as s,option as a,input as n,VertexInput as l,UniformGroup as d,FragmentInput as y}from"../../../GraphShaderModule.js";import{Float as c,clamp as m,Vec2 as v,cos as f,sin as g,Int as h,Vec4 as u,FixedArray as x}from"../../../graph/glsl.js";import{Tile as w}from"../Tile.js";import{TileInfo as b}from"../TileInfo.js";import{ViewInfo as R}from"../ViewInfo.js";import{transformRasterVFPosition as j,RasterVFSampling as S,RasterVFLocalTransform as T}from"./RasterVFTransform.js";class G extends l{}o([r(0,v)],G.prototype,"position",void 0),o([r(1,v)],G.prototype,"offset",void 0),o([r(2,v)],G.prototype,"vv",void 0);class V extends y{}class C extends d{}o([p(v)],C.prototype,"coordScale",void 0),o([p(v)],C.prototype,"symbolSize",void 0),o([p(v)],C.prototype,"symbolPercentRange",void 0),o([p(v)],C.prototype,"dataRange",void 0),o([p(c)],C.prototype,"rotation",void 0),o([p(x.ofType(u,48))],C.prototype,"colors",void 0),o([p(c)],C.prototype,"opacity",void 0);const F=new c(3.14159265359);class P extends e{constructor(){super(...arguments),this.type="MagDirShader",this.rotationGeographic=!1,this.dataRange=!1,this.tiled=!1}vertex(o){const{position:t,offset:e,vv:i}=o,{dataRange:r,rotation:p,symbolSize:s,symbolPercentRange:a,colors:n,coordScale:l}=this.config;let d,y=e.y.add(p);if(this.rotationGeographic||(y=F.multiply(new c(2)).subtract(y).subtract(F.divide(new c(2)))),this.dataRange){const o=m(i.y.subtract(r.x).divide(r.y.subtract(r.x)),new c(0),new c(1)),t=a.x.add(o.multiply(a.y.subtract(a.x)));d=m(t,a.x,a.y)}else d=a.x.add(a.y).divide(new c(2));const x=new v(f(y),g(y)).multiply(e.x),w=t.add(x.multiply(d.multiply(s))),b=n.get(new h(i.x)),R=j(this.tiled,w.multiply(l),this.view,this.tileContainer,this.tile,this.rasterVF,this.localTransform);return{glPosition:new u(R,1),color:b}}fragment(o){const t=new i;return t.fragColor=o.color.multiply(this.config.opacity),t}}o([s],P.prototype,"rotationGeographic",void 0),o([s],P.prototype,"dataRange",void 0),o([s],P.prototype,"tiled",void 0),o([p(R)],P.prototype,"view",void 0),o([a(b)],P.prototype,"tileContainer",void 0),o([a(w)],P.prototype,"tile",void 0),o([a(S)],P.prototype,"rasterVF",void 0),o([a(T)],P.prototype,"localTransform",void 0),o([p(C)],P.prototype,"config",void 0),o([t(0,n(G))],P.prototype,"vertex",null),o([t(0,n(V))],P.prototype,"fragment",null);export{P as MagDirShader};
2
+ import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as r,uniform as p,define as s,option as a,input as n,VertexInput as l,UniformGroup as d,FragmentInput as y}from"../../../GraphShaderModule.js";import{Float as c,clamp as m,Vec2 as v,cos as f,sin as g,Int as h,Vec4 as u,FixedArray as x}from"../../../graph/glsl.js";import{Tile as w}from"../Tile.js";import{TileInfo as b}from"../TileInfo.js";import{ViewInfo as R}from"../ViewInfo.js";import{transformRasterVFPosition as j,RasterVFSampling as S,RasterVFLocalTransform as T}from"./RasterVFTransform.js";class G extends l{}o([r(0,v)],G.prototype,"position",void 0),o([r(1,v)],G.prototype,"offset",void 0),o([r(2,v)],G.prototype,"vv",void 0);class I extends y{}const V=12;class F extends d{}o([p(v)],F.prototype,"coordScale",void 0),o([p(v)],F.prototype,"symbolSize",void 0),o([p(v)],F.prototype,"symbolPercentRange",void 0),o([p(v)],F.prototype,"dataRange",void 0),o([p(c)],F.prototype,"rotation",void 0),o([p(x.ofType(u,V))],F.prototype,"colors",void 0),o([p(c)],F.prototype,"opacity",void 0);const P=new c(3.14159265359);class z extends e{constructor(){super(...arguments),this.type="MagDirShader",this.rotationGeographic=!1,this.dataRange=!1,this.tiled=!1}vertex(o){const{position:t,offset:e,vv:i}=o,{dataRange:r,rotation:p,symbolSize:s,symbolPercentRange:a,colors:n,coordScale:l}=this.config;let d,y=e.y.add(p);if(this.rotationGeographic||(y=P.multiply(new c(2)).subtract(y).subtract(P.divide(new c(2)))),this.dataRange){const o=m(i.y.subtract(r.x).divide(r.y.subtract(r.x)),new c(0),new c(1)),t=a.x.add(o.multiply(a.y.subtract(a.x)));d=m(t,a.x,a.y)}else d=a.x.add(a.y).divide(new c(2));const x=new v(f(y),g(y)).multiply(e.x),w=t.add(x.multiply(d.multiply(s))),b=n.get(new h(i.x)),R=j(this.tiled,w.multiply(l),this.view,this.tileInfo,this.tile,this.rasterVF,this.localTransform);return{glPosition:new u(R,1),color:b}}fragment(o){const t=new i;return t.fragColor=o.color.multiply(this.config.opacity),t}}o([s],z.prototype,"rotationGeographic",void 0),o([s],z.prototype,"dataRange",void 0),o([s],z.prototype,"tiled",void 0),o([p(R)],z.prototype,"view",void 0),o([a(b)],z.prototype,"tileInfo",void 0),o([a(w)],z.prototype,"tile",void 0),o([a(S)],z.prototype,"rasterVF",void 0),o([a(T)],z.prototype,"localTransform",void 0),o([p(F)],z.prototype,"config",void 0),o([t(0,n(G))],z.prototype,"vertex",null),o([t(0,n(I))],z.prototype,"fragment",null);export{z as MagDirShader,V as magDirColorCount};
@@ -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 e,FragmentOutput as i,location as r,uniform as p,define as n,option as s,input as d,VertexInput as l,UniformGroup as a,FragmentInput as y}from"../../../GraphShaderModule.js";import{clamp as m,Float as c,Vec4 as v,length as f,smoothstep as w,ifElse as u,lessThan as h,abs as g,Vec2 as x}from"../../../graph/glsl.js";import{Tile as b}from"../Tile.js";import{TileInfo as j}from"../TileInfo.js";import{oneMinus as R}from"../utils.js";import{ViewInfo as S}from"../ViewInfo.js";import{transformRasterVFPosition as C,RasterVFSampling as T,RasterVFLocalTransform as V}from"./RasterVFTransform.js";class F extends l{}t([r(0,x)],F.prototype,"position",void 0),t([r(1,x)],F.prototype,"offset",void 0),t([r(2,x)],F.prototype,"vv",void 0);class P extends y{}class z extends a{}t([p(x)],z.prototype,"coordScale",void 0),t([p(x)],z.prototype,"symbolSize",void 0),t([p(x)],z.prototype,"symbolPercentRange",void 0),t([p(x)],z.prototype,"dataRange",void 0),t([p(c)],z.prototype,"opacity",void 0);const I=new v(new c(.2),new c(.2),new c(.2),new c(1)),G=new c(.02),M=new c(.25),k=new c(.42),q=new c(.15);class A extends e{constructor(){super(...arguments),this.type="ScalarShader",this.innerCircle=!1,this.dataRange=!1,this.tiled=!1}vertex(t){const{position:o,offset:e,vv:i}=t,{dataRange:r,symbolSize:p,symbolPercentRange:n,coordScale:s}=this.config;let d;if(r){const t=m(i.y.subtract(r.x).divide(r.y.subtract(r.x)),new c(0),new c(1)),o=n.y.subtract(n.x).multiply(t).add(n.x);d=m(o,n.x,n.y)}else d=n.x.add(n.y).divide(new c(2));const l=p.multiply(d),a=o.add(e.multiply(l)),y=C(this.tiled,a.multiply(s),this.view,this.tileContainer,this.tile,this.rasterVF,this.localTransform);return{glPosition:new v(y,1),pos:e}}fragment(t){const o=new i,{opacity:e}=this.config,{pos:r}=t,p=f(r);let n,s=w(k,k.add(G),p);return s=s.multiply(R(w(k.add(G),k.add(new c(.1).add(G)),p))),this.innerCircle?(n=w(M,M.add(G),p),n=n.multiply(R(w(M.add(G),M.add(new c(.1).add(G)),p)))):n=u(h(g(r.x),q),new c(1),new c(0)).multiply(u(h(g(r.y),q),new c(1),new c(0))),o.fragColor=I.multiply(e).multiply(n.add(s)),o}}t([n],A.prototype,"innerCircle",void 0),t([n],A.prototype,"dataRange",void 0),t([n],A.prototype,"tiled",void 0),t([p(S)],A.prototype,"view",void 0),t([s(j)],A.prototype,"tileContainer",void 0),t([s(b)],A.prototype,"tile",void 0),t([s(T)],A.prototype,"rasterVF",void 0),t([s(V)],A.prototype,"localTransform",void 0),t([p(z)],A.prototype,"config",void 0),t([o(0,d(F))],A.prototype,"vertex",null),t([o(0,d(P))],A.prototype,"fragment",null);export{A as ScalarShader};
2
+ import{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as r,uniform as p,define as n,option as s,input as d,VertexInput as l,UniformGroup as a,FragmentInput as y}from"../../../GraphShaderModule.js";import{clamp as m,Float as c,Vec4 as v,length as f,smoothstep as w,ifElse as u,lessThan as h,abs as g,Vec2 as x}from"../../../graph/glsl.js";import{Tile as b}from"../Tile.js";import{TileInfo as j}from"../TileInfo.js";import{oneMinus as R}from"../utils.js";import{ViewInfo as S}from"../ViewInfo.js";import{transformRasterVFPosition as T,RasterVFSampling as C,RasterVFLocalTransform as I}from"./RasterVFTransform.js";class V extends l{}t([r(0,x)],V.prototype,"position",void 0),t([r(1,x)],V.prototype,"offset",void 0),t([r(2,x)],V.prototype,"vv",void 0);class F extends y{}class P extends a{}t([p(x)],P.prototype,"coordScale",void 0),t([p(x)],P.prototype,"symbolSize",void 0),t([p(x)],P.prototype,"symbolPercentRange",void 0),t([p(x)],P.prototype,"dataRange",void 0),t([p(c)],P.prototype,"opacity",void 0);const z=new v(new c(.2),new c(.2),new c(.2),new c(1)),G=new c(.02),M=new c(.25),k=new c(.42),q=new c(.15);class A extends e{constructor(){super(...arguments),this.type="ScalarShader",this.innerCircle=!1,this.dataRange=!1,this.tiled=!1}vertex(t){const{position:o,offset:e,vv:i}=t,{dataRange:r,symbolSize:p,symbolPercentRange:n,coordScale:s}=this.config;let d;if(r){const t=m(i.y.subtract(r.x).divide(r.y.subtract(r.x)),new c(0),new c(1)),o=n.y.subtract(n.x).multiply(t).add(n.x);d=m(o,n.x,n.y)}else d=n.x.add(n.y).divide(new c(2));const l=p.multiply(d),a=o.add(e.multiply(l)),y=T(this.tiled,a.multiply(s),this.view,this.tileInfo,this.tile,this.rasterVF,this.localTransform);return{glPosition:new v(y,1),pos:e}}fragment(t){const o=new i,{opacity:e}=this.config,{pos:r}=t,p=f(r);let n,s=w(k,k.add(G),p);return s=s.multiply(R(w(k.add(G),k.add(new c(.1).add(G)),p))),this.innerCircle?(n=w(M,M.add(G),p),n=n.multiply(R(w(M.add(G),M.add(new c(.1).add(G)),p)))):n=u(h(g(r.x),q),new c(1),new c(0)).multiply(u(h(g(r.y),q),new c(1),new c(0))),o.fragColor=z.multiply(e).multiply(n.add(s)),o}}t([n],A.prototype,"innerCircle",void 0),t([n],A.prototype,"dataRange",void 0),t([n],A.prototype,"tiled",void 0),t([p(S)],A.prototype,"view",void 0),t([s(j)],A.prototype,"tileInfo",void 0),t([s(b)],A.prototype,"tile",void 0),t([s(C)],A.prototype,"rasterVF",void 0),t([s(I)],A.prototype,"localTransform",void 0),t([p(P)],A.prototype,"config",void 0),t([o(0,d(V))],A.prototype,"vertex",null),t([o(0,d(F))],A.prototype,"fragment",null);export{A as ScalarShader};
@@ -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 e,FragmentOutput as r,location as i,uniform as p,define as l,option as s,texture as n,input as d,FragmentInput as a,VertexInput as y,UniformGroup as c}from"../../../GraphShaderModule.js";import{Vec3 as h,Vec4 as m,Vec2 as v,fract as u,mix as x,texture2D as f,Float as g,Mat3 as w,Sampler2D as C}from"../../../graph/glsl.js";import{Tile as b}from"../Tile.js";import{TileInfo as M}from"../TileInfo.js";import{ViewInfo as S}from"../ViewInfo.js";class T extends y{}t([i(0,v)],T.prototype,"position",void 0);class j extends c{}t([p(g)],j.prototype,"coordRange",void 0),t([p(g)],j.prototype,"depth",void 0);class I extends c{}t([p(m)],I.prototype,"tlbr",void 0),t([p(v)],I.prototype,"mosaicSize",void 0),t([p(g)],I.prototype,"opacity",void 0);class z extends c{}t([p(w)],z.prototype,"mat",void 0);class V extends c{}t([p(m)],V.prototype,"color",void 0);class k extends e{constructor(){super(...arguments),this.type="VTLShaderBackground"}vertex(t){const o=new h(this.layerInfo.coordRange.multiply(t.position),1),e=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(o).xy,r=new m(e,this.layerInfo.depth,1);let i,p=null;if(1===this.renderMode){const o=this.pattern,{tlbr:e,mosaicSize:r}=o;p=this.patternMat.mat.multiply(new h(t.position,1)).xy,i=e.divide(r.xyxy)}else i=new m(0),p=new v(0);return{glPosition:r,tlbr:i,tileTextureCoord:p}}fragment(t){const o=new r;switch(this.renderMode){case 1:{const e=u(t.tileTextureCoord),{opacity:r}=this.pattern,i=x(t.tlbr.xy,t.tlbr.zw,e),p=f(this.patternTexture,i);o.fragColor=r.multiply(p);break}default:o.fragColor=this.getSolidColor()}return o}getSolidColor(){return null!=this.solidColor?this.solidColor.color:new m(1,0,0,1)}}t([l],k.prototype,"renderMode",void 0),t([p(j)],k.prototype,"layerInfo",void 0),t([p(S)],k.prototype,"view",void 0),t([p(M)],k.prototype,"tileContainer",void 0),t([p(b)],k.prototype,"tile",void 0),t([s(V)],k.prototype,"solidColor",void 0),t([s(I)],k.prototype,"pattern",void 0),t([s(z)],k.prototype,"patternMat",void 0),t([n(C)],k.prototype,"patternTexture",void 0),t([o(0,d(T))],k.prototype,"vertex",null),t([o(0,d(a))],k.prototype,"fragment",null);export{k as VTLShaderBackground};
2
+ import{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as e,FragmentOutput as r,location as i,uniform as p,define as l,option as s,texture as n,input as d,FragmentInput as a,VertexInput as y,UniformGroup as c}from"../../../GraphShaderModule.js";import{Vec3 as h,Vec4 as m,Vec2 as v,fract as u,mix as f,texture2D as x,Float as g,Mat3 as w,Sampler2D as C}from"../../../graph/glsl.js";import{Tile as b}from"../Tile.js";import{TileInfo as I}from"../TileInfo.js";import{ViewInfo as M}from"../ViewInfo.js";class S extends y{}t([i(0,v)],S.prototype,"position",void 0);class T extends c{}t([p(g)],T.prototype,"coordRange",void 0),t([p(g)],T.prototype,"depth",void 0);class j extends c{}t([p(m)],j.prototype,"tlbr",void 0),t([p(v)],j.prototype,"mosaicSize",void 0),t([p(g)],j.prototype,"opacity",void 0);class z extends c{}t([p(w)],z.prototype,"mat",void 0);class V extends c{}t([p(m)],V.prototype,"color",void 0);class k extends e{constructor(){super(...arguments),this.type="VTLShaderBackground"}vertex(t){const o=new h(this.layerInfo.coordRange.multiply(t.position),1),e=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(o).xy,r=new m(e,this.layerInfo.depth,1);let i,p=null;if(1===this.renderMode){const o=this.pattern,{tlbr:e,mosaicSize:r}=o;p=this.patternMat.mat.multiply(new h(t.position,1)).xy,i=e.divide(r.xyxy)}else i=new m(0),p=new v(0);return{glPosition:r,tlbr:i,tileTextureCoord:p}}fragment(t){const o=new r;switch(this.renderMode){case 1:{const e=u(t.tileTextureCoord),{opacity:r}=this.pattern,i=f(t.tlbr.xy,t.tlbr.zw,e),p=x(this.patternTexture,i);o.fragColor=r.multiply(p);break}default:o.fragColor=this.getSolidColor()}return o}getSolidColor(){return null!=this.solidColor?this.solidColor.color:new m(1,0,0,1)}}t([l],k.prototype,"renderMode",void 0),t([p(T)],k.prototype,"layerInfo",void 0),t([p(M)],k.prototype,"view",void 0),t([p(I)],k.prototype,"tileInfo",void 0),t([p(b)],k.prototype,"tile",void 0),t([s(V)],k.prototype,"solidColor",void 0),t([s(j)],k.prototype,"pattern",void 0),t([s(z)],k.prototype,"patternMat",void 0),t([n(C)],k.prototype,"patternTexture",void 0),t([o(0,d(S))],k.prototype,"vertex",null),t([o(0,d(a))],k.prototype,"fragment",null);export{k as VTLShaderBackground};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as r,uniform as s,define as p,option as l,input as a,VertexInput as d,UniformGroup as y,FragmentInput as u}from"../../../GraphShaderModule.js";import{max as v,mod as c,Vec2 as n,Float as h,Vec3 as k,Vec4 as x,length as w,smoothstep as g,negate as T,cond as M,lessThan as m,mix as C}from"../../../graph/glsl.js";import{Tile as b}from"../Tile.js";import{TileInfo as f}from"../TileInfo.js";import{ViewInfo as W}from"../ViewInfo.js";class O extends d{}o([r(0,n)],O.prototype,"position",void 0),o([r(1,h)],O.prototype,"radius",void 0),o([r(2,x)],O.prototype,"color",void 0),o([r(3,h)],O.prototype,"opacity",void 0),o([r(4,h)],O.prototype,"strokeWidth",void 0),o([r(5,x)],O.prototype,"strokeColor",void 0),o([r(6,h)],O.prototype,"strokeOpacity",void 0),o([r(7,h)],O.prototype,"blur",void 0),o([r(8,h)],O.prototype,"radiusTo",void 0),o([r(9,x)],O.prototype,"colorTo",void 0),o([r(10,h)],O.prototype,"opacityTo",void 0),o([r(11,h)],O.prototype,"strokeWidthTo",void 0),o([r(12,x)],O.prototype,"strokeColorTo",void 0),o([r(13,h)],O.prototype,"strokeOpacityTo",void 0),o([r(14,h)],O.prototype,"blurTo",void 0);class S extends u{}class V extends y{}o([s(n)],V.prototype,"circleTranslation",void 0),o([s(h)],V.prototype,"depth",void 0),o([s(h)],V.prototype,"antialiasingWidth",void 0),o([s(h)],V.prototype,"tileOpacity",void 0);class j extends y{}o([s(h)],j.prototype,"value",void 0);class A extends y{}o([s(h)],A.prototype,"value",void 0);class B extends y{}o([s(h)],B.prototype,"value",void 0);class I extends y{}o([s(h)],I.prototype,"value",void 0);class R extends y{}o([s(h)],R.prototype,"value",void 0);class D extends y{}o([s(h)],D.prototype,"value",void 0);class G extends y{}o([s(h)],G.prototype,"value",void 0);class L extends y{}o([s(h)],L.prototype,"value",void 0);class P extends y{}o([s(h)],P.prototype,"value",void 0);class q extends y{}o([s(h)],q.prototype,"value",void 0);class z extends y{}o([s(x)],z.prototype,"value",void 0);class E extends y{}o([s(h)],E.prototype,"value",void 0);class F extends y{}o([s(x)],F.prototype,"value",void 0);class H extends y{}o([s(h)],H.prototype,"value",void 0);class J extends e{constructor(){super(...arguments),this.type="VTLShaderCircle"}vertex(o){const t=this.getColor(o).multiply(this.getOpacity(o)),e=this.getStrokeColor(o).multiply(this.getStrokeOpacity(o)),i=this.getStrokeWidth(o),r=this.getRadius(o),s=this.getBlur(o),p=r.add(i),l=v(s,this.config.antialiasingWidth.divide(p)),a=c(o.position,new n(2)).multiply(new h(2)).subtract(new h(1)),d=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,y=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new k(o.position.multiply(.5),new h(1))).add(d.multiply(new k(a.multiply(p).add(this.config.circleTranslation),new h(0))));return{glPosition:new x(y.xy,this.config.depth,1),strokeWidth:i,radius:r,blur:l,color:t,offset:a,strokeColor:e}}fragment(o){const t=new i,e=w(o.offset),r=g(new h(0),T(o.blur),e.subtract(new h(1))),s=M([m(o.strokeWidth,new h(.01)),()=>new h(0)],[!0,g(T(o.blur),new h(0),e.subtract(o.radius.divide(o.radius.add(o.strokeWidth))))]);return t.fragColor=C(o.color,o.strokeColor,s).multiply(r).multiply(this.config.tileOpacity),t}getRadius(o){return this.radiusMix?.value&&o.radius&&o.radiusTo?C(o.radius,o.radiusTo,this.radiusMix.value):o.radius?o.radius:this.radius?.value||new h(0)}getBlur(o){return this.blurMix?.value&&o.blur&&o.blurTo?C(o.blur,o.blurTo,this.blurMix.value):o.blur?o.blur:this.blur?.value||new h(0)}getOpacity(o){return this.opacityMix?.value&&o.opacity&&o.opacityTo?C(o.opacity,o.opacityTo,this.opacityMix.value):o.opacity?o.opacity:this.opacity?.value||new h(1)}getStrokeWidth(o){return this.strokeWidthMix?.value&&o.strokeWidth&&o.strokeWidthTo?C(o.strokeWidth,o.strokeWidthTo,this.strokeWidthMix.value):o.strokeWidth?o.strokeWidth:this.strokeWidth?.value||new h(0)}getColor(o){return this.colorMix?.value&&o.color&&o.colorTo?C(o.color,o.colorTo,this.colorMix.value):o.color?o.color:this.color?.value||new x(0)}getStrokeColor(o){return this.strokeColorMix?.value&&o.strokeColor&&o.strokeColorTo?C(o.strokeColor,o.strokeColorTo,this.strokeColorMix.value):o.strokeColor?o.strokeColor:this.strokeColor?.value||new x(0)}getStrokeOpacity(o){return this.strokeOpacityMix?.value&&o.strokeOpacity&&o.strokeOpacityTo?C(o.strokeOpacity,o.strokeOpacityTo,this.strokeOpacityMix.value):o.strokeOpacity?o.strokeOpacity:this.strokeOpacity?.value||new h(0)}}o([s(W)],J.prototype,"view",void 0),o([s(f)],J.prototype,"tileContainer",void 0),o([s(b)],J.prototype,"tile",void 0),o([s(V)],J.prototype,"config",void 0),o([p],J.prototype,"translateAnchorViewport",void 0),o([l(j)],J.prototype,"radius",void 0),o([l(A)],J.prototype,"radiusMix",void 0),o([l(B)],J.prototype,"blur",void 0),o([l(I)],J.prototype,"blurMix",void 0),o([l(R)],J.prototype,"opacity",void 0),o([l(D)],J.prototype,"opacityMix",void 0),o([l(G)],J.prototype,"strokeOpacity",void 0),o([l(L)],J.prototype,"strokeOpacityMix",void 0),o([l(P)],J.prototype,"strokeWidth",void 0),o([l(q)],J.prototype,"strokeWidthMix",void 0),o([l(z)],J.prototype,"color",void 0),o([l(E)],J.prototype,"colorMix",void 0),o([l(F)],J.prototype,"strokeColor",void 0),o([l(H)],J.prototype,"strokeColorMix",void 0),o([t(0,a(O))],J.prototype,"vertex",null),o([t(0,a(S))],J.prototype,"fragment",null);export{J as VTLShaderCircle};
2
+ import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as r,uniform as s,define as p,option as l,input as a,VertexInput as d,UniformGroup as y,FragmentInput as u}from"../../../GraphShaderModule.js";import{max as v,mod as c,Vec2 as n,Float as h,Vec3 as k,Vec4 as x,length as w,smoothstep as g,negate as T,cond as M,lessThan as m,mix as f}from"../../../graph/glsl.js";import{Tile as C}from"../Tile.js";import{TileInfo as b}from"../TileInfo.js";import{ViewInfo as W}from"../ViewInfo.js";class O extends d{}o([r(0,n)],O.prototype,"position",void 0),o([r(1,h)],O.prototype,"radius",void 0),o([r(2,x)],O.prototype,"color",void 0),o([r(3,h)],O.prototype,"opacity",void 0),o([r(4,h)],O.prototype,"strokeWidth",void 0),o([r(5,x)],O.prototype,"strokeColor",void 0),o([r(6,h)],O.prototype,"strokeOpacity",void 0),o([r(7,h)],O.prototype,"blur",void 0),o([r(8,h)],O.prototype,"radiusTo",void 0),o([r(9,x)],O.prototype,"colorTo",void 0),o([r(10,h)],O.prototype,"opacityTo",void 0),o([r(11,h)],O.prototype,"strokeWidthTo",void 0),o([r(12,x)],O.prototype,"strokeColorTo",void 0),o([r(13,h)],O.prototype,"strokeOpacityTo",void 0),o([r(14,h)],O.prototype,"blurTo",void 0);class S extends u{}class V extends y{}o([s(n)],V.prototype,"circleTranslation",void 0),o([s(h)],V.prototype,"depth",void 0),o([s(h)],V.prototype,"antialiasingWidth",void 0),o([s(h)],V.prototype,"tileOpacity",void 0);class j extends y{}o([s(h)],j.prototype,"value",void 0);class I extends y{}o([s(h)],I.prototype,"value",void 0);class A extends y{}o([s(h)],A.prototype,"value",void 0);class B extends y{}o([s(h)],B.prototype,"value",void 0);class R extends y{}o([s(h)],R.prototype,"value",void 0);class D extends y{}o([s(h)],D.prototype,"value",void 0);class G extends y{}o([s(h)],G.prototype,"value",void 0);class L extends y{}o([s(h)],L.prototype,"value",void 0);class P extends y{}o([s(h)],P.prototype,"value",void 0);class q extends y{}o([s(h)],q.prototype,"value",void 0);class z extends y{}o([s(x)],z.prototype,"value",void 0);class E extends y{}o([s(h)],E.prototype,"value",void 0);class F extends y{}o([s(x)],F.prototype,"value",void 0);class H extends y{}o([s(h)],H.prototype,"value",void 0);class J extends e{constructor(){super(...arguments),this.type="VTLShaderCircle"}vertex(o){const t=this.getColor(o).multiply(this.getOpacity(o)),e=this.getStrokeColor(o).multiply(this.getStrokeOpacity(o)),i=this.getStrokeWidth(o),r=this.getRadius(o),s=this.getBlur(o),p=r.add(i),l=v(s,this.config.antialiasingWidth.divide(p)),a=c(o.position,new n(2)).multiply(new h(2)).subtract(new h(1)),d=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,y=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new k(o.position.multiply(.5),new h(1))).add(d.multiply(new k(a.multiply(p).add(this.config.circleTranslation),new h(0))));return{glPosition:new x(y.xy,this.config.depth,1),strokeWidth:i,radius:r,blur:l,color:t,offset:a,strokeColor:e}}fragment(o){const t=new i,e=w(o.offset),r=g(new h(0),T(o.blur),e.subtract(new h(1))),s=M([m(o.strokeWidth,new h(.01)),()=>new h(0)],[!0,g(T(o.blur),new h(0),e.subtract(o.radius.divide(o.radius.add(o.strokeWidth))))]);return t.fragColor=f(o.color,o.strokeColor,s).multiply(r).multiply(this.config.tileOpacity),t}getRadius(o){return this.radiusMix?.value&&o.radius&&o.radiusTo?f(o.radius,o.radiusTo,this.radiusMix.value):o.radius?o.radius:this.radius?.value||new h(0)}getBlur(o){return this.blurMix?.value&&o.blur&&o.blurTo?f(o.blur,o.blurTo,this.blurMix.value):o.blur?o.blur:this.blur?.value||new h(0)}getOpacity(o){return this.opacityMix?.value&&o.opacity&&o.opacityTo?f(o.opacity,o.opacityTo,this.opacityMix.value):o.opacity?o.opacity:this.opacity?.value||new h(1)}getStrokeWidth(o){return this.strokeWidthMix?.value&&o.strokeWidth&&o.strokeWidthTo?f(o.strokeWidth,o.strokeWidthTo,this.strokeWidthMix.value):o.strokeWidth?o.strokeWidth:this.strokeWidth?.value||new h(0)}getColor(o){return this.colorMix?.value&&o.color&&o.colorTo?f(o.color,o.colorTo,this.colorMix.value):o.color?o.color:this.color?.value||new x(0)}getStrokeColor(o){return this.strokeColorMix?.value&&o.strokeColor&&o.strokeColorTo?f(o.strokeColor,o.strokeColorTo,this.strokeColorMix.value):o.strokeColor?o.strokeColor:this.strokeColor?.value||new x(0)}getStrokeOpacity(o){return this.strokeOpacityMix?.value&&o.strokeOpacity&&o.strokeOpacityTo?f(o.strokeOpacity,o.strokeOpacityTo,this.strokeOpacityMix.value):o.strokeOpacity?o.strokeOpacity:this.strokeOpacity?.value||new h(0)}}o([s(W)],J.prototype,"view",void 0),o([s(b)],J.prototype,"tileInfo",void 0),o([s(C)],J.prototype,"tile",void 0),o([s(V)],J.prototype,"config",void 0),o([p],J.prototype,"translateAnchorViewport",void 0),o([l(j)],J.prototype,"radius",void 0),o([l(I)],J.prototype,"radiusMix",void 0),o([l(A)],J.prototype,"blur",void 0),o([l(B)],J.prototype,"blurMix",void 0),o([l(R)],J.prototype,"opacity",void 0),o([l(D)],J.prototype,"opacityMix",void 0),o([l(G)],J.prototype,"strokeOpacity",void 0),o([l(L)],J.prototype,"strokeOpacityMix",void 0),o([l(P)],J.prototype,"strokeWidth",void 0),o([l(q)],J.prototype,"strokeWidthMix",void 0),o([l(z)],J.prototype,"color",void 0),o([l(E)],J.prototype,"colorMix",void 0),o([l(F)],J.prototype,"strokeColor",void 0),o([l(H)],J.prototype,"strokeColorMix",void 0),o([t(0,a(O))],J.prototype,"vertex",null),o([t(0,a(S))],J.prototype,"fragment",null);export{J as VTLShaderCircle};
@@ -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 e,FragmentOutput as i,location as r,uniform as p,option as l,texture as s,define as n,input as a,VertexInput as y,UniformGroup as c,FragmentInput as d}from"../../../GraphShaderModule.js";import{Vec2 as v,Float as u,Mat3 as h,negate as w,Vec3 as x,Vec4 as f,fract as m,mix as g,texture2D as T,pow as b,ceil as C,log2 as M,abs as O,Sampler2D as V}from"../../../graph/glsl.js";import{Tile as j}from"../Tile.js";import{TileInfo as S}from"../TileInfo.js";import{ViewInfo as z}from"../ViewInfo.js";class F extends y{}t([r(0,v)],F.prototype,"position",void 0),t([r(1,f)],F.prototype,"color",void 0),t([r(2,u)],F.prototype,"opacity",void 0),t([r(3,f)],F.prototype,"tlbr",void 0),t([r(4,f)],F.prototype,"colorTo",void 0),t([r(5,u)],F.prototype,"opacityTo",void 0);class L extends d{}class A extends c{}t([p(u)],A.prototype,"depth",void 0),t([p(v)],A.prototype,"fillTranslation",void 0),t([p(u)],A.prototype,"tileOpacity",void 0);class B extends c{}t([p(v)],B.prototype,"mosaicSize",void 0),t([p(u)],B.prototype,"patternFactor",void 0),t([p(f)],B.prototype,"tlbr",void 0);class I extends c{}t([p(u)],I.prototype,"value",void 0);class R extends c{}t([p(u)],R.prototype,"value",void 0);class D extends c{}t([p(f)],D.prototype,"value",void 0);class G extends c{}t([p(u)],G.prototype,"value",void 0);class P extends e{constructor(){super(...arguments),this.type="VTLShaderFill"}vertex(t){const o=this.getColor(t).multiply(this.getOpacity(t));let e=new v(0),i=this.getTLBR(t);if(1===this.fillType){const{mosaicSize:o,patternFactor:r}=this.patternOptions,p=k(i.z.subtract(i.x)),l=k(i.w.subtract(i.y)),s=new u(1).divide(p.multiply(r)),n=new u(1).divide(l.multiply(r));e=new h(s,new u(0),new u(0),new u(0),w(n),new u(0),new u(0),new u(0),new u(1)).multiply(new x(t.position,new u(1))).xy,i=i.divide(o.xyxy)}const r=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,p=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new x(t.position,1)).add(r.multiply(new x(this.config.fillTranslation,0)));return{glPosition:new f(p.xy,this.config.depth,1),color:o,tlbr:i,tileTextureCoord:e}}fragment(t){const o=new i;if(1===this.fillType){const{tlbr:e,tileTextureCoord:i}=t,r=m(i),p=g(e.xy,e.zw,r),l=T(this.patternTexture,p);o.fragColor=t.color.a.multiply(l)}else o.fragColor=t.color;return o.fragColor=this.config.tileOpacity.multiply(o.fragColor),o}getColor(t){return this.colorMix?.value&&t.color&&t.colorTo?g(t.color,t.colorTo,this.colorMix.value):t.color?t.color:this.color?.value||new f(0)}getOpacity(t){return this.opacityMix?.value&&t.opacity&&t.opacityTo?g(t.opacity,t.opacityTo,this.opacityMix.value):t.opacity?t.opacity:this.opacity?.value||new u(1)}getTLBR(t){return t.tlbr?t.tlbr:this.patternOptions?.tlbr||new f(0)}}function k(t){return b(new u(2),C(M(O(t))))}t([p(z)],P.prototype,"view",void 0),t([p(S)],P.prototype,"tileContainer",void 0),t([p(j)],P.prototype,"tile",void 0),t([p(A)],P.prototype,"config",void 0),t([l(B)],P.prototype,"patternOptions",void 0),t([l(I)],P.prototype,"opacity",void 0),t([l(R)],P.prototype,"opacityMix",void 0),t([l(D)],P.prototype,"color",void 0),t([l(G)],P.prototype,"colorMix",void 0),t([s(V)],P.prototype,"patternTexture",void 0),t([n],P.prototype,"fillType",void 0),t([n],P.prototype,"translateAnchorViewport",void 0),t([o(0,a(F))],P.prototype,"vertex",null),t([o(0,a(L))],P.prototype,"fragment",null);export{P as VTLShaderFill};
2
+ import{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as r,uniform as p,option as l,texture as s,define as n,input as a,VertexInput as y,UniformGroup as c,FragmentInput as d}from"../../../GraphShaderModule.js";import{Vec2 as v,Float as u,Mat3 as h,negate as w,Vec3 as f,Vec4 as x,fract as m,mix as g,texture2D as T,pow as b,ceil as M,log2 as C,abs as O,Sampler2D as V}from"../../../graph/glsl.js";import{Tile as j}from"../Tile.js";import{TileInfo as S}from"../TileInfo.js";import{ViewInfo as z}from"../ViewInfo.js";class I extends y{}t([r(0,v)],I.prototype,"position",void 0),t([r(1,x)],I.prototype,"color",void 0),t([r(2,u)],I.prototype,"opacity",void 0),t([r(3,x)],I.prototype,"tlbr",void 0),t([r(4,x)],I.prototype,"colorTo",void 0),t([r(5,u)],I.prototype,"opacityTo",void 0);class F extends d{}class L extends c{}t([p(u)],L.prototype,"depth",void 0),t([p(v)],L.prototype,"fillTranslation",void 0),t([p(u)],L.prototype,"tileOpacity",void 0);class A extends c{}t([p(v)],A.prototype,"mosaicSize",void 0),t([p(u)],A.prototype,"patternFactor",void 0),t([p(x)],A.prototype,"tlbr",void 0);class B extends c{}t([p(u)],B.prototype,"value",void 0);class R extends c{}t([p(u)],R.prototype,"value",void 0);class D extends c{}t([p(x)],D.prototype,"value",void 0);class G extends c{}t([p(u)],G.prototype,"value",void 0);class P extends e{constructor(){super(...arguments),this.type="VTLShaderFill"}vertex(t){const o=this.getColor(t).multiply(this.getOpacity(t));let e=new v(0),i=this.getTLBR(t);if(1===this.fillType){const{mosaicSize:o,patternFactor:r}=this.patternOptions,p=k(i.z.subtract(i.x)),l=k(i.w.subtract(i.y)),s=new u(1).divide(p.multiply(r)),n=new u(1).divide(l.multiply(r));e=new h(s,new u(0),new u(0),new u(0),w(n),new u(0),new u(0),new u(0),new u(1)).multiply(new f(t.position,new u(1))).xy,i=i.divide(o.xyxy)}const r=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,p=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new f(t.position,1)).add(r.multiply(new f(this.config.fillTranslation,0)));return{glPosition:new x(p.xy,this.config.depth,1),color:o,tlbr:i,tileTextureCoord:e}}fragment(t){const o=new i;if(1===this.fillType){const{tlbr:e,tileTextureCoord:i}=t,r=m(i),p=g(e.xy,e.zw,r),l=T(this.patternTexture,p);o.fragColor=t.color.a.multiply(l)}else o.fragColor=t.color;return o.fragColor=this.config.tileOpacity.multiply(o.fragColor),o}getColor(t){return this.colorMix?.value&&t.color&&t.colorTo?g(t.color,t.colorTo,this.colorMix.value):t.color?t.color:this.color?.value||new x(0)}getOpacity(t){return this.opacityMix?.value&&t.opacity&&t.opacityTo?g(t.opacity,t.opacityTo,this.opacityMix.value):t.opacity?t.opacity:this.opacity?.value||new u(1)}getTLBR(t){return t.tlbr?t.tlbr:this.patternOptions?.tlbr||new x(0)}}function k(t){return b(new u(2),M(C(O(t))))}t([p(z)],P.prototype,"view",void 0),t([p(S)],P.prototype,"tileInfo",void 0),t([p(j)],P.prototype,"tile",void 0),t([p(L)],P.prototype,"config",void 0),t([l(A)],P.prototype,"patternOptions",void 0),t([l(B)],P.prototype,"opacity",void 0),t([l(R)],P.prototype,"opacityMix",void 0),t([l(D)],P.prototype,"color",void 0),t([l(G)],P.prototype,"colorMix",void 0),t([s(V)],P.prototype,"patternTexture",void 0),t([n],P.prototype,"fillType",void 0),t([n],P.prototype,"translateAnchorViewport",void 0),t([o(0,a(I))],P.prototype,"vertex",null),t([o(0,a(F))],P.prototype,"fragment",null);export{P as VTLShaderFill};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as l,uniform as p,texture as r,option as a,define as s,input as n,VertexInput as d,UniformGroup as y,FragmentInput as c}from"../../../GraphShaderModule.js";import{mod as h,Float as v,unpackVec4 as u,clamp as w,step as m,abs as x,Vec3 as g,Vec4 as f,texture2D as T,max as C,ifElse as M,greaterThan as z,and as W,lessThan as b,equal as S,min as O,mix as I,Vec2 as V,Sampler2D as j}from"../../../graph/glsl.js";import{Tile as A}from"../Tile.js";import{TileInfo as B}from"../TileInfo.js";import{oneMinus as H,rgba2float as D}from"../utils.js";import{ViewInfo as P}from"../ViewInfo.js";const k=new v(1/8),U=new v(120/86),G=new v(256/360),L=new v(1/255.5),q=new v(16/86),E=new v(.248062016);class F extends d{}o([l(0,f)],F.prototype,"positionAndOffset",void 0),o([l(1,f)],F.prototype,"iconInfo",void 0),o([l(2,f)],F.prototype,"color",void 0),o([l(3,v)],F.prototype,"opacity",void 0),o([l(4,f)],F.prototype,"haloColor",void 0),o([l(5,v)],F.prototype,"haloWidth",void 0),o([l(6,v)],F.prototype,"haloBlur",void 0),o([l(7,v)],F.prototype,"size",void 0),o([l(8,f)],F.prototype,"colorTo",void 0),o([l(9,v)],F.prototype,"opacityTo",void 0),o([l(10,f)],F.prototype,"haloColorTo",void 0),o([l(11,v)],F.prototype,"haloWidthTo",void 0),o([l(12,v)],F.prototype,"haloBlurTo",void 0),o([l(13,v)],F.prototype,"sizeTo",void 0),o([l(14,v)],F.prototype,"opacityInfo",void 0);class J extends c{}class K extends y{}o([p(V)],K.prototype,"mosaicSize",void 0);class N extends y{}o([p(V)],N.prototype,"iconTranslation",void 0),o([p(v)],N.prototype,"depth",void 0),o([p(v)],N.prototype,"level",void 0),o([p(v)],N.prototype,"keepUpright",void 0),o([p(v)],N.prototype,"fadeDuration",void 0),o([p(v)],N.prototype,"time",void 0),o([p(v)],N.prototype,"isStencilPass",void 0),o([p(v)],N.prototype,"tileOpacity",void 0);class Q extends y{}o([p(v)],Q.prototype,"value",void 0);class R extends y{}o([p(v)],R.prototype,"value",void 0);class X extends y{}o([p(v)],X.prototype,"value",void 0);class Y extends y{}o([p(v)],Y.prototype,"value",void 0);class Z extends y{}o([p(f)],Z.prototype,"value",void 0);class $ extends y{}o([p(v)],$.prototype,"value",void 0);class _ extends y{}o([p(f)],_.prototype,"value",void 0);class oo extends y{}o([p(v)],oo.prototype,"value",void 0);class to extends y{}o([p(v)],to.prototype,"value",void 0);class eo extends y{}o([p(v)],eo.prototype,"value",void 0);class io extends e{constructor(){super(...arguments),this.type="VTLShaderIcon",this.iconType=0}vertex(o){const t=this.getSize(o),e=this.getColor(o),i=this.getHaloColor(o),l=this.getHaloWidth(o);let p=this.getOpacity(o);const{iconInfo:r,opacityInfo:a,positionAndOffset:s}=o,{depth:n,fadeDuration:d,iconTranslation:y,keepUpright:c,level:T,time:C}=this.config,{mosaicSize:M}=this.page,z=this.rotationAlignmentMap?this.view.displayViewMat3:this.view.displayMat3,W=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,b=h(a,new v(128)),S=a.subtract(b).divide(new v(128)),O=b.divide(new v(127)),[I,V]=u(r,8),j=w(O.add(new v(2).multiply(S.subtract(new v(.5)).multiply(C.divide(d)))),new v(0),new v(1));p=p.multiply(j);const A=V[1],B=V[2],D=V[3],P=I.xy.divide(M);let L=new v(0);const q=h(this.view.rotation.multiply(G),new v(256)),E=h(A.add(q),new v(256));L=L.add(new v(1).subtract(m(c,new v(0))).multiply(m(new v(64),E).multiply(H(m(new v(192),E))))),L=L.add(H(m(B,T))),L=L.add(m(D,T)),L=L.add(m(p,new v(0)));let F=k.multiply(s.zw);const J=x(F);1===this.iconType&&(F=F.multiply(U));const K=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new g(s.xy,new v(1))).add(z.multiply(new g(t.multiply(F),0))).add(W.multiply(new g(y,0)));return{glPosition:new f(K.xy,n.add(L),new v(1)),color:e,opacity:p,haloWidth:l,haloColor:i,size:J,tex:P}}fragment(o){const t=new i,{color:e,tex:l,opacity:p,size:r,haloWidth:a,haloColor:s}=o,{isStencilPass:n,tileOpacity:d}=this.config;if(1===this.iconType){let o=e;const i=D(T(this.pageTexture,l)).subtract(new v(.5)).multiply(E).multiply(C(r.x,r.y));o=o.multiply(w(new v(.5).subtract(i),new v(0),new v(1))),t.fragColor=M(z(a,new v(.25)),this.getColorWithOutline(i,r,a,o,s,p),o.multiply(p)).multiply(d)}else{const o=T(this.pageTexture,l);W(S(n,new v(1)),b(o.a,L)),t.discard=W(S(n,new v(1)),b(o.a,L)),t.fragColor=o.multiply(p).multiply(d)}return t}getColorWithOutline(o,t,e,i,l,p){const r=E.multiply(O(e,q.multiply(C(t.x,t.y))));let a=l;return a=a.multiply(w(new v(.5).subtract(x(o).subtract(r)),new v(0),new v(1))),p.multiply(lo(i,a))}getSize(o){return this.sizeMix?.value&&o.size&&o.sizeTo?I(o.size,o.sizeTo,this.sizeMix.value):o.size?o.size:this.size?.value||new v(0)}getColor(o){return this.colorMix?.value&&o.color&&o.colorTo?I(o.color,o.colorTo,this.colorMix.value):o.color?o.color:this.color?.value||new f(0)}getOpacity(o){return this.opacityMix?.value&&o.opacity&&o.opacityTo?I(o.opacity,o.opacityTo,this.opacityMix.value):o.opacity?o.opacity:this.opacity?.value||new v(1)}getHaloColor(o){return this.haloColorMix?.value&&o.haloColor&&o.haloColorTo?I(o.haloColor,o.haloColorTo,this.haloColorMix.value):o.haloColor?o.haloColor:this.haloColor?.value||new f(1)}getHaloWidth(o){if(1===this.iconType){if(this.opacityMix?.value&&o.haloWidth&&o.haloWidthTo)return I(o.haloWidth,o.haloWidthTo,this.opacityMix.value);if(o.haloWidth)return o.haloWidth}return new v(0)}}function lo(o,t){const e=t.a.add(o.a.multiply(H(t.a))),i=t.rgb.add(o.rgb.multiply(H(t.a)));return new f(i,e)}o([p(P)],io.prototype,"view",void 0),o([p(B)],io.prototype,"tileContainer",void 0),o([p(A)],io.prototype,"tile",void 0),o([p(K)],io.prototype,"page",void 0),o([r(j)],io.prototype,"pageTexture",void 0),o([p(N)],io.prototype,"config",void 0),o([a(Q)],io.prototype,"size",void 0),o([a(R)],io.prototype,"sizeMix",void 0),o([a(X)],io.prototype,"opacity",void 0),o([a(Y)],io.prototype,"opacityMix",void 0),o([a(Z)],io.prototype,"color",void 0),o([a($)],io.prototype,"colorMix",void 0),o([a(_)],io.prototype,"haloColor",void 0),o([a(oo)],io.prototype,"haloColorMix",void 0),o([a(to)],io.prototype,"haloBlur",void 0),o([a(eo)],io.prototype,"haloBlurMix",void 0),o([s],io.prototype,"iconType",void 0),o([s],io.prototype,"rotationAlignmentMap",void 0),o([s],io.prototype,"translateAnchorViewport",void 0),o([t(0,n(F))],io.prototype,"vertex",null),o([t(0,n(J))],io.prototype,"fragment",null);export{io as VTLShaderIcon};
2
+ import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as l,uniform as p,texture as r,option as a,define as s,input as n,VertexInput as d,UniformGroup as y,FragmentInput as c}from"../../../GraphShaderModule.js";import{mod as h,Float as v,unpackVec4 as u,clamp as w,step as m,abs as x,Vec3 as g,Vec4 as f,texture2D as T,max as C,ifElse as M,greaterThan as z,and as W,lessThan as b,equal as I,min as S,mix as O,Vec2 as V,Sampler2D as j}from"../../../graph/glsl.js";import{Tile as A}from"../Tile.js";import{TileInfo as B}from"../TileInfo.js";import{oneMinus as H,rgba2float as D}from"../utils.js";import{ViewInfo as P}from"../ViewInfo.js";const k=new v(1/8),U=new v(120/86),G=new v(256/360),L=new v(1/255.5),q=new v(16/86),E=new v(.248062016);class F extends d{}o([l(0,f)],F.prototype,"positionAndOffset",void 0),o([l(1,f)],F.prototype,"iconInfo",void 0),o([l(2,f)],F.prototype,"color",void 0),o([l(3,v)],F.prototype,"opacity",void 0),o([l(4,f)],F.prototype,"haloColor",void 0),o([l(5,v)],F.prototype,"haloWidth",void 0),o([l(6,v)],F.prototype,"haloBlur",void 0),o([l(7,v)],F.prototype,"size",void 0),o([l(8,f)],F.prototype,"colorTo",void 0),o([l(9,v)],F.prototype,"opacityTo",void 0),o([l(10,f)],F.prototype,"haloColorTo",void 0),o([l(11,v)],F.prototype,"haloWidthTo",void 0),o([l(12,v)],F.prototype,"haloBlurTo",void 0),o([l(13,v)],F.prototype,"sizeTo",void 0),o([l(14,v)],F.prototype,"opacityInfo",void 0);class J extends c{}class K extends y{}o([p(V)],K.prototype,"mosaicSize",void 0);class N extends y{}o([p(V)],N.prototype,"iconTranslation",void 0),o([p(v)],N.prototype,"depth",void 0),o([p(v)],N.prototype,"level",void 0),o([p(v)],N.prototype,"keepUpright",void 0),o([p(v)],N.prototype,"fadeDuration",void 0),o([p(v)],N.prototype,"time",void 0),o([p(v)],N.prototype,"isStencilPass",void 0),o([p(v)],N.prototype,"tileOpacity",void 0);class Q extends y{}o([p(v)],Q.prototype,"value",void 0);class R extends y{}o([p(v)],R.prototype,"value",void 0);class X extends y{}o([p(v)],X.prototype,"value",void 0);class Y extends y{}o([p(v)],Y.prototype,"value",void 0);class Z extends y{}o([p(f)],Z.prototype,"value",void 0);class $ extends y{}o([p(v)],$.prototype,"value",void 0);class _ extends y{}o([p(f)],_.prototype,"value",void 0);class oo extends y{}o([p(v)],oo.prototype,"value",void 0);class to extends y{}o([p(v)],to.prototype,"value",void 0);class eo extends y{}o([p(v)],eo.prototype,"value",void 0);class io extends e{constructor(){super(...arguments),this.type="VTLShaderIcon",this.iconType=0}vertex(o){const t=this.getSize(o),e=this.getColor(o),i=this.getHaloColor(o),l=this.getHaloWidth(o);let p=this.getOpacity(o);const{iconInfo:r,opacityInfo:a,positionAndOffset:s}=o,{depth:n,fadeDuration:d,iconTranslation:y,keepUpright:c,level:T,time:C}=this.config,{mosaicSize:M}=this.page,z=this.rotationAlignmentMap?this.view.displayViewMat3:this.view.displayMat3,W=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,b=h(a,new v(128)),I=a.subtract(b).divide(new v(128)),S=b.divide(new v(127)),[O,V]=u(r,8),j=w(S.add(new v(2).multiply(I.subtract(new v(.5)).multiply(C.divide(d)))),new v(0),new v(1));p=p.multiply(j);const A=V[1],B=V[2],D=V[3],P=O.xy.divide(M);let L=new v(0);const q=h(this.view.rotation.multiply(G),new v(256)),E=h(A.add(q),new v(256));L=L.add(new v(1).subtract(m(c,new v(0))).multiply(m(new v(64),E).multiply(H(m(new v(192),E))))),L=L.add(H(m(B,T))),L=L.add(m(D,T)),L=L.add(m(p,new v(0)));let F=k.multiply(s.zw);const J=x(F);1===this.iconType&&(F=F.multiply(U));const K=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new g(s.xy,new v(1))).add(z.multiply(new g(t.multiply(F),0))).add(W.multiply(new g(y,0)));return{glPosition:new f(K.xy,n.add(L),new v(1)),color:e,opacity:p,haloWidth:l,haloColor:i,size:J,tex:P}}fragment(o){const t=new i,{color:e,tex:l,opacity:p,size:r,haloWidth:a,haloColor:s}=o,{isStencilPass:n,tileOpacity:d}=this.config;if(1===this.iconType){let o=e;const i=D(T(this.pageTexture,l)).subtract(new v(.5)).multiply(E).multiply(C(r.x,r.y));o=o.multiply(w(new v(.5).subtract(i),new v(0),new v(1))),t.fragColor=M(z(a,new v(.25)),this.getColorWithOutline(i,r,a,o,s,p),o.multiply(p)).multiply(d)}else{const o=T(this.pageTexture,l);W(I(n,new v(1)),b(o.a,L)),t.discard=W(I(n,new v(1)),b(o.a,L)),t.fragColor=o.multiply(p).multiply(d)}return t}getColorWithOutline(o,t,e,i,l,p){const r=E.multiply(S(e,q.multiply(C(t.x,t.y))));let a=l;return a=a.multiply(w(new v(.5).subtract(x(o).subtract(r)),new v(0),new v(1))),p.multiply(lo(i,a))}getSize(o){return this.sizeMix?.value&&o.size&&o.sizeTo?O(o.size,o.sizeTo,this.sizeMix.value):o.size?o.size:this.size?.value||new v(0)}getColor(o){return this.colorMix?.value&&o.color&&o.colorTo?O(o.color,o.colorTo,this.colorMix.value):o.color?o.color:this.color?.value||new f(0)}getOpacity(o){return this.opacityMix?.value&&o.opacity&&o.opacityTo?O(o.opacity,o.opacityTo,this.opacityMix.value):o.opacity?o.opacity:this.opacity?.value||new v(1)}getHaloColor(o){return this.haloColorMix?.value&&o.haloColor&&o.haloColorTo?O(o.haloColor,o.haloColorTo,this.haloColorMix.value):o.haloColor?o.haloColor:this.haloColor?.value||new f(1)}getHaloWidth(o){if(1===this.iconType){if(this.opacityMix?.value&&o.haloWidth&&o.haloWidthTo)return O(o.haloWidth,o.haloWidthTo,this.opacityMix.value);if(o.haloWidth)return o.haloWidth}return new v(0)}}function lo(o,t){const e=t.a.add(o.a.multiply(H(t.a))),i=t.rgb.add(o.rgb.multiply(H(t.a)));return new f(i,e)}o([p(P)],io.prototype,"view",void 0),o([p(B)],io.prototype,"tileInfo",void 0),o([p(A)],io.prototype,"tile",void 0),o([p(K)],io.prototype,"page",void 0),o([r(j)],io.prototype,"pageTexture",void 0),o([p(N)],io.prototype,"config",void 0),o([a(Q)],io.prototype,"size",void 0),o([a(R)],io.prototype,"sizeMix",void 0),o([a(X)],io.prototype,"opacity",void 0),o([a(Y)],io.prototype,"opacityMix",void 0),o([a(Z)],io.prototype,"color",void 0),o([a($)],io.prototype,"colorMix",void 0),o([a(_)],io.prototype,"haloColor",void 0),o([a(oo)],io.prototype,"haloColorMix",void 0),o([a(to)],io.prototype,"haloBlur",void 0),o([a(eo)],io.prototype,"haloBlurMix",void 0),o([s],io.prototype,"iconType",void 0),o([s],io.prototype,"rotationAlignmentMap",void 0),o([s],io.prototype,"translateAnchorViewport",void 0),o([t(0,n(F))],io.prototype,"vertex",null),o([t(0,n(J))],io.prototype,"fragment",null);export{io as VTLShaderIcon};
@@ -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{GraphShaderModule as o,FragmentOutput as i,location as l,uniform as r,define as p,option as a,texture as s,input as d,FragmentInput as n,VertexInput as y,UniformGroup as u}from"../../../GraphShaderModule.js";import{Vec2 as v,Float as c,Vec3 as h,Vec4 as w,dot as f,length as m,clamp as x,fract as g,mix as T,texture2D as b,Sampler2D as M}from"../../../graph/glsl.js";import{Tile as C}from"../Tile.js";import{TileInfo as z}from"../TileInfo.js";import{rgba2float as L}from"../utils.js";import{ViewInfo as O}from"../ViewInfo.js";const S=1/31,V=15.5,W=8;class j extends y{}t([l(0,v)],j.prototype,"position",void 0),t([l(1,w)],j.prototype,"extrudeOffset",void 0),t([l(2,w)],j.prototype,"directionNormal",void 0),t([l(3,v)],j.prototype,"accumulatedDistance",void 0),t([l(4,w)],j.prototype,"color",void 0),t([l(5,c)],j.prototype,"width",void 0),t([l(6,c)],j.prototype,"opacity",void 0),t([l(7,c)],j.prototype,"blur",void 0),t([l(8,c)],j.prototype,"offset",void 0),t([l(9,w)],j.prototype,"tlbr",void 0),t([l(10,w)],j.prototype,"colorTo",void 0),t([l(11,c)],j.prototype,"widthTo",void 0),t([l(12,c)],j.prototype,"opacityTo",void 0),t([l(13,c)],j.prototype,"blurTo",void 0),t([l(14,c)],j.prototype,"offsetTo",void 0);class D extends u{}t([r(v)],D.prototype,"lineTranslation",void 0),t([r(c)],D.prototype,"depth",void 0);class R extends u{}t([r(v)],R.prototype,"mosaicSize",void 0);class I extends u{}t([r(c)],I.prototype,"tileOpacity",void 0);class B extends u{}t([r(w)],B.prototype,"value",void 0);class N extends u{}t([r(c)],N.prototype,"value",void 0);class A extends u{}t([r(c)],A.prototype,"value",void 0);class F extends u{}t([r(c)],F.prototype,"value",void 0);class G extends u{}t([r(c)],G.prototype,"value",void 0);class P extends u{}t([r(c)],P.prototype,"value",void 0);class Z extends u{}t([r(c)],Z.prototype,"value",void 0);class k extends u{}t([r(c)],k.prototype,"value",void 0);class q extends u{}t([r(c)],q.prototype,"value",void 0);class E extends u{}t([r(c)],E.prototype,"value",void 0);class H extends u{}t([r(w)],H.prototype,"value",void 0);class J extends o{constructor(){super(...arguments),this.type="VTLShaderLine"}vertex(t){const e=this.getColor(t).multiply(this.getOpacity(t)),o=this.getBlur(t).add(this.view.antialiasing),i=t.directionNormal.zw.multiply(S);let l=this.getTLBR(t);const r=this.getWidth(t);let p=new v(0),a=new c(1);1!==this.lineType&&2!==this.lineType||(p=new v(l.z.subtract(l.x),l.y.subtract(l.w)),l=l.divide(this.page.mosaicSize.xyxy),a=1===this.lineType?r.divide(p.y):r.divide(V).multiply(.5));const s=new c(r.add(this.view.antialiasing)).multiply(.5),d=t.directionNormal.xy.multiply(S),n=t.extrudeOffset.zw.multiply(S).multiply(this.getOffset(t)),y=s.multiply(S).multiply(t.extrudeOffset.xy),u=this.tile.getZoomFactor(this.view,this.tileContainer),m=new c(W).divide(u),x=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new h(t.position.add(n.multiply(m)),1)),g=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,T=new h(this.view.displayViewMat3.multiply(new h(y,0))).add(g.multiply(new h(this.layerInfo.lineTranslation,0))),b=x.add(T),M=new w(b.xy,this.layerInfo.depth,1);let C=new c(0);return 1!==this.lineType&&2!==this.lineType||(C=t.accumulatedDistance.x.multiply(u.divide(new c(W))).add(f(d,y.add(n)))),{glPosition:M,color:e,tlbr:l,normal:i,patternSize:p,widthRatio:a,halfLineWidth:s,blur:o,accumulatedDistance:C}}fragment(t){const e=new i,o=m(t.normal).multiply(t.halfLineWidth),l=new c(t.halfLineWidth.subtract(o)).divide(t.blur),r=x(l,new c(0),new c(1));if(1===this.lineType){const o=g(t.accumulatedDistance.divide(t.patternSize.x.multiply(t.widthRatio))),i=new c(.5).add(t.normal.y.multiply(t.halfLineWidth.divide(t.patternSize.y.multiply(t.widthRatio)))),l=T(t.tlbr.xy,t.tlbr.zw,new v(o,i)),p=b(this.pageTexture,l);e.fragColor=p.multiply(r).multiply(t.color.a)}else if(2===this.lineType){const o=g(t.accumulatedDistance.multiply(.5).divide(t.patternSize.x.multiply(t.widthRatio))),i=new c(.5).add(new c(.25).multiply(t.normal.y)),l=T(t.tlbr.xy,t.tlbr.zw,new v(o,i)),p=L(b(this.pageTexture,l)).subtract(new c(.5)).multiply(t.halfLineWidth.add(this.view.antialiasing.multiply(.5)));e.fragColor=r.multiply(x(new c(.5).subtract(p),new c(0),new c(1))).multiply(t.color)}else e.fragColor=t.color.multiply(r);return e.fragColor=this.tileConfig.tileOpacity.multiply(e.fragColor),e}getColor(t){return this.colorMix?.value&&t.color&&t.colorTo?T(t.color,t.colorTo,this.colorMix.value):t.color?t.color:this.color?.value||new w(0)}getWidth(t){return this.widthMix?.value&&t.width&&t.widthTo?T(t.width,t.widthTo,this.widthMix.value):t.width?t.width:this.width?.value||new c(0)}getBlur(t){return this.blurMix?.value&&t.blur&&t.blurTo?T(t.blur,t.blurTo,this.blurMix.value):t.blur?t.blur:this.blur?.value||new c(0)}getOpacity(t){return this.opacityMix?.value&&t.opacity&&t.opacityTo?T(t.opacity,t.opacityTo,this.opacityMix.value):t.opacity?t.opacity:this.opacity?.value||new c(1)}getOffset(t){return this.offsetMix?.value&&t.offset&&t.offsetTo?T(t.offset,t.offsetTo,this.offsetMix.value):t.offset?t.offset:this.offset?.value||new c(0)}getTLBR(t){return t.tlbr?t.tlbr:this.tlbr?.value||new w(0)}}t([p],J.prototype,"lineType",void 0),t([p],J.prototype,"translateAnchorViewport",void 0),t([r(O)],J.prototype,"view",void 0),t([r(z)],J.prototype,"tileContainer",void 0),t([r(C)],J.prototype,"tile",void 0),t([r(D)],J.prototype,"layerInfo",void 0),t([r(I)],J.prototype,"tileConfig",void 0),t([a(R)],J.prototype,"page",void 0),t([a(B)],J.prototype,"color",void 0),t([a(N)],J.prototype,"colorMix",void 0),t([a(A)],J.prototype,"width",void 0),t([a(F)],J.prototype,"widthMix",void 0),t([a(G)],J.prototype,"opacity",void 0),t([a(P)],J.prototype,"opacityMix",void 0),t([a(Z)],J.prototype,"blur",void 0),t([a(k)],J.prototype,"blurMix",void 0),t([a(q)],J.prototype,"offset",void 0),t([a(E)],J.prototype,"offsetMix",void 0),t([a(H)],J.prototype,"tlbr",void 0),t([s(M)],J.prototype,"pageTexture",void 0),t([e(0,d(j))],J.prototype,"vertex",null),t([e(0,d(n))],J.prototype,"fragment",null);export{J as VTLShaderLine};
2
+ import{__decorate as t,__param as e}from"tslib";import{GraphShaderModule as o,FragmentOutput as i,location as l,uniform as p,define as r,option as s,texture as a,input as d,FragmentInput as n,VertexInput as y,UniformGroup as u}from"../../../GraphShaderModule.js";import{Vec2 as v,Float as c,Vec3 as h,Vec4 as w,dot as f,length as m,clamp as x,fract as g,mix as T,texture2D as b,Sampler2D as M}from"../../../graph/glsl.js";import{Tile as z}from"../Tile.js";import{TileInfo as C}from"../TileInfo.js";import{rgba2float as L}from"../utils.js";import{ViewInfo as O}from"../ViewInfo.js";const S=1/31,I=15.5,V=8;class W extends y{}t([l(0,v)],W.prototype,"position",void 0),t([l(1,w)],W.prototype,"extrudeOffset",void 0),t([l(2,w)],W.prototype,"directionNormal",void 0),t([l(3,v)],W.prototype,"accumulatedDistance",void 0),t([l(4,w)],W.prototype,"color",void 0),t([l(5,c)],W.prototype,"width",void 0),t([l(6,c)],W.prototype,"opacity",void 0),t([l(7,c)],W.prototype,"blur",void 0),t([l(8,c)],W.prototype,"offset",void 0),t([l(9,w)],W.prototype,"tlbr",void 0),t([l(10,w)],W.prototype,"colorTo",void 0),t([l(11,c)],W.prototype,"widthTo",void 0),t([l(12,c)],W.prototype,"opacityTo",void 0),t([l(13,c)],W.prototype,"blurTo",void 0),t([l(14,c)],W.prototype,"offsetTo",void 0);class j extends u{}t([p(v)],j.prototype,"lineTranslation",void 0),t([p(c)],j.prototype,"depth",void 0);class D extends u{}t([p(v)],D.prototype,"mosaicSize",void 0);class R extends u{}t([p(c)],R.prototype,"tileOpacity",void 0);class B extends u{}t([p(w)],B.prototype,"value",void 0);class N extends u{}t([p(c)],N.prototype,"value",void 0);class A extends u{}t([p(c)],A.prototype,"value",void 0);class F extends u{}t([p(c)],F.prototype,"value",void 0);class G extends u{}t([p(c)],G.prototype,"value",void 0);class P extends u{}t([p(c)],P.prototype,"value",void 0);class Z extends u{}t([p(c)],Z.prototype,"value",void 0);class k extends u{}t([p(c)],k.prototype,"value",void 0);class q extends u{}t([p(c)],q.prototype,"value",void 0);class E extends u{}t([p(c)],E.prototype,"value",void 0);class H extends u{}t([p(w)],H.prototype,"value",void 0);class J extends o{constructor(){super(...arguments),this.type="VTLShaderLine"}vertex(t){const e=this.getColor(t).multiply(this.getOpacity(t)),o=this.getBlur(t).add(this.view.antialiasing),i=t.directionNormal.zw.multiply(S);let l=this.getTLBR(t);const p=this.getWidth(t);let r=new v(0),s=new c(1);1!==this.lineType&&2!==this.lineType||(r=new v(l.z.subtract(l.x),l.y.subtract(l.w)),l=l.divide(this.page.mosaicSize.xyxy),s=1===this.lineType?p.divide(r.y):p.divide(I).multiply(.5));const a=new c(p.add(this.view.antialiasing)).multiply(.5),d=t.directionNormal.xy.multiply(S),n=t.extrudeOffset.zw.multiply(S).multiply(this.getOffset(t)),y=a.multiply(S).multiply(t.extrudeOffset.xy),u=this.tile.getZoomFactor(this.view,this.tileInfo),m=new c(V).divide(u),x=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new h(t.position.add(n.multiply(m)),1)),g=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,T=new h(this.view.displayViewMat3.multiply(new h(y,0))).add(g.multiply(new h(this.layerInfo.lineTranslation,0))),b=x.add(T),M=new w(b.xy,this.layerInfo.depth,1);let z=new c(0);return 1!==this.lineType&&2!==this.lineType||(z=t.accumulatedDistance.x.multiply(u.divide(new c(V))).add(f(d,y.add(n)))),{glPosition:M,color:e,tlbr:l,normal:i,patternSize:r,widthRatio:s,halfLineWidth:a,blur:o,accumulatedDistance:z}}fragment(t){const e=new i,o=m(t.normal).multiply(t.halfLineWidth),l=new c(t.halfLineWidth.subtract(o)).divide(t.blur),p=x(l,new c(0),new c(1));if(1===this.lineType){const o=g(t.accumulatedDistance.divide(t.patternSize.x.multiply(t.widthRatio))),i=new c(.5).add(t.normal.y.multiply(t.halfLineWidth.divide(t.patternSize.y.multiply(t.widthRatio)))),l=T(t.tlbr.xy,t.tlbr.zw,new v(o,i)),r=b(this.pageTexture,l);e.fragColor=r.multiply(p).multiply(t.color.a)}else if(2===this.lineType){const o=g(t.accumulatedDistance.multiply(.5).divide(t.patternSize.x.multiply(t.widthRatio))),i=new c(.5).add(new c(.25).multiply(t.normal.y)),l=T(t.tlbr.xy,t.tlbr.zw,new v(o,i)),r=L(b(this.pageTexture,l)).subtract(new c(.5)).multiply(t.halfLineWidth.add(this.view.antialiasing.multiply(.5)));e.fragColor=p.multiply(x(new c(.5).subtract(r),new c(0),new c(1))).multiply(t.color)}else e.fragColor=t.color.multiply(p);return e.fragColor=this.tileConfig.tileOpacity.multiply(e.fragColor),e}getColor(t){return this.colorMix?.value&&t.color&&t.colorTo?T(t.color,t.colorTo,this.colorMix.value):t.color?t.color:this.color?.value||new w(0)}getWidth(t){return this.widthMix?.value&&t.width&&t.widthTo?T(t.width,t.widthTo,this.widthMix.value):t.width?t.width:this.width?.value||new c(0)}getBlur(t){return this.blurMix?.value&&t.blur&&t.blurTo?T(t.blur,t.blurTo,this.blurMix.value):t.blur?t.blur:this.blur?.value||new c(0)}getOpacity(t){return this.opacityMix?.value&&t.opacity&&t.opacityTo?T(t.opacity,t.opacityTo,this.opacityMix.value):t.opacity?t.opacity:this.opacity?.value||new c(1)}getOffset(t){return this.offsetMix?.value&&t.offset&&t.offsetTo?T(t.offset,t.offsetTo,this.offsetMix.value):t.offset?t.offset:this.offset?.value||new c(0)}getTLBR(t){return t.tlbr?t.tlbr:this.tlbr?.value||new w(0)}}t([r],J.prototype,"lineType",void 0),t([r],J.prototype,"translateAnchorViewport",void 0),t([p(O)],J.prototype,"view",void 0),t([p(C)],J.prototype,"tileInfo",void 0),t([p(z)],J.prototype,"tile",void 0),t([p(j)],J.prototype,"layerInfo",void 0),t([p(R)],J.prototype,"tileConfig",void 0),t([s(D)],J.prototype,"page",void 0),t([s(B)],J.prototype,"color",void 0),t([s(N)],J.prototype,"colorMix",void 0),t([s(A)],J.prototype,"width",void 0),t([s(F)],J.prototype,"widthMix",void 0),t([s(G)],J.prototype,"opacity",void 0),t([s(P)],J.prototype,"opacityMix",void 0),t([s(Z)],J.prototype,"blur",void 0),t([s(k)],J.prototype,"blurMix",void 0),t([s(q)],J.prototype,"offset",void 0),t([s(E)],J.prototype,"offsetMix",void 0),t([s(H)],J.prototype,"tlbr",void 0),t([a(M)],J.prototype,"pageTexture",void 0),t([e(0,d(W))],J.prototype,"vertex",null),t([e(0,d(n))],J.prototype,"fragment",null);export{J as VTLShaderLine};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as p,uniform as r,option as l,define as s,input as a,VertexInput as n,UniformGroup as y,FragmentInput as c}from"../../../GraphShaderModule.js";import{Float as d,Vec3 as v,Vec4 as u,length as h,smoothstep as m,mix as w,Vec2 as f}from"../../../graph/glsl.js";import{Tile as x}from"../Tile.js";import{TileInfo as g}from"../TileInfo.js";import{ViewInfo as T}from"../ViewInfo.js";const M=new d(1/15);class V extends n{}o([p(0,f)],V.prototype,"position",void 0),o([p(1,f)],V.prototype,"offset",void 0),o([p(2,f)],V.prototype,"normal",void 0),o([p(3,u)],V.prototype,"color",void 0),o([p(4,d)],V.prototype,"opacity",void 0),o([p(5,u)],V.prototype,"colorTo",void 0),o([p(6,d)],V.prototype,"opacityTo",void 0);class j extends c{}class C extends y{}o([r(f)],C.prototype,"fillTranslation",void 0),o([r(d)],C.prototype,"depth",void 0),o([r(d)],C.prototype,"outlineWidth",void 0);class O extends y{}o([r(d)],O.prototype,"value",void 0);class S extends y{}o([r(d)],S.prototype,"value",void 0);class A extends y{}o([r(u)],A.prototype,"value",void 0);class I extends y{}o([r(d)],I.prototype,"value",void 0);class W extends e{constructor(){super(...arguments),this.type="VTLShaderOutline"}vertex(o){const t=this.getColor(o).multiply(this.getOpacity(o)),{normal:e,offset:i}=o,{depth:p,outlineWidth:r,fillTranslation:l}=this.config,s=r.multiply(M).multiply(i),a=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,n=new v(this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new v(o.position,1))).add(a.multiply(new v(s.add(l),0)));return{glPosition:new u(n.xy,p,new d(1)),color:t,normal:e}}fragment(o){const t=new i,{color:e,normal:p}=o,r=h(p),l=m(new d(1),new d(0),r);return t.fragColor=e.multiply(l),t}getColor(o){return this.colorMix?.value&&o.color&&o.colorTo?w(o.color,o.colorTo,this.colorMix.value):o.color?o.color:this.color?.value||new u(0)}getOpacity(o){return this.opacityMix?.value&&o.opacity&&o.opacityTo?w(o.opacity,o.opacityTo,this.opacityMix.value):o.opacity?o.opacity:this.opacity?.value||new d(1)}}o([r(T)],W.prototype,"view",void 0),o([r(g)],W.prototype,"tileContainer",void 0),o([r(x)],W.prototype,"tile",void 0),o([r(C)],W.prototype,"config",void 0),o([l(O)],W.prototype,"opacity",void 0),o([l(S)],W.prototype,"opacityMix",void 0),o([l(A)],W.prototype,"color",void 0),o([l(I)],W.prototype,"colorMix",void 0),o([s],W.prototype,"translateAnchorViewport",void 0),o([t(0,a(V))],W.prototype,"vertex",null),o([t(0,a(j))],W.prototype,"fragment",null);export{W as VTLShaderOutline};
2
+ import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as p,uniform as r,option as l,define as s,input as a,VertexInput as n,UniformGroup as y,FragmentInput as c}from"../../../GraphShaderModule.js";import{Float as d,Vec3 as v,Vec4 as u,length as h,smoothstep as m,mix as f,Vec2 as w}from"../../../graph/glsl.js";import{Tile as x}from"../Tile.js";import{TileInfo as g}from"../TileInfo.js";import{ViewInfo as T}from"../ViewInfo.js";const M=new d(1/15);class V extends n{}o([p(0,w)],V.prototype,"position",void 0),o([p(1,w)],V.prototype,"offset",void 0),o([p(2,w)],V.prototype,"normal",void 0),o([p(3,u)],V.prototype,"color",void 0),o([p(4,d)],V.prototype,"opacity",void 0),o([p(5,u)],V.prototype,"colorTo",void 0),o([p(6,d)],V.prototype,"opacityTo",void 0);class j extends c{}class I extends y{}o([r(w)],I.prototype,"fillTranslation",void 0),o([r(d)],I.prototype,"depth",void 0),o([r(d)],I.prototype,"outlineWidth",void 0);class C extends y{}o([r(d)],C.prototype,"value",void 0);class O extends y{}o([r(d)],O.prototype,"value",void 0);class S extends y{}o([r(u)],S.prototype,"value",void 0);class A extends y{}o([r(d)],A.prototype,"value",void 0);class W extends e{constructor(){super(...arguments),this.type="VTLShaderOutline"}vertex(o){const t=this.getColor(o).multiply(this.getOpacity(o)),{normal:e,offset:i}=o,{depth:p,outlineWidth:r,fillTranslation:l}=this.config,s=r.multiply(M).multiply(i),a=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,n=new v(this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new v(o.position,1))).add(a.multiply(new v(s.add(l),0)));return{glPosition:new u(n.xy,p,new d(1)),color:t,normal:e}}fragment(o){const t=new i,{color:e,normal:p}=o,r=h(p),l=m(new d(1),new d(0),r);return t.fragColor=e.multiply(l),t}getColor(o){return this.colorMix?.value&&o.color&&o.colorTo?f(o.color,o.colorTo,this.colorMix.value):o.color?o.color:this.color?.value||new u(0)}getOpacity(o){return this.opacityMix?.value&&o.opacity&&o.opacityTo?f(o.opacity,o.opacityTo,this.opacityMix.value):o.opacity?o.opacity:this.opacity?.value||new d(1)}}o([r(T)],W.prototype,"view",void 0),o([r(g)],W.prototype,"tileInfo",void 0),o([r(x)],W.prototype,"tile",void 0),o([r(I)],W.prototype,"config",void 0),o([l(C)],W.prototype,"opacity",void 0),o([l(O)],W.prototype,"opacityMix",void 0),o([l(S)],W.prototype,"color",void 0),o([l(A)],W.prototype,"colorMix",void 0),o([s],W.prototype,"translateAnchorViewport",void 0),o([t(0,a(V))],W.prototype,"vertex",null),o([t(0,a(j))],W.prototype,"fragment",null);export{W as VTLShaderOutline};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as l,uniform as p,option as a,texture as r,define as s,input as d,VertexInput as n,UniformGroup as h,FragmentInput as y}from"../../../GraphShaderModule.js";import{mod as v,Float as u,unpackVec4 as c,ifElse as w,greaterThan as x,clamp as m,step as g,lessThan as M,Vec3 as T,Vec4 as f,texture2D as C,smoothstep as z,mix as W,Vec2 as B,Sampler2D as S}from"../../../graph/glsl.js";import{Tile as V}from"../Tile.js";import{TileInfo as j}from"../TileInfo.js";import{oneMinus as A}from"../utils.js";import{ViewInfo as H}from"../ViewInfo.js";class I extends n{}o([l(0,f)],I.prototype,"positionAndOffset",void 0),o([l(1,f)],I.prototype,"iconInfo",void 0),o([l(2,u)],I.prototype,"size",void 0),o([l(3,u)],I.prototype,"opacity",void 0),o([l(4,f)],I.prototype,"color",void 0),o([l(5,f)],I.prototype,"haloColor",void 0),o([l(6,u)],I.prototype,"haloWidth",void 0),o([l(7,u)],I.prototype,"haloBlur",void 0),o([l(8,u)],I.prototype,"sizeTo",void 0),o([l(9,u)],I.prototype,"opacityTo",void 0),o([l(10,f)],I.prototype,"colorTo",void 0),o([l(11,f)],I.prototype,"haloColorTo",void 0),o([l(12,u)],I.prototype,"haloWidthTo",void 0),o([l(13,u)],I.prototype,"haloBlurTo",void 0),o([l(14,u)],I.prototype,"opacityInfo",void 0);class O extends y{}class b extends h{}o([p(u)],b.prototype,"halo",void 0),o([p(u)],b.prototype,"depth",void 0),o([p(u)],b.prototype,"level",void 0),o([p(u)],b.prototype,"keepUpright",void 0),o([p(u)],b.prototype,"fadeDuration",void 0),o([p(u)],b.prototype,"time",void 0),o([p(u)],b.prototype,"isStencilPass",void 0),o([p(u)],b.prototype,"antialiasingWidth",void 0),o([p(B)],b.prototype,"textTranslation",void 0),o([p(u)],b.prototype,"tileOpacity",void 0);class D extends h{}o([p(B)],D.prototype,"mosaicSize",void 0);class k extends h{}o([p(u)],k.prototype,"value",void 0);class P extends h{}o([p(u)],P.prototype,"value",void 0);class U extends h{}o([p(f)],U.prototype,"value",void 0);class G extends h{}o([p(u)],G.prototype,"value",void 0);class L extends h{}o([p(f)],L.prototype,"value",void 0);class q extends h{}o([p(u)],q.prototype,"value",void 0);class E extends h{}o([p(u)],E.prototype,"value",void 0);class F extends h{}o([p(u)],F.prototype,"value",void 0);class J extends h{}o([p(u)],J.prototype,"value",void 0);class K extends h{}o([p(u)],K.prototype,"value",void 0);class N extends h{}o([p(u)],N.prototype,"value",void 0);class Q extends h{}o([p(u)],Q.prototype,"value",void 0);const R=new u(1/8),X=new u(1/24),Y=new u(3),Z=new u(256/360),$=new u(.75);class _ extends e{constructor(){super(...arguments),this.type="VTLShaderText"}vertex(o){const t=this.getSize(o),e=this.getHaloColor(o),i=this.getColor(o);let l=this.getHaloWidth(o),p=this.getHaloBlur(o);const a=this.getOpacity(o),{iconInfo:r,opacityInfo:s,positionAndOffset:d}=o,{antialiasingWidth:n,depth:h,halo:y,level:C,keepUpright:z,fadeDuration:W,textTranslation:B,time:S}=this.config,{mosaicSize:V}=this.page,j=this.rotationAlignmentMap?this.view.displayViewMat3:this.view.displayMat3,H=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,I=v(s,new u(128)),O=s.subtract(I).divide(new u(128)),b=I.divide(new u(127)),[D,k]=c(r,8);let P=w(x(y,new u(.5)),e.multiply(a),i.multiply(a));l=w(x(y,new u(.5)),l.multiply(Y),new u(0)),p=w(x(y,new u(.5)),p.multiply(Y),new u(0));const U=m(b.add(new u(2).multiply(O.subtract(new u(.5)).multiply(S.divide(W)))),new u(0),new u(1));P=P.multiply(U);const G=k[1],L=k[2],q=k[3],E=D.xy.divide(V),F=D.z,J=D.w,K=v(this.view.rotation.multiply(Z),new u(256)),N=v(G.add(K),new u(256));let Q=new u(0);Q=w(M(F,J),A(g(z,new u(0))).multiply(g(J,N).add(A(g(F,N)))),A(g(z,new u(0))).multiply(g(J,N).multiply(A(g(F,N))))),Q=Q.add(A(g(L,C))),Q=Q.add(g(q,C)),Q=Q.add(g(P[3],new u(0)));const _=$.subtract(l.divide(t)),oo=n.add(p).divide(t),to=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new T(d.xy,new u(1))).add(j.multiply(X).multiply(new T(R.multiply(t.multiply(d.zw)),new u(0)))).add(H.multiply(new T(B,0)));return{glPosition:new f(to.xy,h.add(Q),new u(1)),color:P,tex:E,edgeDistance:_,edgeWidth:oo}}fragment(o){const t=new i,{color:e,tex:l,edgeDistance:p,edgeWidth:a}=o,{tileOpacity:r}=this.config,s=C(this.pageTexture,l).a,d=z(p.subtract(a),p.add(a),s);return t.fragColor=e.multiply(d).multiply(r),t}getSize(o){return this.sizeMix?.value&&o.size&&o.sizeTo?W(o.size,o.sizeTo,this.sizeMix.value):o.size?o.size:this.size?.value||new u(0)}getHaloColor(o){return this.haloColorMix?.value&&o.haloColor&&o.haloColorTo?W(o.haloColor,o.haloColorTo,this.haloColorMix.value):o.haloColor?o.haloColor:this.haloColor?.value||new f(0)}getHaloBlur(o){return this.haloBlurMix?.value&&o.haloBlur&&o.haloBlurTo?W(o.haloBlur,o.haloBlurTo,this.haloBlurMix.value):o.haloBlur?o.haloBlur:this.haloBlur?.value||new u(0)}getHaloWidth(o){return this.haloWidthMix?.value&&o.haloWidth&&o.haloWidthTo?W(o.haloWidth,o.haloWidthTo,this.haloWidthMix.value):o.haloWidth?o.haloWidth:this.haloWidth?.value||new u(0)}getColor(o){return this.colorMix?.value&&o.color&&o.colorTo?W(o.color,o.colorTo,this.colorMix.value):o.color?o.color:this.color?.value||new f(0)}getOpacity(o){return this.opacityMix?.value&&o.opacity&&o.opacityTo?W(o.opacity,o.opacityTo,this.opacityMix.value):o.opacity?o.opacity:this.opacity?.value||new u(1)}}o([p(H)],_.prototype,"view",void 0),o([p(j)],_.prototype,"tileContainer",void 0),o([p(V)],_.prototype,"tile",void 0),o([p(b)],_.prototype,"config",void 0),o([p(D)],_.prototype,"page",void 0),o([a(N)],_.prototype,"size",void 0),o([a(U)],_.prototype,"color",void 0),o([a(L)],_.prototype,"haloColor",void 0),o([a(E)],_.prototype,"haloWidth",void 0),o([a(F)],_.prototype,"haloBlur",void 0),o([a(k)],_.prototype,"opacity",void 0),o([a(Q)],_.prototype,"sizeMix",void 0),o([a(G)],_.prototype,"colorMix",void 0),o([a(q)],_.prototype,"haloColorMix",void 0),o([a(J)],_.prototype,"haloWidthMix",void 0),o([a(K)],_.prototype,"haloBlurMix",void 0),o([a(P)],_.prototype,"opacityMix",void 0),o([r(S)],_.prototype,"pageTexture",void 0),o([s],_.prototype,"rotationAlignmentMap",void 0),o([s],_.prototype,"translateAnchorViewport",void 0),o([t(0,d(I))],_.prototype,"vertex",null),o([t(0,d(O))],_.prototype,"fragment",null);export{_ as VTLShaderText};
2
+ import{__decorate as o,__param as t}from"tslib";import{GraphShaderModule as e,FragmentOutput as i,location as l,uniform as p,option as a,texture as r,define as s,input as d,VertexInput as n,UniformGroup as h,FragmentInput as y}from"../../../GraphShaderModule.js";import{mod as v,Float as u,unpackVec4 as c,ifElse as w,greaterThan as x,clamp as m,step as g,lessThan as f,Vec3 as M,Vec4 as T,texture2D as z,smoothstep as W,mix as C,Vec2 as B,Sampler2D as I}from"../../../graph/glsl.js";import{Tile as S}from"../Tile.js";import{TileInfo as V}from"../TileInfo.js";import{oneMinus as j}from"../utils.js";import{ViewInfo as A}from"../ViewInfo.js";class H extends n{}o([l(0,T)],H.prototype,"positionAndOffset",void 0),o([l(1,T)],H.prototype,"iconInfo",void 0),o([l(2,u)],H.prototype,"size",void 0),o([l(3,u)],H.prototype,"opacity",void 0),o([l(4,T)],H.prototype,"color",void 0),o([l(5,T)],H.prototype,"haloColor",void 0),o([l(6,u)],H.prototype,"haloWidth",void 0),o([l(7,u)],H.prototype,"haloBlur",void 0),o([l(8,u)],H.prototype,"sizeTo",void 0),o([l(9,u)],H.prototype,"opacityTo",void 0),o([l(10,T)],H.prototype,"colorTo",void 0),o([l(11,T)],H.prototype,"haloColorTo",void 0),o([l(12,u)],H.prototype,"haloWidthTo",void 0),o([l(13,u)],H.prototype,"haloBlurTo",void 0),o([l(14,u)],H.prototype,"opacityInfo",void 0);class O extends y{}class b extends h{}o([p(u)],b.prototype,"halo",void 0),o([p(u)],b.prototype,"depth",void 0),o([p(u)],b.prototype,"level",void 0),o([p(u)],b.prototype,"keepUpright",void 0),o([p(u)],b.prototype,"fadeDuration",void 0),o([p(u)],b.prototype,"time",void 0),o([p(u)],b.prototype,"isStencilPass",void 0),o([p(u)],b.prototype,"antialiasingWidth",void 0),o([p(B)],b.prototype,"textTranslation",void 0),o([p(u)],b.prototype,"tileOpacity",void 0);class D extends h{}o([p(B)],D.prototype,"mosaicSize",void 0);class k extends h{}o([p(u)],k.prototype,"value",void 0);class P extends h{}o([p(u)],P.prototype,"value",void 0);class U extends h{}o([p(T)],U.prototype,"value",void 0);class G extends h{}o([p(u)],G.prototype,"value",void 0);class L extends h{}o([p(T)],L.prototype,"value",void 0);class q extends h{}o([p(u)],q.prototype,"value",void 0);class E extends h{}o([p(u)],E.prototype,"value",void 0);class F extends h{}o([p(u)],F.prototype,"value",void 0);class J extends h{}o([p(u)],J.prototype,"value",void 0);class K extends h{}o([p(u)],K.prototype,"value",void 0);class N extends h{}o([p(u)],N.prototype,"value",void 0);class Q extends h{}o([p(u)],Q.prototype,"value",void 0);const R=new u(1/8),X=new u(1/24),Y=new u(3),Z=new u(256/360),$=new u(.75);class _ extends e{constructor(){super(...arguments),this.type="VTLShaderText"}vertex(o){const t=this.getSize(o),e=this.getHaloColor(o),i=this.getColor(o);let l=this.getHaloWidth(o),p=this.getHaloBlur(o);const a=this.getOpacity(o),{iconInfo:r,opacityInfo:s,positionAndOffset:d}=o,{antialiasingWidth:n,depth:h,halo:y,level:z,keepUpright:W,fadeDuration:C,textTranslation:B,time:I}=this.config,{mosaicSize:S}=this.page,V=this.rotationAlignmentMap?this.view.displayViewMat3:this.view.displayMat3,A=this.translateAnchorViewport?this.view.displayMat3:this.view.displayViewMat3,H=v(s,new u(128)),O=s.subtract(H).divide(new u(128)),b=H.divide(new u(127)),[D,k]=c(r,8);let P=w(x(y,new u(.5)),e.multiply(a),i.multiply(a));l=w(x(y,new u(.5)),l.multiply(Y),new u(0)),p=w(x(y,new u(.5)),p.multiply(Y),new u(0));const U=m(b.add(new u(2).multiply(O.subtract(new u(.5)).multiply(I.divide(C)))),new u(0),new u(1));P=P.multiply(U);const G=k[1],L=k[2],q=k[3],E=D.xy.divide(S),F=D.z,J=D.w,K=v(this.view.rotation.multiply(Z),new u(256)),N=v(G.add(K),new u(256));let Q=new u(0);Q=w(f(F,J),j(g(W,new u(0))).multiply(g(J,N).add(j(g(F,N)))),j(g(W,new u(0))).multiply(g(J,N).multiply(j(g(F,N))))),Q=Q.add(j(g(L,z))),Q=Q.add(g(q,z)),Q=Q.add(g(P[3],new u(0)));const _=$.subtract(l.divide(t)),oo=n.add(p).divide(t),to=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new M(d.xy,new u(1))).add(V.multiply(X).multiply(new M(R.multiply(t.multiply(d.zw)),new u(0)))).add(A.multiply(new M(B,0)));return{glPosition:new T(to.xy,h.add(Q),new u(1)),color:P,tex:E,edgeDistance:_,edgeWidth:oo}}fragment(o){const t=new i,{color:e,tex:l,edgeDistance:p,edgeWidth:a}=o,{tileOpacity:r}=this.config,s=z(this.pageTexture,l).a,d=W(p.subtract(a),p.add(a),s);return t.fragColor=e.multiply(d).multiply(r),t}getSize(o){return this.sizeMix?.value&&o.size&&o.sizeTo?C(o.size,o.sizeTo,this.sizeMix.value):o.size?o.size:this.size?.value||new u(0)}getHaloColor(o){return this.haloColorMix?.value&&o.haloColor&&o.haloColorTo?C(o.haloColor,o.haloColorTo,this.haloColorMix.value):o.haloColor?o.haloColor:this.haloColor?.value||new T(0)}getHaloBlur(o){return this.haloBlurMix?.value&&o.haloBlur&&o.haloBlurTo?C(o.haloBlur,o.haloBlurTo,this.haloBlurMix.value):o.haloBlur?o.haloBlur:this.haloBlur?.value||new u(0)}getHaloWidth(o){return this.haloWidthMix?.value&&o.haloWidth&&o.haloWidthTo?C(o.haloWidth,o.haloWidthTo,this.haloWidthMix.value):o.haloWidth?o.haloWidth:this.haloWidth?.value||new u(0)}getColor(o){return this.colorMix?.value&&o.color&&o.colorTo?C(o.color,o.colorTo,this.colorMix.value):o.color?o.color:this.color?.value||new T(0)}getOpacity(o){return this.opacityMix?.value&&o.opacity&&o.opacityTo?C(o.opacity,o.opacityTo,this.opacityMix.value):o.opacity?o.opacity:this.opacity?.value||new u(1)}}o([p(A)],_.prototype,"view",void 0),o([p(V)],_.prototype,"tileInfo",void 0),o([p(S)],_.prototype,"tile",void 0),o([p(b)],_.prototype,"config",void 0),o([p(D)],_.prototype,"page",void 0),o([a(N)],_.prototype,"size",void 0),o([a(U)],_.prototype,"color",void 0),o([a(L)],_.prototype,"haloColor",void 0),o([a(E)],_.prototype,"haloWidth",void 0),o([a(F)],_.prototype,"haloBlur",void 0),o([a(k)],_.prototype,"opacity",void 0),o([a(Q)],_.prototype,"sizeMix",void 0),o([a(G)],_.prototype,"colorMix",void 0),o([a(q)],_.prototype,"haloColorMix",void 0),o([a(J)],_.prototype,"haloWidthMix",void 0),o([a(K)],_.prototype,"haloBlurMix",void 0),o([a(P)],_.prototype,"opacityMix",void 0),o([r(I)],_.prototype,"pageTexture",void 0),o([s],_.prototype,"rotationAlignmentMap",void 0),o([s],_.prototype,"translateAnchorViewport",void 0),o([t(0,d(H))],_.prototype,"vertex",null),o([t(0,d(O))],_.prototype,"fragment",null);export{_ as VTLShaderText};
@@ -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{labelU16ZoomPrecisionFactor as i,labelPlacementOffsetPadding as o,packDegreesU8 as s}from"../../../definitions.js";import{location as l,option as a,uniform as r,texture as n,define as p,input as d,ComputeVertexInput as u}from"../../GraphShaderModule.js";import{Vec4 as y,Vec2 as c,Float as m,Sampler2D as h,mod as f,floor as v,step as w,and as b,lessThan as x,greaterThanEqual as V,Vec3 as S,Mat3 as g,ifElse as z,equal as R,greaterThan as j,Bool as A,texture2D as C,smoothstep as M,Int as O,bitRShift as T,bitAnd as H}from"../../graph/glsl.js";import{FeatureVertexInput as L,AFeatureShader as P,FeatureFragmentInput as F}from"../shaders/AFeatureShader.js";import{bitsetTextIsBackground as N,bitsetTextIsMapAligned as U,noHit as _,trueHit as k}from"../shaders/constants.js";import{isRectHittest as D,distPointTriangle as q,hittestScreenRect as I}from"../shaders/hittestUtils.js";import{MosaicInfo as B}from"../shaders/MosaicInfo.js";import{getBit as E}from"../shaders/utils.js";import{VisualVariableColor as W}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as G}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as Z}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 X}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as Y,getVisualVariableRotation as $}from"../shaders/vvUtils.js";const tt=1/s;class et extends L{}t([l(3,y)],et.prototype,"color",void 0),t([l(4,c)],et.prototype,"offset",void 0),t([l(5,c)],et.prototype,"textureUV",void 0),t([l(6,y)],et.prototype,"fontAndReferenceSize",void 0),t([l(7,y)],et.prototype,"outlineColor",void 0),t([l(8,y)],et.prototype,"haloColor",void 0),t([l(9,c)],et.prototype,"outlineAndHaloSize",void 0),t([l(10,c)],et.prototype,"zoomRange",void 0),t([l(11,m)],et.prototype,"clipAngle",void 0),t([l(12,y)],et.prototype,"referenceSymbol",void 0),t([l(15,m)],et.prototype,"visibility",void 0);class it extends u{}t([l(13,c)],it.prototype,"offsetNextVertex1",void 0),t([l(14,c)],it.prototype,"offsetNextVertex2",void 0);class ot extends F{}class st extends P{constructor(){super(...arguments),this.type="TextShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"]},this.textRenderPassType=0,this.isBackgroundPass=!1,this.isLabel=!1}clipLabel(t,e){const{clipAngle:o,zoomRange:s,visibility:l}=t,a=o.multiply(tt),r=f(a.subtract(this.view.rotation),new m(360));let n=new m(0);const p=i,d=v(this.tileContainer.currentZoom.multiply(p)).divide(p),u=s.x,y=s.y,c=new m(1).subtract(w(u,d)).multiply(2),h=new m(b(V(r,new m(90)),x(r,new m(270)))).multiply(2),S=new m(2).multiply(new m(1).subtract(w(d,y)));return n=n.add(e.multiply(c)),n=n.add(e.multiply(h)),n=n.add(S),l&&(n=n.add(l)),n}vertex(t,e){const i=E(t.bitset,N),s=new m(1).subtract(i);let l=t.fontAndReferenceSize[0];const a=t.fontAndReferenceSize[1],r=t.fontAndReferenceSize[2],n=t.fontAndReferenceSize[3];let p=l.divide(r);const d=1===this.textRenderPassType?t.outlineColor:2===this.textRenderPassType?t.haloColor:this._getVertexColor(t),u=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new S(t.pos,1));let h=t.offset,f=new m(1),v=g.identity(),w=new c(0);if(this.isLabel){if(!t.referenceSymbol)throw new Error("InternalError: Optional attribute 'referenceSymbol' expected for labels");const e=t.referenceSymbol,i=e.xy,s=e.z,l=this._unpackDirection(e.w),a=Y(this,t.id,s).divide(2),r=l.multiply(a.add(o));w=i.add(r),h=h.add(w)}else{f=Y(this,t.id,a).divide(a),l=l.multiply(f),p=p.multiply(f),h=h.multiply(f),v=$(this,t.id),h=v.multiply(new S(h,0)).xy}const b=E(t.bitset,U),x=this._getViewRotationMatrix(b).multiply(new S(h,0)).multiply(this.tileContainer.scaleFactor);let V=this.isLabel?this.clipLabel(t,b):this.clip(t.id,t.zoomRange);V=this.isBackgroundPass?V.add(s.multiply(2)):V.add(i.multiply(2));let C=new m(0);if(1===this.textRenderPassType){V=V.add(z(R(t.outlineAndHaloSize.x,new m(0)),new m(2),new m(0)));C=new m(t.outlineAndHaloSize.x).divide(p).divide(n)}if(2===this.textRenderPassType){const e=t.outlineAndHaloSize.x,i=new m(t.outlineAndHaloSize.y);V=V.add(z(R(i,new m(0)),new m(2),new m(0)));C=i.add(e).divide(p).divide(n)}const M=this.isLabel?j(V,new m(1)):new A(!1);return{glPosition:new y(u.xy.add(x.xy),V,1),color:d,size:p,textureUV:t.textureUV.divide(this.mosaicInfo.size),antialiasingWidth:new m(.105).multiply(r).divide(l).divide(this.view.pixelRatio),outlineDistanceOffset:C,...this.maybeRunHittest(t,e,{vvSizeAdjustment:f,vvRotation:v,labelOffset:w,labelClipped:M,scaleFactor:this.tileContainer.scaleFactor})}}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,i=this.view.displayMat3,o=new m(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getHittestAlignmentMatrix(t){const e=this.tile.getTileMat3(this.view,this.tileContainer),i=this.view.viewMat3.multiply(e),o=e,s=new m(1).subtract(t);return i.multiply(t).add(o.multiply(s))}fragment(t){const e=new m(2/8),i=new m(1).subtract(e),o=C(this.mosaicTexture,t.textureUV).a;let s=i.subtract(t.outlineDistanceOffset);this.highlight&&(s=s.divide(2));const l=t.antialiasingWidth,a=M(s.subtract(l),s.add(l),o);return this.getFragmentOutput(t.color.multiply(a),t)}computeHittestTriangle(t,e,{vvSizeAdjustment:i,vvRotation:o,labelOffset:s,scaleFactor:l}){let a,r,n;this.isLabel?(a=new S(t.offset.multiply(l).add(s),0),r=new S(e.offsetNextVertex1.multiply(l).add(s),0),n=new S(e.offsetNextVertex2.multiply(l).add(s),0)):(a=o.multiply(new S(t.offset.multiply(l).multiply(i),0)),r=o.multiply(new S(e.offsetNextVertex1.multiply(l).multiply(i),0)),n=o.multiply(new S(e.offsetNextVertex2.multiply(l).multiply(i),0)));const p=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new S(t.pos,1)),d=E(t.bitset,U),u=this._getHittestAlignmentMatrix(d);return{pos0:p.add(u.multiply(a)).xy,pos1:p.add(u.multiply(r)).xy,pos2:p.add(u.multiply(n)).xy}}hittest(t,e,i){const{vvSizeAdjustment:o,vvRotation:s,labelOffset:l,labelClipped:a,scaleFactor:r}=i,n=D(this.hittestRequest),{pos0:p,pos1:d,pos2:u}=this.computeHittestTriangle(t,e,{vvSizeAdjustment:o,vvRotation:s,labelOffset:l,scaleFactor:r});return z(n,()=>{const{tlbr:t}=this.hittestRequest;return this.isLabel?z(a,new m(_),I(p,d,u,t)):I(p,d,u,t)},()=>{const t=q(this.hittestRequest.position,p,d,u),e=this.isLabel?a:new A(!1);return z(e,new m(_),z(j(t,this.hittestRequest.distance),new m(_),new m(k)))})}_unpackDirection(t){const e=new O(t),i=T(e,new O(2)),o=H(e,new O(3));return new c(new m(i).subtract(1),new m(o).subtract(1))}_getVertexColor(t){let e=t.color;if(this.visualVariableColor){const i=this.getColorValue(t.id);e=this.visualVariableColor.getColor(i,t.color,new A(!1))}if(this.visualVariableOpacity){const i=this.getOpacityValue(t.id),o=this.visualVariableOpacity.getOpacity(i);e=e.multiply(o)}return e}}t([a(W)],st.prototype,"visualVariableColor",void 0),t([a(G)],st.prototype,"visualVariableOpacity",void 0),t([a(Z)],st.prototype,"visualVariableRotation",void 0),t([a(J)],st.prototype,"visualVariableSizeMinMaxValue",void 0),t([a(K)],st.prototype,"visualVariableSizeScaleStops",void 0),t([a(Q)],st.prototype,"visualVariableSizeStops",void 0),t([a(X)],st.prototype,"visualVariableSizeUnitValue",void 0),t([r(B)],st.prototype,"mosaicInfo",void 0),t([n(h)],st.prototype,"mosaicTexture",void 0),t([p],st.prototype,"textRenderPassType",void 0),t([p],st.prototype,"isBackgroundPass",void 0),t([p],st.prototype,"isLabel",void 0),t([e(0,d(et)),e(1,d(it))],st.prototype,"vertex",null),t([e(0,d(ot))],st.prototype,"fragment",null);export{ot as TextFragmentInput,st as TextShader,et as TextVertexInput};
2
+ import{__decorate as t,__param as e}from"tslib";import{labelU16ZoomPrecisionFactor as i,labelPlacementOffsetPadding as o,packDegreesU8 as s}from"../../../definitions.js";import{location as l,option as a,uniform as r,texture as n,define as p,input as d,ComputeVertexInput as u}from"../../GraphShaderModule.js";import{Vec4 as y,Vec2 as c,Float as m,Sampler2D as h,mod as f,floor as v,step as w,and as b,lessThan as x,greaterThanEqual as V,Vec3 as S,Mat3 as g,ifElse as z,equal as R,greaterThan as j,Bool as A,texture2D as M,smoothstep as C,Int as O,bitRShift as T,bitAnd as H}from"../../graph/glsl.js";import{FeatureVertexInput as I,AFeatureShader as L,FeatureFragmentInput as P}from"../shaders/AFeatureShader.js";import{bitsetTextIsBackground as F,bitsetTextIsMapAligned as N,noHit as U,trueHit as _}from"../shaders/constants.js";import{isRectHittest as k,distPointTriangle as D,hittestScreenRect as q}from"../shaders/hittestUtils.js";import{MosaicInfo as B}from"../shaders/MosaicInfo.js";import{getBit as E}from"../shaders/utils.js";import{VisualVariableColor as W}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as G}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as Z}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 X}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as Y,getVisualVariableRotation as $}from"../shaders/vvUtils.js";const tt=1/s;class et extends I{}t([l(3,y)],et.prototype,"color",void 0),t([l(4,c)],et.prototype,"offset",void 0),t([l(5,c)],et.prototype,"textureUV",void 0),t([l(6,y)],et.prototype,"fontAndReferenceSize",void 0),t([l(7,y)],et.prototype,"outlineColor",void 0),t([l(8,y)],et.prototype,"haloColor",void 0),t([l(9,c)],et.prototype,"outlineAndHaloSize",void 0),t([l(10,c)],et.prototype,"zoomRange",void 0),t([l(11,m)],et.prototype,"clipAngle",void 0),t([l(12,y)],et.prototype,"referenceSymbol",void 0),t([l(15,m)],et.prototype,"visibility",void 0);class it extends u{}t([l(13,c)],it.prototype,"offsetNextVertex1",void 0),t([l(14,c)],it.prototype,"offsetNextVertex2",void 0);class ot extends P{}class st extends L{constructor(){super(...arguments),this.type="TextShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"]},this.textRenderPassType=0,this.isBackgroundPass=!1,this.isLabel=!1}clipLabel(t,e){const{clipAngle:o,zoomRange:s,visibility:l}=t,a=o.multiply(tt),r=f(a.subtract(this.view.rotation),new m(360));let n=new m(0);const p=i,d=v(this.tileInfo.currentZoom.multiply(p)).divide(p),u=s.x,y=s.y,c=new m(1).subtract(w(u,d)).multiply(2),h=new m(b(V(r,new m(90)),x(r,new m(270)))).multiply(2),S=new m(2).multiply(new m(1).subtract(w(d,y)));return n=n.add(e.multiply(c)),n=n.add(e.multiply(h)),n=n.add(S),l&&(n=n.add(l)),n}vertex(t,e){const i=E(t.bitset,F),s=new m(1).subtract(i);let l=t.fontAndReferenceSize[0];const a=t.fontAndReferenceSize[1],r=t.fontAndReferenceSize[2],n=t.fontAndReferenceSize[3];let p=l.divide(r);const d=1===this.textRenderPassType?t.outlineColor:2===this.textRenderPassType?t.haloColor:this._getVertexColor(t),u=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new S(t.pos,1));let h=t.offset,f=new m(1),v=g.identity(),w=new c(0);if(this.isLabel){if(!t.referenceSymbol)throw new Error("InternalError: Optional attribute 'referenceSymbol' expected for labels");const e=t.referenceSymbol,i=e.xy,s=e.z,l=this._unpackDirection(e.w),a=Y(this,t.id,s).divide(2),r=l.multiply(a.add(o));w=i.add(r),h=h.add(w)}else{f=Y(this,t.id,a).divide(a),l=l.multiply(f),p=p.multiply(f),h=h.multiply(f),v=$(this,t.id),h=v.multiply(new S(h,0)).xy}const b=E(t.bitset,N),x=this._getViewRotationMatrix(b).multiply(new S(h,0)).multiply(this.tileInfo.scaleFactor);let V=this.isLabel?this.clipLabel(t,b):this.clip(t.id,t.zoomRange);V=this.isBackgroundPass?V.add(s.multiply(2)):V.add(i.multiply(2));let M=new m(0);if(1===this.textRenderPassType){V=V.add(z(R(t.outlineAndHaloSize.x,new m(0)),new m(2),new m(0)));M=new m(t.outlineAndHaloSize.x).divide(p).divide(n)}if(2===this.textRenderPassType){const e=t.outlineAndHaloSize.x,i=new m(t.outlineAndHaloSize.y);V=V.add(z(R(i,new m(0)),new m(2),new m(0)));M=i.add(e).divide(p).divide(n)}const C=this.isLabel?j(V,new m(1)):new A(!1);return{glPosition:new y(u.xy.add(x.xy),V,1),color:d,size:p,textureUV:t.textureUV.divide(this.mosaicInfo.size),antialiasingWidth:new m(.105).multiply(r).divide(l).divide(this.view.pixelRatio),outlineDistanceOffset:M,...this.maybeRunHittest(t,e,{vvSizeAdjustment:f,vvRotation:v,labelOffset:w,labelClipped:C,scaleFactor:this.tileInfo.scaleFactor})}}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,i=this.view.displayMat3,o=new m(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getHittestAlignmentMatrix(t){const e=this.tile.getTileMat3(this.view,this.tileInfo),i=this.view.viewMat3.multiply(e),o=e,s=new m(1).subtract(t);return i.multiply(t).add(o.multiply(s))}fragment(t){const e=new m(2/8),i=new m(1).subtract(e),o=M(this.mosaicTexture,t.textureUV).a;let s=i.subtract(t.outlineDistanceOffset);this.highlight&&(s=s.divide(2));const l=t.antialiasingWidth,a=C(s.subtract(l),s.add(l),o);return this.getFragmentOutput(t.color.multiply(a),t)}computeHittestTriangle(t,e,{vvSizeAdjustment:i,vvRotation:o,labelOffset:s,scaleFactor:l}){let a,r,n;this.isLabel?(a=new S(t.offset.multiply(l).add(s),0),r=new S(e.offsetNextVertex1.multiply(l).add(s),0),n=new S(e.offsetNextVertex2.multiply(l).add(s),0)):(a=o.multiply(new S(t.offset.multiply(l).multiply(i),0)),r=o.multiply(new S(e.offsetNextVertex1.multiply(l).multiply(i),0)),n=o.multiply(new S(e.offsetNextVertex2.multiply(l).multiply(i),0)));const p=this.tile.getViewScreenMat3(this.view,this.tileInfo).multiply(new S(t.pos,1)),d=E(t.bitset,N),u=this._getHittestAlignmentMatrix(d);return{pos0:p.add(u.multiply(a)).xy,pos1:p.add(u.multiply(r)).xy,pos2:p.add(u.multiply(n)).xy}}hittest(t,e,i){const{vvSizeAdjustment:o,vvRotation:s,labelOffset:l,labelClipped:a,scaleFactor:r}=i,n=k(this.hittestRequest),{pos0:p,pos1:d,pos2:u}=this.computeHittestTriangle(t,e,{vvSizeAdjustment:o,vvRotation:s,labelOffset:l,scaleFactor:r});return z(n,()=>{const{tlbr:t}=this.hittestRequest;return this.isLabel?z(a,new m(U),q(p,d,u,t)):q(p,d,u,t)},()=>{const t=D(this.hittestRequest.position,p,d,u),e=this.isLabel?a:new A(!1);return z(e,new m(U),z(j(t,this.hittestRequest.distance),new m(U),new m(_)))})}_unpackDirection(t){const e=new O(t),i=T(e,new O(2)),o=H(e,new O(3));return new c(new m(i).subtract(1),new m(o).subtract(1))}_getVertexColor(t){let e=t.color;if(this.visualVariableColor){const i=this.getColorValue(t.id);e=this.visualVariableColor.getColor(i,t.color,new A(!1))}if(this.visualVariableOpacity){const i=this.getOpacityValue(t.id),o=this.visualVariableOpacity.getOpacity(i);e=e.multiply(o)}return e}}t([a(W)],st.prototype,"visualVariableColor",void 0),t([a(G)],st.prototype,"visualVariableOpacity",void 0),t([a(Z)],st.prototype,"visualVariableRotation",void 0),t([a(J)],st.prototype,"visualVariableSizeMinMaxValue",void 0),t([a(K)],st.prototype,"visualVariableSizeScaleStops",void 0),t([a(Q)],st.prototype,"visualVariableSizeStops",void 0),t([a(X)],st.prototype,"visualVariableSizeUnitValue",void 0),t([r(B)],st.prototype,"mosaicInfo",void 0),t([n(h)],st.prototype,"mosaicTexture",void 0),t([p],st.prototype,"textRenderPassType",void 0),t([p],st.prototype,"isBackgroundPass",void 0),t([p],st.prototype,"isLabel",void 0),t([e(0,d(et)),e(1,d(it))],st.prototype,"vertex",null),t([e(0,d(ot))],st.prototype,"fragment",null);export{ot as TextFragmentInput,st as TextShader,et as TextVertexInput};
@@ -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,isHittest as s,getFeatureTextures as r,getFeatureUniforms as a,resolveDynamicUniforms as i,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{TextShader as o}from"./TextShader.js";class u extends e{constructor(){super(...arguments),this.type=32,this.shaders={geometry:new o},this.symbologyPlane=3}render(e,o){const{painter:u}=e,d=t(e),m=o.instance.getInput(),p={shader:this.shaders.geometry,uniforms:{...i(e,o.target,m.uniforms),...a(e,o.target),mosaicInfo:u.textureManager.getMosaicInfo(e,o.textureKey)},textures:{...r(e),mosaicTexture:u.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...d,isBackgroundPass:!0,isLabel:!1,textRenderPassType:0},optionalAttributes:m.optionalAttributes,useComputeBuffer:s(e)};u.setShader(p),u.setPipelineState(n(e)),u.submitDraw(e,o),u.setShader({...p,defines:{...d,isBackgroundPass:!1,isLabel:!1,textRenderPassType:2}}),u.submitDraw(e,o),u.setShader({...p,defines:{...d,isBackgroundPass:!1,isLabel:!1,textRenderPassType:1}}),u.submitDraw(e,o),u.setShader({...p,defines:{...d,isBackgroundPass:!1,isLabel:!1,textRenderPassType:0}}),u.submitDraw(e,o)}}export{u as TextTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getSelectionDefines as s,isHittest as t,getFeatureTextures as r,getFeatureUniforms as a,resolveDynamicUniforms as i,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{TextShader as o}from"./TextShader.js";class u extends e{constructor(){super(...arguments),this.type=32,this.shaders={geometry:new o},this.symbologyPlane=3}render(e,o){const{painter:u}=e,d=s(e),m=o.instance.getInput(),p={shader:this.shaders.geometry,uniforms:{...i(e,o.target,m.uniforms),...a(e),mosaicInfo:u.textureManager.getMosaicInfo(e,o.textureKey)},textures:{...r(e),mosaicTexture:u.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...d,isBackgroundPass:!0,isLabel:!1,textRenderPassType:0},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)};u.setShader(p),u.setPipelineState(n(e)),u.submitDraw(e,o),u.setShader({...p,defines:{...d,isBackgroundPass:!1,isLabel:!1,textRenderPassType:2}}),u.submitDraw(e,o),u.setShader({...p,defines:{...d,isBackgroundPass:!1,isLabel:!1,textRenderPassType:1}}),u.submitDraw(e,o),u.setShader({...p,defines:{...d,isBackgroundPass:!1,isLabel:!1,textRenderPassType:0}}),u.submitDraw(e,o)}}export{u as TextTechnique};
@@ -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{fromValues as t}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{FeatureTile as i}from"../../../FeatureTile.js";import{Mesh as s}from"../../../meshing/Mesh.js";import{Technique as r}from"../Technique.js";import{getTileUniforms as o}from"../shaders/Tile.js";import{TileDebugInfoShader as n,TileDebugInfoOutlineShader as h}from"../shaders/TileDebugInfoShader.js";import{getTileContainerUniforms as u}from"../shaders/TileInfo.js";import{getViewUniforms as a}from"../shaders/ViewInfo.js";import{TileDebugInfoTexture as l}from"./TileDebugInfoTexture.js";import{PrimitiveType as d,DataType as m}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as p}from"../../../../../../webgl/VertexElementDescriptor.js";class c extends r{constructor(){super(...arguments),this.type=34,this.drawPhase=64,this.shaders={outline:new h,tileInfo:new n},this._outlineMesh=null,this._color=t(1,0,0,1),this._texture=new l}render(e,t){if(!(this.drawPhase&e.drawPhase))return;const{context:s,painter:r}=e;if(!t.isReady&&t instanceof i&&t.hasData)return;const n=this._getOutlineMesh(s),h=a(e),l=u(e),d=o(e.tilingScheme,t);r.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1});const m={shader:this.shaders.outline,uniforms:{view:h,tileContainer:l,tile:d,config:{coordRange:[t.rangeX,t.rangeY],depth:0,color:this._color}},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};r.submitDrawMeshUntyped(s,m,n);const p=this._texture.getTexture(s,t);r.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1});const c={shader:this.shaders.tileInfo,uniforms:{view:h,tileContainer:l,tile:d,config:{depth:0,coordRatio:[t.rangeX/t.width,t.rangeY/t.height],delta:[0,0],dimensions:[p.descriptor.width,p.descriptor.height]}},textures:{texture:{texture:p,unit:0}},defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};r.submitDrawMesh(s,c,r.quadMesh)}shutdown(){this._outlineMesh=e(this._outlineMesh),this._texture.shutdown()}_getOutlineMesh(e){return this._outlineMesh||(this._outlineMesh=new s(e,{vertex:{geometry:{data:new Int8Array([0,0,1,0,1,1,0,1]),layout:[new p("position",2,m.BYTE,0,2)]}},groups:[{primitive:d.LINE_LOOP}],parts:[{group:0,start:0,count:4}]})),this._outlineMesh}}export{c as TileDebugInfoTechnique};
2
+ import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{fromValues as t}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{FeatureTile as i}from"../../../FeatureTile.js";import{Mesh as s}from"../../../meshing/Mesh.js";import{Technique as o}from"../Technique.js";import{TileDebugInfoShader as r,TileDebugInfoOutlineShader as n}from"../shaders/TileDebugInfoShader.js";import{TileDebugInfoTexture as h}from"./TileDebugInfoTexture.js";import{PrimitiveType as u,DataType as a}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as d}from"../../../../../../webgl/VertexElementDescriptor.js";class l extends o{constructor(){super(...arguments),this.type=34,this.drawPhase=64,this.shaders={outline:new n,tileInfo:new r},this._outlineMesh=null,this._color=t(1,0,0,1),this._texture=new h}render(e,t){if(!(this.drawPhase&e.drawPhase))return;const{context:s,painter:o}=e;if(!t.isReady&&t instanceof i&&t.hasData)return;const r=this._getOutlineMesh(s);t.bindTile(s,e.tilingScheme),o.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1});const n={shader:this.shaders.outline,uniforms:{config:{coordRange:[t.rangeX,t.rangeY],depth:0,color:this._color}},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};o.submitDrawMeshUntyped(s,n,r);const h=this._texture.getTexture(s,t);o.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1});const u={shader:this.shaders.tileInfo,uniforms:{config:{depth:0,coordRatio:[t.rangeX/t.width,t.rangeY/t.height],delta:[0,0],dimensions:[h.descriptor.width,h.descriptor.height]}},textures:{texture:{texture:h,unit:0}},defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};o.submitDrawMesh(s,u,o.quadMesh)}shutdown(){this._outlineMesh=e(this._outlineMesh),this._texture.shutdown()}_getOutlineMesh(e){return this._outlineMesh||(this._outlineMesh=new s(e,{vertex:{geometry:{data:new Int8Array([0,0,1,0,1,1,0,1]),layout:[new d("position",2,a.BYTE,0,2)]}},groups:[{primitive:u.LINE_LOOP}],parts:[{group:0,start:0,count:4}]})),this._outlineMesh}}export{l as TileDebugInfoTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{fromValues as e}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{Technique as s}from"../Technique.js";import{getTileUniforms as t}from"../shaders/Tile.js";import{getTileContainerUniforms as r}from"../shaders/TileInfo.js";import{TileStencilShader as i}from"../shaders/TileStencilShader.js";import{getViewUniforms as o}from"../shaders/ViewInfo.js";class a extends s{constructor(){super(...arguments),this.type=35,this.drawPhase=211,this.shaders={tileStencil:new i},this._color=e(1,0,0,1)}render(e,s,i){if(!(this.drawPhase&e.drawPhase&&s.visible))return;const{context:a,painter:n}=e,l=i?.rasterVF??null;n.setPipelineState({color:!1,depth:!1,stencil:{write:{mask:255},test:{compare:516,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const c={shader:this.shaders.tileStencil,uniforms:{view:o(e),tileContainer:r(e),tile:t(e.tilingScheme,s),config:{coordRange:[s.rangeX,s.rangeY],depth:0,color:this._color},rasterVF:l},textures:void 0,defines:{isRasterVF:null!=l},optionalAttributes:void 0,useComputeBuffer:!1};n.submitDrawMesh(a,c,n.quadMesh,{stencilRef:s.stencilRef})}}export{a as TileStencilTechnique};
2
+ import{fromValues as e}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{Technique as s}from"../Technique.js";import{TileStencilShader as t}from"../shaders/TileStencilShader.js";class i extends s{constructor(){super(...arguments),this.type=35,this.drawPhase=211,this.shaders={tileStencil:new t},this._color=e(1,0,0,1)}render(e,s,t){if(!(this.drawPhase&e.drawPhase&&s.visible))return;const{context:i,painter:r}=e,o=t?.rasterVF??null;r.setPipelineState({color:!1,depth:!1,stencil:{write:{mask:255},test:{compare:516,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}}),s.bindTile(i,e.tilingScheme);const a={shader:this.shaders.tileStencil,uniforms:{config:{coordRange:[s.rangeX,s.rangeY],depth:0,color:this._color},rasterVF:o},textures:void 0,defines:{isRasterVF:null!=o},optionalAttributes:void 0,useComputeBuffer:!1};r.submitDrawMesh(i,a,r.quadMesh,{stencilRef:s.stencilRef})}}export{i as TileStencilTechnique};
@@ -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{Technique as s}from"../Technique.js";import{DebugOverlayShader as i}from"../shaders/DebugOverlayShader.js";import{getViewUniforms as r}from"../shaders/ViewInfo.js";import{PrimitiveType as o,DataType as n}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as a}from"../../../../../../webgl/VertexElementDescriptor.js";class h extends s{constructor(){super(...arguments),this.type=27,this.shaders={debugOverlay:new i},this._mesh=null}shutdown(){this._mesh=e(this._mesh)}render(e,t){const{context:s,painter:i}=e,o=this._getMesh(e,t.mesh);i.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1}),i.submitDrawMeshUntyped(s,{shader:this.shaders.debugOverlay,uniforms:{view:r(e),config:{colors:m(t.colors),opacities:t.opacities}},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1},o)}_getMesh(e,s){return this._mesh?(this._mesh.vertexBuffers.get("vertices")?.setData(s.vertexData),this._mesh.indexBuffers.get("indices")?.setData(s.indexData),this._mesh.parts[0].count=s.indexData.length):this._mesh=new t(e.context,{vertex:{vertices:{data:s.vertexData,layout:[new a("positionAndFlags",3,n.SHORT,0,6)]}},index:{indices:{data:s.indexData}},groups:[{index:"indices",primitive:o.TRIANGLES}],parts:[{group:0,start:0,count:s.indexData.length}]}),this._mesh}}function m(e){return[[e[0],e[1],e[2],e[3]],[e[4],e[5],e[6],e[7]],[e[8],e[9],e[10],e[11]],[e[12],e[13],e[14],e[15]]]}export{h as DebugOverlayTechnique};
2
+ import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{Mesh as t}from"../../../meshing/Mesh.js";import{Technique as s}from"../Technique.js";import{DebugOverlayShader as i}from"../shaders/DebugOverlayShader.js";import{PrimitiveType as r,DataType as o}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as n}from"../../../../../../webgl/VertexElementDescriptor.js";class a extends s{constructor(){super(...arguments),this.type=27,this.shaders={debugOverlay:new i},this._mesh=null}shutdown(){this._mesh=e(this._mesh)}render(e,t){const{context:s,painter:i}=e,r=this._getMesh(e,t.mesh);i.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1}),i.submitDrawMeshUntyped(s,{shader:this.shaders.debugOverlay,uniforms:{config:{colors:h(t.colors),opacities:t.opacities}},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1},r)}_getMesh(e,s){return this._mesh?(this._mesh.vertexBuffers.get("vertices")?.setData(s.vertexData),this._mesh.indexBuffers.get("indices")?.setData(s.indexData),this._mesh.parts[0].count=s.indexData.length):this._mesh=new t(e.context,{vertex:{vertices:{data:s.vertexData,layout:[new n("positionAndFlags",3,o.SHORT,0,6)]}},index:{indices:{data:s.indexData}},groups:[{index:"indices",primitive:r.TRIANGLES}],parts:[{group:0,start:0,count:s.indexData.length}]}),this._mesh}}function h(e){return[[e[0],e[1],e[2],e[3]],[e[4],e[5],e[6],e[7]],[e[8],e[9],e[10],e[11]],[e[12],e[13],e[14],e[15]]]}export{a as DebugOverlayTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{nextPowerOfTwo as t}from"../../../../../../../core/mathUtils.js";import{create as e}from"../../../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as r}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getDefinesKey as o}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as s,vtlHighResCutoff as i}from"../../../definitions.js";import{Mesh as a}from"../../../meshing/Mesh.js";import{simplePipelineState as n}from"../../utils.js";import{Technique as l}from"../Technique.js";import{getTileUniforms as c}from"../shaders/Tile.js";import{getTileContainerUniforms as m}from"../shaders/TileInfo.js";import{getViewUniforms as h}from"../shaders/ViewInfo.js";import{VTLShaderBackground as u}from"../shaders/vector-tiles/VTLShaderBackground.js";import{PrimitiveType as p}from"../../../../../../webgl/enums.js";function d(t,e){return{color:t.getPaintValue("background-color",e),opacity:t.getPaintValue("background-opacity",e),pattern:t.getPaintValue("background-pattern",Math.floor(e))}}class f extends l{constructor(){super(...arguments),this.type=38,this._color=r(1,0,0,1),this._patternMatrix=e(),this._mesh=null,this.shaders={background:new u}}render(r,a){if(0===a.tiles.length)return;this._loadResources(r);const{context:l,displayLevel:u,painter:p,spriteMosaic:f,styleLayer:g}=r,y=g,_=y.backgroundMaterial,{color:x,opacity:M,pattern:b}=d(y,u),j=void 0!==b,v=1|window.devicePixelRatio;let w,k;const P=_.key+o({hasPattern:j}),R=v>i?2:1,T={layerInfo:{depth:y.z,coordRange:a.tiles[0].rangeX},tileContainer:m(r),tile:c(r.tilingScheme,a.tiles[0]),view:h(r),solidColor:null,pattern:null,patternMat:{mat:e()}};let I=null;if(j){const t=f.getMosaicItemPosition(b,!0);if(null==t)return;{const{tl:e,br:r,page:o}=t;w=r[0]-e[0],k=r[1]-e[1];const i=f.getPageSize(o);null!=i&&(f.bind(l,9729,o,s),T.pattern={tlbr:[e[0],e[1],r[0],r[1]],mosaicSize:i,opacity:M},I={patternTexture:{texture:f.getTexture(o),unit:s}})}}else{const t=x[3]*M;this._color[0]=t*x[0],this._color[1]=t*x[1],this._color[2]=t*x[2],this._color[3]=t,T.solidColor={color:this._color}}p.setPipelineState(n);for(const e of a.tiles){if(T.tile=c(r.tilingScheme,e),T.layerInfo.coordRange=e.rangeX,j){const r=Math.max(2**(Math.round(u)-e.key.level),1),o=R*e.width*r,s=o/t(w),i=o/t(k);this._patternMatrix[0]=s,this._patternMatrix[4]=i,T.patternMat={mat:this._patternMatrix}}const o={shader:this.shaders.background,uniforms:T,textures:I,defines:{renderMode:j?1:0},optionalAttributes:_.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:_.getPrecisionFactors(),materialKey:P};p.submitDrawMeshUntyped(l,o,this._mesh,{stencilRef:e.stencilRef})}}shutdown(){this._mesh&&(this._mesh.destroy(),this._mesh=null)}_loadResources(t){if(this._mesh)return;const{context:e,styleLayer:r}=t,o=r,s=new Int16Array([0,0,1,0,0,1,1,1]),i=o.backgroundMaterial.geometryLayout;if(!i)return;const n={vertex:{geometryVB:{data:s,layout:i}},groups:[{primitive:p.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:4}]};this._mesh=new a(e,n)}}export{f as VTLTechniqueBackground,d as getBackgroundPaintValues};
2
+ import{nextPowerOfTwo as t}from"../../../../../../../core/mathUtils.js";import{create as e}from"../../../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{fromValues as r}from"../../../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getDefinesKey as o}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as s,vtlHighResCutoff as i}from"../../../definitions.js";import{Mesh as a}from"../../../meshing/Mesh.js";import{simplePipelineState as n}from"../../utils.js";import{Technique as l}from"../Technique.js";import{VTLShaderBackground as c}from"../shaders/vector-tiles/VTLShaderBackground.js";import{PrimitiveType as u}from"../../../../../../webgl/enums.js";function h(t,e){return{color:t.getPaintValue("background-color",e),opacity:t.getPaintValue("background-opacity",e),pattern:t.getPaintValue("background-pattern",Math.floor(e))}}class m extends l{constructor(){super(...arguments),this.type=38,this._color=r(1,0,0,1),this._patternMatrix=e(),this._mesh=null,this.shaders={background:new c}}render(r,a){if(0===a.tiles.length)return;this._loadResources(r);const{context:l,displayLevel:c,painter:u,spriteMosaic:m,styleLayer:p}=r,d=p,f=d.backgroundMaterial,{color:g,opacity:y,pattern:_}=h(d,c),b=void 0!==_,x=1|window.devicePixelRatio;let M,j;const k=f.key+o({hasPattern:b}),v=x>i?2:1,P={layerInfo:{depth:d.z,coordRange:a.tiles[0].rangeX},solidColor:null,pattern:null,patternMat:{mat:e()}};let w=null;if(b){const t=m.getMosaicItemPosition(_,!0);if(null==t)return;{const{tl:e,br:r,page:o}=t;M=r[0]-e[0],j=r[1]-e[1];const i=m.getPageSize(o);null!=i&&(m.bind(l,9729,o,s),P.pattern={tlbr:[e[0],e[1],r[0],r[1]],mosaicSize:i,opacity:y},w={patternTexture:{texture:m.getTexture(o),unit:s}})}}else{const t=g[3]*y;this._color[0]=t*g[0],this._color[1]=t*g[1],this._color[2]=t*g[2],this._color[3]=t,P.solidColor={color:this._color}}u.setPipelineState(n);for(const e of a.tiles){if(P.layerInfo.coordRange=e.rangeX,b){const r=Math.max(2**(Math.round(c)-e.key.level),1),o=v*e.width*r,s=o/t(M),i=o/t(j);this._patternMatrix[0]=s,this._patternMatrix[4]=i,P.patternMat={mat:this._patternMatrix}}e.bindTile(l,r.tilingScheme);const o={shader:this.shaders.background,uniforms:P,textures:w,defines:{renderMode:b?1:0},optionalAttributes:f.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:f.getPrecisionFactors(),materialKey:k};u.submitDrawMeshUntyped(l,o,this._mesh,{stencilRef:e.stencilRef})}}shutdown(){this._mesh&&(this._mesh.destroy(),this._mesh=null)}_loadResources(t){if(this._mesh)return;const{context:e,styleLayer:r}=t,o=r,s=new Int16Array([0,0,1,0,0,1,1,1]),i=o.backgroundMaterial.geometryLayout;if(!i)return;const n={vertex:{geometryVB:{data:s,layout:i}},groups:[{primitive:u.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:4}]};this._mesh=new a(e,n)}}export{m as VTLTechniqueBackground,h as getBackgroundPaintValues};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{simplePipelineState as e}from"../../utils.js";import{Technique as t}from"../Technique.js";import{getTileUniforms as i}from"../shaders/Tile.js";import{getTileContainerUniforms as l}from"../shaders/TileInfo.js";import{getViewUniforms as s}from"../shaders/ViewInfo.js";import{VTLShaderCircle as r}from"../shaders/vector-tiles/VTLShaderCircle.js";class n extends t{constructor(){super(...arguments),this.type=39,this._mesh=null,this.shaders={circle:new r}}shutdown(){this._mesh=null}render(t,r){const{context:n,displayLevel:o,drawPhase:a,painter:c,requiredLevel:u,spriteMosaic:h,styleLayer:d,styleLayerUID:f}=t,{tiles:m}=r;if(!m.some(e=>e.layerData.get(f)?.circleIndexCount??!1))return;const p=d,{circleMaterial:y}=p,g=1.2,x=p.getPaintValue("circle-translate",o),k=1===p.getPaintValue("circle-translate-anchor",o),M={view:s(t),tileContainer:l(t),tile:i(t.tilingScheme,m[0]),config:{circleTranslation:x,depth:p.z,antialiasingWidth:g,tileOpacity:1},radius:null,radiusMix:null,blur:null,blurMix:null,opacity:null,opacityMix:null,strokeOpacity:null,strokeOpacityMix:null,strokeWidth:null,strokeWidthMix:null,color:null,colorMix:null,strokeColor:null,strokeColorMix:null};let v=-1;for(const l of m){if(!l.layerData.has(f))continue;if(M.tile=i(t.tilingScheme,l),l.key.level!==v){v=l.key.level;const e=y.getUniforms();for(const t of e){const e=t.getValue(p,o,v,h);t.name in M&&(M[t.name]={value:e})}}const s=l.layerData.get(f);if(!s.circleIndexCount||s.isDestroyed)continue;if(this._mesh=s.getMesh(n),!this._mesh)continue;const r=u!==l.key.level?514:516,d=u!==l.key.level?l.stencilRef:255;M.config.tileOpacity=1===a?l.fader.value():1,c.setPipelineState({...e,stencil:{write:!1,test:{compare:r,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const m={shader:this.shaders.circle,uniforms:M,textures:null,defines:{translateAnchorViewport:k},optionalAttributes:y.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:y.getPrecisionFactors()};c.submitDrawMeshUntyped(n,m,this._mesh,{stencilRef:d}),l.triangleCount+=s.circleIndexCount/3}}}export{n as VTLTechniqueCircle};
2
+ import{simplePipelineState as e}from"../../utils.js";import{Technique as t}from"../Technique.js";import{VTLShaderCircle as i}from"../shaders/vector-tiles/VTLShaderCircle.js";class l extends t{constructor(){super(...arguments),this.type=39,this._mesh=null,this.shaders={circle:new i}}shutdown(){this._mesh=null}render(t,i){const{context:l,displayLevel:s,drawPhase:r,painter:n,requiredLevel:o,spriteMosaic:a,styleLayer:c,styleLayerUID:u}=t,{tiles:h}=i;if(!h.some(e=>e.layerData.get(u)?.circleIndexCount??!1))return;const d=c,{circleMaterial:p}=d,f=1.2,m=d.getPaintValue("circle-translate",s),y=1===d.getPaintValue("circle-translate-anchor",s),g={config:{circleTranslation:m,depth:d.z,antialiasingWidth:f,tileOpacity:1},radius:null,radiusMix:null,blur:null,blurMix:null,opacity:null,opacityMix:null,strokeOpacity:null,strokeOpacityMix:null,strokeWidth:null,strokeWidthMix:null,color:null,colorMix:null,strokeColor:null,strokeColorMix:null};let x=-1;for(const k of h){if(!k.layerData.has(u))continue;if(k.key.level!==x){x=k.key.level;const e=p.getUniforms();for(const t of e){const e=t.getValue(d,s,x,a);t.name in g&&(g[t.name]={value:e})}}const i=k.layerData.get(u);if(!i.circleIndexCount||i.isDestroyed)continue;if(this._mesh=i.getMesh(l),!this._mesh)continue;const c=o!==k.key.level?514:516,h=o!==k.key.level?k.stencilRef:255;g.config.tileOpacity=1===r?k.fader.value():1,k.bindTile(l,t.tilingScheme),n.setPipelineState({...e,stencil:{write:!1,test:{compare:c,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const f={shader:this.shaders.circle,uniforms:g,textures:null,defines:{translateAnchorViewport:y},optionalAttributes:p.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:p.getPrecisionFactors()};n.submitDrawMeshUntyped(l,f,this._mesh,{stencilRef:h}),k.triangleCount+=i.circleIndexCount/3}}}export{l as VTLTechniqueCircle};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{getDefinesKey as t}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as e,vtlHighResCutoff as i}from"../../../definitions.js";import{Technique as l}from"../Technique.js";import{getTileUniforms as n}from"../shaders/Tile.js";import{getTileContainerUniforms as s}from"../shaders/TileInfo.js";import{getViewUniforms as o}from"../shaders/ViewInfo.js";import{VTLShaderFill as a}from"../shaders/vector-tiles/VTLShaderFill.js";import{VTLShaderOutline as r}from"../shaders/vector-tiles/VTLShaderOutline.js";const u=1/65536;class c extends l{constructor(){super(...arguments),this.type=40,this._fillMesh=null,this._outlineMesh=null,this.shaders={fill:new a,outline:new r}}shutdown(){this._fillMesh=null,this._outlineMesh=null}render(t,e){const{displayLevel:i,is3D:l,renderPass:n,spriteMosaic:s,styleLayer:o,styleLayerUID:a}=t,{tiles:r}=e;let u=!1;for(const D of r)if(D.layerData.has(a)){const t=D.layerData.get(a);if(t.fillIndexCount>0||t.outlineIndexCount>0){u=!0;break}}if(!u)return;const c=o,f=c.getPaintProperty("fill-pattern"),p=void 0!==f,h=p&&f.isDataDriven;let d;if(p&&!h){const t=f.getValue(i);d=s.getMosaicItemPosition(t,!0)}const y=!p&&c.getPaintValue("fill-antialias",i);let g=!l||p,m=1;if(!p){const t=c.getPaintProperty("fill-color"),e=c.getPaintProperty("fill-opacity");if(!t?.isDataDriven&&!e?.isDataDriven){const t=c.getPaintValue("fill-color",i);m=c.getPaintValue("fill-opacity",i)*t[3],m<1&&(g=!0)}}if((c.hasDataDrivenColor||c.hasDataDrivenOpacity)&&(g=!0),g&&"opaque"===n)return;const M=c.getPaintValue("fill-translate",i),v=c.getPaintValue("fill-translate-anchor",i);("opaque"===n&&!g||"translucent"===n&&g)&&this._drawFill(t,a,c,r,M,v,p,d,h);const x=!c.hasDataDrivenOutlineColor&&c.outlineUsesFillColor&&m<1;y&&"translucent"===n&&!x&&this._drawOutline(t,a,c,r,M,v)}_drawFill(l,a,r,c,f,p,h,d,y){if(h&&!y&&null==d)return;const{context:g,displayLevel:m,drawPhase:M,painter:v,pixelRatio:x,spriteMosaic:D}=l,P=x>i?2:1,w=r.fillMaterial,C=1===p,_={view:o(l),tileContainer:s(l),tile:n(l.tilingScheme,c[0]),config:{depth:r.z+u,fillTranslation:f,tileOpacity:1},patternOptions:y||h&&null!=d?{mosaicSize:[0,0],patternFactor:1,tlbr:[0,0,0,0]}:null,color:null,opacity:null,colorMix:null,opacityMix:null},T={patternTexture:null},b={fillType:h?1:0,translateAnchorViewport:C},V=w.key+t(b);if(null!=d){const{page:t,tl:i,br:l}=d,n=i[0],s=l[1],o=l[0],a=i[1],r=D.getPageSize(t);null!=r&&(D.bind(g,9729,t,e),_.patternOptions={mosaicSize:[r[0],r[1]],patternFactor:1,tlbr:[n,s,o,a]},T.patternTexture={texture:D.getTexture(t),unit:e})}let O=-1;for(const t of c){if(!t.layerData.has(a))continue;if(t.key.level!==O){O=t.key.level;const e=w.getUniforms();for(const t of e){const e=t.getValue(r,m,O,D);_[t.name]={value:e}}if(h&&null!=_.patternOptions){const e=Math.max(2**(Math.round(m)-t.key.level),1),i=t.rangeX/(P*t.width*e);_.patternOptions.patternFactor=i}}const i=t.layerData.get(a);if(i.isDestroyed||0===i.fillIndexCount)continue;if(this._fillMesh=i.getMesh(g,{value:0}),!this._fillMesh)continue;const{config:s}=_;_.tile=n(l.tilingScheme,t),s.tileOpacity=1===M?t.fader.value():1;const o={shader:this.shaders.fill,uniforms:_,textures:T,defines:b,optionalAttributes:w.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:w.getPrecisionFactors(),materialKey:V};if(y){const l=_.patternOptions,n=i.patternMap;if(!n||null==l)continue;let s=0;for(const[i,a]of n){const n=D.getPageSize(i);null!=n&&(D.bind(g,9729,i,e),l.mosaicSize=n,T.patternTexture={texture:D.getTexture(i),unit:e},v.submitDrawMeshUntyped(g,o,this._fillMesh,{stencilRef:t.stencilRef,parts:[s++]}))}}else v.submitDrawMeshUntyped(g,o,this._fillMesh,{stencilRef:t.stencilRef});t.triangleCount+=i.fillIndexCount/3}}_drawOutline(e,i,l,a,r,c){const{context:f,displayLevel:p,spriteMosaic:h,painter:d,pixelRatio:y}=e,g=l.outlineMaterial,m={translateAnchorViewport:1===c},M=g.key+t(m),v=.75/y,x={view:o(e),tileContainer:s(e),tile:n(e.tilingScheme,a[0]),config:{depth:l.z+u,fillTranslation:r,outlineWidth:v},color:null,opacity:null,colorMix:null,opacityMix:null};let D=-1;for(const t of a){if(!t.layerData.has(i))continue;if(t.key.level!==D){D=t.key.level;const e=g.getUniforms();for(const t of e){const e=t.getValue(l,p,D,h);t.name in x&&(x[t.name]={value:e})}}const s=t.layerData.get(i);if(s.isDestroyed||0===s.outlineIndexCount)continue;if(this._outlineMesh=s.getMesh(f,{value:1}),null==this._outlineMesh)continue;x.tile=n(e.tilingScheme,t);const o={shader:this.shaders.outline,uniforms:x,textures:{},defines:m,optionalAttributes:g.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:g.getPrecisionFactors(),materialKey:M};d.submitDrawMeshUntyped(f,o,this._outlineMesh,{stencilRef:t.stencilRef}),t.triangleCount+=s.outlineIndexCount/3}}}export{c as VTLTechniqueFill};
2
+ import{getDefinesKey as t}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as e,vtlHighResCutoff as i}from"../../../definitions.js";import{Technique as l}from"../Technique.js";import{VTLShaderFill as n}from"../shaders/vector-tiles/VTLShaderFill.js";import{VTLShaderOutline as s}from"../shaders/vector-tiles/VTLShaderOutline.js";const a=1/65536;class o extends l{constructor(){super(...arguments),this.type=40,this._fillMesh=null,this._outlineMesh=null,this.shaders={fill:new n,outline:new s}}shutdown(){this._fillMesh=null,this._outlineMesh=null}render(t,e){const{displayLevel:i,is3D:l,renderPass:n,spriteMosaic:s,styleLayer:a,styleLayerUID:o}=t,{tiles:r}=e;let u=!1;for(const v of r)if(v.layerData.has(o)){const t=v.layerData.get(o);if(t.fillIndexCount>0||t.outlineIndexCount>0){u=!0;break}}if(!u)return;const c=a,f=c.getPaintProperty("fill-pattern"),p=void 0!==f,h=p&&f.isDataDriven;let d;if(p&&!h){const t=f.getValue(i);d=s.getMosaicItemPosition(t,!0)}const y=!p&&c.getPaintValue("fill-antialias",i);let g=!l||p,m=1;if(!p){const t=c.getPaintProperty("fill-color"),e=c.getPaintProperty("fill-opacity");if(!t?.isDataDriven&&!e?.isDataDriven){const t=c.getPaintValue("fill-color",i);m=c.getPaintValue("fill-opacity",i)*t[3],m<1&&(g=!0)}}if((c.hasDataDrivenColor||c.hasDataDrivenOpacity)&&(g=!0),g&&"opaque"===n)return;const M=c.getPaintValue("fill-translate",i),x=c.getPaintValue("fill-translate-anchor",i);("opaque"===n&&!g||"translucent"===n&&g)&&this._drawFill(t,o,c,r,M,x,p,d,h);const D=!c.hasDataDrivenOutlineColor&&c.outlineUsesFillColor&&m<1;y&&"translucent"===n&&!D&&this._drawOutline(t,o,c,r,M,x)}_drawFill(l,n,s,o,r,u,c,f,p){if(c&&!p&&null==f)return;const{context:h,displayLevel:d,drawPhase:y,painter:g,pixelRatio:m,spriteMosaic:M}=l,x=m>i?2:1,D=s.fillMaterial,v=1===u,P={config:{depth:s.z+a,fillTranslation:r,tileOpacity:1},patternOptions:p||c&&null!=f?{mosaicSize:[0,0],patternFactor:1,tlbr:[0,0,0,0]}:null,color:null,opacity:null,colorMix:null,opacityMix:null},b={patternTexture:null},_={fillType:c?1:0,translateAnchorViewport:v},w=D.key+t(_);if(null!=f){const{page:t,tl:i,br:l}=f,n=i[0],s=l[1],a=l[0],o=i[1],r=M.getPageSize(t);null!=r&&(M.bind(h,9729,t,e),P.patternOptions={mosaicSize:[r[0],r[1]],patternFactor:1,tlbr:[n,s,a,o]},b.patternTexture={texture:M.getTexture(t),unit:e})}let T=-1;for(const t of o){if(!t.layerData.has(n))continue;if(t.key.level!==T){T=t.key.level;const e=D.getUniforms();for(const t of e){const e=t.getValue(s,d,T,M);P[t.name]={value:e}}if(c&&null!=P.patternOptions){const e=Math.max(2**(Math.round(d)-t.key.level),1),i=t.rangeX/(x*t.width*e);P.patternOptions.patternFactor=i}}const i=t.layerData.get(n);if(i.isDestroyed||0===i.fillIndexCount)continue;if(this._fillMesh=i.getMesh(h,{value:0}),!this._fillMesh)continue;const{config:a}=P;a.tileOpacity=1===y?t.fader.value():1,t.bindTile(h,l.tilingScheme);const o={shader:this.shaders.fill,uniforms:P,textures:b,defines:_,optionalAttributes:D.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:D.getPrecisionFactors(),materialKey:w};if(p){const l=P.patternOptions,n=i.patternMap;if(!n||null==l)continue;let s=0;for(const[i,a]of n){const n=M.getPageSize(i);null!=n&&(M.bind(h,9729,i,e),l.mosaicSize=n,b.patternTexture={texture:M.getTexture(i),unit:e},g.submitDrawMeshUntyped(h,o,this._fillMesh,{stencilRef:t.stencilRef,parts:[s++]}))}}else g.submitDrawMeshUntyped(h,o,this._fillMesh,{stencilRef:t.stencilRef});t.triangleCount+=i.fillIndexCount/3}}_drawOutline(e,i,l,n,s,o){const{context:r,displayLevel:u,spriteMosaic:c,painter:f,pixelRatio:p}=e,h=l.outlineMaterial,d={translateAnchorViewport:1===o},y=h.key+t(d),g=.75/p,m={config:{depth:l.z+a,fillTranslation:s,outlineWidth:g},color:null,opacity:null,colorMix:null,opacityMix:null};let M=-1;for(const t of n){if(!t.layerData.has(i))continue;if(t.key.level!==M){M=t.key.level;const e=h.getUniforms();for(const t of e){const e=t.getValue(l,u,M,c);t.name in m&&(m[t.name]={value:e})}}const n=t.layerData.get(i);if(n.isDestroyed||0===n.outlineIndexCount)continue;if(this._outlineMesh=n.getMesh(r,{value:1}),null==this._outlineMesh)continue;t.bindTile(r,e.tilingScheme);const s={shader:this.shaders.outline,uniforms:m,textures:{},defines:d,optionalAttributes:h.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:h.getPrecisionFactors(),materialKey:y};f.submitDrawMeshUntyped(r,s,this._outlineMesh,{stencilRef:t.stencilRef}),t.triangleCount+=n.outlineIndexCount/3}}}export{o as VTLTechniqueFill};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{getDefinesKey as e}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as t}from"../../../definitions.js";import{Technique as i}from"../Technique.js";import{getTileUniforms as n}from"../shaders/Tile.js";import{getTileContainerUniforms as s}from"../shaders/TileInfo.js";import{getViewUniforms as l}from"../shaders/ViewInfo.js";import{VTLShaderLine as o}from"../shaders/vector-tiles/VTLShaderLine.js";class a extends i{constructor(){super(...arguments),this.type=41,this._mesh=null,this.shaders={line:new o}}shutdown(){this._mesh=null}render(i,o){const{context:a,displayLevel:r,drawPhase:u,is3D:c,painter:f,spriteMosaic:p,styleLayer:h,styleLayerUID:m}=i,{tiles:d}=o;if(!d.some(e=>e.layerData.get(m)?.lineIndexCount??!1))return;const g=h,y=g.lineMaterial,x=g.getPaintValue("line-translate",r),M=1===g.getPaintValue("line-translate-anchor",r),P={view:l(i),tileContainer:s(i),tile:n(i.tilingScheme,d[0]),layerInfo:{lineTranslation:x,depth:g.z},tileConfig:{tileOpacity:1},page:null,color:null,width:null,opacity:null,blur:null,offset:null,colorMix:null,widthMix:null,opacityMix:null,blurMix:null,offsetMix:null,tlbr:null},v=g.getPaintProperty("line-pattern"),w=void 0!==v,D=w&&v.isDataDriven;let T,b;if(w&&!D){const e=v.getValue(r);T=p.getMosaicItemPosition(e)}let I=!1;if(!w){const e=g.getPaintProperty("line-dasharray");if(b=void 0!==e,I=b&&e.isDataDriven,b&&!I){const t=e.getValue(r),i=g.getDashKey(t,g.getLayoutValue("line-cap",r));if(T=p.getMosaicItemPosition(i),null==T)return}}const V={lineType:w?1:b?2:0,translateAnchorViewport:M},C=y.key+e(V),S={pageTexture:null};if(null!=T){const{page:e}=T,i=p.getPageSize(e);if(null!=i){p.bind(a,9729,e,t);const n={mosaicSize:[i[0],i[1]]};S.pageTexture={texture:p.getTexture(e),unit:t},P.page=n}}c||f.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}},depth:{write:!1,test:515}});let j=-1;for(const e of d){if(!e.layerData.has(m))continue;if(P.tile=n(i.tilingScheme,e),e.key.level!==j){j=e.key.level;const t=y.getUniforms();for(const e of t){const t=e.getValue(g,r,j,p);e.name in P&&(P[e.name]={value:t})}}const s=e.layerData.get(m);if(!s.lineIndexCount||s.isDestroyed)continue;if(this._mesh=s.getMesh(a),!this._mesh)continue;P.tileConfig.tileOpacity=1===u?e.fader.value():1;const l={shader:this.shaders.line,uniforms:P,textures:S,defines:V,optionalAttributes:y.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:y.getPrecisionFactors(),materialKey:C};if(D||I){const i=s.patternMap;if(!i)continue;let n=0;for(const s of i.keys()){const i=p.getPageSize(s);null!=i&&(p.bind(a,9729,s,t),P.page={mosaicSize:[i[0],i[1]]},S.pageTexture={texture:p.getTexture(s),unit:t},f.submitDrawMeshUntyped(a,l,this._mesh,{stencilRef:e.stencilRef,parts:[n++]}))}}else f.submitDrawMeshUntyped(a,l,this._mesh,{stencilRef:e.stencilRef});e.triangleCount+=s.lineIndexCount/3}}}export{a as VTLTechniqueLine};
2
+ import{getDefinesKey as e}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as t}from"../../../definitions.js";import{Technique as i}from"../Technique.js";import{VTLShaderLine as n}from"../shaders/vector-tiles/VTLShaderLine.js";class s extends i{constructor(){super(...arguments),this.type=41,this._mesh=null,this.shaders={line:new n}}shutdown(){this._mesh=null}render(i,n){const{context:s,displayLevel:l,drawPhase:a,is3D:o,painter:r,spriteMosaic:u,styleLayer:c,styleLayerUID:f}=i,{tiles:p}=n;if(!p.some(e=>e.layerData.get(f)?.lineIndexCount??!1))return;const h=c,g=h.lineMaterial,d=h.getPaintValue("line-translate",l),m=1===h.getPaintValue("line-translate-anchor",l),y={layerInfo:{lineTranslation:d,depth:h.z},tileConfig:{tileOpacity:1},page:null,color:null,width:null,opacity:null,blur:null,offset:null,colorMix:null,widthMix:null,opacityMix:null,blurMix:null,offsetMix:null,tlbr:null},x=h.getPaintProperty("line-pattern"),M=void 0!==x,P=M&&x.isDataDriven;let D,v;if(M&&!P){const e=x.getValue(l);D=u.getMosaicItemPosition(e)}let b=!1;if(!M){const e=h.getPaintProperty("line-dasharray");if(v=void 0!==e,b=v&&e.isDataDriven,v&&!b){const t=e.getValue(l),i=h.getDashKey(t,h.getLayoutValue("line-cap",l));if(D=u.getMosaicItemPosition(i),null==D)return}}const w={lineType:M?1:v?2:0,translateAnchorViewport:m},T=g.key+e(w),V={pageTexture:null};if(null!=D){const{page:e}=D,i=u.getPageSize(e);if(null!=i){u.bind(s,9729,e,t);const n={mosaicSize:[i[0],i[1]]};V.pageTexture={texture:u.getTexture(e),unit:t},y.page=n}}o||r.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}},depth:{write:!1,test:515}});let z=-1;for(const e of p){if(!e.layerData.has(f))continue;if(e.key.level!==z){z=e.key.level;const t=g.getUniforms();for(const e of t){const t=e.getValue(h,l,z,u);e.name in y&&(y[e.name]={value:t})}}const n=e.layerData.get(f);if(!n.lineIndexCount||n.isDestroyed)continue;if(this._mesh=n.getMesh(s),!this._mesh)continue;y.tileConfig.tileOpacity=1===a?e.fader.value():1,e.bindTile(s,i.tilingScheme);const o={shader:this.shaders.line,uniforms:y,textures:V,defines:w,optionalAttributes:g.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:g.getPrecisionFactors(),materialKey:T};if(P||b){const i=n.patternMap;if(!i)continue;let l=0;for(const n of i.keys()){const i=u.getPageSize(n);null!=i&&(u.bind(s,9729,n,t),y.page={mosaicSize:[i[0],i[1]]},V.pageTexture={texture:u.getTexture(n),unit:t},r.submitDrawMeshUntyped(s,o,this._mesh,{stencilRef:e.stencilRef,parts:[l++]}))}}else r.submitDrawMeshUntyped(s,o,this._mesh,{stencilRef:e.stencilRef});e.triangleCount+=n.lineIndexCount/3}}}export{s as VTLTechniqueLine};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{fadeDuration as e}from"../../../../vectorTiles/decluttering/config.js";import{getDefinesKey as t}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as i,vtlTextureBindingUnitGlyphs as a}from"../../../definitions.js";import{Technique as n}from"../Technique.js";import{getTileUniforms as l}from"../shaders/Tile.js";import{getTileContainerUniforms as o}from"../shaders/TileInfo.js";import{getViewUniforms as s}from"../shaders/ViewInfo.js";import{VTLShaderIcon as r}from"../shaders/vector-tiles/VTLShaderIcon.js";import{VTLShaderText as c}from"../shaders/vector-tiles/VTLShaderText.js";const u=1/65536;class h extends n{constructor(){super(...arguments),this.type=42,this._iconMesh=null,this._textMesh=null,this.shaders={icon:new r,text:new c}}shutdown(){this._iconMesh=null,this._textMesh=null}render(e,t){const{painter:i}=e,a=e.styleLayer,{tiles:n}=t,l=i.getPipelineState();this._setRenderState(e),this._drawIcons(e,a,n),this._drawText(e,a,n),i.setPipelineState(l)}_drawIcons(t,i,a){const{context:n,displayLevel:r,drawPhase:c,spriteMosaic:u,styleLayerUID:h}=t,p=i.iconMaterial;let g,f=!1;for(const e of a)if(e.layerData.has(h)&&(g=e.layerData.get(h),g.iconPerPageElementsMap.size>0)){f=!0;break}if(!f)return;const y=i.getPaintValue("icon-translate",r),d=i.getPaintValue("icon-translate-anchor",r);let m=i.getLayoutValue("icon-rotation-alignment",r);2===m&&(m=0===i.getLayoutValue("symbol-placement",r)?1:0);const x=0===m,M=i.getLayoutValue("icon-keep-upright",r)&&x,P=g.isIconSDF,D={rotationAlignmentMap:x,translateAnchorViewport:1===d},v={view:s(t),tileContainer:o(t),tile:l(t.tilingScheme,a[0]),config:{depth:i.z,iconTranslation:y,level:10*r,keepUpright:M?1:0,fadeDuration:e/1e3,isStencilPass:t.stencilSymbols?1:0,time:null,tileOpacity:1},page:{mosaicSize:null},color:null,opacity:null,haloBlur:null,haloColor:null,haloWidth:null,size:null,colorMix:null,opacityMix:null,haloBlurMix:null,haloColorMix:null,haloWidthMix:null,sizeMix:null};let w=-1;for(const e of a){if(!e.layerData.has(h))continue;if(e.key.level!==w){w=e.key.level;const t=p.getUniforms();for(const e of t){const t=e.getValue(i,r,w,u);v[e.name]={value:t}}}if(g=e.layerData.get(h),0===g.iconPerPageElementsMap.size||g.isDestroyed)continue;if(this._iconMesh=g.getMesh(n,{value:0}),!this._iconMesh)continue;g.updateOpacityInfo(),v.tile=l(t.tilingScheme,e),v.config.time=(performance.now()-g.lastOpacityUpdate)/1e3,v.config.tileOpacity=1===c?e.fader.value():1;let a=0;for(const[i,n]of g.iconPerPageElementsMap)this._renderIconRange(t,p,n,i,e,v,this._iconMesh,P,D,a++)}}_drawText(t,i,a){const{context:n,displayLevel:r,drawPhase:c,glyphMosaic:h,spriteMosaic:p,pixelRatio:g,styleLayerUID:f,requestRender:y,allowDelayedRender:d}=t,m=i.textMaterial;let x,M=!1;for(const e of a)if(e.layerData.has(f)&&(x=e.layerData.get(f),x.glyphPerPageElementsMap.size>0)){M=!0;break}if(!M)return;const P=i.getPaintProperty("text-opacity");if(P&&!P.isDataDriven&&0===P.getValue(r))return;const D=i.getPaintProperty("text-color"),v=D&&D.getValue(r),w=!D||D.isDataDriven||v&&4===v.length&&v[3]>0,S=i.getPaintProperty("text-halo-width"),_=i.getPaintProperty("text-halo-color"),V=_&&_.getValue(r),T=(!S||S.isDataDriven||S.getValue(r)>0)&&(!_||_.isDataDriven||V&&4===V.length&&V[3]>0);if(!w&&!T)return;const z=24/8;let b=i.getLayoutValue("text-rotation-alignment",r);2===b&&(b=0===i.getLayoutValue("symbol-placement",r)?1:0);const R=0===b,k=i.getLayoutValue("text-keep-upright",r)&&R,U=.8*z/g;this._glyphTextureSize||(this._glyphTextureSize=[h.width/4,h.height/4]);const L=i.getPaintValue("text-translate",r),I={rotationAlignmentMap:R,translateAnchorViewport:1===i.getPaintValue("text-translate-anchor",r)};if(d&&null!=y)return void y();const C={view:s(t),tileContainer:o(t),tile:l(t.tilingScheme,a[0]),config:{depth:i.z+u,textTranslation:L,keepUpright:k?1:0,level:10*r,fadeDuration:e/1e3,antialiasingWidth:U,time:null,halo:null,isStencilPass:t.stencilSymbols?1:0,tileOpacity:1},page:{mosaicSize:null},size:null,color:null,haloColor:null,opacity:null,haloWidth:null,haloBlur:null,sizeMix:null,colorMix:null,haloColorMix:null,opacityMix:null,haloWidthMix:null,haloBlurMix:null};let j=-1;for(const e of a){if(!e.layerData.has(f))continue;if(e.key.level!==j){j=e.key.level;const t=m.getUniforms();for(const e of t){const t=e.getValue(i,r,j,p);e.name in C&&(C[e.name]={value:t})}}if(x=e.layerData.get(f),0===x.glyphPerPageElementsMap.size||x.isDestroyed)continue;if(C.tile=l(t.tilingScheme,e),C.config.time=(performance.now()-x.lastOpacityUpdate)/1e3,C.config.tileOpacity=1===c?e.fader.value():1,this._textMesh=x.getMesh(n,{value:1}),!this._textMesh)continue;x.updateOpacityInfo();let a=0;x.glyphPerPageElementsMap.forEach((i,n)=>{this._renderGlyphRange(t,i,n,T,w,e,C,m,this._textMesh,I,a++)})}}_renderIconRange(e,a,n,l,o,s,r,c,u,h){const{context:p,is3D:g,painter:f,spriteMosaic:y}=e,d={...u,iconType:c?1:0},m=a.key+t(d);y.bind(p,9729,l,i),s.page={mosaicSize:[y.getWidth(l)/4,y.getHeight(l)/4]};const x={shader:this.shaders.icon,uniforms:s,textures:{pageTexture:{texture:y.getTexture(l),unit:i}},defines:d,optionalAttributes:a.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:a.getPrecisionFactors(),materialKey:m};f.submitDrawMeshUntyped(p,x,r,{stencilRef:g?o.stencilRef:255,parts:[h]}),o.triangleCount+=n[1]/3}_renderGlyphRange(e,i,n,l,o,s,r,c,u,h,p){const{context:g,is3D:f,painter:y,glyphMosaic:d}=e;d.bind(g,9729,n,a),r.page={mosaicSize:this._glyphTextureSize};const m={shader:this.shaders.text,uniforms:r,textures:{pageTexture:{texture:d.getTexture(g,n),unit:a}},defines:h,optionalAttributes:c.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:c.getPrecisionFactors(),materialKey:c.key+t(h)};l&&(r.config.halo=1,y.submitDrawMeshUntyped(g,m,u,{stencilRef:f?s.stencilRef:255,parts:[p]}),s.triangleCount+=i[1]/3),o&&(r.config.halo=0,y.submitDrawMeshUntyped(g,m,u,{stencilRef:f?s.stencilRef:255,parts:[p]}),s.triangleCount+=i[1]/3)}_setRenderState(e){const{is3D:t,painter:i,stencilSymbols:a}=e;i.setPipelineState({color:{write:[!a,!a,!a,!a],blendMode:a?"none":"composite"},stencil:{write:!!a&&{mask:255},test:{compare:a?519:t?514:516,op:{fail:7680,zFail:7680,zPass:7681},mask:255}},depth:{write:!1,test:515}})}}export{h as VTLTechniqueSymbol};
2
+ import{fadeDuration as e}from"../../../../vectorTiles/decluttering/config.js";import{getDefinesKey as t}from"../../../../vectorTiles/shaders/vtlMaterialUtils.js";import{vtlTextureBindingUnitSprites as i,vtlTextureBindingUnitGlyphs as a}from"../../../definitions.js";import{Technique as n}from"../Technique.js";import{VTLShaderIcon as l}from"../shaders/vector-tiles/VTLShaderIcon.js";import{VTLShaderText as o}from"../shaders/vector-tiles/VTLShaderText.js";const s=1/65536;class r extends n{constructor(){super(...arguments),this.type=42,this._iconMesh=null,this._textMesh=null,this.shaders={icon:new l,text:new o}}shutdown(){this._iconMesh=null,this._textMesh=null}render(e,t){const{painter:i}=e,a=e.styleLayer,{tiles:n}=t,l=i.getPipelineState();this._setRenderState(e),this._drawIcons(e,a,n),this._drawText(e,a,n),i.setPipelineState(l)}_drawIcons(t,i,a){const{context:n,displayLevel:l,drawPhase:o,spriteMosaic:s,styleLayerUID:r}=t,c=i.iconMaterial;let u,h=!1;for(const e of a)if(e.layerData.has(r)&&(u=e.layerData.get(r),u.iconPerPageElementsMap.size>0)){h=!0;break}if(!h)return;const p=i.getPaintValue("icon-translate",l),g=i.getPaintValue("icon-translate-anchor",l);let f=i.getLayoutValue("icon-rotation-alignment",l);2===f&&(f=0===i.getLayoutValue("symbol-placement",l)?1:0);const y=0===f,d=i.getLayoutValue("icon-keep-upright",l)&&y,m=u.isIconSDF,x={rotationAlignmentMap:y,translateAnchorViewport:1===g},M={config:{depth:i.z,iconTranslation:p,level:10*l,keepUpright:d?1:0,fadeDuration:e/1e3,isStencilPass:t.stencilSymbols?1:0,time:null,tileOpacity:1},page:{mosaicSize:null},color:null,opacity:null,haloBlur:null,haloColor:null,haloWidth:null,size:null,colorMix:null,opacityMix:null,haloBlurMix:null,haloColorMix:null,haloWidthMix:null,sizeMix:null};let P=-1;for(const e of a){if(!e.layerData.has(r))continue;if(e.key.level!==P){P=e.key.level;const t=c.getUniforms();for(const e of t){const t=e.getValue(i,l,P,s);M[e.name]={value:t}}}if(u=e.layerData.get(r),0===u.iconPerPageElementsMap.size||u.isDestroyed)continue;if(this._iconMesh=u.getMesh(n,{value:0}),!this._iconMesh)continue;u.updateOpacityInfo(),M.config.time=(performance.now()-u.lastOpacityUpdate)/1e3,M.config.tileOpacity=1===o?e.fader.value():1,e.bindTile(n,t.tilingScheme);let a=0;for(const[i,n]of u.iconPerPageElementsMap)this._renderIconRange(t,c,n,i,e,M,this._iconMesh,m,x,a++)}}_drawText(t,i,a){const{context:n,displayLevel:l,drawPhase:o,glyphMosaic:r,spriteMosaic:c,pixelRatio:u,styleLayerUID:h,requestRender:p,allowDelayedRender:g}=t,f=i.textMaterial;let y,d=!1;for(const e of a)if(e.layerData.has(h)&&(y=e.layerData.get(h),y.glyphPerPageElementsMap.size>0)){d=!0;break}if(!d)return;const m=i.getPaintProperty("text-opacity");if(m&&!m.isDataDriven&&0===m.getValue(l))return;const x=i.getPaintProperty("text-color"),M=x&&x.getValue(l),P=!x||x.isDataDriven||M&&4===M.length&&M[3]>0,D=i.getPaintProperty("text-halo-width"),v=i.getPaintProperty("text-halo-color"),_=v&&v.getValue(l),w=(!D||D.isDataDriven||D.getValue(l)>0)&&(!v||v.isDataDriven||_&&4===_.length&&_[3]>0);if(!P&&!w)return;const S=24/8;let T=i.getLayoutValue("text-rotation-alignment",l);2===T&&(T=0===i.getLayoutValue("symbol-placement",l)?1:0);const V=0===T,b=i.getLayoutValue("text-keep-upright",l)&&V,z=.8*S/u;this._glyphTextureSize||(this._glyphTextureSize=[r.width/4,r.height/4]);const R=i.getPaintValue("text-translate",l),k={rotationAlignmentMap:V,translateAnchorViewport:1===i.getPaintValue("text-translate-anchor",l)};if(g&&null!=p)return void p();const U={config:{depth:i.z+s,textTranslation:R,keepUpright:b?1:0,level:10*l,fadeDuration:e/1e3,antialiasingWidth:z,time:null,halo:null,isStencilPass:t.stencilSymbols?1:0,tileOpacity:1},page:{mosaicSize:null},size:null,color:null,haloColor:null,opacity:null,haloWidth:null,haloBlur:null,sizeMix:null,colorMix:null,haloColorMix:null,opacityMix:null,haloWidthMix:null,haloBlurMix:null};let L=-1;for(const e of a){if(!e.layerData.has(h))continue;if(e.key.level!==L){L=e.key.level;const t=f.getUniforms();for(const e of t){const t=e.getValue(i,l,L,c);e.name in U&&(U[e.name]={value:t})}}if(y=e.layerData.get(h),0===y.glyphPerPageElementsMap.size||y.isDestroyed)continue;if(U.config.time=(performance.now()-y.lastOpacityUpdate)/1e3,U.config.tileOpacity=1===o?e.fader.value():1,this._textMesh=y.getMesh(n,{value:1}),!this._textMesh)continue;y.updateOpacityInfo(),e.bindTile(n,t.tilingScheme);let a=0;y.glyphPerPageElementsMap.forEach((i,n)=>{this._renderGlyphRange(t,i,n,w,P,e,U,f,this._textMesh,k,a++)})}}_renderIconRange(e,a,n,l,o,s,r,c,u,h){const{context:p,is3D:g,painter:f,spriteMosaic:y}=e,d={...u,iconType:c?1:0},m=a.key+t(d);y.bind(p,9729,l,i),s.page={mosaicSize:[y.getWidth(l)/4,y.getHeight(l)/4]};const x={shader:this.shaders.icon,uniforms:s,textures:{pageTexture:{texture:y.getTexture(l),unit:i}},defines:d,optionalAttributes:a.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:a.getPrecisionFactors(),materialKey:m};f.submitDrawMeshUntyped(p,x,r,{stencilRef:g?o.stencilRef:255,parts:[h]}),o.triangleCount+=n[1]/3}_renderGlyphRange(e,i,n,l,o,s,r,c,u,h,p){const{context:g,is3D:f,painter:y,glyphMosaic:d}=e;d.bind(g,9729,n,a),r.page={mosaicSize:this._glyphTextureSize};const m={shader:this.shaders.text,uniforms:r,textures:{pageTexture:{texture:d.getTexture(g,n),unit:a}},defines:h,optionalAttributes:c.getUsedAttributes(),useComputeBuffer:!1,precisionFactors:c.getPrecisionFactors(),materialKey:c.key+t(h)};l&&(r.config.halo=1,y.submitDrawMeshUntyped(g,m,u,{stencilRef:f?s.stencilRef:255,parts:[p]}),s.triangleCount+=i[1]/3),o&&(r.config.halo=0,y.submitDrawMeshUntyped(g,m,u,{stencilRef:f?s.stencilRef:255,parts:[p]}),s.triangleCount+=i[1]/3)}_setRenderState(e){const{is3D:t,painter:i,stencilSymbols:a}=e;i.setPipelineState({color:{write:[!a,!a,!a,!a],blendMode:a?"none":"composite"},stencil:{write:!!a&&{mask:255},test:{compare:a?519:t?514:516,op:{fail:7680,zFail:7680,zPass:7681},mask:255}},depth:{write:!1,test:515}})}}export{r as VTLTechniqueSymbol};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import e from"../../../../../../core/Error.js";import r from"../../../../../../core/Logger.js";import{disposeMaybe as t}from"../../../../../../core/maybe.js";import{getDeepValue as o}from"../../../../../../core/object.js";import{createTexture as i}from"../../textureUtils.js";import{DisposableProgram as n}from"../../../../../webgl/Program.js";import{transpileShader as a}from"../../../../../webgl/ShaderTranspiler.js";const s=()=>r.getLogger("esri.views.2d.engine.webgl.shaderGraph.typed.TypedShaderProgram");function f(r,t,o){const i=t.length;if(i!==o){const n=new e("Invalid Uniform",`Invalid length, expected ${o} but got ${i}`,{uniformName:r,values:t});s().errorOnce(n)}}class m{constructor(e,r,t,o,i,n,a){this.debugName=e,this.vertexShader=r,this.fragmentShader=t,this._locations=o,this._uniformBindings=i,this._textureBindings=n,this._transformFeedbackBindings=a,this._vao=null,this._temporaryTextures=[]}destroy(){this._program=t(this._program),this.cleanupTemporaryTextures()}[Symbol.dispose](){this.destroy()}setUniforms(e){this._uniforms=e}setTextures(e){this._textures=e}validate(e){if(!this._validation){const r=this._validateWebGL2(e);"error"===r.type&&(r.error=`Validation failed for ShaderModule '${this.debugName}'\n${r.error}`),this._validation=r}return this._validation}cleanupTemporaryTextures(){for(const e of this._temporaryTextures)e.dispose();this._temporaryTextures=[]}prepare(e){if(!this._program){const r=[];for(const e of this._transformFeedbackBindings??[]){const{index:t,propertyKey:o}=e;r[t]=`v_${o}`}this._program=new n(e,this.vertexShader,this.fragmentShader,this._locations,new Map,r)}}get compiled(){return this._program?.compiled??!1}bind(e){const r=this._uniforms,t=this._textures;this.prepare(e);const n=this._program;e.useProgram(n);for(const i of this._uniformBindings){const{shaderModulePath:e,uniformName:t,uniformType:a,uniformArrayLength:s}=i,m=o(e,r);if(null==m)throw new Error(`Failed to find uniform value for ${e}`);switch("array"===a||"array-2d"===a?i.uniformArrayElementType:a){case"int":if(!s){n.setUniform1i(t,m);break}f(i.uniformName,m,s),n.setUniform1iv(t,m);break;case"ivec2":if(!s){n.setUniform2iv(t,m);break}f(i.uniformName,m,s),n.setUniform2iv(t,m.flat());break;case"float":if(!s){n.setUniform1f(t,m);break}f(i.uniformName,m,s),n.setUniform1fv(t,m);break;case"vec2":if(!s){n.setUniform2f(t,m[0],m[1]);break}f(i.uniformName,m,s),n.setUniform2fv(t,m.flat());break;case"vec3":if(!s){n.setUniform3f(t,m[0],m[1],m[2]);break}f(i.uniformName,m,s),n.setUniform3fv(t,m.flat());break;case"vec4":if(!s){n.setUniform4f(t,m[0],m[1],m[2],m[3]);break}f(i.uniformName,m,s),n.setUniform4fv(t,m.flat());break;case"mat3":n.setUniformMatrix3fv(t,m);break;case"mat4":n.setUniformMatrix4fv(t,m);break;default:throw new Error(`Unable to set uniform for type ${a}`)}}for(const a of this._textureBindings){const r=o(a.shaderModulePath,t);if(null==r)continue;const{unit:s,texture:f}=r;if(n.setUniform1i(a.textureName,s),"type"in f)e.bindTexture(f,s);else{const r=i(e,f.descriptor,f.data);e.bindTexture(r,s)}}}_validateWebGL2(e){const r=e.gl,t=d(r,35633,this.vertexShader);if("error"===t.type)return t;const o=d(r,35632,this.fragmentShader);if("error"===o.type)return o;const i=t.value,n=o.value,a=r.createProgram();if(r.attachShader(a,i),r.attachShader(a,n),r.linkProgram(a),!r.getProgramParameter(a,r.LINK_STATUS)){return{type:"error",error:`Failed to link shader:\nvalidated: ${r.getProgramParameter(a,r.VALIDATE_STATUS)}, gl error ${r.getError()}, vertex: ${r.getShaderParameter(i,r.COMPILE_STATUS)}, fragment: ${r.getShaderParameter(n,r.COMPILE_STATUS)}, info log: ${r.getProgramInfoLog(a)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`}}return r.deleteProgram(a),{type:"ok",value:null}}}function h(e){const r=e.match(/\d+:(\d+):/);if(void 0!==r?.index&&r?.length>1){const e=r.index+r[0].length;return{lineNumber:parseInt(r[1],10),offset:e}}return null}function d(e,r,t){const o=e.createShader(r),i=a(t,r);if(e.shaderSource(o,i),e.compileShader(o),!e.getShaderParameter(o,e.COMPILE_STATUS)){const i=e.getShaderInfoLog(o)??"";let n="";const a=i.split("\n"),s=new Map,f=[];for(const e of a){const r=h(i);if(!r){f.push(e);continue}let t=s.get(r.lineNumber);t||(t=[],s.set(r.lineNumber,t)),t.push({text:e,offset:r.offset})}const m=Array.from(s.entries()).sort();for(const[e,r]of m){const o=t.split("\n"),i=Math.max(e-2,0),a=Math.min(e+2,o.length);for(let t=i;t!==a;t++){if(n+=`${(t+1).toString().padEnd(4)}${o[t]}\n`,t===e-1){const e=o[t].length;n+=" "+new Array(e).join("^")+"\n";for(const{text:t,offset:o}of r)n+=" "+t.slice(o).trim()+"\n"}}}for(const e of f)n+=e+"\n";const d=`Failed to compile ${35633===r?"vertex":"fragment"} shader:\n\n${n}`;return e.deleteShader(o),{type:"error",error:d}}return{type:"ok",value:o}}export{m as TypedShaderProgram};
2
+ import{disposeMaybe as e}from"../../../../../../core/maybe.js";import{getDeepValue as r}from"../../../../../../core/object.js";import{createTexture as t}from"../../textureUtils.js";import{isTechniqueUniformBlockBinding as o,getUniformBlockName as i}from"../types.js";import{updateUniformBufferObject as n}from"../uniformBufferUtils.js";import{DisposableProgram as s}from"../../../../../webgl/Program.js";import{transpileShader as a}from"../../../../../webgl/ShaderTranspiler.js";import{UniformBufferObject as f}from"../../../../../webgl/UniformBufferObject.js";class h{constructor(e,r,t,i,n,s,a){this.debugName=e,this.vertexShader=r,this.fragmentShader=t,this._locations=i,this._uniformBlockBindings=n,this._textureBindings=s,this._transformFeedbackBindings=a,this._vao=null,this._temporaryTextures=[],this._uniformBufferObjects=new Map,this._techniqueUniformBlockBindings=n.filter(o)}destroy(){for(const e of this._uniformBufferObjects.values())e.dispose();this._uniformBufferObjects.clear(),this._program=e(this._program),this.cleanupTemporaryTextures()}[Symbol.dispose](){this.destroy()}validate(e){if(!this._validation){const r=this._validateWebGL2(e);"error"===r.type&&(r.error=`Validation failed for ShaderModule '${this.debugName}'\n${r.error}`),this._validation=r}return this._validation}cleanupTemporaryTextures(){for(const e of this._temporaryTextures)e.dispose();this._temporaryTextures=[]}prepare(e){if(!this._program){const r=[];for(const e of this._transformFeedbackBindings??[]){const{index:t,propertyKey:o}=e;r[t]=`v_${o}`}const t=new Map;for(const e of this._uniformBlockBindings)t.set(i(e.shaderModulePath),e.bindingPoint);this._program=new s(e,this.vertexShader,this.fragmentShader,this._locations,t,r)}}get compiled(){return this._program?.compiled??!1}bind(e,o,i){this.prepare(e);const n=this._program;e.useProgram(n),this._bindUniformBlocks(e,o);for(const s of this._textureBindings){const o=r(s.shaderModulePath,i);if(null==o)continue;const{unit:a,texture:f}=o;if(n.setUniform1i(s.textureName,a),"type"in f)e.bindTexture(f,a);else{const r=t(e,f.descriptor,f.data);e.bindTexture(r,a)}}}_bindUniformBlocks(e,r){if(!this._techniqueUniformBlockBindings.length)return;const t=this._techniqueUniformBlockBindings;for(const o of t){const t=r[o.shaderModulePath];if(!d(t))throw new Error(`Failed to find uniform values for ${o.shaderModulePath}`);let i=this._uniformBufferObjects.get(o.shaderModulePath);i||(i=new f(e,o.descriptor),this._uniformBufferObjects.set(o.shaderModulePath,i)),n(i,o,t),e.bindUBO(o.bindingPoint,i)}}_validateWebGL2(e){const r=e.gl,t=l(r,35633,this.vertexShader);if("error"===t.type)return t;const o=l(r,35632,this.fragmentShader);if("error"===o.type)return o;const i=t.value,n=o.value,s=r.createProgram();if(r.attachShader(s,i),r.attachShader(s,n),r.linkProgram(s),!r.getProgramParameter(s,r.LINK_STATUS)){return{type:"error",error:`Failed to link shader:\nvalidated: ${r.getProgramParameter(s,r.VALIDATE_STATUS)}, gl error ${r.getError()}, vertex: ${r.getShaderParameter(i,r.COMPILE_STATUS)}, fragment: ${r.getShaderParameter(n,r.COMPILE_STATUS)}, info log: ${r.getProgramInfoLog(s)}, vertex source: ${this.vertexShader}, fragment source: ${this.fragmentShader}`}}return r.deleteProgram(s),{type:"ok",value:null}}}function d(e){return null!=e&&!0!==e&&"object"==typeof e}function c(e){const r=e.match(/\d+:(\d+):/);if(void 0!==r?.index&&r?.length>1){const e=r.index+r[0].length;return{lineNumber:parseInt(r[1],10),offset:e}}return null}function l(e,r,t){const o=e.createShader(r),i=a(t,r);if(e.shaderSource(o,i),e.compileShader(o),!e.getShaderParameter(o,e.COMPILE_STATUS)){const i=e.getShaderInfoLog(o)??"";let n="";const s=i.split("\n"),a=new Map,f=[];for(const e of s){const r=c(i);if(!r){f.push(e);continue}let t=a.get(r.lineNumber);t||(t=[],a.set(r.lineNumber,t)),t.push({text:e,offset:r.offset})}const h=Array.from(a.entries()).sort();for(const[e,r]of h){const o=t.split("\n"),i=Math.max(e-2,0),s=Math.min(e+2,o.length);for(let t=i;t!==s;t++){if(n+=`${(t+1).toString().padEnd(4)}${o[t]}\n`,t===e-1){const e=o[t].length;n+=" "+new Array(e).join("^")+"\n";for(const{text:t,offset:o}of r)n+=" "+t.slice(o).trim()+"\n"}}}for(const e of f)n+=e+"\n";const d=`Failed to compile ${35633===r?"vertex":"fragment"} shader:\n\n${n}`;return e.deleteShader(o),{type:"error",error:d}}return{type:"ok",value:o}}export{h as TypedShaderProgram};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ const n=-1,i=3;function t(t){return t.bindingPoint===n||t.bindingPoint>=i}function o(n){return`ubo_${n}`}export{i as firstTechniqueUniformBlockBindingPoint,o as getUniformBlockName,t as isTechniqueUniformBlockBinding,n as unassignedUniformBlockBindingPoint};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ import{getDeepValue as o}from"../../../../../core/object.js";function r(r,e,t){for(const f of e.members){const e=o(f.propertyName,t);if(null==e)throw new Error(`Failed to find uniform value for ${f.shaderModulePath}`);r.setUniform(f.uniformName,e)}r.upload()}export{r as updateUniformBufferObject};