@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
- class t{generateSource(t){const o=[];for(let a=1;a<this.length;a++)o.push(`vec4 atom${a} = texture(${t.animationTexture}, (pointer + 0.5) / size);`),o.push("pointer.x += 1.0;");for(let a=0;a<this.ins;a++)o.push("top--;"),o.push(`vec4 in${this.ins-a-1} = stack[top];`);for(let a=0;a<this.outs;a++)o.push(`vec4 out${a};`);const{microcode:e}=this;for(const a of e)o.push(a);for(let a=0;a<this.outs;a++)o.push(`stack[top] = out${a};`),o.push("top++;"),o.push(`if (top >= ${d}) { top = ${d-1}; }`);return o}}let o=128;class e extends t{constructor(){super(...arguments),this.opcode=++o,this.length=1,this.ins=0,this.outs=0,this.microcode=["break;"]}encode(){return[[this.opcode,0,0,0]]}}class a extends t{constructor(){super(...arguments),this.opcode=++o,this.length=1,this.ins=0,this.outs=1,this.microcode=["out0 = vec4(atom0.y, atom0.y, atom0.y, atom0.y);"]}encode(t){return[[this.opcode,t,0,0]]}}class i extends t{constructor(){super(...arguments),this.opcode=++o,this.length=1,this.ins=0,this.outs=1,this.microcode=["out0 = vec4(atom0.yzw, 0.0);"]}encode(t){return[[this.opcode,t[0]||0,t[1]||0,t[2]||0]]}}class n extends t{constructor(){super(...arguments),this.opcode=++o,this.length=2,this.ins=0,this.outs=1,this.microcode=["out0 = atom1;"]}encode(t){return[[this.opcode,0,0,0],t]}}function r(t){return[`float duration = clamp(${t.duration}, 0.05, 3600.0);`,`float startTimeOffset = ${t.startTimeOffset};`,`float repeatDelay = ${t.repeatDelay};`,`float timeOriginSelector = ${t.timeOriginSelector};`,`float repeatType = ${t.repeatType};`,`float easing = ${t.easing};`,`float playAnimation = ${t.playAnimation} * (1.0 - step(0.0, -${t.duration}));`,`float reverseAnimation = ${t.reverseAnimation};`,"float time = globalTime - (timeOriginSelector == 1.0 ? localTimeOrigin : 0.0);","time *= playAnimation;","time *= 1.0 - reverseAnimation * 2.0;","float period = duration + repeatDelay;","time += reverseAnimation == 1.0 ? (period - startTimeOffset - 0.001) : startTimeOffset + 0.001;","float omega = time / period;","float oi = floor(omega);","omega = repeatType == 1.0 || repeatType == 3.0 ? omega - oi : omega;","float of = omega * period;","of = (clamp(of, reverseAnimation * repeatDelay, period - (1.0 - reverseAnimation) * repeatDelay) - reverseAnimation * repeatDelay) / duration;","of = easing == 2.0 ? pow(of, 3.0) : of;","of = easing == 3.0 ? 1.0 - pow(1.0 - of, 3.0) : of;","of = easing == 4.0 ? of < 0.5 ? 4.0 * pow(of, 3.0) : 1.0 - pow(-2.0 * of + 2.0, 3.0) / 2.0 : of;","bool oscillate = repeatType == 3.0 && mod(oi, 2.0) == 1.0;",`${t.out} = oscillate ? 1.0 - of : of;`]}const s={Linear:1,EaseIn:2,EaseOut:3,EaseInOut:4},l={Loop:1,None:2,Oscillate:3},m={Local:1,Global:2};function c(t){const o=s[t.easing],e=l[t.repeatType],a=m[t.timeOriginSelector];return[[t.duration,t.startTimeOffset,t.repeatDelay,a],[e,o,t.playAnimation,t.reverseAnimation]]}class f extends t{constructor(){super(...arguments),this.opcode=++o,this.length=10,this.ins=1,this.outs=1,this.microcode=["vec2 fromTranslation = atom1.xy;","vec2 toTranslation = atom1.zw;","float fromRotation = atom2.x;","float toRotation = atom2.y;","float fromScale = atom2.z;","float toScale = atom2.w;","bool relativeTranslation = atom9.x == 1.0;","bool absoluteScale = atom9.y == 1.0;","vec2 translationMultiplier = relativeTranslation ? pixelDimensions : vec2(1.0, 1.0);","float scaleDivisor = absoluteScale ? pixelDimensions.y : 1.0;","float fTranslation;","{",...r({duration:"atom3.x",startTimeOffset:"atom3.y",repeatDelay:"atom3.z",timeOriginSelector:"atom3.w",repeatType:"atom4.x",easing:"atom4.y",playAnimation:"atom4.z",reverseAnimation:"atom4.w",out:"fTranslation"}),"}","float fRotation;","{",...r({duration:"atom5.x",startTimeOffset:"atom5.y",repeatDelay:"atom5.z",timeOriginSelector:"atom5.w",repeatType:"atom6.x",easing:"atom6.y",playAnimation:"atom6.z",reverseAnimation:"atom6.w",out:"fRotation"}),"}","float fScale;","{",...r({duration:"atom7.x",startTimeOffset:"atom7.y",repeatDelay:"atom7.z",timeOriginSelector:"atom7.w",repeatType:"atom8.x",easing:"atom8.y",playAnimation:"atom8.z",reverseAnimation:"atom8.w",out:"fScale"}),"}","vec2 aTranslation = mix(fromTranslation, toTranslation, fTranslation);","float aRotation = mix(fromRotation, toRotation, fRotation);","float aScale = mix(fromScale, toScale, fScale);","vec2 pTranslation = in0.xy;","float pRotation = in0.z;","float pScale = in0.w;","aTranslation *= translationMultiplier;","aScale /= scaleDivisor;","float rotation = pRotation + aRotation;","float scale = pScale * aScale;","float sin1 = sin(pRotation);","float cos1 = cos(pRotation);","float s1 = pScale;","float x1 = pTranslation.x;","float y1 = pTranslation.y;","float x2 = aTranslation.x;","float y2 = aTranslation.y;","\n vec2 translation = vec2(\n cos1 * s1 * x2 - sin1 * s1 * y2 + x1,\n sin1 * s1 * x2 + cos1 * s1 * y2 + y1\n );\n ","out0 = vec4(translation, rotation, scale);"]}encode(t){return[[this.opcode,0,0,0],[t.translation.from[0],t.translation.from[1],t.translation.to[0],t.translation.to[1]],[t.rotation.from,t.rotation.to,t.scale.from,t.scale.to],...c(t.translation.timing),...c(t.rotation.timing),...c(t.scale.timing),[t.relativeTranslation?1:0,t.absoluteScale?1:0,0,0]]}}class p extends t{constructor(){super(...arguments),this.opcode=++o,this.length=7,this.ins=1,this.outs=1,this.microcode=["float fromOpacity = atom0.y;","float toOpacity = atom0.z;","vec4 fromColor = atom1;","vec4 toColor = atom2;","float fColor;","{",...r({duration:"atom3.x",startTimeOffset:"atom3.y",repeatDelay:"atom3.z",timeOriginSelector:"atom3.w",repeatType:"atom4.x",easing:"atom4.y",playAnimation:"atom4.z",reverseAnimation:"atom4.w",out:"fColor"}),"}","float fOpacity;","{",...r({duration:"atom5.x",startTimeOffset:"atom5.y",repeatDelay:"atom5.z",timeOriginSelector:"atom5.w",repeatType:"atom6.x",easing:"atom6.y",playAnimation:"atom6.z",reverseAnimation:"atom6.w",out:"fOpacity"}),"}","vec4 aColor = mix(fromColor, toColor, fColor);","aColor.a *= mix(fromOpacity, toOpacity, fOpacity);","vec4 pColor = in0;","out0 = aColor * pColor;"]}encode(t){return[[this.opcode,t.opacity.from,t.opacity.to,0],[t.color.from[0],t.color.from[1],t.color.from[2],t.color.from[3]],[t.color.to[0],t.color.to[1],t.color.to[2],t.color.to[3]],...c(t.color.timing),...c(t.opacity.timing)]}}class u extends t{constructor(){super(...arguments),this.opcode=++o,this.length=4,this.ins=1,this.outs=1,this.microcode=["float fromShift = atom0.y;","float toShift = atom0.z;","float duration = atom1.x;","bool multiplyToByLineLength = atom3.x == 1.0;","bool multiplyDurationByLineLength = atom3.y == 1.0;","duration *= multiplyDurationByLineLength ? lineLength : 1.0;","float fShift;","{",...r({duration:"duration",startTimeOffset:"atom1.y",repeatDelay:"atom1.z",timeOriginSelector:"atom1.w",repeatType:"atom2.x",easing:"atom2.y",playAnimation:"atom2.z",reverseAnimation:"atom2.w",out:"fShift"}),"}","toShift *= multiplyToByLineLength ? lineLength : 1.0;","float aShift = mix(fromShift, toShift, fShift);","vec4 pShift = in0;","out0 = mod(aShift + pShift, lineLength);"]}encode(t){return[[this.opcode,t.shift.from,t.shift.to,0],...c(t.shift.timing),[t.multiplyToByLineLength?1:0,t.multiplyDurationByLineLength?1:0,0,0]]}}const h={scalar:new a,vector3:new i,vector4:new n,animatedTransform:new f,animatedColor:new p,animatedShift:new u,ret:new e},y=40,d=4;function g(t){const o=[];o.push(`float globalTime = ${t.globalTime};`),o.push(`float localTimeOrigin = ${t.localTimeOrigin};`),o.push(`float lineLength = ${t.lineLength};`),o.push(`vec2 pointer = ${t.animationPointer};`),o.push(`vec2 size = ${t.animationTextureSize};`),o.push("int top = 0;"),o.push(`vec4 stack[${d}];`),o.push(`for (int counter = 0; counter < ${y}; counter++) {`),o.push(`vec4 atom0 = texture(${t.animationTexture}, (pointer + 0.5) / size);`),o.push("pointer.x += 1.0;"),o.push(`vec2 pixelDimensions = ${t.pixelDimensions};`),o.push("if (false) {");for(const e in h){const a=h[e];o.push(`} else if (int(atom0.x) == ${a.opcode}) {`);for(const e of a.generateSource(t))o.push(e)}return o.push("} // End if-else."),o.push("} // End for."),o.push(`${t.out} = top > 0 ? stack[top - 1] : vec4(0.0);`),o.join("\n")}export{t as AAnimationInstruction,p as AnimatedColorInstruction,u as AnimatedShiftInstruction,f as AnimatedTransformInstruction,e as RetInstruction,a as ScalarInstruction,i as Vector3Instruction,n as Vector4Instruction,s as easingCodes,g as generateVirtualMachineSource,r as getTweenFactor,h as instructions,l as repeatTypeCodes,m as timeOriginSelectorCodes};
2
+ class t{generateSource(t){const o=[];for(let a=1;a<this.length;a++)o.push(`vec4 atom${a} = texture(${t.animationTexture}, (pointer + 0.5) / size);`),o.push("pointer.x += 1.0;");for(let a=0;a<this.ins;a++)o.push("top--;"),o.push(`vec4 in${this.ins-a-1} = stack[top];`);for(let a=0;a<this.outs;a++)o.push(`vec4 out${a};`);const{microcode:e}=this;for(const a of e)o.push(a);for(let a=0;a<this.outs;a++)o.push(`stack[top] = out${a};`),o.push("top++;"),o.push(`if (top >= ${d}) { top = ${d-1}; }`);return o}}let o=128;class e extends t{constructor(){super(...arguments),this.opcode=++o,this.length=1,this.ins=0,this.outs=0,this.microcode=["break;"]}encode(){return[[this.opcode,0,0,0]]}}class a extends t{constructor(){super(...arguments),this.opcode=++o,this.length=1,this.ins=0,this.outs=1,this.microcode=["out0 = vec4(atom0.y, atom0.y, atom0.y, atom0.y);"]}encode(t){return[[this.opcode,t,0,0]]}}class i extends t{constructor(){super(...arguments),this.opcode=++o,this.length=1,this.ins=0,this.outs=1,this.microcode=["out0 = vec4(atom0.yzw, 0.0);"]}encode(t){return[[this.opcode,t[0]||0,t[1]||0,t[2]||0]]}}class n extends t{constructor(){super(...arguments),this.opcode=++o,this.length=2,this.ins=0,this.outs=1,this.microcode=["out0 = atom1;"]}encode(t){return[[this.opcode,0,0,0],t]}}function r(t){return[`float duration = clamp(${t.duration}, 0.05, 3600.0);`,`float startTimeOffset = ${t.startTimeOffset};`,`float repeatDelay = ${t.repeatDelay};`,`float timeOriginSelector = ${t.timeOriginSelector};`,`float repeatType = ${t.repeatType};`,`float easing = ${t.easing};`,`float playAnimation = ${t.playAnimation} * (1.0 - step(0.0, -${t.duration}));`,`float reverseAnimation = ${t.reverseAnimation};`,"float time = globalTime - (timeOriginSelector == 1.0 ? localTimeOrigin : 0.0);","time *= playAnimation;","time *= 1.0 - reverseAnimation * 2.0;","float period = duration + repeatDelay;","time += reverseAnimation == 1.0 ? (period - startTimeOffset - 0.001) : startTimeOffset + 0.001;","float omega = time / period;","float oi = floor(omega);","omega = repeatType == 1.0 || repeatType == 3.0 ? omega - oi : omega;","float of = omega * period;","of = (clamp(of, reverseAnimation * repeatDelay, period - (1.0 - reverseAnimation) * repeatDelay) - reverseAnimation * repeatDelay) / duration;","of = easing == 2.0 ? pow(of, 3.0) : of;","of = easing == 3.0 ? 1.0 - pow(1.0 - of, 3.0) : of;","of = easing == 4.0 ? of < 0.5 ? 4.0 * pow(of, 3.0) : 1.0 - pow(-2.0 * of + 2.0, 3.0) / 2.0 : of;","bool oscillate = repeatType == 3.0 && mod(oi, 2.0) == 1.0;",`${t.out} = oscillate ? 1.0 - of : of;`]}const s={Linear:1,EaseIn:2,EaseOut:3,EaseInOut:4},l={Loop:1,None:2,Oscillate:3},m={Local:1,Global:2};function c(t){const o=s[t.easing],e=l[t.repeatType],a=m[t.timeOriginSelector];return[[t.duration,t.startTimeOffset,t.repeatDelay,a],[e,o,t.playAnimation,t.reverseAnimation]]}class f extends t{constructor(){super(...arguments),this.opcode=++o,this.length=10,this.ins=1,this.outs=1,this.microcode=["vec2 fromTranslation = atom1.xy;","vec2 toTranslation = atom1.zw;","float fromRotation = atom2.x;","float toRotation = atom2.y;","float fromScale = atom2.z;","float toScale = atom2.w;","bool relativeTranslation = atom9.x == 1.0;","bool absoluteScale = atom9.y == 1.0;","bool selectGlobalRotation = atom9.z == 1.0;","vec2 translationMultiplier = relativeTranslation ? pixelDimensions : vec2(1.0, 1.0);","float scaleDivisor = absoluteScale ? pixelDimensions.y : 1.0;","float fTranslation;","{",...r({duration:"atom3.x",startTimeOffset:"atom3.y",repeatDelay:"atom3.z",timeOriginSelector:"atom3.w",repeatType:"atom4.x",easing:"atom4.y",playAnimation:"atom4.z",reverseAnimation:"atom4.w",out:"fTranslation"}),"}","float fRotation;","{",...r({duration:"atom5.x",startTimeOffset:"atom5.y",repeatDelay:"atom5.z",timeOriginSelector:"atom5.w",repeatType:"atom6.x",easing:"atom6.y",playAnimation:"atom6.z",reverseAnimation:"atom6.w",out:"fRotation"}),"}","float fScale;","{",...r({duration:"atom7.x",startTimeOffset:"atom7.y",repeatDelay:"atom7.z",timeOriginSelector:"atom7.w",repeatType:"atom8.x",easing:"atom8.y",playAnimation:"atom8.z",reverseAnimation:"atom8.w",out:"fScale"}),"}","vec2 aTranslation = mix(fromTranslation, toTranslation, fTranslation);","float aRotation = mix(fromRotation, toRotation, fRotation);","float aScale = mix(fromScale, toScale, fScale);","vec2 pTranslation = in0.xy;","float pRotation = in0.z;","float pScale = in0.w;","aTranslation *= translationMultiplier;","aScale /= scaleDivisor;","float rotation = pRotation + aRotation;","\n if (selectGlobalRotation) {\n rotation = globalRotation;\n }\n ","float scale = pScale * aScale;","float sin1 = sin(pRotation);","float cos1 = cos(pRotation);","float s1 = pScale;","float x1 = pTranslation.x;","float y1 = pTranslation.y;","float x2 = aTranslation.x;","float y2 = aTranslation.y;","\n vec2 translation = vec2(\n cos1 * s1 * x2 - sin1 * s1 * y2 + x1,\n sin1 * s1 * x2 + cos1 * s1 * y2 + y1\n );\n ","out0 = vec4(translation, rotation, scale);"]}encode(t){return[[this.opcode,0,0,0],[t.translation.from[0],t.translation.from[1],t.translation.to[0],t.translation.to[1]],[t.rotation.from,t.rotation.to,t.scale.from,t.scale.to],...c(t.translation.timing),...c(t.rotation.timing),...c(t.scale.timing),[t.relativeTranslation?1:0,t.absoluteScale?1:0,t.selectGlobalRotation?1:0,0]]}}class p extends t{constructor(){super(...arguments),this.opcode=++o,this.length=7,this.ins=1,this.outs=1,this.microcode=["float fromOpacity = atom0.y;","float toOpacity = atom0.z;","vec4 fromColor = atom1;","vec4 toColor = atom2;","float fColor;","{",...r({duration:"atom3.x",startTimeOffset:"atom3.y",repeatDelay:"atom3.z",timeOriginSelector:"atom3.w",repeatType:"atom4.x",easing:"atom4.y",playAnimation:"atom4.z",reverseAnimation:"atom4.w",out:"fColor"}),"}","float fOpacity;","{",...r({duration:"atom5.x",startTimeOffset:"atom5.y",repeatDelay:"atom5.z",timeOriginSelector:"atom5.w",repeatType:"atom6.x",easing:"atom6.y",playAnimation:"atom6.z",reverseAnimation:"atom6.w",out:"fOpacity"}),"}","vec4 aColor = mix(fromColor, toColor, fColor);","aColor.a *= mix(fromOpacity, toOpacity, fOpacity);","vec4 pColor = in0;","out0 = aColor * pColor;"]}encode(t){return[[this.opcode,t.opacity.from,t.opacity.to,0],[t.color.from[0],t.color.from[1],t.color.from[2],t.color.from[3]],[t.color.to[0],t.color.to[1],t.color.to[2],t.color.to[3]],...c(t.color.timing),...c(t.opacity.timing)]}}class u extends t{constructor(){super(...arguments),this.opcode=++o,this.length=4,this.ins=1,this.outs=1,this.microcode=["float fromShift = atom0.y;","float toShift = atom0.z;","float duration = atom1.x;","bool multiplyToByLineLength = atom3.x == 1.0;","bool multiplyDurationByLineLength = atom3.y == 1.0;","duration *= multiplyDurationByLineLength ? lineLength : 1.0;","float fShift;","{",...r({duration:"duration",startTimeOffset:"atom1.y",repeatDelay:"atom1.z",timeOriginSelector:"atom1.w",repeatType:"atom2.x",easing:"atom2.y",playAnimation:"atom2.z",reverseAnimation:"atom2.w",out:"fShift"}),"}","toShift *= multiplyToByLineLength ? lineLength : 1.0;","float aShift = mix(fromShift, toShift, fShift);","vec4 pShift = in0;","out0 = mod(aShift + pShift, lineLength);"]}encode(t){return[[this.opcode,t.shift.from,t.shift.to,0],...c(t.shift.timing),[t.multiplyToByLineLength?1:0,t.multiplyDurationByLineLength?1:0,0,0]]}}const h={scalar:new a,vector3:new i,vector4:new n,animatedTransform:new f,animatedColor:new p,animatedShift:new u,ret:new e},y=40,d=4;function g(t){const o=[];o.push(`float globalTime = ${t.globalTime};`),o.push(`float localTimeOrigin = ${t.localTimeOrigin};`),o.push(`float lineLength = ${t.lineLength};`),o.push(`float globalRotation = ${t.globalRotation};`),o.push(`vec2 pointer = ${t.animationPointer};`),o.push(`vec2 size = ${t.animationTextureSize};`),o.push("int top = 0;"),o.push(`vec4 stack[${d}];`),o.push(`for (int counter = 0; counter < ${y}; counter++) {`),o.push(`vec4 atom0 = texture(${t.animationTexture}, (pointer + 0.5) / size);`),o.push("pointer.x += 1.0;"),o.push(`vec2 pixelDimensions = ${t.pixelDimensions};`),o.push("if (false) {");for(const e in h){const a=h[e];o.push(`} else if (int(atom0.x) == ${a.opcode}) {`);for(const e of a.generateSource(t))o.push(e)}return o.push("} // End if-else."),o.push("} // End for."),o.push(`${t.out} = top > 0 ? stack[top - 1] : vec4(0.0);`),o.join("\n")}export{t as AAnimationInstruction,p as AnimatedColorInstruction,u as AnimatedShiftInstruction,f as AnimatedTransformInstruction,e as RetInstruction,a as ScalarInstruction,i as Vector3Instruction,n as Vector4Instruction,s as easingCodes,g as generateVirtualMachineSource,r as getTweenFactor,h as instructions,l as repeatTypeCodes,m as timeOriginSelectorCodes};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{getWorldWidth as n,getScaleToResolutionFactor as o}from"../../viewpointUtils.js";const r=65536;function t(n,o){const r=c(n),t=n.getLODInfoAt(o.key.level),e=u(n);return[(t.getXForColumn(o.key.col)-r[0])*e,(r[1]-t.getYForRow(o.key.row))*e]}function e([n,o]){return[Math.fround(n),Math.fround(o)]}function i(n,r){const t=c(r),e=u(r),i=n.scale*o(r.spatialReference),a=1/(i*e),d=n.size[0]*i/2,f=n.size[1]*i/2,s=l(n.center[0]-d-t[0],e),p=l(t[1]-n.center[1]-f,e);return{origin:[s.coordinate,p.coordinate],worldWrapId:[s.worldWrapId,p.worldWrapId],unitsToPixels:a}}function c(n){return[n.tileInfo.origin.x,n.tileInfo.origin.y]}function u(o){const t=n(o.spatialReference);return t>0?r/t:1}function l(n,o){const t=r/o,e=n%t;let i=Math.round((n-e)/t),c=e*o;return c<0&&(i-=1,c+=r),c>=r&&(i+=1,c-=r),{coordinate:c,worldWrapId:i}}export{i as createNormalizedTileView,t as getNormalizedTileOrigin,r as normalizedTileWorldSize,e as toFloat32};
2
+ import{getWorldWidth as n,getScaleToResolutionFactor as o}from"../../viewpointUtils.js";const r=65536;function t(n,o){const r=c(n),t=n.getLODInfoAt(o.key.level),e=u(n);return[(t.getXForColumn(o.key.col)-r[0])*e,(r[1]-t.getYForRow(o.key.row))*e]}function e([n,o]){return[Math.fround(n),Math.fround(o)]}function i(n,r){const t=c(r),e=u(r),i=n.scale*o(r.spatialReference),a=1/(i*e),d=n.size[0]*i/2,f=n.size[1]*i/2,s=l(n.center[0]-d-t[0],e),p=l(t[1]-n.center[1]-f,e);return{origin:[s.coordinate,p.coordinate],worldWrapId:[s.worldWrapId,p.worldWrapId],unitsToPixels:a}}function c(n){return[n.tileInfo.origin.x,n.tileInfo.origin.y]}function u(o){const t=n(o.spatialReference);return t>0?r/t:1}function l(n,o){const t=r/o,e=n%t;let i=Math.round((n-e)/t),c=e*o;return c<0&&(i-=1,c+=r),c>=r&&(i+=1,c-=r),{coordinate:c,worldWrapId:i}}export{i as createNormalizedTileView,t as getNormalizedTileOrigin,u as getNormalizedTileUnitsPerMapUnit,r as normalizedTileWorldSize,e as toFloat32};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import"../../../../../core/has.js";import e from"../../../../../core/Logger.js";import{Sampler2D as r,Float as o,Int as n,Vec4 as s,Vec2 as i}from"./graph/glsl.js";import{generateGLSL as p}from"./graph/GlslGraphWriter.js";import{ShaderGraphContext as a}from"./graph/ShaderGraphContext.js";import{setReachableUids as u}from"./graph/ShaderGraphNode.js";import{TypedShaderProgram as y}from"./typed/TypedShaderProgram.js";import{ShaderBuilder as c}from"../../../../webgl/ShaderBuilder.js";function d(t){return new t}function h(t,e,r){const o=t.constructor[e]??[];t.constructor.hasOwnProperty(e)||Object.defineProperty(t.constructor,e,{value:o.slice()}),t.constructor[e].push(r)}function f(t,e){return(r,o)=>{h(r,"locations",{typeCtor:e,propertyKey:o,parameterIndex:null,index:t})}}const l=t=>(e,r)=>{h(e,"builtins",{builtin:t,propertyKey:r})},m=t=>(e,r,o)=>{h(e,"inputs",{inputCtor:t,propertyKey:r,parameterIndex:o})},g=t=>(e,r)=>{h(e,"uniforms",{typeCtor:t,propertyKey:r})},_=t=>(e,r)=>{h(e,"textures",{typeCtor:t,propertyKey:r})},x=t=>(e,r)=>{h(e,"options",{typeCtor:t,propertyKey:r})},K=(t,e)=>{h(t,"defines",{propertyKey:e})};function C(t){return(e,r)=>{h(e,"transformFeedbackBindings",{propertyKey:r,parameterIndex:null,index:t})}}const b=(t,e)=>(r,o)=>{r.constructor.builtins.push({builtin:t,propertyKey:o,typeCtor:e})};class I{static{this.builtins=[]}}t([b("gl_VertexID",n)],I.prototype,"glVertexID",void 0);class v{}class w{static{this.builtins=[]}}t([b("gl_FragCoord",s)],w.prototype,"glFragCoord",void 0),t([b("gl_PointCoord",i)],w.prototype,"glPointCoord",void 0);class P{}t([l("gl_FragDepth")],P.prototype,"glFragDepth",void 0);class ${constructor(){this.type="uniform-group"}get _uniforms(){return this.constructor.uniforms??[]}}class j{constructor(){this.type="texture-group"}get _textures(){return this.constructor.textures??[]}}class F{constructor(){this.logShader=!1,this.computeAttributes={}}get vertexInput(){const t=this._shaderModuleClass.inputs.findLast(t=>"vertex"===t.propertyKey&&0===t.parameterIndex);if(!t)throw new Error("Unable to find vertex input parameter");return t}get computeInput(){return this._shaderModuleClass.inputs.findLast(t=>"vertex"===t.propertyKey&&1===t.parameterIndex)}get fragmentInput(){const t=this._shaderModuleClass.inputs.findLast(t=>"fragment"===t.propertyKey);if(!t)throw new Error("Unable to find fragment input parameter");return t}get transformFeedbackBindings(){return this.fragmentInput.inputCtor.transformFeedbackBindings??[]}get locations(){return[...this.vertexInput.inputCtor.locations,...this.computeInput?.inputCtor.locations??[]]}get locationsMap(){const t=new Map,r=new Set;for(const o of this.locations)r.has(o.index)?e.getLogger("esri.views.2d.engine.webgl.shaderGraph.GraphShaderModule").warnOnce("mapview-rendering",`Unable to assigned attribute ${o.propertyKey} to ${o.index}. Index already in use`,{locationsMap:t}):(t.set(o.propertyKey,o.index),r.add(o.index));return t}get locationInfo(){if(!this._locationInfo){const t=this.locationsMap,e=Array.from(t.entries()).map(([t,e])=>`${t}.${e}`).join("."),r=this.computeAttributes;this._locationInfo={stringHash:e,locations:t,computeAttributeMap:r}}return this._locationInfo}get renamedLocationsMap(){const t=new Map;for(const e of this.locations)t.set("a_"+e.propertyKey,e.index);return t}get optionPropertyKeys(){if(!this._optionPropertyKeys){const t=new Set;for(const e of this._options)t.add(e.propertyKey);this._optionPropertyKeys=t}return this._optionPropertyKeys}get _shaderModuleClass(){return this.constructor}get _defines(){return this._shaderModuleClass.defines??[]}get _options(){return this._shaderModuleClass.options??[]}get _uniforms(){return this._shaderModuleClass.uniforms??[]}get _textures(){return this._shaderModuleClass.textures??[]}getProgram(t,e,r,o){try{const{vertex:n,fragment:s,uniformBindings:i,textureBindings:p}=this._generateShaders(t,e,r,o);return new y(this.type,n,s,this.renamedLocationsMap,i,p,this.transformFeedbackBindings)}catch(n){return new y(this.type,"","",this.renamedLocationsMap,[],[],this.transformFeedbackBindings)}}getDebugUniformClassInfo(t){const e=this._options.find(e=>e.propertyKey===t);if(e)return{type:"option",className:e.typeCtor};const r=this._uniforms.find(e=>e.propertyKey===t);if(!r)throw new Error(`Unable to find uniform class type for property: ${t}`);return{type:"required",className:r.typeCtor}}getDebugTextureClassInfo(t){const e=this._textures.find(e=>e.propertyKey===t);if(!e)throw new Error(`Unable to find texture type for property: ${t}`);return{className:e.typeCtor}}getShaderKey(t,e,r,o,n){const s=Object.keys(t).map(e=>`${e}.${t[e]}`).join("."),i=Object.keys(o).map(t=>`${t}.${o[t]}`).join("."),p=Object.keys(n).map(t=>`${t}.${n[t]}`).join("."),a=Object.keys(e).filter(t=>this.optionPropertyKeys.has(t)&&e[t]).join("."),u=Object.keys(r).filter(t=>r[t]).join(".");return`${this.type}.${s}.${i}.${p}.${a}.${u}`}_generateShaders(t,e,r,o){const n=[],s=[];this._setDefines(r),this._setOptionalUniforms(n,e),this._setRequiredUniforms(n),this._setRequiredTextures(s);const i=this._hydrateVertexInput(o),y=this._injectPackPrecisionFactor(i,t),c=this._hydrateComputeInput(),d=c&&this._injectComputePackPrecisionFactor(c,t),h=this.vertex(y,d),f=this._hydrateFragmentInput(h),l=this.fragment(f),m=new Set;for(const p in l){const t=l[p];u(m,t)}const g=this._getVertexInputBuiltins(),_={};for(const[p,a]of Object.entries(i))_[p]=a;if(null!=c)for(const[p,a]of Object.entries(c))_[p]=a;const x=a.createVertex(_,h,g,n,s,this.transformFeedbackBindings,m);p(x);const K=this._getFragmentInputBuiltins(l);K.set("glPointCoord","gl_PointCoord"),K.set("glFragCoord","gl_FragCoord");const C=a.createFragment(f,l,K,n,s,x,this.transformFeedbackBindings);p(C);const b=this._createShaderBuilder(x,C),I=b.generate("vertex"),v=b.generate("fragment");return this.logShader&&(console.log(I),console.log(v)),{vertex:I,fragment:v,uniformBindings:n,textureBindings:s}}_setDefines(t){for(const e in t)this[e]=t[e]}_setOptionalUniforms(t,e){for(const r of this._options){e[r.propertyKey]?this[r.propertyKey]=this._hydrateUniformGroup(t,r):this[r.propertyKey]=null}}_setRequiredUniforms(t){for(const e of this._uniforms)this[e.propertyKey]=this._hydrateUniformGroup(t,e)}_setRequiredTextures(t){for(const e of this._textures)this[e.propertyKey]=this._hydrateTextureBinding(t,e)}_hydrateUniformGroup(t,e){const r=new(0,e.typeCtor);for(const o of r._uniforms??[]){const n=d(o.typeCtor),s=`u_${e.propertyKey}_${o.propertyKey}`,i=n.type,p=[e.propertyKey,o.propertyKey].join(".");if("type"in o.typeCtor&&"array"===o.typeCtor.type){const e=n;t.push({shaderModulePath:p,uniformName:s,uniformType:i,uniformArrayLength:e.size,uniformArrayElementType:e.elementType.type,uniformHydrated:n})}else if("type"in o.typeCtor&&"array-2d"===o.typeCtor.type){const e=n;t.push({shaderModulePath:p,uniformName:s,uniformType:i,uniformArrayLength:e.size,uniformArrayElementType:e.elementType.type,uniformHydrated:n})}else t.push({shaderModulePath:p,uniformName:s,uniformType:i,uniformHydrated:n});r[o.propertyKey]=n}return r}_hydrateTextureBinding(t,e){const o=e.typeCtor;if(o===r){const o=new r,n=`u_${e.propertyKey}`,s=e.propertyKey;return t.push({shaderModulePath:s,textureName:n,textureHydrated:o}),o}const n=new o;for(const r of n._textures){const o=d(r.typeCtor),s=`u_${e.propertyKey}_${r.propertyKey}`,i=[e.propertyKey,r.propertyKey].join(".");t.push({shaderModulePath:i,textureName:s,textureHydrated:o}),n[r.propertyKey]=o}return n}_hydrateVertexInput(t){const e=this.vertexInput.inputCtor,r=e.locations.reduce((e,r)=>!1===t[r.propertyKey]?e:{...e,[r.propertyKey]:d(r.typeCtor)},{});for(const{propertyKey:o,typeCtor:n}of e.builtins){const t=d(n);r[o]=t}return r}_hydrateComputeInput(){if(null==this.computeInput)return null;return this.computeInput.inputCtor.locations.reduce((t,e)=>({...t,[e.propertyKey]:d(e.typeCtor)}),{})}_injectPackPrecisionFactor(t,e){const r={};for(const n in t){const s=t[n],i=e[n];if(i){if("float"!==s.type&&"vec2"!==s.type&&"vec3"!==s.type&&"vec4"!==s.type)throw new Error(`InternalError: packPrecisionFactor requires GenType, but found ${s.type}`);r[n]=s.divide(new o(i))}else r[n]=s}return r}_injectComputePackPrecisionFactor(t,e){const r={},n=new Map;for(const o in this.computeAttributes)for(const t of this.computeAttributes[o]??[])n.set(t,o);for(const s in t){const i=t[s],p=n.get(s);if(!p)continue;const a=e[p];if(a){if("float"!==i.type&&"vec2"!==i.type&&"vec3"!==i.type&&"vec4"!==i.type)throw new Error(`InternalError: packPrecisionFactor requires GenType, but found ${i.type}`);r[s]=i.divide(new o(a))}else r[s]=i}return r}_hydrateFragmentInput(t){const e={};for(const r in t)e[r]=t[r];for(const{propertyKey:r,typeCtor:o}of w.builtins){const t=d(o);e[r]=t}return e}_getVertexInputBuiltins(){const t=this.vertexInput.inputCtor,e=new Map;for(const{builtin:r,propertyKey:o}of t.builtins)e.set(o,r);return e}_getFragmentInputBuiltins(t){const e=t.constructor,r=new Map;for(const o of e.builtins??[])r.set(o.propertyKey,o.builtin);return r}_createShaderBuilder(t,e){const r=new c;return this._insertDebugInfo(r),t.insertVertexShader(r),e.insertFragmentShader(r),r}_insertDebugInfo(t){t.vertex.code.add("// DEFINES: "),t.vertex.code.add("// --------------------------------------------------------- ");for(const e of this._defines)this[e.propertyKey]?t.vertex.code.add(`// ${e.propertyKey}: true`):t.vertex.code.add(`// ${e.propertyKey}: false`);t.vertex.code.add(""),t.vertex.code.add("// OPTIONS: "),t.vertex.code.add("// --------------------------------------------------------- ");for(const e of this._options)this[e.propertyKey]?t.vertex.code.add(`// ${e.propertyKey}: true`):t.vertex.code.add(`// ${e.propertyKey}: false`)}}export{v as ComputeVertexInput,w as FragmentInput,P as FragmentOutput,F as GraphShaderModule,j as TextureGroup,$ as UniformGroup,I as VertexInput,l as builtin,K as define,m as input,f as location,x as option,_ as texture,C as transformFeedback,g as uniform};
2
+ import{__decorate as e}from"tslib";import"../../../../../core/has.js";import t from"../../../../../core/Logger.js";import{unassignedUniformBlockBindingPoint as r,firstTechniqueUniformBlockBindingPoint as o}from"./types.js";import{Sampler2D as n,Float as s,Int as i,Vec4 as p,Vec2 as a}from"./graph/glsl.js";import{generateGLSL as u}from"./graph/GlslGraphWriter.js";import{ShaderGraphContext as c}from"./graph/ShaderGraphContext.js";import{setReachableUids as y}from"./graph/ShaderGraphNode.js";import{TypedShaderProgram as d}from"./typed/TypedShaderProgram.js";import{ShaderBuilder as h}from"../../../../webgl/ShaderBuilder.js";function f(e){return new e}function l(e,t,r){const o=e.constructor[t]??[];e.constructor.hasOwnProperty(t)||Object.defineProperty(e.constructor,t,{value:o.slice()}),e.constructor[t].push(r)}function m(e){return e===F||e?.prototype instanceof F}function g(e){switch(e.type){case"float":return 5126;case"vec2":return 35664;case"vec3":return 35665;case"vec4":return 35666;case"int":return 5124;case"ivec2":return 35667;case"ivec3":return 35668;case"ivec4":return 35669;case"uint":return 5125;case"uvec2":return 36294;case"uvec3":return 36295;case"uvec4":return 36296;case"bool":return 35670;case"bvec2":return 35671;case"bvec3":return 35672;case"bvec4":return 35673;case"mat2":return 35674;case"mat3":return 35675;case"mat4":return 35676;case"array":case"array-2d":return g(e.elementType);case"sampler2D":throw new Error("Sampler2D uniforms cannot be stored in a uniform block")}}function _(e,t){const r=g(t);return"array"===t.type||"array-2d"===t.type?{name:e,type:r,count:t.size}:{name:e,type:r}}function b(e,t){return(r,o)=>{l(r,"locations",{typeCtor:t,propertyKey:o,parameterIndex:null,index:e})}}const x=e=>(t,r)=>{l(t,"builtins",{builtin:e,propertyKey:r})},K=e=>(t,r,o)=>{l(t,"inputs",{inputCtor:e,propertyKey:r,parameterIndex:o})},C=e=>(t,r)=>{l(t,"uniforms",{typeCtor:e,propertyKey:r})},v=e=>(t,r)=>{l(t,"textures",{typeCtor:e,propertyKey:r})},w=e=>(t,r)=>{l(t,"options",{typeCtor:e,propertyKey:r})},I=(e,t)=>{l(e,"defines",{propertyKey:t})};function P(e){return(t,r)=>{l(t,"transformFeedbackBindings",{propertyKey:r,parameterIndex:null,index:e})}}const j=(e,t)=>(r,o)=>{r.constructor.builtins.push({builtin:e,propertyKey:o,typeCtor:t})};class ${static{this.builtins=[]}}e([j("gl_VertexID",i)],$.prototype,"glVertexID",void 0);class k{}class M{static{this.builtins=[]}}e([j("gl_FragCoord",p)],M.prototype,"glFragCoord",void 0),e([j("gl_PointCoord",a)],M.prototype,"glPointCoord",void 0);class B{}e([x("gl_FragDepth")],B.prototype,"glFragDepth",void 0);class F{constructor(){this.type="uniform-group",this.bindingPoint=r}get _uniforms(){return this.constructor.uniforms??[]}}function S(e,t){const r=new t,{bindingPoint:o}=r,n=[],s=[];for(const i of r._uniforms??[]){if(m(i.typeCtor))throw new Error("Nested UniformGroup members are not supported in uniform blocks");const t=f(i.typeCtor),o=`u_${e}_${i.propertyKey}`,p=t.type,a={shaderModulePath:[e,i.propertyKey].join("."),propertyName:i.propertyKey,uniformName:o,uniformType:p,uniformHydrated:t};("array"===t.type||"array-2d"===t.type)&&(a.uniformArrayLength=t.size,a.uniformArrayElementType=t.elementType.type),n.push(_(o,t)),s.push(a),r[i.propertyKey]=t}return{uniformGroup:r,binding:{shaderModulePath:e,bindingPoint:o,descriptor:n,members:s}}}function U(e){let t=o;return e.map(e=>{if(e.bindingPoint!==r)return e;const o={...e,bindingPoint:t};return t++,o})}class O{constructor(){this.type="texture-group"}get _textures(){return this.constructor.textures??[]}}class E{constructor(){this.logShader=!1,this.computeAttributes={}}get vertexInput(){const e=this._shaderModuleClass.inputs.findLast(e=>"vertex"===e.propertyKey&&0===e.parameterIndex);if(!e)throw new Error("Unable to find vertex input parameter");return e}get computeInput(){return this._shaderModuleClass.inputs.findLast(e=>"vertex"===e.propertyKey&&1===e.parameterIndex)}get fragmentInput(){const e=this._shaderModuleClass.inputs.findLast(e=>"fragment"===e.propertyKey);if(!e)throw new Error("Unable to find fragment input parameter");return e}get transformFeedbackBindings(){return this.fragmentInput.inputCtor.transformFeedbackBindings??[]}get locations(){return[...this.vertexInput.inputCtor.locations,...this.computeInput?.inputCtor.locations??[]]}get locationsMap(){const e=new Map,r=new Set;for(const o of this.locations)r.has(o.index)?t.getLogger("esri.views.2d.engine.webgl.shaderGraph.GraphShaderModule").warnOnce("mapview-rendering",`Unable to assigned attribute ${o.propertyKey} to ${o.index}. Index already in use`,{locationsMap:e}):(e.set(o.propertyKey,o.index),r.add(o.index));return e}get locationInfo(){if(!this._locationInfo){const e=this.locationsMap,t=Array.from(e.entries()).map(([e,t])=>`${e}.${t}`).join("."),r=this.computeAttributes;this._locationInfo={stringHash:t,locations:e,computeAttributeMap:r}}return this._locationInfo}get renamedLocationsMap(){const e=new Map;for(const t of this.locations)e.set("a_"+t.propertyKey,t.index);return e}get optionPropertyKeys(){if(!this._optionPropertyKeys){const e=new Set;for(const t of this._options)e.add(t.propertyKey);this._optionPropertyKeys=e}return this._optionPropertyKeys}get _shaderModuleClass(){return this.constructor}get _defines(){return this._shaderModuleClass.defines??[]}get _options(){return this._shaderModuleClass.options??[]}get _uniforms(){return this._shaderModuleClass.uniforms??[]}get _textures(){return this._shaderModuleClass.textures??[]}getProgram(e,t,r,o){try{const{vertex:n,fragment:s,uniformBlockBindings:i,textureBindings:p}=this._generateShaders(e,t,r,o);return new d(this.type,n,s,this.renamedLocationsMap,i,p,this.transformFeedbackBindings)}catch(n){return new d(this.type,"","",this.renamedLocationsMap,[],[],this.transformFeedbackBindings)}}getDebugUniformClassInfo(e){const t=this._options.find(t=>t.propertyKey===e);if(t)return{type:"option",className:t.typeCtor};const r=this._uniforms.find(t=>t.propertyKey===e);if(!r)throw new Error(`Unable to find uniform class type for property: ${e}`);return{type:"required",className:r.typeCtor}}getDebugTextureClassInfo(e){const t=this._textures.find(t=>t.propertyKey===e);if(!t)throw new Error(`Unable to find texture type for property: ${e}`);return{className:t.typeCtor}}getShaderKey(e,t,r,o,n){const s=Object.keys(e).map(t=>`${t}.${e[t]}`).join("."),i=Object.keys(o).map(e=>`${e}.${o[e]}`).join("."),p=Object.keys(n).map(e=>`${e}.${n[e]}`).join("."),a=Object.keys(t).filter(e=>this.optionPropertyKeys.has(e)&&t[e]).join("."),u=Object.keys(r).filter(e=>r[e]).join(".");return`${this.type}.${s}.${i}.${p}.${a}.${u}`}_generateShaders(e,t,r,o){const n=[],s=[];this._setDefines(r),this._setOptionalUniforms(n,t),this._setRequiredUniforms(n),this._setRequiredTextures(s);const i=this._hydrateVertexInput(o),p=this._injectPackPrecisionFactor(i,e),a=this._hydrateComputeInput(),d=a&&this._injectComputePackPrecisionFactor(a,e),h=this.vertex(p,d),f=this._hydrateFragmentInput(h),l=this.fragment(f),m=new Set;for(const u in l){const e=l[u];y(m,e)}const g=this._getVertexInputBuiltins(),_={};for(const[u,c]of Object.entries(i))_[u]=c;if(null!=a)for(const[u,c]of Object.entries(a))_[u]=c;const b=c.createVertex(_,h,g,n,s,this.transformFeedbackBindings,m);u(b);const x=this._getFragmentInputBuiltins(l);x.set("glPointCoord","gl_PointCoord"),x.set("glFragCoord","gl_FragCoord");const K=c.createFragment(f,l,x,n,s,b,this.transformFeedbackBindings);u(K);const C=new Set([...b.usedUniformBlockShaderModulePaths(),...K.usedUniformBlockShaderModulePaths()]),v=U(n.filter(({shaderModulePath:e})=>C.has(e))),w=this._createShaderBuilder(b,K),I=w.generate("vertex"),P=w.generate("fragment");return this.logShader&&(console.log(I),console.log(P)),{vertex:I,fragment:P,uniformBlockBindings:v,textureBindings:s}}_setDefines(e){for(const t in e)this[t]=e[t]}_setOptionalUniforms(e,t){for(const r of this._options){t[r.propertyKey]?this[r.propertyKey]=this._hydrateUniformBlock(e,r):this[r.propertyKey]=null}}_setRequiredUniforms(e){for(const t of this._uniforms)this[t.propertyKey]=this._hydrateUniformBlock(e,t)}_setRequiredTextures(e){for(const t of this._textures)this[t.propertyKey]=this._hydrateTextureBinding(e,t)}_hydrateUniformBlock(e,t){if(!m(t.typeCtor))throw new Error("Only UniformGroup subclasses can be used as uniform blocks");const{uniformGroup:r,binding:o}=S(t.propertyKey,t.typeCtor);return e.push(o),r}_hydrateTextureBinding(e,t){const r=t.typeCtor;if(r===n){const r=new n,o=`u_${t.propertyKey}`,s=t.propertyKey;return e.push({shaderModulePath:s,textureName:o,textureHydrated:r}),r}const o=new r;for(const n of o._textures){const r=f(n.typeCtor),s=`u_${t.propertyKey}_${n.propertyKey}`,i=[t.propertyKey,n.propertyKey].join(".");e.push({shaderModulePath:i,textureName:s,textureHydrated:r}),o[n.propertyKey]=r}return o}_hydrateVertexInput(e){const t=this.vertexInput.inputCtor,r=t.locations.reduce((t,r)=>!1===e[r.propertyKey]?t:{...t,[r.propertyKey]:f(r.typeCtor)},{});for(const{propertyKey:o,typeCtor:n}of t.builtins){const e=f(n);r[o]=e}return r}_hydrateComputeInput(){if(null==this.computeInput)return null;return this.computeInput.inputCtor.locations.reduce((e,t)=>({...e,[t.propertyKey]:f(t.typeCtor)}),{})}_injectPackPrecisionFactor(e,t){const r={};for(const o in e){const n=e[o],i=t[o];if(i){if("float"!==n.type&&"vec2"!==n.type&&"vec3"!==n.type&&"vec4"!==n.type)throw new Error(`InternalError: packPrecisionFactor requires GenType, but found ${n.type}`);r[o]=n.divide(new s(i))}else r[o]=n}return r}_injectComputePackPrecisionFactor(e,t){const r={},o=new Map;for(const n in this.computeAttributes)for(const e of this.computeAttributes[n]??[])o.set(e,n);for(const n in e){const i=e[n],p=o.get(n);if(!p)continue;const a=t[p];if(a){if("float"!==i.type&&"vec2"!==i.type&&"vec3"!==i.type&&"vec4"!==i.type)throw new Error(`InternalError: packPrecisionFactor requires GenType, but found ${i.type}`);r[n]=i.divide(new s(a))}else r[n]=i}return r}_hydrateFragmentInput(e){const t={};for(const r in e)t[r]=e[r];for(const{propertyKey:r,typeCtor:o}of M.builtins){const e=f(o);t[r]=e}return t}_getVertexInputBuiltins(){const e=this.vertexInput.inputCtor,t=new Map;for(const{builtin:r,propertyKey:o}of e.builtins)t.set(o,r);return t}_getFragmentInputBuiltins(e){const t=e.constructor,r=new Map;for(const o of t.builtins??[])r.set(o.propertyKey,o.builtin);return r}_createShaderBuilder(e,t){const r=new h;return this._insertDebugInfo(r),e.insertVertexShader(r),t.insertFragmentShader(r),r}_insertDebugInfo(e){e.vertex.code.add("// DEFINES: "),e.vertex.code.add("// --------------------------------------------------------- ");for(const t of this._defines)this[t.propertyKey]?e.vertex.code.add(`// ${t.propertyKey}: true`):e.vertex.code.add(`// ${t.propertyKey}: false`);e.vertex.code.add(""),e.vertex.code.add("// OPTIONS: "),e.vertex.code.add("// --------------------------------------------------------- ");for(const t of this._options)this[t.propertyKey]?e.vertex.code.add(`// ${t.propertyKey}: true`):e.vertex.code.add(`// ${t.propertyKey}: false`)}}export{k as ComputeVertexInput,M as FragmentInput,B as FragmentOutput,E as GraphShaderModule,O as TextureGroup,F as UniformGroup,$ as VertexInput,x as builtin,S as createUniformBlockBinding,I as define,K as input,b as location,w as option,v as texture,P as transformFeedback,C as uniform};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{cloneShaderNode as e}from"./ShaderGraphNode.js";class t{constructor(e,t,a,o=[]){this.variableName=e,this.variableInputType=t,this.node=a,this.qualifiers=o,this.type="shader-input",this.isUsed=!1}clone(){return new t(this.variableName,this.variableInputType,e(this.node),[...this.qualifiers])}}class a{constructor(e,t,a,o=[]){this.outVariableName=e,this.outVariableType=t,this.node=a,this.qualifiers=o,this.type="shader-output"}clone(){const t=new a(this.outVariableName,this.outVariableType,e(this.node),[...this.qualifiers]);return t.variableName=this.variableName,t}}class o{static createVertex(e,n,s,d,i,u,p){const c=[];for(const a in e){const o=e[a],r=s.get(a);r?c.push(new t(r,"builtin",o)):c.push(new t("a_"+a,"in",o))}for(const a of d){const e=a.uniformHydrated;c.push(new t(a.uniformName,"uniform",e))}for(const a of i){const e=a.textureHydrated;c.push(new t(a.textureName,"uniform",e))}const h=[];for(const t in n){const e=n[t];if("glPosition"===t)h.push(new a("gl_Position","builtin",e));else if("glPointSize"===t)h.push(new a("gl_PointSize","builtin",e));else{const o=r(e),n=[];o&&n.push(o),h.push(new a("v_"+t,"out",e,n))}}return new o(c,h,u,p)}static createFragment(e,r,n,s,d,i,u){const p=[],c=Array.from(i.rootOutputNodes());for(const a in e){const o=e[a],r=n.get(a);if(r){p.push(new t(r,"builtin",o));continue}const s=c.find(e=>e.node===o);s&&p.push(new t(s.outVariableName,"in",o,s.qualifiers))}for(const a of s){const e=a.uniformHydrated;p.push(new t(a.uniformName,"uniform",e))}for(const a of d){const e=a.textureHydrated;p.push(new t(a.textureName,"uniform",e))}const h=[];for(const t in r){const e=r[t],o=n.get(t);switch(t){case"discard":h.push(new a(null,"discard",e));break;case"fragData0":h.push(new a("fragData0","fragData0",e));break;case"fragData1":h.push(new a("fragData1","fragData1",e));break;case"fragData2":h.push(new a("fragData2","fragData2",e));break;case"fragData3":h.push(new a("fragData3","fragData3",e));break;default:o?h.push(new a(o,"builtin",e)):h.push(new a(t,"out",e))}}return new o(p,h,u)}constructor(e,t,a,o){this.type="shader-graph-context",this.indent=0,this.body="",this.varCount=0,this._arrayReadVersions=new Map,this._inputShaderTypesByNodeUid=new Map,this._nodeEmitMap=new Map;for(const r of e)this._inputShaderTypesByNodeUid.set(r.node.uid,r);this._outputShaderTypes=t,this._transformFeedbackBindings=a,this._transformFeedbackNames=new Set(a.map(e=>"v_"+e.propertyKey)),this._usedInFragmentShader=o}shouldPruneOutputNode(e){return!!this._usedInFragmentShader&&("builtin"!==e.outVariableType&&(!this._transformFeedbackNames.has(e.outVariableName)&&!this._usedInFragmentShader.has(e.node.uid)))}setEmit(e,t){this._nodeEmitMap.set(e.uid,t)}getEmit(e){return this._nodeEmitMap.get(e.uid)}inputs(){return this._inputShaderTypesByNodeUid.values()}get arrayReadVersions(){return this._arrayReadVersions}createArrayReadVersions(){const e=[],t=[],a=new Set;this._arrayReadVersions.clear();for(const o of this.rootOutputNodes())this.shouldPruneOutputNode(o)||(t.push(o.node),a.add(o.node.uid));for(let o=0;o<t.length;o++){const r=t[o];"array-read-node"===r.shaderType&&e.push(r);for(const e of r.children)e&&"number"!=typeof e&&"boolean"!=typeof e&&!a.has(e.uid)&&(a.add(e.uid),t.push(e))}for(const o of e){let e=this._arrayReadVersions.get(o.version.uid);e||(e=[],this._arrayReadVersions.set(o.version.uid,e)),e.push(o)}}getInput(e){return this._inputShaderTypesByNodeUid.get(e.uid)}*rootOutputNodes(){for(const e of this._outputShaderTypes)yield e}*nodes(){const e=[];for(const t of this._outputShaderTypes.values())e.push(t.node);for(;e.length;){const t=e.pop();"number"!=typeof t&&"boolean"!=typeof t&&e.push(...t.children.filter(Boolean)),yield t}}*nodesOfTypeOrFunction(){for(const e of this.nodes())"number"!=typeof e&&"boolean"!=typeof e&&(yield e)}createSubgraphContext(){const e=this.clone();return e.body="",e.indent=this.indent+2,e._nodeEmitMap=new Map(this._nodeEmitMap),e}clone(){const e=new o([],this._outputShaderTypes,this._transformFeedbackBindings,this._usedInFragmentShader);return e._inputShaderTypesByNodeUid=this._inputShaderTypesByNodeUid,e.indent=this.indent,e.body=this.body,e.varCount=this.varCount,e._arrayReadVersions=this._arrayReadVersions,e._nodeEmitMap=this._nodeEmitMap,e}insertVertexShader(e){e.vertex.code.add(""),this._insertInputs(e,"vertex"),e.vertex.code.add(""),e.vertex.code.add("// OUTPUTS: "),e.vertex.code.add("// --------------------------------------------------------- ");for(const t of this.rootOutputNodes()){const a="builtin"===t.outVariableType;if(!this.shouldPruneOutputNode(t))if(a)e.vertex.code.add(`// ${t.outVariableType.padEnd(7)} ${t.node.type.padEnd(9)} ${t.outVariableName};`);else if("array"===t.node.type){const a=[...t.qualifiers,t.outVariableType].join(" ");e.vertex.code.add(`${a.padEnd(10)} ${t.node.elementType.type.padEnd(9)} ${t.outVariableName}[${t.node.size}];`)}else{const a=[...t.qualifiers,t.outVariableType].join(" ");e.vertex.code.add(`${a.padEnd(10)} ${t.node.type.padEnd(9)} ${t.outVariableName};`)}}e.vertex.code.add(""),e.vertex.code.add("void main() {"),e.vertex.code.add(" "+this.body.split("\n").join("\n "));for(const t of this.rootOutputNodes())this.shouldPruneOutputNode(t)||e.vertex.code.add(` ${t.outVariableName} = ${t.variableName};`);e.vertex.code.add("}")}insertFragmentShader(e){this._insertInputs(e,"fragment"),e.fragment.code.add(""),e.fragment.code.add("// OUTPUTS: "),e.fragment.code.add("// --------------------------------------------------------- ");let t=0;for(const n of this.rootOutputNodes())"builtin"===n.outVariableType?e.fragment.code.add(`// ${n.outVariableType.padEnd(7)} ${n.node.type.padEnd(9)} ${n.outVariableName};`):"discard"===n.outVariableType||e.outputs.add(n.outVariableName,n.node.type,t++);e.fragment.code.add(""),e.fragment.code.add("void main() {"),e.fragment.code.add(" "+this.body.split("\n").join("\n "));const a=Array.from(this.rootOutputNodes()),o=a.find(e=>"discard"===e.outVariableType),r=a.filter(e=>"discard"!==e.outVariableType);o&&(e.fragment.code.add(` if (${o.variableName}) {`),e.fragment.code.add(" discard;"),e.fragment.code.add(" }"),e.fragment.code.add(" "));for(const n of r)e.fragment.code.add(` ${n.outVariableName} = ${n.variableName};`);e.fragment.code.add("}")}_insertInputs(e,t){e[t].code.add("// INPUTS: "),e[t].code.add("// --------------------------------------------------------- ");for(const a of this.inputs())if(a.isUsed&&"builtin"!==a.variableInputType)if("array"===a.node.type)e[t].code.add(` ${a.variableInputType.padEnd(10)} ${a.node.elementType.type.padEnd(9)} ${a.variableName}[${a.node.size}];`);else if("array-2d"===a.node.type)e[t].code.add(` ${a.variableInputType.padEnd(10)} ${a.node.elementType.type.padEnd(9)} ${a.variableName}[${a.node.size}]; // Emulated 2D Array. Not supported by ES3.0`);else{const o=[...a.qualifiers,a.variableInputType].join(" ");e[t].code.add(` ${o.padEnd(10)} ${a.node.type.padEnd(9)} ${a.variableName};`)}}}function r(e){switch(e.type){case"float":case"vec2":case"vec3":case"vec4":case"array":return null;case"int":case"ivec2":case"ivec3":case"ivec4":case"uint":case"uvec2":case"uvec3":case"uvec4":case"bool":case"bvec2":case"bvec3":case"bvec4":return"flat";case"mat2":case"mat3":case"mat4":case"sampler2D":case"array-2d":throw new Error(`InternalError: ${e.type} is not a valid output type`)}}export{o as ShaderGraphContext,t as ShaderInput,a as ShaderOutput};
2
+ import{getUniformBlockName as e}from"../types.js";import{cloneShaderNode as t}from"./ShaderGraphNode.js";class a{constructor(e,t,a,o=[],r=null){this.variableName=e,this.variableInputType=t,this.node=a,this.qualifiers=o,this.uniformBlockShaderModulePath=r,this.type="shader-input",this.isUsed=!1}clone(){return new a(this.variableName,this.variableInputType,t(this.node),[...this.qualifiers],this.uniformBlockShaderModulePath)}}class o{constructor(e,t,a,o=[]){this.outVariableName=e,this.outVariableType=t,this.node=a,this.qualifiers=o,this.type="shader-output"}clone(){const e=new o(this.outVariableName,this.outVariableType,t(this.node),[...this.qualifiers]);return e.variableName=this.variableName,e}}class r{static createVertex(e,t,n,s,i,u,c){const p=[];for(const o in e){const t=e[o],r=n.get(o);r?p.push(new a(r,"builtin",t)):p.push(new a("a_"+o,"in",t))}for(const o of s)for(const e of o.members)p.push(new a(e.uniformName,"uniform-block",e.uniformHydrated,[],o.shaderModulePath));for(const o of i){const e=o.textureHydrated;p.push(new a(o.textureName,"uniform",e))}const h=[];for(const a in t){const e=t[a];if("glPosition"===a)h.push(new o("gl_Position","builtin",e));else if("glPointSize"===a)h.push(new o("gl_PointSize","builtin",e));else{const t=d(e),r=[];t&&r.push(t),h.push(new o("v_"+a,"out",e,r))}}return new r(p,h,s,u,c)}static createFragment(e,t,n,d,s,i,u){const c=[],p=Array.from(i.rootOutputNodes());for(const o in e){const t=e[o],r=n.get(o);if(r){c.push(new a(r,"builtin",t));continue}const d=p.find(e=>e.node===t);d&&c.push(new a(d.outVariableName,"in",t,d.qualifiers))}for(const o of d)for(const e of o.members)c.push(new a(e.uniformName,"uniform-block",e.uniformHydrated,[],o.shaderModulePath));for(const o of s){const e=o.textureHydrated;c.push(new a(o.textureName,"uniform",e))}const h=[];for(const a in t){const e=t[a],r=n.get(a);switch(a){case"discard":h.push(new o(null,"discard",e));break;case"fragData0":h.push(new o("fragData0","fragData0",e));break;case"fragData1":h.push(new o("fragData1","fragData1",e));break;case"fragData2":h.push(new o("fragData2","fragData2",e));break;case"fragData3":h.push(new o("fragData3","fragData3",e));break;default:r?h.push(new o(r,"builtin",e)):h.push(new o(a,"out",e))}}return new r(c,h,d,u)}constructor(e,t,a,o,r){this.type="shader-graph-context",this.indent=0,this.body="",this.varCount=0,this._arrayReadVersions=new Map,this._inputShaderTypesByNodeUid=new Map,this._nodeEmitMap=new Map;for(const n of e)this._inputShaderTypesByNodeUid.set(n.node.uid,n);this._outputShaderTypes=t,this._uniformBlockBindings=a,this._transformFeedbackBindings=o,this._transformFeedbackNames=new Set(o.map(e=>"v_"+e.propertyKey)),this._usedInFragmentShader=r}shouldPruneOutputNode(e){return!!this._usedInFragmentShader&&("builtin"!==e.outVariableType&&(!this._transformFeedbackNames.has(e.outVariableName)&&!this._usedInFragmentShader.has(e.node.uid)))}setEmit(e,t){this._nodeEmitMap.set(e.uid,t)}getEmit(e){return this._nodeEmitMap.get(e.uid)}inputs(){return this._inputShaderTypesByNodeUid.values()}usedUniformBlockShaderModulePaths(){const e=new Set;for(const t of this.inputs())t.isUsed&&"uniform-block"===t.variableInputType&&null!=t.uniformBlockShaderModulePath&&e.add(t.uniformBlockShaderModulePath);return e}get arrayReadVersions(){return this._arrayReadVersions}createArrayReadVersions(){const e=[],t=[],a=new Set;this._arrayReadVersions.clear();for(const o of this.rootOutputNodes())this.shouldPruneOutputNode(o)||(t.push(o.node),a.add(o.node.uid));for(let o=0;o<t.length;o++){const r=t[o];"array-read-node"===r.shaderType&&e.push(r);for(const e of r.children)e&&"number"!=typeof e&&"boolean"!=typeof e&&!a.has(e.uid)&&(a.add(e.uid),t.push(e))}for(const o of e){let e=this._arrayReadVersions.get(o.version.uid);e||(e=[],this._arrayReadVersions.set(o.version.uid,e)),e.push(o)}}getInput(e){return this._inputShaderTypesByNodeUid.get(e.uid)}*rootOutputNodes(){for(const e of this._outputShaderTypes)yield e}*nodes(){const e=[];for(const t of this._outputShaderTypes.values())e.push(t.node);for(;e.length;){const t=e.pop();"number"!=typeof t&&"boolean"!=typeof t&&e.push(...t.children.filter(Boolean)),yield t}}*nodesOfTypeOrFunction(){for(const e of this.nodes())"number"!=typeof e&&"boolean"!=typeof e&&(yield e)}createSubgraphContext(){const e=this.clone();return e.body="",e.indent=this.indent+2,e._nodeEmitMap=new Map(this._nodeEmitMap),e}clone(){const e=new r([],this._outputShaderTypes,this._uniformBlockBindings,this._transformFeedbackBindings,this._usedInFragmentShader);return e._inputShaderTypesByNodeUid=this._inputShaderTypesByNodeUid,e.indent=this.indent,e.body=this.body,e.varCount=this.varCount,e._arrayReadVersions=this._arrayReadVersions,e._nodeEmitMap=this._nodeEmitMap,e}insertVertexShader(e){e.vertex.code.add(""),this._insertInputs(e,"vertex"),e.vertex.code.add(""),e.vertex.code.add("// OUTPUTS: "),e.vertex.code.add("// --------------------------------------------------------- ");for(const t of this.rootOutputNodes()){const a="builtin"===t.outVariableType;if(!this.shouldPruneOutputNode(t))if(a)e.vertex.code.add(`// ${t.outVariableType.padEnd(7)} ${t.node.type.padEnd(9)} ${t.outVariableName};`);else if("array"===t.node.type){const a=[...t.qualifiers,t.outVariableType].join(" ");e.vertex.code.add(`${a.padEnd(10)} ${t.node.elementType.type.padEnd(9)} ${t.outVariableName}[${t.node.size}];`)}else{const a=[...t.qualifiers,t.outVariableType].join(" ");e.vertex.code.add(`${a.padEnd(10)} ${t.node.type.padEnd(9)} ${t.outVariableName};`)}}e.vertex.code.add(""),e.vertex.code.add("void main() {"),e.vertex.code.add(" "+this.body.split("\n").join("\n "));for(const t of this.rootOutputNodes())this.shouldPruneOutputNode(t)||e.vertex.code.add(` ${t.outVariableName} = ${t.variableName};`);e.vertex.code.add("}")}insertFragmentShader(e){this._insertInputs(e,"fragment"),e.fragment.code.add(""),e.fragment.code.add("// OUTPUTS: "),e.fragment.code.add("// --------------------------------------------------------- ");let t=0;for(const n of this.rootOutputNodes())"builtin"===n.outVariableType?e.fragment.code.add(`// ${n.outVariableType.padEnd(7)} ${n.node.type.padEnd(9)} ${n.outVariableName};`):"discard"===n.outVariableType||e.outputs.add(n.outVariableName,n.node.type,t++);e.fragment.code.add(""),e.fragment.code.add("void main() {"),e.fragment.code.add(" "+this.body.split("\n").join("\n "));const a=Array.from(this.rootOutputNodes()),o=a.find(e=>"discard"===e.outVariableType),r=a.filter(e=>"discard"!==e.outVariableType);o&&(e.fragment.code.add(` if (${o.variableName}) {`),e.fragment.code.add(" discard;"),e.fragment.code.add(" }"),e.fragment.code.add(" "));for(const n of r)e.fragment.code.add(` ${n.outVariableName} = ${n.variableName};`);e.fragment.code.add("}")}_insertInputs(t,a){t[a].code.add("// INPUTS: "),t[a].code.add("// --------------------------------------------------------- ");const o=this.usedUniformBlockShaderModulePaths();for(const r of this._uniformBlockBindings){if(!o.has(r.shaderModulePath))continue;const d=e(r.shaderModulePath);t[a].code.add(`layout(std140) uniform ${d} {`);for(const e of r.members)t[a].code.add(` ${n(e)}`);t[a].code.add("};")}for(const e of this.inputs())if(e.isUsed&&"builtin"!==e.variableInputType&&"uniform-block"!==e.variableInputType)if("array"===e.node.type)t[a].code.add(` ${e.variableInputType.padEnd(10)} ${e.node.elementType.type.padEnd(9)} ${e.variableName}[${e.node.size}];`);else if("array-2d"===e.node.type)t[a].code.add(` ${e.variableInputType.padEnd(10)} ${e.node.elementType.type.padEnd(9)} ${e.variableName}[${e.node.size}]; // Emulated 2D Array. Not supported by ES3.0`);else{const o=[...e.qualifiers,e.variableInputType].join(" ");t[a].code.add(` ${o.padEnd(10)} ${e.node.type.padEnd(9)} ${e.variableName};`)}}}function n(e){const{uniformHydrated:t,uniformName:a}=e;return"array"===t.type?`${t.elementType.type.padEnd(9)} ${a}[${t.size}];`:"array-2d"===t.type?`${t.elementType.type.padEnd(9)} ${a}[${t.size}]; // Emulated 2D Array. Not supported by ES3.0`:`${t.type.padEnd(9)} ${a};`}function d(e){switch(e.type){case"float":case"vec2":case"vec3":case"vec4":case"array":return null;case"int":case"ivec2":case"ivec3":case"ivec4":case"uint":case"uvec2":case"uvec3":case"uvec4":case"bool":case"bvec2":case"bvec3":case"bvec4":return"flat";case"mat2":case"mat3":case"mat4":case"sampler2D":case"array-2d":throw new Error(`InternalError: ${e.type} is not a valid output type`)}}export{r as ShaderGraphContext,a as ShaderInput,o as ShaderOutput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as i}from"tslib";import{animationDebugFlags as t}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{generateVirtualMachineSource as e}from"../../../animations/instructions.js";import{location as o,uniform as a,texture as s,option as r}from"../../GraphShaderModule.js";import{Vec2 as l,Vec4 as n,Float as p,Sampler2D as m,step as u,negate as d,cond as c,equal as y,Mat2 as v,cos as h,sin as f,Mat3 as b,Vec3 as S,lessThanEqual as w,ifElse as g,texture2D as V,clamp as x,abs as z,block as T}from"../../graph/glsl.js";import{AnimationUniformInfo as P}from"./AnimationUniformInfo.js";import{MarkerConstants as j}from"../markers/markerConstants.js";import{FeatureVertexInput as _,AFeatureShader as C,FeatureFragmentInput as M}from"../shaders/AFeatureShader.js";import{softEdgeRatio as O}from"../shaders/constants.js";import{LocalTileOffset as D}from"../shaders/LocalTileOffset.js";import{MosaicInfo as F}from"../shaders/MosaicInfo.js";import{getBit as A,rgba2float as I}from"../shaders/utils.js";import{VisualVariableColor as L}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as R}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as k}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as U}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as E}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as B}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as G}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as q,getVisualVariableAngle as N}from"../shaders/vvUtils.js";class W extends _{}i([o(3,l)],W.prototype,"offset",void 0),i([o(4,n)],W.prototype,"sizing",void 0),i([o(5,n)],W.prototype,"value1Position2Value2",void 0),i([o(6,n)],W.prototype,"animationPointerAndBaseSizeAndReferenceSize",void 0),i([o(7,l)],W.prototype,"zoomRange",void 0),i([o(8,p)],W.prototype,"lineLength",void 0);class Z extends M{}class H extends C{_vertexPreamble(i,t,e){const{id:o,offset:a,animationPointerAndBaseSizeAndReferenceSize:s,sizing:r}=i,l=s.xy,n=s.z,m=s.w,b=r.xy,S=this._getEvalParams(i,b,e);let w,g;if(i.value1Position2Value2){let t;t=this.hittestRequest?new p(0):J(l,6,S).a.multiply(this.tile.getDisplayZoomFactor(this.tileContainer));const e=i.pos,o=i.value1Position2Value2.yz,a=i.value1Position2Value2.x,s=i.value1Position2Value2.w,r=t.subtract(a).divide(s.subtract(a));g=e.add(o.subtract(e).multiply(r)),w=u(new p(1),r).add(u(new p(0),d(r)))}else g=i.pos,w=new p(0);const V=r.z,x=A(i.bitset,j.bitset.isStroke),z=r.w,T=A(i.bitset,j.bitset.scaleSymbolsProportionally),P=J(l,0,S),_=c([y(A(i.bitset,j.bitset.isMapAligned),new p(1)),this.view.rotation.divide(180).multiply(Math.PI)],[!0,new p(0)]),C=new v(h(_),f(_.multiply(-1)),f(_),h(_)).multiply(P.xy),M=P.z.subtract(_).subtract(t),O=P.w,D=A(i.bitset,j.bitset.isSDF),F=q(this,o,new p(m)).divide(new p(m));return{baseSize:n,animationPointer:l,strokeWidth:V,isOutline:x,unscaledDistanceToPx:z,scaleSymbolsProportionally:T,isSDF:D,position:this._getScreenPosition({id:o,pos:g,offset:a,referenceSize:m,translation:C,rotation:M,scale:O,vvScale:F}),evalParams:S,vvScale:F,scale:O,clip:w}}_getScreenPosition(i){const{pos:t,translation:e,rotation:o,scale:a,offset:s,id:r,vvScale:l}=i,n=N(this,r).multiply(Math.PI/180),m=e.x.multiply(4/3),u=e.y.multiply(-1).multiply(4/3),c=f(n),y=h(n),v=y.multiply(m).add(d(c).multiply(u)),w=c.multiply(m).add(y.multiply(u)),g=f(o.subtract(n)),V=h(o.subtract(n)),x=new p(0),z=new p(1),{pixelRatio:T}=this.view,P=new b(z,x,x,x,z,x,v.multiply(T),w.multiply(T),z),j=new b(V,g.multiply(-1),x,g,V,x,0,0,z),_=a.multiply(l).multiply(T).multiply(4/3),C=j.multiply(_),M=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new S(t,1)),O=P.multiply(M).xy,D=C.multiply(new S(s,0)).xy;return O.add(D)}_clip(i,e){let o=super.clip(i,e);const a=w(this._getLocalTimeOrigin(i),new p(0));return t.forceGlobalTimeOrigin||(o=o.add(c([a,()=>new p(2)],[!0,()=>new p(0)]))),o}_getLocalTimeOrigin(i){return this.getLocalTimeOrigin(i)}_toNdc(i){return this.view.displayMat3.multiply(new S(i,1)).xy}_getEvalParams(i,t,e){const{globalTime:o,animationTextureSize:a}=this.animationInfo;return{globalTime:o,localTimeOrigin:this._getLocalTimeOrigin(i.id),animationTextureSize:a,animationTexture:this.animationTexture,pixelDimensions:t,lineLength:e}}_getColor(i,t){return g(y(t.isSDF,new p(1)),this._getSDFColor(i,t),this._getSpriteColor(i,t))}_getSpriteColor(i,t){return V(this.mosaicTexture,i).multiply(t.color)}_getSDFColor(i,t){const e=V(this.mosaicTexture,i),o=new p(.5).subtract(I(e)).multiply(t.distanceToPx).multiply(O),a=x(new p(.5).subtract(o),new p(0),new p(1)),s=t.color.multiply(a),r=t.outlineSize.multiply(.5),l=z(o).subtract(r),n=x(new p(.5).subtract(l),new p(0),new p(1)),m=t.outlineColor.multiply(n);return new p(1).subtract(m.a).multiply(s).add(m)}}function J(i,t,o){const a=i.add(new l(t,0)),s=V(o.animationTexture,a.add(.5).divide(o.animationTextureSize)).xy;return i=i.add(s),T({animationPointer:i,...o},n,null,i=>{const{out:t}=i;if(!t)throw new Error("out is null");return e({...i,out:t})})}i([a(F)],H.prototype,"mosaicInfo",void 0),i([a(P)],H.prototype,"animationInfo",void 0),i([a(D)],H.prototype,"localTileOffset",void 0),i([s(m)],H.prototype,"mosaicTexture",void 0),i([r(L)],H.prototype,"visualVariableColor",void 0),i([r(R)],H.prototype,"visualVariableOpacity",void 0),i([r(U)],H.prototype,"visualVariableSizeMinMaxValue",void 0),i([r(E)],H.prototype,"visualVariableSizeScaleStops",void 0),i([r(B)],H.prototype,"visualVariableSizeStops",void 0),i([r(G)],H.prototype,"visualVariableSizeUnitValue",void 0),i([r(k)],H.prototype,"visualVariableRotation",void 0),i([s(m)],H.prototype,"animationTexture",void 0);export{Z as AAnimatedFragmentInput,H as AAnimatedShader,W as AAnimatedVertexInput,J as getValue};
2
+ import{__decorate as i}from"tslib";import{animationDebugFlags as t}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{generateVirtualMachineSource as e}from"../../../animations/instructions.js";import{location as o,uniform as a,texture as s,option as r}from"../../GraphShaderModule.js";import{Vec2 as l,Vec4 as n,Float as p,Sampler2D as m,cond as u,equal as d,negate as c,step as y,sin as v,cos as f,Mat3 as h,Vec3 as b,lessThanEqual as S,ifElse as w,texture2D as g,clamp as V,abs as x,block as z}from"../../graph/glsl.js";import{AnimationUniformInfo as T}from"./AnimationUniformInfo.js";import{MarkerConstants as P}from"../markers/markerConstants.js";import{FeatureVertexInput as j,AFeatureShader as _,FeatureFragmentInput as M}from"../shaders/AFeatureShader.js";import{softEdgeRatio as O}from"../shaders/constants.js";import{LocalTileOffset as C}from"../shaders/LocalTileOffset.js";import{MosaicInfo as D}from"../shaders/MosaicInfo.js";import{getBit as I,rgba2float as F}from"../shaders/utils.js";import{VisualVariableColor as R}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as A}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as L}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as k}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as U}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as E}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as B}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableSize as G,getVisualVariableAngle as q}from"../shaders/vvUtils.js";class N extends j{}i([o(3,l)],N.prototype,"offset",void 0),i([o(4,n)],N.prototype,"sizing",void 0),i([o(5,n)],N.prototype,"value1Position2Value2",void 0),i([o(6,n)],N.prototype,"animationPointerAndBaseSizeAndReferenceSize",void 0),i([o(7,l)],N.prototype,"zoomRange",void 0),i([o(8,p)],N.prototype,"lineLength",void 0);class W extends M{}class Z extends _{_vertexPreamble(i,t,e){const{id:o,offset:a,animationPointerAndBaseSizeAndReferenceSize:s,sizing:r}=i,l=s.xy,n=s.z,m=s.w,v=r.xy,f=u([d(I(i.bitset,P.bitset.isMapAligned),new p(1)),this.view.rotation.divide(180).multiply(Math.PI)],[!0,new p(0)]),h=c(f.add(t)),b=this._getEvalParams(i,v,e,h);let S,w;if(i.value1Position2Value2){let t;t=this.hittestRequest?new p(0):H(l,6,b).a.multiply(this.tile.getDisplayZoomFactor(this.tileInfo));const e=i.pos,o=i.value1Position2Value2.yz,a=i.value1Position2Value2.x,s=i.value1Position2Value2.w,r=t.subtract(a).divide(s.subtract(a));w=e.add(o.subtract(e).multiply(r)),S=y(new p(1),r).add(y(new p(0),c(r)))}else w=i.pos,S=new p(0);const g=r.z,V=I(i.bitset,P.bitset.isStroke),x=r.w,z=I(i.bitset,P.bitset.scaleSymbolsProportionally),T=H(l,0,b),j=T.xy,_=T.z,M=T.w,O=I(i.bitset,P.bitset.isSDF),C=G(this,o,new p(m)).divide(new p(m));return{baseSize:n,animationPointer:l,strokeWidth:g,isOutline:V,unscaledDistanceToPx:x,scaleSymbolsProportionally:z,isSDF:O,position:this._getScreenPosition({id:o,pos:w,offset:a,referenceSize:m,translation:j,rotation:_,scale:M,vvScale:C}),evalParams:b,vvScale:C,scale:M,clip:S}}_getScreenPosition(i){const{pos:t,translation:e,rotation:o,scale:a,offset:s,id:r,vvScale:l}=i,n=q(this,r).multiply(Math.PI/180),m=e.x.multiply(4/3),u=e.y.multiply(-1).multiply(4/3),d=v(n),y=f(n),S=y.multiply(m).add(c(d).multiply(u)),w=d.multiply(m).add(y.multiply(u)),g=v(o.subtract(n)),V=f(o.subtract(n)),x=new p(0),z=new p(1),{pixelRatio:T}=this.view,P=new h(z,x,x,x,z,x,S.multiply(T),w.multiply(T),z),j=new h(V,g.multiply(-1),x,g,V,x,0,0,z),_=a.multiply(l).multiply(T).multiply(4/3),M=j.multiply(_),O=this.tile.getViewScreenMat3(this.view,this.tileInfo).multiply(new b(t,1)),C=P.multiply(O).xy,D=M.multiply(new b(s,0)).xy;return C.add(D)}_clip(i,e){let o=super.clip(i,e);const a=S(this._getLocalTimeOrigin(i),new p(0));return t.forceGlobalTimeOrigin||(o=o.add(u([a,()=>new p(2)],[!0,()=>new p(0)]))),o}_getLocalTimeOrigin(i){return this.getLocalTimeOrigin(i)}_toNdc(i){return this.view.displayMat3.multiply(new b(i,1)).xy}_getEvalParams(i,t,e,o){const{globalTime:a,animationTextureSize:s}=this.animationInfo;return{globalTime:a,localTimeOrigin:this._getLocalTimeOrigin(i.id),animationTextureSize:s,animationTexture:this.animationTexture,pixelDimensions:t,lineLength:e,globalRotation:o}}_getColor(i,t){return w(d(t.isSDF,new p(1)),this._getSDFColor(i,t),this._getSpriteColor(i,t))}_getSpriteColor(i,t){return g(this.mosaicTexture,i).multiply(t.color)}_getSDFColor(i,t){const e=g(this.mosaicTexture,i),o=new p(.5).subtract(F(e)).multiply(t.distanceToPx).multiply(O),a=V(new p(.5).subtract(o),new p(0),new p(1)),s=t.color.multiply(a),r=t.outlineSize.multiply(.5),l=x(o).subtract(r),n=V(new p(.5).subtract(l),new p(0),new p(1)),m=t.outlineColor.multiply(n);return new p(1).subtract(m.a).multiply(s).add(m)}}function H(i,t,o){const a=i.add(new l(t,0)),s=g(o.animationTexture,a.add(.5).divide(o.animationTextureSize)).xy;return i=i.add(s),z({animationPointer:i,...o},n,null,i=>{const{out:t}=i;if(!t)throw new Error("out is null");return e({...i,out:t})})}i([a(D)],Z.prototype,"mosaicInfo",void 0),i([a(T)],Z.prototype,"animationInfo",void 0),i([a(C)],Z.prototype,"localTileOffset",void 0),i([s(m)],Z.prototype,"mosaicTexture",void 0),i([r(R)],Z.prototype,"visualVariableColor",void 0),i([r(A)],Z.prototype,"visualVariableOpacity",void 0),i([r(k)],Z.prototype,"visualVariableSizeMinMaxValue",void 0),i([r(U)],Z.prototype,"visualVariableSizeScaleStops",void 0),i([r(E)],Z.prototype,"visualVariableSizeStops",void 0),i([r(B)],Z.prototype,"visualVariableSizeUnitValue",void 0),i([r(L)],Z.prototype,"visualVariableRotation",void 0),i([s(m)],Z.prototype,"animationTexture",void 0);export{W as AAnimatedFragmentInput,Z as AAnimatedShader,N as AAnimatedVertexInput,H as getValue};
@@ -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{input as s}from"../../GraphShaderModule.js";import{Float as i,sin as r,cos as o,Vec3 as l,Vec4 as n,mix as a,ifElse as m,greaterThan as u}from"../../graph/glsl.js";import{PolyVertexInput as p,PolyHittestVertexInput as h,PolyFragmentInput as c,AAnimatedPolyShader as d}from"./AAnimatedPolyShader.js";import{getPatternMatrix as y}from"../shaders/ComplexFillShader.js";import{c256ToRad as f,noHit as g,trueHit as x}from"../shaders/constants.js";import{isRectHittest as b,hittestFill as P,hittestScreenRect as w}from"../shaders/hittestUtils.js";class S extends d{constructor(){super(...arguments),this.type="AnimatedFillShader"}vertex(t,e){const{distanceToPx:s,ndc:m,z:u,color:p,isOutline:h,strokeWidth:c,isSDF:d,scale:g,scaleSymbolsProportionally:x}=this._vertexPoly(t),b=this.tile.getRequiredZoomFactor(this.tileContainer),P=t.sizing.xy,w=P.multiply(b),S=t.angle?t.angle.multiply(f):new i(0),j=r(S),v=o(S),F=y(t.id,w,j,v,t.bitset),O=this.localTileOffset.getPatternOffsetAtTileOrigin(P,j,v),R=b.multiply(t.offset.subtract(O)).divide(w),T=new l(t.pos,1),q=F.multiply(T).xy.subtract(R),A=t.tlbr.divide(this.mosaicInfo.size.xyxy);return{glPosition:new n(m,u,1),tlbr:A,uv:q,color:p.multiply(new i(1).subtract(h)),outlineColor:p.multiply(h),distanceToPx:s,strokeWidth:c.multiply(a(new i(1),g,x)),isOutline:h,isSDF:d,...this.maybeRunHittest(t,e,{})}}fragment(t){const e=this._fragmentPoly(t);return this.getFragmentOutput(e,t)}hittest(t,e,s){const{pos0:r,pos1:o,pos2:l}=this.computeHittestTriangle(t,e,null),n=b(this.hittestRequest);return m(n,()=>{const{tlbr:t}=this.hittestRequest;return w(r,o,l,t)},()=>{const s=P(this,t,e);return m(u(s,this.hittestRequest.distance),new i(g),new i(x))})}}t([e(0,s(p)),e(1,s(h))],S.prototype,"vertex",null),t([e(0,s(c))],S.prototype,"fragment",null);export{S as AnimatedFillShader};
2
+ import{__decorate as t,__param as e}from"tslib";import{input as s}from"../../GraphShaderModule.js";import{Float as i,sin as r,cos as o,Vec3 as l,Vec4 as n,mix as a,ifElse as m,greaterThan as u}from"../../graph/glsl.js";import{PolyVertexInput as p,PolyHittestVertexInput as h,PolyFragmentInput as c,AAnimatedPolyShader as d}from"./AAnimatedPolyShader.js";import{getPatternMatrix as y}from"../shaders/ComplexFillShader.js";import{c256ToRad as f,noHit as g,trueHit as x}from"../shaders/constants.js";import{isRectHittest as b,hittestFill as P,hittestScreenRect as w}from"../shaders/hittestUtils.js";class S extends d{constructor(){super(...arguments),this.type="AnimatedFillShader"}vertex(t,e){const{distanceToPx:s,ndc:m,z:u,color:p,isOutline:h,strokeWidth:c,isSDF:d,scale:g,scaleSymbolsProportionally:x}=this._vertexPoly(t),b=this.tile.getRequiredZoomFactor(this.tileInfo),P=t.sizing.xy,w=P.multiply(b),S=t.angle?t.angle.multiply(f):new i(0),j=r(S),v=o(S),F=y(t.id,w,j,v,t.bitset),O=this.localTileOffset.getPatternOffsetAtTileOrigin(P,j,v),R=b.multiply(t.offset.subtract(O)).divide(w),T=new l(t.pos,1),q=F.multiply(T).xy.subtract(R),A=t.tlbr.divide(this.mosaicInfo.size.xyxy);return{glPosition:new n(m,u,1),tlbr:A,uv:q,color:p.multiply(new i(1).subtract(h)),outlineColor:p.multiply(h),distanceToPx:s,strokeWidth:c.multiply(a(new i(1),g,x)),isOutline:h,isSDF:d,...this.maybeRunHittest(t,e,{})}}fragment(t){const e=this._fragmentPoly(t);return this.getFragmentOutput(e,t)}hittest(t,e,s){const{pos0:r,pos1:o,pos2:l}=this.computeHittestTriangle(t,e,null),n=b(this.hittestRequest);return m(n,()=>{const{tlbr:t}=this.hittestRequest;return w(r,o,l,t)},()=>{const s=P(this,t,e);return m(u(s,this.hittestRequest.distance),new i(g),new i(x))})}}t([e(0,s(p)),e(1,s(h))],S.prototype,"vertex",null),t([e(0,s(c))],S.prototype,"fragment",null);export{S as AnimatedFillShader};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{location as i,input as s}from"../../GraphShaderModule.js";import{Float as o,Vec2 as l,dot as r,max as a,Vec4 as n,mix as m,length as d,clamp as p,step as u,min as h,ifElse as c,greaterThan as y}from"../../graph/glsl.js";import{PolyHittestVertexInput as f,PolyVertexInput as v,AAnimatedPolyShader as b,PolyFragmentInput as g}from"./AAnimatedPolyShader.js";import{getValue as w}from"./AAnimatedShader.js";import{noHit as x,trueHit as S}from"../shaders/constants.js";import{isRectHittest as P,distPointSegment as D,hittestScreenRect as j}from"../shaders/hittestUtils.js";import{getLineAntialiasing as z,getLineThinFactor as A}from"../shaders/LineShader.js";class R extends v{}t([i(10,o)],R.prototype,"accumulatedDistance",void 0),t([i(11,l)],R.prototype,"normal",void 0),t([i(12,l)],R.prototype,"segmentDirection",void 0);class F extends g{}class T extends b{constructor(){super(...arguments),this.type="AnimatedLineShader"}vertex(t,e){const{animationPointerAndBaseSizeAndReferenceSize:i}=t,s=i.xy,{distanceToPx:d,ndc:p,z:u,color:h,isOutline:c,strokeWidth:y,isSDF:f,baseSize:v,scale:b,scaleSymbolsProportionally:g,evalParams:x}=this._vertexPoly(t),S=t.sizing.xy,P=S.x.multiply(v).divide(S.y),D=this.tile.getDisplayZoomFactor(this.tileContainer),j=w(s,6,x).a.multiply(D),z=t.accumulatedDistance.subtract(j),{normal:A}=t,R=t.normal.y,F=z.divide(D).add(r(t.segmentDirection,t.offset)).divide(P),T=R.add(1).divide(2),W=new l(F,T),q=t.tlbr.divide(this.mosaicInfo.size.xyxy),O=v.divide(2),k=new o(.5).multiply(this.view.antialiasing),C=a(O.add(k),new o(.45)).add(new o(.1).multiply(k));return{glPosition:new n(p,u,1),tlbr:q,uv:W,color:h.multiply(new o(1).subtract(c)),outlineColor:h.multiply(c),distanceToPx:d,strokeWidth:y.multiply(m(new o(1),b,g)),isOutline:c,isSDF:f,halfWidth:C,normal:A,...this.maybeRunHittest(t,e,C)}}fragment(t){const e=this._fragmentPoly(t),i=z(t,this.view.antialiasing),{halfWidth:s,normal:l}=t,r=A(s),a=d(l).multiply(s),n=p(r.multiply(s.subtract(a)).divide(r.subtract(new o(1))),new o(0),new o(1));return this.getFragmentOutput(e.multiply(n).multiply(i),t)}hittest(t,e,i){const{pos0:s,pos1:l,pos2:r}=this.computeHittestTriangle(t,e,null),a=P(this.hittestRequest),{distance:n,smallSymbolDistance:m,smallSymbolSizeThreshold:d,tlbr:p}=this.hittestRequest,f=u(i,d.multiply(.5)).multiply(n.subtract(m)),v=this.hittestRequest.position,b=h(D(v,s,l),D(v,s,r)).subtract(i).add(f);return c(a,j(s,l,r,p),c(y(b,n),new o(x),new o(S)))}}t([e(0,s(R)),e(1,s(f))],T.prototype,"vertex",null),t([e(0,s(F))],T.prototype,"fragment",null);export{T as AnimatedLineShader};
2
+ import{__decorate as t,__param as e}from"tslib";import{location as i,input as s}from"../../GraphShaderModule.js";import{Float as o,Vec2 as l,dot as r,max as a,Vec4 as n,mix as m,length as d,clamp as p,step as u,min as h,ifElse as c,greaterThan as y}from"../../graph/glsl.js";import{PolyHittestVertexInput as f,PolyVertexInput as v,AAnimatedPolyShader as b,PolyFragmentInput as g}from"./AAnimatedPolyShader.js";import{getValue as w}from"./AAnimatedShader.js";import{noHit as x,trueHit as S}from"../shaders/constants.js";import{isRectHittest as P,distPointSegment as D,hittestScreenRect as j}from"../shaders/hittestUtils.js";import{getLineAntialiasing as z,getLineThinFactor as A}from"../shaders/LineShader.js";class R extends v{}t([i(10,o)],R.prototype,"accumulatedDistance",void 0),t([i(11,l)],R.prototype,"normal",void 0),t([i(12,l)],R.prototype,"segmentDirection",void 0);class F extends g{}class T extends b{constructor(){super(...arguments),this.type="AnimatedLineShader"}vertex(t,e){const{animationPointerAndBaseSizeAndReferenceSize:i}=t,s=i.xy,{distanceToPx:d,ndc:p,z:u,color:h,isOutline:c,strokeWidth:y,isSDF:f,baseSize:v,scale:b,scaleSymbolsProportionally:g,evalParams:x}=this._vertexPoly(t),S=t.sizing.xy,P=S.x.multiply(v).divide(S.y),D=this.tile.getDisplayZoomFactor(this.tileInfo),j=w(s,6,x).a.multiply(D),z=t.accumulatedDistance.subtract(j),{normal:A}=t,R=t.normal.y,F=z.divide(D).add(r(t.segmentDirection,t.offset)).divide(P),T=R.add(1).divide(2),W=new l(F,T),q=t.tlbr.divide(this.mosaicInfo.size.xyxy),O=v.divide(2),k=new o(.5).multiply(this.view.antialiasing),H=a(O.add(k),new o(.45)).add(new o(.1).multiply(k));return{glPosition:new n(p,u,1),tlbr:q,uv:W,color:h.multiply(new o(1).subtract(c)),outlineColor:h.multiply(c),distanceToPx:d,strokeWidth:y.multiply(m(new o(1),b,g)),isOutline:c,isSDF:f,halfWidth:H,normal:A,...this.maybeRunHittest(t,e,H)}}fragment(t){const e=this._fragmentPoly(t),i=z(t,this.view.antialiasing),{halfWidth:s,normal:l}=t,r=A(s),a=d(l).multiply(s),n=p(r.multiply(s.subtract(a)).divide(r.subtract(new o(1))),new o(0),new o(1));return this.getFragmentOutput(e.multiply(n).multiply(i),t)}hittest(t,e,i){const{pos0:s,pos1:l,pos2:r}=this.computeHittestTriangle(t,e,null),a=P(this.hittestRequest),{distance:n,smallSymbolDistance:m,smallSymbolSizeThreshold:d,tlbr:p}=this.hittestRequest,f=u(i,d.multiply(.5)).multiply(n.subtract(m)),v=this.hittestRequest.position,b=h(D(v,s,l),D(v,s,r)).subtract(i).add(f);return c(a,j(s,l,r,p),c(y(b,n),new o(x),new o(S)))}}t([e(0,s(R)),e(1,s(f))],T.prototype,"vertex",null),t([e(0,s(F))],T.prototype,"fragment",null);export{T as AnimatedLineShader};
@@ -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{animationDebugFlags as i}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{location as s,input as o,ComputeVertexInput as r}from"../../GraphShaderModule.js";import{Vec2 as l,Float as n,Vec4 as a,ifElse as d,or as u,Bool as m,mix as p,Mat3 as h,lessThan as c,Vec3 as x,distance as y,greaterThan as w,negate as f}from"../../graph/glsl.js";import{AAnimatedVertexInput as g,AAnimatedShader as v,getValue as S,AAnimatedFragmentInput as b}from"./AAnimatedShader.js";import{MarkerConstants as _}from"../markers/markerConstants.js";import{trueHit as V,noHit as C}from"../shaders/constants.js";import{isRectHittest as z,hittestMarkerScreenRect as P,distPointTriangle as N,xyToBarycentric as k,inTriangle as R}from"../shaders/hittestUtils.js";import{getBitBool as D}from"../shaders/utils.js";import{getVisualVariableColor as M,getVisualVariableOpacity as j}from"../shaders/vvUtils.js";class q extends g{}t([s(9,l)],q.prototype,"uv",void 0),t([s(10,n)],q.prototype,"angle",void 0);class F extends r{}t([s(11,l)],F.prototype,"offsetNextVertex1",void 0),t([s(12,l)],F.prototype,"offsetNextVertex2",void 0),t([s(13,l)],F.prototype,"textureUVNextVertex1",void 0),t([s(14,l)],F.prototype,"textureUVNextVertex2",void 0);class T extends b{}function U(t,e,i,s){return e.multiply(t.x).add(i.multiply(t.y)).add(s.multiply(t.z))}class A extends v{constructor(){super(...arguments),this.type="AnimatedMarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],uv:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=t.uv.divide(this.mosaicInfo.size),{position:s,animationPointer:o,evalParams:r,isOutline:l,unscaledDistanceToPx:c,vvScale:x,strokeWidth:y,scaleSymbolsProportionally:w,scale:f,isSDF:g,baseSize:v,clip:b}=this._vertexPreamble(t,t.angle,t.lineLength||new n(0)),V=this._toNdc(s);let C=S(o,1,r);C=new a(C.rgb.multiply(C.a),C.a);let z=d(D(t.bitset,_.bitset.colorLocked),C,S(o,2,r));z=new a(z.rgb.multiply(z.a),z.a);let P=S(o,3,r);P=new a(P.rgb.multiply(P.a),P.a);const N=S(o,4,r).a,k=S(o,5,r).a,R=M(this,t.id,C,u(D(t.bitset,_.bitset.colorLocked),new m(l))),q=p(R,z,P),F=j(this,t.id),T=p(F,N,k),U=q.multiply(T),A=this.clip(t.id,t.zoomRange).add(b.multiply(2)),I=c.multiply(x);return{glPosition:new a(V,A,1),uv:i,color:U.multiply(new n(1).subtract(l)),outlineColor:U.multiply(l),distanceToPx:I,strokeWidth:y.multiply(p(new n(1),f,w)),isOutline:l,isSDF:g,...this.maybeRunHittest(t,e,{pos:t.pos,size:v,sizeCorrection:new n(1),isMapAligned:new n(1),vvRotationMat3:new h(1,0,0,0,1,0,0,0,1),placementMat3:new h(1,0,0,0,1,0,0,0,1),outlineSize:new n(1),distanceToPx:I,isSDF:g})}}fragment(t){let e=this._getColor(t.uv,{color:t.color,distanceToPx:t.distanceToPx,isSDF:t.isSDF,outlineColor:t.outlineColor,outlineSize:t.strokeWidth});return i.spotlightAnimatedSymbols&&(e=e.add(new a(0,.3,0,.3))),this.getFragmentOutput(e,t)}hittest(t,e,i){const{pos0:s,pos1:o,pos2:r}=this.computeHittestTriangle(t,e,i),l=z(this.hittestRequest);return d(l,()=>{const{tlbr:t}=this.hittestRequest;return P(s,o,r,t)},()=>d(c(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i)))}_hittestSmallMarker(t,e,i){const{position:s,distance:o,smallSymbolDistance:r}=this.hittestRequest,l=o.subtract(r),a=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new x(i.pos,1)).xy,u=i.size.multiply(.5),m=y(a,s).subtract(u).add(l);return d(w(m,this.hittestRequest.distance),new n(C),new n(V))}_hittestMarker(t,e,i){const s=this._vertexPreamble({...t},t.angle,new n(0)).position,o=this._vertexPreamble({...t,offset:e.offsetNextVertex1},t.angle,new n(0)).position,r=this._vertexPreamble({...t,offset:e.offsetNextVertex2},t.angle,new n(0)).position,l=this.hittestRequest.position,a=this.hittestRequest.distance,u=N(l,s,o,r);return d(w(u,a),new n(C),this._hittestSamples(s,o,r,t,e,i))}_hittestSamples(t,e,i,s,o,r){const{outlineSize:u,isSDF:m,distanceToPx:p}=r,h=this.hittestRequest.position,c=this.hittestRequest.distance,x=k(h.add(new l(f(c),f(c))),t,e,i),y=k(h.add(new l(0,f(c))),t,e,i),g=k(h.add(new l(c,f(c))),t,e,i),v=k(h.add(new l(f(c),0)),t,e,i),S=k(h,t,e,i),b=k(h.add(new l(c,0)),t,e,i),_=k(h.add(new l(f(c),c)),t,e,i),z=k(h.add(new l(0,c)),t,e,i),P=k(h.add(new l(c,c)),t,e,i),N=s.uv.divide(this.mosaicInfo.size),D=o.textureUVNextVertex1.divide(this.mosaicInfo.size),M=o.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new a(1,1,1,1),outlineSize:u,outlineColor:new a(1,1,1,1),isSDF:m,distanceToPx:p};let q=new n(0);return q=q.add(R(x).multiply(this._getColor(U(x,N,D,M),j).a)),q=q.add(R(y).multiply(this._getColor(U(y,N,D,M),j).a)),q=q.add(R(g).multiply(this._getColor(U(g,N,D,M),j).a)),q=q.add(R(v).multiply(this._getColor(U(v,N,D,M),j).a)),q=q.add(R(S).multiply(this._getColor(U(S,N,D,M),j).a)),q=q.add(R(b).multiply(this._getColor(U(b,N,D,M),j).a)),q=q.add(R(_).multiply(this._getColor(U(_,N,D,M),j).a)),q=q.add(R(z).multiply(this._getColor(U(z,N,D,M),j).a)),q=q.add(R(P).multiply(this._getColor(U(P,N,D,M),j).a)),d(w(q,new n(.05)),new n(V),new n(C))}}t([e(0,o(q)),e(1,o(F))],A.prototype,"vertex",null),t([e(0,o(T))],A.prototype,"fragment",null);export{T as AnimatedMarkerFragmentInput,A as AnimatedMarkerShader,q as AnimatedMarkerVertexInput};
2
+ import{__decorate as t,__param as e}from"tslib";import{animationDebugFlags as i}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{location as s,input as o,ComputeVertexInput as r}from"../../GraphShaderModule.js";import{Vec2 as l,Float as n,Vec4 as a,ifElse as d,or as u,Bool as m,mix as p,Mat3 as h,lessThan as c,Vec3 as x,distance as y,greaterThan as w,negate as f}from"../../graph/glsl.js";import{AAnimatedVertexInput as g,AAnimatedShader as v,getValue as S,AAnimatedFragmentInput as b}from"./AAnimatedShader.js";import{MarkerConstants as _}from"../markers/markerConstants.js";import{trueHit as V,noHit as z}from"../shaders/constants.js";import{isRectHittest as C,hittestMarkerScreenRect as P,distPointTriangle as N,xyToBarycentric as k,inTriangle as R}from"../shaders/hittestUtils.js";import{getBitBool as D}from"../shaders/utils.js";import{getVisualVariableColor as M,getVisualVariableOpacity as j}from"../shaders/vvUtils.js";class q extends g{}t([s(9,l)],q.prototype,"uv",void 0),t([s(10,n)],q.prototype,"angle",void 0);class F extends r{}t([s(11,l)],F.prototype,"offsetNextVertex1",void 0),t([s(12,l)],F.prototype,"offsetNextVertex2",void 0),t([s(13,l)],F.prototype,"textureUVNextVertex1",void 0),t([s(14,l)],F.prototype,"textureUVNextVertex2",void 0);class T extends b{}function U(t,e,i,s){return e.multiply(t.x).add(i.multiply(t.y)).add(s.multiply(t.z))}class A extends v{constructor(){super(...arguments),this.type="AnimatedMarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],uv:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=t.uv.divide(this.mosaicInfo.size),{position:s,animationPointer:o,evalParams:r,isOutline:l,unscaledDistanceToPx:c,vvScale:x,strokeWidth:y,scaleSymbolsProportionally:w,scale:f,isSDF:g,baseSize:v,clip:b}=this._vertexPreamble(t,t.angle,t.lineLength||new n(0)),V=this._toNdc(s);let z=S(o,1,r);z=new a(z.rgb.multiply(z.a),z.a);let C=d(D(t.bitset,_.bitset.colorLocked),z,S(o,2,r));C=new a(C.rgb.multiply(C.a),C.a);let P=S(o,3,r);P=new a(P.rgb.multiply(P.a),P.a);const N=S(o,4,r).a,k=S(o,5,r).a,R=M(this,t.id,z,u(D(t.bitset,_.bitset.colorLocked),new m(l))),q=p(R,C,P),F=j(this,t.id),T=p(F,N,k),U=q.multiply(T),A=this.clip(t.id,t.zoomRange).add(b.multiply(2)),I=c.multiply(x);return{glPosition:new a(V,A,1),uv:i,color:U.multiply(new n(1).subtract(l)),outlineColor:U.multiply(l),distanceToPx:I,strokeWidth:y.multiply(p(new n(1),f,w)),isOutline:l,isSDF:g,...this.maybeRunHittest(t,e,{pos:t.pos,size:v,sizeCorrection:new n(1),isMapAligned:new n(1),vvRotationMat3:new h(1,0,0,0,1,0,0,0,1),placementMat3:new h(1,0,0,0,1,0,0,0,1),outlineSize:new n(1),distanceToPx:I,isSDF:g})}}fragment(t){let e=this._getColor(t.uv,{color:t.color,distanceToPx:t.distanceToPx,isSDF:t.isSDF,outlineColor:t.outlineColor,outlineSize:t.strokeWidth});return i.spotlightAnimatedSymbols&&(e=e.add(new a(0,.3,0,.3))),this.getFragmentOutput(e,t)}hittest(t,e,i){const{pos0:s,pos1:o,pos2:r}=this.computeHittestTriangle(t,e,i),l=C(this.hittestRequest);return d(l,()=>{const{tlbr:t}=this.hittestRequest;return P(s,o,r,t)},()=>d(c(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i)))}_hittestSmallMarker(t,e,i){const{position:s,distance:o,smallSymbolDistance:r}=this.hittestRequest,l=o.subtract(r),a=this.tile.getViewScreenMat3(this.view,this.tileInfo).multiply(new x(i.pos,1)).xy,u=i.size.multiply(.5),m=y(a,s).subtract(u).add(l);return d(w(m,this.hittestRequest.distance),new n(z),new n(V))}_hittestMarker(t,e,i){const s=this._vertexPreamble({...t},t.angle,new n(0)).position,o=this._vertexPreamble({...t,offset:e.offsetNextVertex1},t.angle,new n(0)).position,r=this._vertexPreamble({...t,offset:e.offsetNextVertex2},t.angle,new n(0)).position,l=this.hittestRequest.position,a=this.hittestRequest.distance,u=N(l,s,o,r);return d(w(u,a),new n(z),this._hittestSamples(s,o,r,t,e,i))}_hittestSamples(t,e,i,s,o,r){const{outlineSize:u,isSDF:m,distanceToPx:p}=r,h=this.hittestRequest.position,c=this.hittestRequest.distance,x=k(h.add(new l(f(c),f(c))),t,e,i),y=k(h.add(new l(0,f(c))),t,e,i),g=k(h.add(new l(c,f(c))),t,e,i),v=k(h.add(new l(f(c),0)),t,e,i),S=k(h,t,e,i),b=k(h.add(new l(c,0)),t,e,i),_=k(h.add(new l(f(c),c)),t,e,i),C=k(h.add(new l(0,c)),t,e,i),P=k(h.add(new l(c,c)),t,e,i),N=s.uv.divide(this.mosaicInfo.size),D=o.textureUVNextVertex1.divide(this.mosaicInfo.size),M=o.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new a(1,1,1,1),outlineSize:u,outlineColor:new a(1,1,1,1),isSDF:m,distanceToPx:p};let q=new n(0);return q=q.add(R(x).multiply(this._getColor(U(x,N,D,M),j).a)),q=q.add(R(y).multiply(this._getColor(U(y,N,D,M),j).a)),q=q.add(R(g).multiply(this._getColor(U(g,N,D,M),j).a)),q=q.add(R(v).multiply(this._getColor(U(v,N,D,M),j).a)),q=q.add(R(S).multiply(this._getColor(U(S,N,D,M),j).a)),q=q.add(R(b).multiply(this._getColor(U(b,N,D,M),j).a)),q=q.add(R(_).multiply(this._getColor(U(_,N,D,M),j).a)),q=q.add(R(C).multiply(this._getColor(U(C,N,D,M),j).a)),q=q.add(R(P).multiply(this._getColor(U(P,N,D,M),j).a)),d(w(q,new n(.05)),new n(V),new n(z))}}t([e(0,o(q)),e(1,o(F))],A.prototype,"vertex",null),t([e(0,o(T))],A.prototype,"fragment",null);export{T as AnimatedMarkerFragmentInput,A as AnimatedMarkerShader,q as AnimatedMarkerVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{animationDebugFlags as e}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{FeatureTechnique as t}from"../FeatureTechnique.js";import{isHittest as a,getSelectionDefines as i,getFeatureTextures as n,getLocalTileOffset as r,getFeatureUniforms as o,resolveDynamicUniforms as s,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";class m extends t{render(t,m){const{context:c,painter:l}=t,{target:g}=m,{freezeGlobalTime:d}=e,f=0,x=l.textureManager.animationStore.getTexture(c,f),p=m.instance.getInput(),T=l.textureManager.getMosaicInfo(t,m.textureKey,!1),{optionalAttributes:b}=p,h=b.zoomRange,D=b.value1Position2Value2,M="accumulatedDistance"in b&&!!b.accumulatedDistance,y="segmentDirection"in b&&!!b.segmentDirection,z="normal"in b&&!!b.normal;l.setShader({shader:this.shaders.geometry,uniforms:{...s(t,m.target,p.uniforms),...o(t,m.target),mosaicInfo:T,animationInfo:{globalTime:t.animationsEnabled?!1===d?t.time/1e3:d:0,animationTextureSize:[x.descriptor.width,x.descriptor.height]},localTileOffset:r(m.target)},textures:{...n(t),mosaicTexture:l.textureManager.getMosaicTexture(t,m.textureKey,!1),animationTexture:{unit:6,texture:x}},defines:{...i(t)},optionalAttributes:{zoomRange:h,value1Position2Value2:D,accumulatedDistance:M,segmentDirection:y,normal:z},useComputeBuffer:a(t)}),l.setPipelineState({...u(t)}),l.submitDraw(t,m),!1===d&&t.animationsEnabled&&g.requestRender()}}export{m as AnimatedTechnique};
2
+ import{animationDebugFlags as e}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{FeatureTechnique as t}from"../FeatureTechnique.js";import{isHittest as i,getSelectionDefines as a,getFeatureTextures as n,getLocalTileOffset as r,getFeatureUniforms as o,resolveDynamicUniforms as s,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";class m extends t{render(t,m){const{context:c,painter:l}=t,{target:g}=m,{freezeGlobalTime:d}=e,f=0,x=l.textureManager.animationStore.getTexture(c,f),p=m.instance.getInput(),T=l.textureManager.getMosaicInfo(t,m.textureKey,!1),{optionalAttributes:b}=p,h=b.zoomRange,D=b.value1Position2Value2,M="accumulatedDistance"in b&&!!b.accumulatedDistance,y="segmentDirection"in b&&!!b.segmentDirection,z="normal"in b&&!!b.normal;l.setShader({shader:this.shaders.geometry,uniforms:{...s(t,m.target,p.uniforms),...o(t),mosaicInfo:T,animationInfo:{globalTime:t.animationsEnabled?!1===d?t.time/1e3:d:0,animationTextureSize:[x.descriptor.width,x.descriptor.height]},localTileOffset:r(m.target)},textures:{...n(t),mosaicTexture:l.textureManager.getMosaicTexture(t,m.textureKey,!1),animationTexture:{unit:6,texture:x}},defines:{...a(t)},optionalAttributes:{zoomRange:h,value1Position2Value2:D,accumulatedDistance:M,segmentDirection:y,normal:z},useComputeBuffer:i(t)}),l.setPipelineState({...u(t)}),l.submitDraw(t,m),!1===d&&t.animationsEnabled&&g.requestRender()}}export{m as AnimatedTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{BitmapTile as e}from"../../../../BitmapTile.js";import{textureBindingBitmap as i}from"../../../definitions.js";import{Technique as t}from"../Technique.js";import{BitmapShader as n}from"../shaders/BitmapShader.js";import{getTileUniforms as r}from"../shaders/Tile.js";import{getTileContainerUniforms as o}from"../shaders/TileInfo.js";import{getViewUniforms as s}from"../shaders/ViewInfo.js";const a={nearest:{samplingMode:9728,mips:!1},bilinear:{samplingMode:9729,mips:!1},bicubic:{samplingMode:9729,mips:!1},trilinear:{samplingMode:9987,mips:!0}},l=(e,i,t)=>{if("dynamic"===t.samplingMode){const{state:t}=e,n=i.resolution/i.pixelRatio/t.resolution,r=Math.round(e.pixelRatio)!==e.pixelRatio,o=n>1.05||n<.95;return t.rotation||o||r||i.isSourceScaled||i.rotation?a.bilinear:a.nearest}return a[t.samplingMode]};class m extends t{constructor(){super(...arguments),this.name="BrushBitmap",this.type=4,this.shaders={bitmap:new n}}render(e,t){const{context:n,renderingOptions:m,painter:d}=e,f=s(e);for(const s of t.bitmaps){const t=c(s),h=t.texture;if(!t.source||!t.isReady||null==h)continue;const b=l(e,t,m);e.timeline.begin(this.name),d.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"additive"===t.blendFunction?"additive":"composite"}}),t.setSamplingProfile(b);const{coordScale:g,computedOpacity:M}=t,w={coordScale:g,opacity:M},x=p(s);let S;if(x){if(!u(e))throw new Error("BitmapTile requires tile render parameters");S={view:f,tileContainer:o(e),tile:r(e.tilingScheme,s),localTransform:null,config:w}}else S={view:f,tileContainer:null,tile:null,localTransform:{localToScreenMat3:t.transforms.localToScreenMat3},config:w};d.submitDrawMesh(n,{shader:this.shaders.bitmap,uniforms:S,textures:{texture:{texture:h,unit:i}},defines:{bicubic:b===a.bicubic,tiled:x},optionalAttributes:null,useComputeBuffer:!1},d.quadMesh,t),e.timeline.end(this.name)}}}function c(e){return p(e)?e.bitmap:e}function p(i){return i instanceof e}function u(e){return"normalizedTileView"in e}export{m as BitmapTechnique};
2
+ import{BitmapTile as e}from"../../../../BitmapTile.js";import{textureBindingBitmap as i}from"../../../definitions.js";import{Technique as t}from"../Technique.js";import{BitmapShader as n}from"../shaders/BitmapShader.js";const o={nearest:{samplingMode:9728,mips:!1},bilinear:{samplingMode:9729,mips:!1},bicubic:{samplingMode:9729,mips:!1},trilinear:{samplingMode:9987,mips:!0}},r=(e,i,t)=>{if("dynamic"===t.samplingMode){const{state:t}=e,n=i.resolution/i.pixelRatio/t.resolution,r=Math.round(e.pixelRatio)!==e.pixelRatio,s=n>1.05||n<.95;return t.rotation||s||r||i.isSourceScaled||i.rotation?o.bilinear:o.nearest}return o[t.samplingMode]};class s extends t{constructor(){super(...arguments),this.name="BrushBitmap",this.type=4,this.shaders={bitmap:new n}}render(e,t){const{context:n,renderingOptions:s,painter:m}=e;for(const p of t.bitmaps){const t=a(p),u=t.texture;if(!t.source||!t.isReady||null==u)continue;const d=r(e,t,s);e.timeline.begin(this.name),m.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"additive"===t.blendFunction?"additive":"composite"}}),t.setSamplingProfile(d);const{coordScale:f,computedOpacity:h}=t,b={coordScale:f,opacity:h},g=l(p);let M;if(g){if(!c(e))throw new Error("BitmapTile requires tile render parameters");p.bindTile(n,e.tilingScheme),M={tileInfo:!0,tile:!0,localTransform:null,config:b}}else M={tileInfo:null,tile:null,localTransform:{localToScreenMat3:t.transforms.localToScreenMat3},config:b};m.submitDrawMesh(n,{shader:this.shaders.bitmap,uniforms:M,textures:{texture:{texture:u,unit:i}},defines:{bicubic:d===o.bicubic,tiled:g},optionalAttributes:null,useComputeBuffer:!1},m.quadMesh,t),e.timeline.end(this.name)}}}function a(e){return l(e)?e.bitmap:e}function l(i){return i instanceof e}function c(e){return"normalizedTileView"in e}export{s as BitmapTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{Technique as e}from"../Technique.js";import{ClipShader as s}from"../shaders/ClipShader.js";import{getViewUniforms as t}from"../shaders/ViewInfo.js";class i extends e{constructor(){super(...arguments),this.type=8,this.shaders={clip:new s}}render(e,s){const{context:i,painter:r,state:o}=e,n=s.getMesh(i,o);if(!n)return;r.setPipelineState({color:!1,depth:!1,stencil:{write:{mask:255},test:{compare:519,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const a={shader:this.shaders.clip,uniforms:{view:t(e)},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};r.submitDrawMesh(i,a,n,{stencilRef:0})}}const r=new i;export{r as clipTechnique};
2
+ import{Technique as e}from"../Technique.js";import{ClipShader as s}from"../shaders/ClipShader.js";class t extends e{constructor(){super(...arguments),this.type=8,this.shaders={clip:new s}}render(e,s){const{context:t,painter:i,state:r}=e,o=s.getMesh(t,r);if(!o)return;i.setPipelineState({color:!1,depth:!1,stencil:{write:{mask:255},test:{compare:519,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});const n={shader:this.shaders.clip,uniforms:{},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};i.submitDrawMesh(t,n,o,{stencilRef:0})}}const i=new t;export{i as clipTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as o}from"tslib";import{tileSize as e}from"../../../definitions.js";import{location as i,uniform as r,texture as s,input as d,VertexInput as n,UniformGroup as p,GraphShaderModule as a,FragmentOutput as l}from"../../GraphShaderModule.js";import{Vec2 as m,Float as y,Sampler2D as c,Mat3 as v,Vec3 as w,texture2D as h,max as u,step as f,Vec4 as x,length as g,smoothstep as S}from"../../graph/glsl.js";import{FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{Tile as z}from"../shaders/Tile.js";import{TileInfo as C}from"../shaders/TileInfo.js";import{ViewInfo as P}from"../shaders/ViewInfo.js";class R extends n{}t([i(0,m)],R.prototype,"pos",void 0);class b extends j{}class D extends p{}t([r(y)],D.prototype,"dotSize",void 0);class F extends p{}t([r(y)],F.prototype,"pixelRatio",void 0),t([r(y)],F.prototype,"tileZoomFactor",void 0);const E=1e-6;class I extends a{constructor(){super(...arguments),this.type="DotDensityPointShader"}vertex(t){const o=new v(1,0,0,0,-1,0,0,1,1).multiply(new w(t.pos.xy.divide(e),1)),i=h(this.drawLocations,o.xy),r=u(this.instance.dotSize.divide(2),new y(1));let s=new y(0);s=s.add(f(i.a,new y(E)).multiply(2));let d=r.add(this.instance.dotSize);const n=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new w(t.pos.add(.5),1)),p=new x(n.xy,s,1),a=this.instance.dotSize.divide(d),l=new y(-1).divide(r.divide(d));return d=d.multiply(this.draw.pixelRatio.multiply(this.draw.tileZoomFactor)),{glPosition:p,glPointSize:d,color:i,ratio:a,invEdgeRatio:l}}fragment(t){const o=g(t.glPointCoord.subtract(.5)).multiply(2),e=S(new y(0),new y(1),t.invEdgeRatio.multiply(o.subtract(t.ratio)).add(1)),i=new l;return i.fragColor=t.color.multiply(e),i}}t([r(D)],I.prototype,"instance",void 0),t([r(F)],I.prototype,"draw",void 0),t([r(C)],I.prototype,"tileContainer",void 0),t([r(z)],I.prototype,"tile",void 0),t([r(P)],I.prototype,"view",void 0),t([s(c)],I.prototype,"drawLocations",void 0),t([o(0,d(R))],I.prototype,"vertex",null),t([o(0,d(b))],I.prototype,"fragment",null);export{F as DotDensityPointDrawUniforms,b as DotDensityPointFragmentInput,D as DotDensityPointInstanceUniforms,I as DotDensityPointShader,R as DotDensityPointVertexInput};
2
+ import{__decorate as t,__param as o}from"tslib";import{tileSize as e}from"../../../definitions.js";import{location as i,uniform as r,texture as s,input as d,VertexInput as n,UniformGroup as p,GraphShaderModule as l,FragmentOutput as a}from"../../GraphShaderModule.js";import{Vec2 as m,Float as y,Sampler2D as c,Mat3 as v,Vec3 as w,texture2D as h,max as u,step as f,Vec4 as x,length as g,smoothstep as S}from"../../graph/glsl.js";import{FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{Tile as z}from"../shaders/Tile.js";import{TileInfo as I}from"../shaders/TileInfo.js";import{ViewInfo as P}from"../shaders/ViewInfo.js";class R extends n{}t([i(0,m)],R.prototype,"pos",void 0);class b extends j{}class D extends p{}t([r(y)],D.prototype,"dotSize",void 0);class F extends p{}t([r(y)],F.prototype,"pixelRatio",void 0),t([r(y)],F.prototype,"tileZoomFactor",void 0);const C=1e-6;class E extends l{constructor(){super(...arguments),this.type="DotDensityPointShader"}vertex(t){const o=new v(1,0,0,0,-1,0,0,1,1).multiply(new w(t.pos.xy.divide(e),1)),i=h(this.drawLocations,o.xy),r=u(this.instance.dotSize.divide(2),new y(1));let s=new y(0);s=s.add(f(i.a,new y(C)).multiply(2));let d=r.add(this.instance.dotSize);const n=this.tile.getDisplayViewScreenMat3(this.view,this.tileInfo).multiply(new w(t.pos.add(.5),1)),p=new x(n.xy,s,1),l=this.instance.dotSize.divide(d),a=new y(-1).divide(r.divide(d));return d=d.multiply(this.draw.pixelRatio.multiply(this.draw.tileZoomFactor)),{glPosition:p,glPointSize:d,color:i,ratio:l,invEdgeRatio:a}}fragment(t){const o=g(t.glPointCoord.subtract(.5)).multiply(2),e=S(new y(0),new y(1),t.invEdgeRatio.multiply(o.subtract(t.ratio)).add(1)),i=new a;return i.fragColor=t.color.multiply(e),i}}t([r(D)],E.prototype,"instance",void 0),t([r(F)],E.prototype,"draw",void 0),t([r(I)],E.prototype,"tileInfo",void 0),t([r(z)],E.prototype,"tile",void 0),t([r(P)],E.prototype,"view",void 0),t([s(c)],E.prototype,"drawLocations",void 0),t([o(0,d(R))],E.prototype,"vertex",null),t([o(0,d(b))],E.prototype,"fragment",null);export{F as DotDensityPointDrawUniforms,b as DotDensityPointFragmentInput,D as DotDensityPointInstanceUniforms,E as DotDensityPointShader,R as DotDensityPointVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{tileSize as e,textureBindingRenderer1 as t,textureBindingRenderer0 as i}from"../../../definitions.js";import{FeatureTechnique as r}from"../FeatureTechnique.js";import{isHighlight as s,isHittest as o,getSelectionDefines as n,getFeatureTextures as a,getFeatureUniforms as l,getFeaturePipelineState as d}from"../featureTechniqueUtils.js";import{DotDensityPointShader as u}from"./DotDensityPointShader.js";import{DotDensityPolygonShader as c}from"./DotDensityPolygonShader.js";import{DotDensityResources as h}from"./DotDensityResources.js";import{FillShader as p}from"../shaders/FillShader.js";import{getTileUniforms as m}from"../shaders/Tile.js";import{getTileContainerUniforms as f}from"../shaders/TileInfo.js";import{getViewUniforms as w}from"../shaders/ViewInfo.js";class g extends r{constructor(){super(...arguments),this.type=12,this.shaders={polygon:new c,point:new u,fill:new p},this._resources=new Map}render(e,t){s(e)||o(e)?this._renderPolygons(e,t):this._renderDotDensity(e,t)}_renderPolygons(e,t){const{painter:i}=e;i.setShader({shader:this.shaders.fill,uniforms:{...l(e,t.target),visualVariableColor:null,visualVariableOpacity:null},textures:a(e),defines:{...n(e)},optionalAttributes:{zoomRange:!1},useComputeBuffer:o(e)}),i.setPipelineState(d(e)),i.submitDraw(e,t)}_renderDotDensity(r,s){const{context:o,painter:u,requiredLevel:c}=r,h=s.instance.getInput().uniforms,p=this._getOrCreateResourcesRecord(o),g=p.getDotDensityTextures(o,e,h.seed),x=1/2**(c-s.target.key.level),D=e,b=D*window.devicePixelRatio*D*window.devicePixelRatio,y=1/x*(1/x),R=h.dotScale?r.state.scale/h.dotScale:1,S=h.dotValue*R*y;u.setShader({shader:this.shaders.polygon,uniforms:{...l(r,s.target),instance:{isActive:h.isActive,colors:h.colors,dotValue:Math.max(1,S)},draw:{tileZoomFactor:x,pixelRatio:window.devicePixelRatio,tileDotsOverArea:b/(e*window.devicePixelRatio*e*window.devicePixelRatio)}},textures:{...a(r),drawTextures:{dotTexture0:{unit:i,texture:g[0]},dotTexture1:{unit:t,texture:g[1]}}},defines:{...n(r),blending:h.blending},optionalAttributes:{},useComputeBuffer:!1});const v=o.getViewport();o.setViewport(0,0,e,e);const P=o.boundFramebuffer,_=p.getFBO(o);o.bindFramebuffer(_),o.setClearColor(0,0,0,0),o.clear(16384),u.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1}),u.updatePipelineState(o),u.submitDraw(r,s),o.bindFramebuffer(P),o.setViewport(v.x,v.y,v.width,v.height);const j=p.getFBO(o).colorTexture,C={shader:this.shaders.point,uniforms:{tileContainer:f(r),tile:m(r.tilingScheme,s.target),view:w(r),instance:{dotSize:h.dotSize},draw:{tileZoomFactor:1,pixelRatio:window.devicePixelRatio}},textures:{drawLocations:{unit:i,texture:j}},defines:{...n(r)},optionalAttributes:{},useComputeBuffer:!1};u.setPipelineState(d(r)),u.submitDrawMesh(o,C,p.getDotDensityMesh(o),{stencilRef:s.getStencilReference()})}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e)}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new h,this._resources.set(e,t)),t}}export{g as DotDensityTechnique};
2
+ import{tileSize as e,textureBindingRenderer1 as t,textureBindingRenderer0 as i}from"../../../definitions.js";import{FeatureTechnique as r}from"../FeatureTechnique.js";import{isHighlight as s,isHittest as o,getSelectionDefines as n,getFeatureTextures as a,getFeatureUniforms as d,getFeaturePipelineState as l}from"../featureTechniqueUtils.js";import{DotDensityPointShader as u}from"./DotDensityPointShader.js";import{DotDensityPolygonShader as c}from"./DotDensityPolygonShader.js";import{DotDensityResources as p}from"./DotDensityResources.js";import{FillShader as h}from"../shaders/FillShader.js";class f extends r{constructor(){super(...arguments),this.type=12,this.shaders={polygon:new c,point:new u,fill:new h},this._resources=new Map}render(e,t){s(e)||o(e)?this._renderPolygons(e,t):this._renderDotDensity(e,t)}_renderPolygons(e,t){const{painter:i}=e;i.setShader({shader:this.shaders.fill,uniforms:{...d(e),visualVariableColor:null,visualVariableOpacity:null},textures:a(e),defines:{...n(e)},optionalAttributes:{zoomRange:!1},useComputeBuffer:o(e)}),i.setPipelineState(l(e)),i.submitDraw(e,t)}_renderDotDensity(r,s){const{context:o,painter:u,requiredLevel:c}=r,p=s.instance.getInput().uniforms,h=this._getOrCreateResourcesRecord(o),f=h.getDotDensityTextures(o,e,p.seed),m=1/2**(c-s.target.key.level),w=e,x=w*window.devicePixelRatio*w*window.devicePixelRatio,g=1/m*(1/m),D=p.dotScale?r.state.scale/p.dotScale:1,b=p.dotValue*D*g;u.setShader({shader:this.shaders.polygon,uniforms:{...d(r),instance:{isActive:p.isActive,colors:p.colors,dotValue:Math.max(1,b)},draw:{tileZoomFactor:m,pixelRatio:window.devicePixelRatio,tileDotsOverArea:x/(e*window.devicePixelRatio*e*window.devicePixelRatio)}},textures:{...a(r),drawTextures:{dotTexture0:{unit:i,texture:f[0]},dotTexture1:{unit:t,texture:f[1]}}},defines:{...n(r),blending:p.blending},optionalAttributes:{},useComputeBuffer:!1});const y=o.getViewport();o.setViewport(0,0,e,e);const R=o.boundFramebuffer,P=h.getFBO(o);o.bindFramebuffer(P),o.setClearColor(0,0,0,0),o.clear(16384),u.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1}),u.updatePipelineState(o),u.submitDraw(r,s),o.bindFramebuffer(R),o.setViewport(y.x,y.y,y.width,y.height);const S=h.getFBO(o).colorTexture,v={shader:this.shaders.point,uniforms:{instance:{dotSize:p.dotSize},draw:{tileZoomFactor:1,pixelRatio:window.devicePixelRatio}},textures:{drawLocations:{unit:i,texture:S}},defines:{...n(r)},optionalAttributes:{},useComputeBuffer:!1};u.setPipelineState(l(r)),u.submitDrawMesh(o,v,h.getDotDensityMesh(o),{stencilRef:s.getStencilReference()})}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e)}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new p,this._resources.set(e,t)),t}}export{f as DotDensityTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{GaussianBlurShader as i}from"../shaders/BlurShader.js";import{DropShadowCompositeShader as o}from"../shaders/DropShadowShader.js";import{getViewUniforms as u}from"../shaders/ViewInfo.js";import{DisposableFramebufferObject as a}from"../../../../../../webgl/FramebufferObject.js";import l from"../../../../../../webgl/Texture.js";import{TextureDescriptor as n}from"../../../../../../webgl/TextureDescriptor.js";const h=[1,0],B=[0,1];class c extends s{constructor(){super(...arguments),this.type=13,this._layerFBOTexture=null,this._horizontalBlurFBO=null,this._verticalBlurFBO=null,this._size=[0,0],this.shaders={gaussianBlur:new i,composite:new o}}shutdown(){super.shutdown(),this._horizontalBlurFBO=e(this._horizontalBlurFBO),this._verticalBlurFBO=e(this._verticalBlurFBO),this._layerFBOTexture=e(this._layerFBOTexture)}render(e,s){const{context:i,painter:o}=e,{layerFBO:a}=s,l=a.width,n=a.height,c=[Math.round(l),Math.round(n)],{blurRadius:f,offsetX:m,offsetY:d,color:p}=s.effect,F=[t(m),t(d)];this._createOrResizeResources(e,l,n,c);const w=this._horizontalBlurFBO,x=this._verticalBlurFBO,_={color:{write:[!0,!0,!0,!0],blendMode:"none"},depth:{write:!1,test:!1},stencil:{write:{mask:0},test:!1}};o.setPipelineState(_);const O=this._layerFBOTexture;a.copyToTexture(0,0,l,n,0,0,O),i.setViewport(0,0,c[0],c[1]),i.bindFramebuffer(w),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:c,direction:h,sigma:f}},textures:{texture:{texture:a.colorTexture,unit:4}},defines:{kernelRadius:Math.ceil(f)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(x),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:c,direction:B,sigma:f}},textures:{texture:{texture:w?.colorTexture,unit:5}},defines:{kernelRadius:Math.ceil(f)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(a),i.setViewport(0,0,l,n),o.submitDrawMesh(i,{shader:this.shaders.composite,uniforms:{view:u(e),compositeConfig:{shadowColor:[p[3]*(p[0]/255),p[3]*(p[1]/255),p[3]*(p[2]/255),p[3]],shadowOffset:F}},textures:{blurTexture:{texture:x?.colorTexture,unit:2},layerFBOTexture:{texture:O,unit:3}},defines:null,optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),o.setPipelineState({...r,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1}})}_createOrResizeResources(e,t,r,s){const{context:i}=e;if(!this._horizontalBlurFBO||this._size[0]!==t||this._size[1]!==r){if(this._size[0]=t,this._size[1]=r,this._horizontalBlurFBO)this._horizontalBlurFBO.resize(s[0],s[1]);else{const e=new n(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._horizontalBlurFBO=new a(i,e)}if(this._verticalBlurFBO)this._verticalBlurFBO.resize(s[0],s[1]);else{const e=new n(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._verticalBlurFBO=new a(i,e)}if(this._layerFBOTexture)this._layerFBOTexture.resize(t,r);else{const e=new n(t,r);e.internalFormat=6408,e.wrapMode=33071,this._layerFBOTexture=new l(i,e)}}}}export{c as DropShadowTechnique};
2
+ import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{simplePipelineState as r}from"../../utils.js";import{Technique as s}from"../Technique.js";import{GaussianBlurShader as i}from"../shaders/BlurShader.js";import{DropShadowCompositeShader as o}from"../shaders/DropShadowShader.js";import{DisposableFramebufferObject as u}from"../../../../../../webgl/FramebufferObject.js";import l from"../../../../../../webgl/Texture.js";import{TextureDescriptor as a}from"../../../../../../webgl/TextureDescriptor.js";const n=[1,0],h=[0,1];class B extends s{constructor(){super(...arguments),this.type=13,this._layerFBOTexture=null,this._horizontalBlurFBO=null,this._verticalBlurFBO=null,this._size=[0,0],this.shaders={gaussianBlur:new i,composite:new o}}shutdown(){super.shutdown(),this._horizontalBlurFBO=e(this._horizontalBlurFBO),this._verticalBlurFBO=e(this._verticalBlurFBO),this._layerFBOTexture=e(this._layerFBOTexture)}render(e,s){const{context:i,painter:o}=e,{layerFBO:u}=s,l=u.width,a=u.height,B=[Math.round(l),Math.round(a)],{blurRadius:c,offsetX:f,offsetY:m,color:d}=s.effect,p=[t(f),t(m)];this._createOrResizeResources(e,l,a,B);const F=this._horizontalBlurFBO,x=this._verticalBlurFBO,w={color:{write:[!0,!0,!0,!0],blendMode:"none"},depth:{write:!1,test:!1},stencil:{write:{mask:0},test:!1}};o.setPipelineState(w);const _=this._layerFBOTexture;u.copyToTexture(0,0,l,a,0,0,_),i.setViewport(0,0,B[0],B[1]),i.bindFramebuffer(F),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:B,direction:n,sigma:c}},textures:{texture:{texture:u.colorTexture,unit:4}},defines:{kernelRadius:Math.ceil(c)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(x),o.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:B,direction:h,sigma:c}},textures:{texture:{texture:F?.colorTexture,unit:5}},defines:{kernelRadius:Math.ceil(c)},optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),i.bindFramebuffer(u),i.setViewport(0,0,l,a),o.submitDrawMesh(i,{shader:this.shaders.composite,uniforms:{compositeConfig:{shadowColor:[d[3]*(d[0]/255),d[3]*(d[1]/255),d[3]*(d[2]/255),d[3]],shadowOffset:p}},textures:{blurTexture:{texture:x?.colorTexture,unit:2},layerFBOTexture:{texture:_,unit:3}},defines:null,optionalAttributes:null,useComputeBuffer:!1},o.quadMesh),o.setPipelineState({...r,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1}})}_createOrResizeResources(e,t,r,s){const{context:i}=e;if(!this._horizontalBlurFBO||this._size[0]!==t||this._size[1]!==r){if(this._size[0]=t,this._size[1]=r,this._horizontalBlurFBO)this._horizontalBlurFBO.resize(s[0],s[1]);else{const e=new a(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._horizontalBlurFBO=new u(i,e)}if(this._verticalBlurFBO)this._verticalBlurFBO.resize(s[0],s[1]);else{const e=new a(s[0],s[1]);e.internalFormat=6408,e.wrapMode=33071,this._verticalBlurFBO=new u(i,e)}if(this._layerFBOTexture)this._layerFBOTexture.resize(t,r);else{const e=new a(t,r);e.internalFormat=6408,e.wrapMode=33071,this._layerFBOTexture=new l(i,e)}}}}export{B as DropShadowTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{maxRepresentableInt as t,tileSize as e}from"../../definitions.js";import{getTileUniforms as i}from"./shaders/Tile.js";import{getTileContainerUniforms as n}from"./shaders/TileInfo.js";import{getViewUniforms as o}from"./shaders/ViewInfo.js";const s={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},r={color:{write:[!0,!0,!0,!0],blendParameters:{srcRGB:1,dstRGB:1,srcAlpha:1,dstAlpha:1},blendEquation:32776,blendMode:"custom"},depth:!1,stencil:!1},l={...s,color:{write:[!0,!0,!0,!0],blendMode:"delete"}};function c(t){return"highlight"===t.passOptions?.type}function a(t){return"hittest"===t.passOptions?.type}function u(t){if(!a(t))return null;const{position:e,distance:i,smallSymbolDistance:n,smallSymbolSizeThreshold:o,tlbr:s}=t.passOptions;return{position:e,distance:i,smallSymbolDistance:n,smallSymbolSizeThreshold:o,tlbr:s}}function f(t){if(!c(t))return null;const{activeReasons:e,highlightAll:i}=t.passOptions;return{activeReasons:e,highlightAll:i?1:0}}function p(t,e,i){const n={};for(const o in i)"function"!=typeof i[o]?n[o]=i[o]:n[o]=i[o](t,e);return n}function h(t,e){return{storage:t.attributeView.getUniforms(),view:o(t),tileContainer:n(t),tile:i(t.tilingScheme,e),hittestRequest:u(t),highlight:f(t)}}function m(t){return t.attributeView.getTextures(t.context)}function d(t){return{storageTextures:m(t)}}function g(t){return{inside:2===t.selection,outside:3===t.selection}}function b(t){return a(t)?r:c(t)&&"clear"===t.passOptions.stepType?l:s}function w(i){const{row:n,col:o}=i.key,s=o*e,r=n*e;return{tileOffsetFromLocalOrigin:[s%t,r%t],maxIntsToLocalOrigin:[Math.floor(s/t),Math.floor(r/t)]}}export{b as getFeaturePipelineState,m as getFeatureStorageTextures,d as getFeatureTextures,h as getFeatureUniforms,w as getLocalTileOffset,g as getSelectionDefines,c as isHighlight,a as isHittest,p as resolveDynamicUniforms};
2
+ import{maxRepresentableInt as t,tileSize as e}from"../../definitions.js";const n={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},o={color:{write:[!0,!0,!0,!0],blendParameters:{srcRGB:1,dstRGB:1,srcAlpha:1,dstAlpha:1},blendEquation:32776,blendMode:"custom"},depth:!1,stencil:!1},i={...n,color:{write:[!0,!0,!0,!0],blendMode:"delete"}};function s(t){return"highlight"===t.passOptions?.type}function r(t){return"hittest"===t.passOptions?.type}function l(t){if(!r(t))return null;const{position:e,distance:n,smallSymbolDistance:o,smallSymbolSizeThreshold:i,tlbr:s}=t.passOptions;return{position:e,distance:n,smallSymbolDistance:o,smallSymbolSizeThreshold:i,tlbr:s}}function c(t){if(!s(t))return null;const{activeReasons:e,highlightAll:n}=t.passOptions;return{activeReasons:e,highlightAll:n?1:0}}function a(t,e,n){const o={};for(const i in n)"function"!=typeof n[i]?o[i]=n[i]:o[i]=n[i](t,e);return o}function u(t){return{storage:t.attributeView.getUniforms(),hittestRequest:l(t),highlight:c(t)}}function p(t){return t.attributeView.getTextures(t.context)}function f(t){return{storageTextures:p(t)}}function h(t){return{inside:2===t.selection,outside:3===t.selection}}function d(t){return r(t)?o:s(t)&&"clear"===t.passOptions.stepType?i:n}function m(n){const{row:o,col:i}=n.key,s=i*e,r=o*e;return{tileOffsetFromLocalOrigin:[s%t,r%t],maxIntsToLocalOrigin:[Math.floor(s/t),Math.floor(r/t)]}}export{d as getFeaturePipelineState,p as getFeatureStorageTextures,f as getFeatureTextures,u as getFeatureUniforms,m as getLocalTileOffset,h as getSelectionDefines,s as isHighlight,r as isHittest,a as resolveDynamicUniforms};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexFillShader as n}from"../shaders/ComplexFillShader.js";class m extends e{constructor(){super(...arguments),this.type=10,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,f.uniforms),...i(e,n.target),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:a(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as o,resolveDynamicUniforms as a,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexFillShader as n}from"../shaders/ComplexFillShader.js";class m extends e{constructor(){super(...arguments),this.type=10,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...a(e,n.target,f.uniforms),...o(e),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:i(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as a,resolveDynamicUniforms as o,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexOutlineFillShader as n}from"../shaders/ComplexOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=11,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,f.uniforms),...a(e,n.target),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:i(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexOutlineFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as o,resolveDynamicUniforms as a,getFeaturePipelineState as u}from"../featureTechniqueUtils.js";import{ComplexOutlineFillShader as n}from"../shaders/ComplexOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=11,this.shaders={geometry:new n}}render(e,n){const{painter:m}=e,f=n.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...a(e,n.target,f.uniforms),...o(e),mosaicInfo:m.textureManager.getMosaicInfo(e,n.textureKey),localTileOffset:i(n.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(u(e)),m.submitDraw(e,n)}}export{m as ComplexOutlineFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{FillShader as n}from"../shaders/FillShader.js";class u extends e{constructor(){super(...arguments),this.type=15,this.shaders={geometry:new n}}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms),...i(e,n.target)},textures:s(e),defines:r(e),optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as FillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{FillShader as a}from"../shaders/FillShader.js";class u extends e{constructor(){super(...arguments),this.type=15,this.shaders={geometry:new a}}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e)},textures:s(e),defines:r(e),optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as FillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as a,getFeaturePipelineState as o}from"../featureTechniqueUtils.js";import{GradientFillShader as n}from"../shaders/GradientFillShader.js";class u extends e{constructor(){super(...arguments),this.type=16,this.shaders={geometry:new n},this.symbologyPlane=0}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...a(e,n.target,m.uniforms),...i(e,n.target),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(o(e)),u.submitDraw(e,n)}}export{u as GradientFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{GradientFillShader as n}from"../shaders/GradientFillShader.js";class u extends e{constructor(){super(...arguments),this.type=16,this.shaders={geometry:new n},this.symbologyPlane=0}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms),...i(e),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as GradientFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{OutlineFillShader as a}from"../shaders/OutlineFillShader.js";class u extends e{constructor(){super(...arguments),this.type=26,this.shaders={geometry:new a}}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e,a.target)},textures:s(e),defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as OutlineFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{OutlineFillShader as u}from"../shaders/OutlineFillShader.js";class a extends e{constructor(){super(...arguments),this.type=26,this.shaders={geometry:new u}}render(e,u){const{painter:a}=e,m=u.instance.getInput();a.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,m.uniforms),...i(e)},textures:s(e),defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),a.setPipelineState(n(e)),a.submitDraw(e,u)}}export{a as OutlineFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{PatternFillShader as u}from"../shaders/PatternFillShader.js";class m extends e{constructor(){super(...arguments),this.type=28,this.shaders={geometry:new u}}render(e,u){const{painter:m}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...i(e,u.target),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:a(u.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m as PatternFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{PatternFillShader as u}from"../shaders/PatternFillShader.js";class m extends e{constructor(){super(...arguments),this.type=28,this.shaders={geometry:new u}}render(e,u){const{painter:m}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...i(e),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:a(u.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m as PatternFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as a,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{PatternOutlineFillShader as u}from"../shaders/PatternOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=29,this.shaders={geometry:new u}}render(e,u){const{painter:m}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...i(e,u.target),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:a(u.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m as PatternOutlineFillTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getLocalTileOffset as i,getFeatureUniforms as a,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{PatternOutlineFillShader as u}from"../shaders/PatternOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=29,this.shaders={geometry:new u}}render(e,u){const{painter:m}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...a(e),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey),localTileOffset:i(u.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m as PatternOutlineFillTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{getValue as e,getEndValue as s}from"../../../../flow/animatedValues.js";import{longSafetyTime as t}from"../../../../flow/utils.js";import{Technique as r}from"../Technique.js";import{getViewUniforms as i}from"../shaders/ViewInfo.js";import{FlowImageryShader as a}from"../shaders/flow/FlowImageryShader.js";import{FlowParticlesShader as o}from"../shaders/flow/FlowParticlesShader.js";import{FlowStreamlinesShader as n}from"../shaders/flow/FlowStreamlinesShader.js";class c extends r{constructor(){super(...arguments),this.type=14,this.drawPhase=1,this.shaders={imagery:new a,particles:new o,streamlines:new n}}render(e,s){const{painter:t}=e;t.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7680},mask:255}}}),this._renderResource(e,s.item.resources,this._createVisualState(e,s))}_renderResource(e,s,t){switch(s.kind){case"stack":return void this._renderStackResources(e,s,t);case"imagery":return void this._renderImageryResources(e,s,t);case"particles":return void this._renderParticlesResources(e,s,t);case"streamlines":return void this._renderStreamlinesResources(e,s,t)}}_createVisualState(r,a){const{item:o,localToScreenMat3:n}=a,c=r.time/1e3;return{time:r.animationsEnabled?c:t,view:i(r),localToScreenMat3:n,displayOpacity:r.animationsEnabled?e(o.displayOpacity,c):s(o.displayOpacity),startTime:o.startTime,endTime:o.endTime}}_renderStackResources(e,s,t){for(const r of s.resources)this._renderResource(e,r,t)}_renderImageryResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.imagery,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderParticlesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.particles,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderStreamlinesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.streamlines,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}}export{c as FlowTechnique};
2
+ import{getValue as e,getEndValue as s}from"../../../../flow/animatedValues.js";import{longSafetyTime as t}from"../../../../flow/utils.js";import{Technique as r}from"../Technique.js";import{FlowImageryShader as i}from"../shaders/flow/FlowImageryShader.js";import{FlowParticlesShader as a}from"../shaders/flow/FlowParticlesShader.js";import{FlowStreamlinesShader as o}from"../shaders/flow/FlowStreamlinesShader.js";class n extends r{constructor(){super(...arguments),this.type=14,this.drawPhase=1,this.shaders={imagery:new i,particles:new a,streamlines:new o}}render(e,s){const{painter:t}=e;t.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7680},mask:255}}}),this._renderResource(e,s.item.resources,this._createVisualState(e,s))}_renderResource(e,s,t){switch(s.kind){case"stack":return void this._renderStackResources(e,s,t);case"imagery":return void this._renderImageryResources(e,s,t);case"particles":return void this._renderParticlesResources(e,s,t);case"streamlines":return void this._renderStreamlinesResources(e,s,t)}}_createVisualState(r,i){const{item:a,localToScreenMat3:o}=i,n=r.time/1e3;return{time:r.animationsEnabled?n:t,localToScreenMat3:o,displayOpacity:r.animationsEnabled?e(a.displayOpacity,n):s(a.displayOpacity),startTime:a.startTime,endTime:a.endTime}}_renderStackResources(e,s,t){for(const r of s.resources)this._renderResource(e,r,t)}_renderImageryResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.imagery,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderParticlesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.particles,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}_renderStreamlinesResources({context:e,painter:s},t,r){const i=t.getProgramSpec(r);s.submitDrawMeshUntyped(e,{shader:this.shaders.streamlines,uniforms:i.uniforms,textures:i.textures,defines:i.defines,optionalAttributes:i.optionalAttributes,useComputeBuffer:!1},t.mesh,{stencilRef:0})}}export{n as FlowTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i}from"../featureTechniqueUtils.js";import{HeatmapResources as n}from"./HeatmapResources.js";import{HeatmapAccumulateShader as o}from"../shaders/HeatmapAccumulateShader.js";import{HeatmapResolveShader as u}from"../shaders/HeatmapResolveShader.js";class a extends e{constructor(){super(...arguments),this.type=19,this.drawPhase=73,this.shaders={accumulate:new o,resolve:new u},this._isBound=!1,this._resources=new Map}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e),this._prevFBO=null,this._unbind()}render(e,n){const{context:o,painter:u,state:a}=e,l=n.instance.getInput(),{isFieldActive:d}=l.uniforms,p=this._getOrCreateResourcesRecord(o),m=p.loadQualityProfile(o);t(e)||this._bind(e,p,l),u.setShader({shader:this.shaders.accumulate,uniforms:{...i(e,n.target),kernelControls:{radius:f(l,a),isFieldActive:d?1:0}},textures:s(e),defines:{...r(e),...m.defines},optionalAttributes:{},useComputeBuffer:t(e)});const _=t(e)?h:c;u.setPipelineState(_),u.submitDraw(e,n)}getStencilReference(e){return d(e)}renderResolvePass(e,r){if(t(e))return;const{context:s,painter:i}=e,n=this._resources.get(s);if(null==this._prevFBO||null==this._prevViewport||!n?.initialized)return;const{defines:o}=n.loadQualityProfile(s),{minDensity:u,maxDensity:a,radius:l}=r.getInput().uniforms,d=8,c=9,h=n.accumulateFramebuffer,f=n.resolveGradientTexture,m={shader:this.shaders.resolve,uniforms:{accumulatedDensity:{minAndInvRange:[u,1/(a-u)],normalization:3/(l*l*Math.PI)}},textures:{densityTexture:{unit:d,texture:h.colorTexture},gradientTexture:{unit:c,texture:f}},defines:o,optionalAttributes:{},useComputeBuffer:!1};s.bindFramebuffer(this._prevFBO),s.setViewport(0,0,this._prevViewport.width,this._prevViewport.height),s.bindTexture(h.colorTexture,d),s.bindTexture(f,c),i.setPipelineState(p),i.submitDrawMesh(s,m,i.quadMesh),this._unbind()}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new n,this._resources.set(e,t)),t}_unbind(){this._prevFBO=null,this._prevViewport=null,this._isBound=!1}_bind(e,t,r){const{context:s,state:i,pixelRatio:n}=e,o=s.boundFramebuffer;if(this._isBound||null==o)return;const u=s.getViewport();this._prevFBO=o,this._prevViewport=u;const{gradient:a,gradientHash:d}=r.uniforms;t.ensureResolveGradientTexture(s,d,a);const{width:c,height:h}=u,p=l(f(r,i),n),m=c*p,_=h*p,w=t.ensureAccumulateFBO(s,m,_);s.blitFramebuffer(o,w,1024),s.bindFramebuffer(w),s.setViewport(0,0,w.width,w.height),s.setColorMask(!0,!0,!0,!0),s.setClearColor(0,0,0,0),s.clear(16384),this._isBound=!0}}function l(e,t){const r=t>1.5?.25:.5;return e<1/(2*r)?1:r}function d(e){return e.key.level+1}const c={color:{write:[!0,!0,!0,!0],blendMode:"additive"},depth:!1,stencil:{write:!1,test:{compare:518,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},h={...c,stencil:!1},p={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1};function f(e,t){const{referenceScale:r,radius:s}=e.uniforms;return s*(0!==r?r/t.scale:1)}export{a as HeatmapTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i}from"../featureTechniqueUtils.js";import{HeatmapResources as n}from"./HeatmapResources.js";import{HeatmapAccumulateShader as o}from"../shaders/HeatmapAccumulateShader.js";import{HeatmapResolveShader as u}from"../shaders/HeatmapResolveShader.js";class a extends e{constructor(){super(...arguments),this.type=19,this.drawPhase=73,this.shaders={accumulate:new o,resolve:new u},this._isBound=!1,this._resources=new Map}shutdown(e){super.shutdown(e),this._resources.get(e)?.destroy(),this._resources.delete(e),this._prevFBO=null,this._unbind()}render(e,n){const{context:o,painter:u,state:a}=e,l=n.instance.getInput(),{isFieldActive:d}=l.uniforms,p=this._getOrCreateResourcesRecord(o),m=p.loadQualityProfile(o);t(e)||this._bind(e,p,l),u.setShader({shader:this.shaders.accumulate,uniforms:{...i(e),kernelControls:{radius:f(l,a),isFieldActive:d?1:0}},textures:s(e),defines:{...r(e),...m.defines},optionalAttributes:{},useComputeBuffer:t(e)});const _=t(e)?h:c;u.setPipelineState(_),u.submitDraw(e,n)}getStencilReference(e){return d(e)}renderResolvePass(e,r){if(t(e))return;const{context:s,painter:i}=e,n=this._resources.get(s);if(null==this._prevFBO||null==this._prevViewport||!n?.initialized)return;const{defines:o}=n.loadQualityProfile(s),{minDensity:u,maxDensity:a,radius:l}=r.getInput().uniforms,d=8,c=9,h=n.accumulateFramebuffer,f=n.resolveGradientTexture,m={shader:this.shaders.resolve,uniforms:{accumulatedDensity:{minAndInvRange:[u,1/(a-u)],normalization:3/(l*l*Math.PI)}},textures:{densityTexture:{unit:d,texture:h.colorTexture},gradientTexture:{unit:c,texture:f}},defines:o,optionalAttributes:{},useComputeBuffer:!1};s.bindFramebuffer(this._prevFBO),s.setViewport(0,0,this._prevViewport.width,this._prevViewport.height),s.bindTexture(h.colorTexture,d),s.bindTexture(f,c),i.setPipelineState(p),i.submitDrawMesh(s,m,i.quadMesh),this._unbind()}_getOrCreateResourcesRecord(e){let t=this._resources.get(e);return null==t&&(t=new n,this._resources.set(e,t)),t}_unbind(){this._prevFBO=null,this._prevViewport=null,this._isBound=!1}_bind(e,t,r){const{context:s,state:i,pixelRatio:n}=e,o=s.boundFramebuffer;if(this._isBound||null==o)return;const u=s.getViewport();this._prevFBO=o,this._prevViewport=u;const{gradient:a,gradientHash:d}=r.uniforms;t.ensureResolveGradientTexture(s,d,a);const{width:c,height:h}=u,p=l(f(r,i),n),m=c*p,_=h*p,w=t.ensureAccumulateFBO(s,m,_);s.blitFramebuffer(o,w,1024),s.bindFramebuffer(w),s.setViewport(0,0,w.width,w.height),s.setColorMask(!0,!0,!0,!0),s.setClearColor(0,0,0,0),s.clear(16384),this._isBound=!0}}function l(e,t){const r=t>1.5?.25:.5;return e<1/(2*r)?1:r}function d(e){return e.key.level+1}const c={color:{write:[!0,!0,!0,!0],blendMode:"additive"},depth:!1,stencil:{write:!1,test:{compare:518,mask:255,op:{fail:7680,zFail:7680,zPass:7681}}}},h={...c,stencil:!1},p={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1};function f(e,t){const{referenceScale:r,radius:s}=e.uniforms;return s*(0!==r?r/t.scale:1)}export{a as HeatmapTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getSelectionDefines as t,getFeaturePipelineState as s,isHittest as r,getFeatureTextures as a,getFeatureUniforms as i,resolveDynamicUniforms as n}from"../featureTechniqueUtils.js";import{TextShader as o}from"../text/TextShader.js";class u extends e{constructor(){super(...arguments),this.type=20,this.shaders={geometry:new o},this.drawPhase=14,this.symbologyPlane=3}render(e,o){const{painter:u}=e,c=t(e),d={...s(e),stencil:{write:!1,test:{compare:516,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}},m=o.instance.getInput(),f={shader:this.shaders.geometry,uniforms:{...n(e,o.target,m.uniforms),...i(e,o.target),mosaicInfo:u.textureManager.getMosaicInfo(e,o.textureKey)},textures:{...a(e),mosaicTexture:u.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...c,textRenderPassType:0,isBackgroundPass:!0,isLabel:!0},optionalAttributes:m.optionalAttributes,useComputeBuffer:r(e)};u.setPipelineState(d),u.setShader(f),u.submitDraw(e,o,{stencilRef:255}),u.setShader({...f,defines:{...c,textRenderPassType:2,isBackgroundPass:!1,isLabel:!0}}),u.submitDraw(e,o,{stencilRef:255}),u.setShader({...f,defines:{...c,textRenderPassType:0,isBackgroundPass:!1,isLabel:!0}}),u.submitDraw(e,o,{stencilRef:255})}}export{u as LabelTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{getSelectionDefines as t,getFeaturePipelineState as s,isHittest as r,getFeatureTextures as a,getFeatureUniforms as i,resolveDynamicUniforms as n}from"../featureTechniqueUtils.js";import{TextShader as o}from"../text/TextShader.js";class u extends e{constructor(){super(...arguments),this.type=20,this.shaders={geometry:new o},this.drawPhase=14,this.symbologyPlane=3}render(e,o){const{painter:u}=e,c=t(e),d={...s(e),stencil:{write:!1,test:{compare:516,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}},m=o.instance.getInput(),f={shader:this.shaders.geometry,uniforms:{...n(e,o.target,m.uniforms),...i(e),mosaicInfo:u.textureManager.getMosaicInfo(e,o.textureKey)},textures:{...a(e),mosaicTexture:u.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...c,textRenderPassType:0,isBackgroundPass:!0,isLabel:!0},optionalAttributes:m.optionalAttributes,useComputeBuffer:r(e)};u.setPipelineState(d),u.setShader(f),u.submitDraw(e,o,{stencilRef:255}),u.setShader({...f,defines:{...c,textRenderPassType:2,isBackgroundPass:!1,isLabel:!0}}),u.submitDraw(e,o,{stencilRef:255}),u.setShader({...f,defines:{...c,textRenderPassType:0,isBackgroundPass:!1,isLabel:!0}}),u.submitDraw(e,o,{stencilRef:255})}}export{u as LabelTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as a,isHighlight as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{GradientStrokeShader as p}from"../shaders/GradientStrokeShader.js";class u extends e{constructor(){super(...arguments),this.type=17,this.shaders={geometry:new p},this.symbologyPlane=1}_getShaderOptions(e,o,n){const{painter:p}=e,u=o.instance.getInput();return{shader:this.shaders.geometry,uniforms:{...a(e,o.target,u.uniforms),...i(e,o.target),mosaicInfo:p.textureManager.getMosaicInfo(e,o.textureKey),technique:{isColorPass:n}},textures:{...r(e),mosaicTexture:p.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...s(e)},optionalAttributes:u.optionalAttributes,useComputeBuffer:t(e)}}render(e,s){const{painter:r}=e;if(t(e)||o(e)){const t=n(e);return r.setPipelineState(t),r.setShader(this._getShaderOptions(e,s,1)),void r.submitDraw(e,s)}e.context.setClearDepth(1),e.context.clear(256);const i={color:!1,depth:{write:{zNear:0,zFar:1},test:513},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,0)),r.setPipelineState(i),r.submitDraw(e,s);const a={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:{write:!1,test:515},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,1)),r.setPipelineState(a),r.submitDraw(e,s)}}export{u as GradientStrokeTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as a,isHighlight as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{GradientStrokeShader as p}from"../shaders/GradientStrokeShader.js";class u extends e{constructor(){super(...arguments),this.type=17,this.shaders={geometry:new p},this.symbologyPlane=1}_getShaderOptions(e,o,n){const{painter:p}=e,u=o.instance.getInput();return{shader:this.shaders.geometry,uniforms:{...a(e,o.target,u.uniforms),...i(e),mosaicInfo:p.textureManager.getMosaicInfo(e,o.textureKey),technique:{isColorPass:n}},textures:{...r(e),mosaicTexture:p.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...s(e)},optionalAttributes:u.optionalAttributes,useComputeBuffer:t(e)}}render(e,s){const{painter:r}=e;if(t(e)||o(e)){const t=n(e);return r.setPipelineState(t),r.setShader(this._getShaderOptions(e,s,1)),void r.submitDraw(e,s)}e.context.setClearDepth(1),e.context.clear(256);const i={color:!1,depth:{write:{zNear:0,zFar:1},test:513},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,0)),r.setPipelineState(i),r.submitDraw(e,s);const a={color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:{write:!1,test:515},stencil:{write:!1,test:{compare:514,mask:255,op:{fail:7680,zFail:7680,zPass:7680}}}};r.setShader(this._getShaderOptions(e,s,1)),r.setPipelineState(a),r.submitDraw(e,s)}}export{u as GradientStrokeTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{LineShader as a}from"../shaders/LineShader.js";class u extends e{constructor(){super(...arguments),this.type=21,this.shaders={geometry:new a},this.symbologyPlane=1}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e,a.target)},textures:r(e),defines:{...s(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as LineTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as s,getFeatureTextures as r,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{LineShader as a}from"../shaders/LineShader.js";class u extends e{constructor(){super(...arguments),this.type=21,this.shaders={geometry:new a},this.symbologyPlane=1}render(e,a){const{painter:u}=e,m=a.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,a.target,m.uniforms),...i(e)},textures:r(e),defines:{...s(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(n(e)),u.submitDraw(e,a)}}export{u as LineTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{TexturedLineShader as n}from"../shaders/TexturedLineShader.js";class u extends e{constructor(){super(...arguments),this.type=33,this.shaders={geometry:new n},this.symbologyPlane=1}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms),...i(e,n.target),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as TexturedLineTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getSelectionDefines as r,getFeatureTextures as s,getFeatureUniforms as i,resolveDynamicUniforms as o,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{TexturedLineShader as n}from"../shaders/TexturedLineShader.js";class u extends e{constructor(){super(...arguments),this.type=33,this.shaders={geometry:new n},this.symbologyPlane=1}render(e,n){const{painter:u}=e,m=n.instance.getInput();u.setShader({shader:this.shaders.geometry,uniforms:{...o(e,n.target,m.uniforms),...i(e),mosaicInfo:u.textureManager.getMosaicInfo(e,n.textureKey)},textures:{...s(e),mosaicTexture:u.textureManager.getMosaicTexture(e,n.textureKey)},defines:{...r(e)},optionalAttributes:m.optionalAttributes,useComputeBuffer:t(e)}),u.setPipelineState(a(e)),u.submitDraw(e,n)}}export{u as TexturedLineTechnique};