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

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 (357) hide show
  1. package/analysis/ViewshedAnalysis.js +1 -1
  2. package/arcgisGlobal.d.ts +1 -0
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/{d3be4d914fc99a1d686c.js → 075e65cc4275ac886f08.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{3b3a8a6167f2e1eeb828.js → 0823961e5d0bdedbf8cf.js} +2 -2
  6. package/assets/esri/core/workers/chunks/087bd698b80ca0cea71e.js +1 -0
  7. package/assets/esri/core/workers/chunks/{b6c7b7b7f87dce5de811.js → 0bf644f93c180a2bc2f8.js} +1 -1
  8. package/assets/esri/core/workers/chunks/{a62f1b8ed065b2a38f1a.js → 0dbf31a663b5220a3136.js} +1 -1
  9. package/assets/esri/core/workers/chunks/{fe10a95ebe1da2322af6.js → 0df660dfd941cff3ea1d.js} +1 -1
  10. package/assets/esri/core/workers/chunks/0e81c6d4f1c81f9b0a1b.js +1 -0
  11. package/assets/esri/core/workers/chunks/{d93d0cb69f3a9a722510.js → 1418c03c4ab87f7ab5f4.js} +1 -1
  12. package/assets/esri/core/workers/chunks/{c03da138651ac53cadcb.js → 186bedc377cc97731ca2.js} +2 -2
  13. package/assets/esri/core/workers/chunks/193aed69de2dec4f36b6.js +1 -0
  14. package/assets/esri/core/workers/chunks/1a3afee3ecd806b4aa81.js +1 -0
  15. package/assets/esri/core/workers/chunks/{359584a8fb5687a7d098.js → 264fd750691d517ab1f3.js} +1 -1
  16. package/assets/esri/core/workers/chunks/28f87daaba1ae3441364.js +1 -0
  17. package/assets/esri/core/workers/chunks/{fff23b2682590c4b21e3.js → 2a2ed7bd44010f24c2dd.js} +1 -1
  18. package/assets/esri/core/workers/chunks/2baa16ec8559e77c226f.js +1 -0
  19. package/assets/esri/core/workers/chunks/2c31648a4b95275516ee.js +1 -0
  20. package/assets/esri/core/workers/chunks/2e44978ee677aa23163d.js +256 -0
  21. package/assets/esri/core/workers/chunks/2f81047790c4890ae625.js +1 -0
  22. package/assets/esri/core/workers/chunks/305eea9c1fc4aee3309e.js +1 -0
  23. package/assets/esri/core/workers/chunks/31d19bb72a9e79b30070.js +1 -0
  24. package/assets/esri/core/workers/chunks/{fc2cae359d571690d754.js → 35fd2f765d2cb3f59a22.js} +4 -4
  25. package/assets/esri/core/workers/chunks/{6b208bac120bcfecd9e4.js → 3e2b4e734aa20a308f3e.js} +1 -1
  26. package/assets/esri/core/workers/chunks/45ccca01db0027b9dc16.js +1 -0
  27. package/assets/esri/core/workers/chunks/495f90fe3d0ad32bb82d.js +1 -0
  28. package/assets/esri/core/workers/chunks/4b5bd0c9a55ea2998601.js +1 -0
  29. package/assets/esri/core/workers/chunks/{50e0dd74795978468625.js → 4cf2b0558a4acc141429.js} +1 -1
  30. package/assets/esri/core/workers/chunks/509aecafbc629bee1c15.js +1 -0
  31. package/assets/esri/core/workers/chunks/{d901f8503a73277cfa58.js → 553be2bd69bd311477ea.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{2d3a18d56e2e5669c562.js → 64176f7ae719289a2f79.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{31669511cfddf116d991.js → 66e60351aacbd162775f.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{9684ab5e8254fdfcb7bb.js → 67f54586156d1ab80257.js} +1 -1
  35. package/assets/esri/core/workers/chunks/762be5d3e6aeaea33f74.js +29 -0
  36. package/assets/esri/core/workers/chunks/76b573143d1a65fdbcb6.js +1 -0
  37. package/assets/esri/core/workers/chunks/7aaa051b51a8e34bbfb0.js +1 -0
  38. package/assets/esri/core/workers/chunks/{fa19d5923276418096da.js → 7b5b66ae79e0287e3ade.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{2cfe6f41865ffb3a4645.js → 7e373d9c98ce910db9d2.js} +1 -1
  40. package/assets/esri/core/workers/chunks/81130dbcb738d40f723b.js +1 -0
  41. package/assets/esri/core/workers/chunks/{4da993c79b373b9d304e.js → 8302bffd28cc6720e0fe.js} +2 -2
  42. package/assets/esri/core/workers/chunks/835af7b4fd92cb4e7af0.js +1 -0
  43. package/assets/esri/core/workers/chunks/859dd86c921053bf03a1.js +1 -0
  44. package/assets/esri/core/workers/chunks/877594b6db08da98acd7.js +1 -0
  45. package/assets/esri/core/workers/chunks/{96d861265566854760cd.js → 88fd698b940dadcc6dc5.js} +1 -1
  46. package/assets/esri/core/workers/chunks/8f0d4aec8bd3cbfefc40.js +1 -0
  47. package/assets/esri/core/workers/chunks/{7f208ef75ef2ce0d7cf9.js → 910c93bbbf8113a4a51f.js} +1 -1
  48. package/assets/esri/core/workers/chunks/92c4464b67fce6cea134.js +1 -0
  49. package/assets/esri/core/workers/chunks/{509cfac9e5d86a8ee449.js → 936d44c7bc3a181e64a3.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{b9953277d0cd4a01bdc6.js → 94368a097e6190ce3c7a.js} +1 -1
  51. package/assets/esri/core/workers/chunks/947f1ea4dbc3e3419ecc.js +1 -0
  52. package/assets/esri/core/workers/chunks/9b76c8974424a1908e86.js +1 -0
  53. package/assets/esri/core/workers/chunks/{c203df41f9d2e4b80889.js → 9ca59077712e45ef4d56.js} +1 -1
  54. package/assets/esri/core/workers/chunks/9e25f715cda59c686a4c.js +1 -0
  55. package/assets/esri/core/workers/chunks/{36171c72a3c04b0d13ef.js → a0a1f0bd3648738354a6.js} +1 -1
  56. package/assets/esri/core/workers/chunks/a101152066dd56259619.js +1 -0
  57. package/assets/esri/core/workers/chunks/a2a2c7e274fb32fecffa.js +1 -0
  58. package/assets/esri/core/workers/chunks/a50421fe79f264ae3619.js +1 -0
  59. package/assets/esri/core/workers/chunks/a9053ad0f4e8c4705665.js +1 -0
  60. package/assets/esri/core/workers/chunks/aca5c524bd3c955e9243.js +1 -0
  61. package/assets/esri/core/workers/chunks/{9dda9414104f585560a4.js → ad1d06a91121ebfe9162.js} +2 -2
  62. package/assets/esri/core/workers/chunks/b1a175b3b2d1a7ddde8e.js +1 -0
  63. package/assets/esri/core/workers/chunks/{065e3353124fc5ac44ce.js → b33d870cbfa238762c5e.js} +1 -1
  64. package/assets/esri/core/workers/chunks/b3b53cf0a3a30164d337.js +1 -0
  65. package/assets/esri/core/workers/chunks/b6d26d9738c0787acc38.js +1 -0
  66. package/assets/esri/core/workers/chunks/b9c61b20bbc91cb63036.js +1 -0
  67. package/assets/esri/core/workers/chunks/bf3dc3ad8df8488da3f0.js +1 -0
  68. package/assets/esri/core/workers/chunks/bff75cc7413bf0d319db.js +1 -0
  69. package/assets/esri/core/workers/chunks/c1568bcd3f04014152e1.js +1 -0
  70. package/assets/esri/core/workers/chunks/c1a4d499a30f3d80567b.js +1 -0
  71. package/assets/esri/core/workers/chunks/c374e5d5980db74c4aca.js +1 -0
  72. package/assets/esri/core/workers/chunks/{8c76f31a363dd0c3354d.js → c46f79d5b7712adbbd1c.js} +1 -1
  73. package/assets/esri/core/workers/chunks/c67e4a848d41038367b8.js +1 -0
  74. package/assets/esri/core/workers/chunks/{684d3cb4fb233180b2d0.js → cd892c9603710d6130a9.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{fa5d27e47d47ff8fcb96.js → d03e7be74c57c3dbf003.js} +2 -2
  76. package/assets/esri/core/workers/chunks/de5013f89f0eae93978f.js +1 -0
  77. package/assets/esri/core/workers/chunks/e557043f90c051e93925.js +1 -0
  78. package/assets/esri/core/workers/chunks/{bee5e738ecf8680909c4.js → eaf26c1cc938789d5336.js} +1 -1
  79. package/assets/esri/core/workers/chunks/ebfb3cdc0df15eb05d75.js +1 -0
  80. package/assets/esri/core/workers/chunks/f1727b4a32cb6f36a5e6.js +1 -0
  81. package/assets/esri/core/workers/chunks/f4bc563c71c478d3912f.js +1 -0
  82. package/assets/esri/core/workers/chunks/fb0b89bbb4f8607d5f20.js +1 -0
  83. package/assets/esri/core/workers/chunks/fdca9873914b9dbd9244.js +1 -0
  84. package/assets/esri/core/workers/chunks/ff890167ff2baabfc4ce.js +1 -0
  85. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  86. package/assets/esri/libs/lyr3d/lyr3DWorker.wasm +0 -0
  87. package/chunks/Component.glsl.js +3 -3
  88. package/chunks/HUDMaterial.glsl.js +8 -8
  89. package/chunks/lyr3DMain.js +1 -1
  90. package/config.js +1 -1
  91. package/kernel.js +1 -1
  92. package/layers/DimensionFeatureLayer.d.ts +22 -0
  93. package/layers/DimensionFeatureLayer.js +1 -1
  94. package/layers/ILyr3DWasmPerSceneView.js +1 -1
  95. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  96. package/layers/save/featureLayerUtils.js +1 -1
  97. package/layers/support/layerUtils.js +1 -1
  98. package/layers/support/layersMapping.js +1 -1
  99. package/layers/support/tiles3DUtils.js +1 -1
  100. package/layers/video/VideoController.js +1 -1
  101. package/package.json +3 -3
  102. package/support/revision.js +1 -1
  103. package/views/2d/engine/Bitmap.js +1 -1
  104. package/views/2d/engine/BitmapTile.js +1 -1
  105. package/views/2d/engine/BitmapTileContainer.js +1 -1
  106. package/views/2d/engine/flow/FlowContainer.js +1 -1
  107. package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
  108. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  109. package/views/2d/engine/flow/styles/Particles.js +1 -1
  110. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  111. package/views/2d/engine/imagery/RasterBitmap.js +1 -1
  112. package/views/2d/engine/imagery/RasterTile.js +1 -1
  113. package/views/2d/engine/imagery/RasterTileContainer.js +1 -1
  114. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  115. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  116. package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
  117. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  118. package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
  119. package/views/2d/engine/webgl/Overlay.js +1 -1
  120. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  121. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  122. package/views/2d/engine/webgl/TileContainer.js +1 -1
  123. package/views/2d/engine/webgl/normalizedTileUtils.js +2 -0
  124. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  125. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  126. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
  127. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  128. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
  129. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimationUniformInfo.js +1 -1
  130. package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
  131. package/views/2d/engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js +1 -1
  132. package/views/2d/engine/webgl/shaderGraph/techniques/createGraphicSymbolMeshSchemas.js +1 -1
  133. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  134. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
  135. package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
  136. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  137. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
  138. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillMeshWriter.js +1 -1
  139. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
  140. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
  141. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
  142. package/views/2d/engine/webgl/shaderGraph/techniques/flow/FlowTechnique.js +1 -1
  143. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  144. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineMeshWriter.js +1 -1
  145. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
  146. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
  147. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  148. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriter.js +1 -1
  149. package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
  150. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
  151. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  152. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterHighlightTechnique.js +1 -1
  153. package/views/2d/engine/webgl/shaderGraph/techniques/raster/VectorFieldTechnique.js +1 -1
  154. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ReprojectTechnique.js +1 -1
  155. package/views/2d/engine/webgl/shaderGraph/techniques/raster/rasterVFUtils.js +2 -0
  156. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  157. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
  158. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ClipShader.js +1 -1
  159. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  160. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
  161. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DebugOverlayShader.js +1 -1
  162. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js +1 -1
  163. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  164. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
  165. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
  166. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  167. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  168. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  169. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
  170. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
  171. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternOutlineFillShader.js +1 -1
  172. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  173. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/Tile.js +2 -0
  174. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
  175. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileInfo.js +2 -0
  176. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js +1 -1
  177. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ViewInfo.js +1 -1
  178. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowImageryShader.js +1 -1
  179. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowParticlesShader.js +1 -1
  180. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowStreamlinesShader.js +1 -1
  181. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowUtils.js +1 -1
  182. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  183. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterColorizerShader.js +1 -1
  184. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterHighlightShader.js +1 -1
  185. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/MagDirShader.js +1 -1
  186. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterVFTransform.js +2 -0
  187. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/ScalarShader.js +1 -1
  188. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ReprojectShader.js +1 -1
  189. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderBackground.js +1 -1
  190. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderCircle.js +1 -1
  191. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderFill.js +1 -1
  192. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderIcon.js +1 -1
  193. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderLine.js +1 -1
  194. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderOutline.js +1 -1
  195. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderText.js +1 -1
  196. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  197. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
  198. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileStencilTechnique.js +1 -1
  199. package/views/2d/engine/webgl/shaderGraph/techniques/utility/DebugOverlayTechnique.js +1 -1
  200. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  201. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueCircle.js +1 -1
  202. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
  203. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
  204. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  205. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  206. package/views/2d/interactive/editingTools/draw/DrawGraphicTool2D.js +1 -1
  207. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  208. package/views/2d/layers/MediaLayerView2D.js +1 -1
  209. package/views/2d/layers/TileLayerView2D.js +1 -1
  210. package/views/2d/layers/features/layerAdapters/AnnotationLayerAdapter.js +1 -1
  211. package/views/2d/layers/features/layerAdapters/DimensionLayerAdapter.js +1 -1
  212. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  213. package/views/2d/layers/support/DebugOverlay.js +1 -1
  214. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  215. package/views/3d/analysis/LineOfSight/LineOfSightAggregateManipulatedObject3D.js +1 -1
  216. package/views/3d/analysis/LineOfSight/LineOfSightPlacementController.js +1 -1
  217. package/views/3d/analysis/LineOfSight/LineOfSightReshapeTool3D.js +1 -1
  218. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  219. package/views/3d/analysis/LineOfSight/lineOfSightPlacementUtils.js +1 -1
  220. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  221. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  222. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  223. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  224. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  225. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  226. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  227. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  228. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  229. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  230. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
  231. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  232. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  233. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  234. package/views/3d/interactive/editingTools/reshape/ReshapeTool3D.js +1 -1
  235. package/views/3d/interactive/editingTools/reshape/reshapeTooltipUtils3D.js +1 -1
  236. package/views/3d/interactive/editingTools/settings.js +1 -1
  237. package/views/3d/interactive/editingTools/tooltipUtils3D.js +1 -1
  238. package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
  239. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  240. package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
  241. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
  242. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
  243. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  244. package/views/3d/interactive/manipulatorUtils.js +1 -1
  245. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  246. package/views/3d/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiles3D.js +1 -1
  247. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  248. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  249. package/views/3d/layers/graphics/tessellationUtils.js +1 -1
  250. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  251. package/views/3d/layers/support/MediaLayerInteraction.js +1 -1
  252. package/views/3d/layers/support/lyr3dTypeConversions.js +1 -1
  253. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  254. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  255. package/views/3d/webgl-engine/collections/Component/Material/Component.glsl.js +1 -1
  256. package/views/3d/webgl-engine/core/shaderLibrary/NormalFromDepth.glsl.js +1 -1
  257. package/views/3d/webgl-engine/core/shaderLibrary/output/DepthConversion.glsl.js +14 -0
  258. package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js +3 -15
  259. package/views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js +1 -1
  260. package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
  261. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  262. package/views/3d/webgl-engine/lib/ManagedTexture.js +1 -1
  263. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  264. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  265. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  266. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  267. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  268. package/views/3d/webgl.js +1 -1
  269. package/views/VideoView.js +1 -1
  270. package/views/View.js +1 -1
  271. package/views/draw/DrawGraphicTool.js +1 -1
  272. package/views/draw/DrawOperation.js +1 -1
  273. package/views/draw/DrawTool.js +1 -1
  274. package/views/draw/plugins/PolylinePlugin.js +1 -1
  275. package/views/draw/support/Box.js +1 -1
  276. package/views/draw/support/InteractiveHandle.js +1 -1
  277. package/views/draw/support/Reshape.js +1 -1
  278. package/views/draw/support/drawToolUtils.js +1 -1
  279. package/views/draw/support/managers/InteractiveHandleManager.js +1 -1
  280. package/views/draw/support/managers/TooltipManager.js +1 -1
  281. package/views/draw/support/reshapeTooltipUtils.js +1 -1
  282. package/views/draw/support/tooltipUtils.js +1 -1
  283. package/views/interactive/options/InteractiveToolOptions.d.ts +36 -0
  284. package/views/interactive/options/InteractiveToolOptions.js +2 -0
  285. package/views/interactive/sketch/SketchOptions.d.ts +4 -3
  286. package/views/interactive/sketch/SketchOptions.js +1 -1
  287. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  288. package/views/interactive/tooltip/content/TooltipContent.js +1 -1
  289. package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
  290. package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
  291. package/views/interactive/tooltip/content/TooltipContentDynamic.js +1 -1
  292. package/views/interactive/tooltip/fields/fields.js +1 -1
  293. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  294. package/views/interactive/tooltip/infos/SketchTooltipInfo.js +1 -1
  295. package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
  296. package/views/support/imageReprojection.js +1 -1
  297. package/widgets/Sketch/SketchViewModel.js +1 -1
  298. package/widgets/support/GridControls/GridControlsViewModel.js +1 -1
  299. package/assets/esri/core/workers/chunks/0623acb2bd14a61b65c9.js +0 -29
  300. package/assets/esri/core/workers/chunks/06c9aac75a01d3af6d54.js +0 -1
  301. package/assets/esri/core/workers/chunks/089f8c60e96d920a2cb2.js +0 -1
  302. package/assets/esri/core/workers/chunks/0c3c311400ee352187ea.js +0 -1
  303. package/assets/esri/core/workers/chunks/158d2ac0333d53556e33.js +0 -1
  304. package/assets/esri/core/workers/chunks/16cade1c2ddf44e336ee.js +0 -1
  305. package/assets/esri/core/workers/chunks/1b130af7d14eaae69d96.js +0 -1
  306. package/assets/esri/core/workers/chunks/1e0140556c2e3fa72545.js +0 -1
  307. package/assets/esri/core/workers/chunks/1e5cb72830c7f32f2961.js +0 -1
  308. package/assets/esri/core/workers/chunks/259bdacfb7b0f866a8d0.js +0 -1
  309. package/assets/esri/core/workers/chunks/2f58e1f64df2da8259a2.js +0 -1
  310. package/assets/esri/core/workers/chunks/383304d33b496c5d8baa.js +0 -1
  311. package/assets/esri/core/workers/chunks/3aacb935d632834d4154.js +0 -1
  312. package/assets/esri/core/workers/chunks/3c8e98cf23ad8ef12fcb.js +0 -1
  313. package/assets/esri/core/workers/chunks/3dc71e03a630dd50b28e.js +0 -1
  314. package/assets/esri/core/workers/chunks/3fd022df127af32782ce.js +0 -1
  315. package/assets/esri/core/workers/chunks/4344ab1250a1c550bf8b.js +0 -1
  316. package/assets/esri/core/workers/chunks/43de723f765ec8f268ac.js +0 -1
  317. package/assets/esri/core/workers/chunks/4695cd6120f60b234d5c.js +0 -1
  318. package/assets/esri/core/workers/chunks/582a1d468089b9986416.js +0 -1
  319. package/assets/esri/core/workers/chunks/5f201c77a09ae0df29d6.js +0 -1
  320. package/assets/esri/core/workers/chunks/6080e46fc79127500283.js +0 -1
  321. package/assets/esri/core/workers/chunks/6357c7cac401aee9fe77.js +0 -1
  322. package/assets/esri/core/workers/chunks/67d3ff7fcefaa7d5d27f.js +0 -1
  323. package/assets/esri/core/workers/chunks/6a9002fcba11e2cf3f2e.js +0 -1
  324. package/assets/esri/core/workers/chunks/72dcd4bd1a28bf8605c5.js +0 -1
  325. package/assets/esri/core/workers/chunks/73f228d966b89c73c9e9.js +0 -1
  326. package/assets/esri/core/workers/chunks/77df0bb35d2688729479.js +0 -1
  327. package/assets/esri/core/workers/chunks/7a143ca61c0a70306185.js +0 -1
  328. package/assets/esri/core/workers/chunks/869d292a60747c93dc84.js +0 -1
  329. package/assets/esri/core/workers/chunks/9c57161ad48d8d546dc7.js +0 -1
  330. package/assets/esri/core/workers/chunks/a7f42ada0aa69873a938.js +0 -1
  331. package/assets/esri/core/workers/chunks/a988fd54912969b812ce.js +0 -1
  332. package/assets/esri/core/workers/chunks/aff0e7761276036e029d.js +0 -1
  333. package/assets/esri/core/workers/chunks/b7d8817018b3d277c454.js +0 -1
  334. package/assets/esri/core/workers/chunks/bfb6566c27c09deb0929.js +0 -1
  335. package/assets/esri/core/workers/chunks/c715c585c42d8c2b86f5.js +0 -1
  336. package/assets/esri/core/workers/chunks/c7e9513f75b8ec205562.js +0 -1
  337. package/assets/esri/core/workers/chunks/c838cc1c786368b78598.js +0 -1
  338. package/assets/esri/core/workers/chunks/cd4e5c948d1bfa9b9a2d.js +0 -1
  339. package/assets/esri/core/workers/chunks/cfe31b7d1c6c05fbd268.js +0 -1
  340. package/assets/esri/core/workers/chunks/d0c1bc90e474f706211c.js +0 -1
  341. package/assets/esri/core/workers/chunks/d2faac81142586cf7509.js +0 -1
  342. package/assets/esri/core/workers/chunks/da484787bd9fd3b13d15.js +0 -1
  343. package/assets/esri/core/workers/chunks/e21b3490bfce75405e55.js +0 -1
  344. package/assets/esri/core/workers/chunks/e4353f0792f45aa6a62f.js +0 -1
  345. package/assets/esri/core/workers/chunks/e702abaeccef20b64a81.js +0 -1
  346. package/assets/esri/core/workers/chunks/ebd619533be077059494.js +0 -1
  347. package/assets/esri/core/workers/chunks/f475672ff4c2ec9367c2.js +0 -1
  348. package/assets/esri/core/workers/chunks/f69329b85b362b349a8c.js +0 -1
  349. package/assets/esri/core/workers/chunks/fba8065a3a6fbd877e23.js +0 -1
  350. package/assets/esri/core/workers/chunks/fd6107f95082e05f016a.js +0 -256
  351. package/assets/esri/core/workers/chunks/fec07a16b72cdcafc641.js +0 -1
  352. package/views/2d/engine/webgl/shaderGraph/techniques/line/utils.js +0 -2
  353. /package/assets/esri/core/workers/chunks/{3b3a8a6167f2e1eeb828.js.LICENSE.txt → 0823961e5d0bdedbf8cf.js.LICENSE.txt} +0 -0
  354. /package/assets/esri/core/workers/chunks/{c03da138651ac53cadcb.js.LICENSE.txt → 186bedc377cc97731ca2.js.LICENSE.txt} +0 -0
  355. /package/assets/esri/core/workers/chunks/{4da993c79b373b9d304e.js.LICENSE.txt → 8302bffd28cc6720e0fe.js.LICENSE.txt} +0 -0
  356. /package/assets/esri/core/workers/chunks/{9dda9414104f585560a4.js.LICENSE.txt → ad1d06a91121ebfe9162.js.LICENSE.txt} +0 -0
  357. /package/assets/esri/core/workers/chunks/{fa5d27e47d47ff8fcb96.js.LICENSE.txt → d03e7be74c57c3dbf003.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{invert as e,multiply as t}from"../../../../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as a}from"../../../../../../../core/libs/gl-matrix-2/factories/mat3f32.js";import{animationDebugFlags as i}from"../../../../../../../symbols/cim/animationDebugFlags.js";import{FeatureTechnique as r}from"../FeatureTechnique.js";import{isHittest as o,getSelectionDefines as n,getFeatureTextures as s,getLocalTileOffset as m,getFeatureUniforms as l,resolveDynamicUniforms as u,getFeaturePipelineState as c}from"../featureTechniqueUtils.js";import{getAntialiasingControls as g}from"../line/utils.js";class f extends r{render(r,f){const{context:p,painter:x,pixelRatio:d}=r,{target:b}=f,{freezeGlobalTime:h}=i,T=0,y=x.textureManager.animationStore.getTexture(p,T),D=[2/r.state.size[0],0,0,0,-2/r.state.size[1],0,-1,1,1],j=Array.from(e(a(),D)),R=Array.from(t(a(),j,b.transforms.displayViewScreenMat3)),z=f.instance.getInput(),M=x.textureManager.getMosaicInfo(r,f.textureKey,!1),{optionalAttributes:S}=z,A=S.zoomRange,v=S.value1Position2Value2,I="accumulatedDistance"in S&&!!S.accumulatedDistance,q="segmentDirection"in S&&!!S.segmentDirection,w="normal"in S&&!!S.normal,P=2**(f.target.key.level-r.displayLevel);x.setShader({shader:this.shaders.geometry,uniforms:{...u(r,f.target,z.uniforms),...l(r,f.target),antialiasingControls:g(d),mosaicInfo:M,animationInfo:{globalTime:r.animationsEnabled?!1===h?r.time/1e3:h:0,scaleAdjustment:P,animationTextureSize:[y.descriptor.width,y.descriptor.height],toScreen:R,toNdc:D,mapRotation:r.state.rotation,pixelRatio:r.state.pixelRatio},localTileOffset:m(f.target)},textures:{...s(r),mosaicTexture:x.textureManager.getMosaicTexture(r,f.textureKey,!1),animationTexture:{unit:6,texture:y}},defines:{...n(r)},optionalAttributes:{zoomRange:A,value1Position2Value2:v,accumulatedDistance:I,segmentDirection:q,normal:w},useComputeBuffer:o(r)}),x.setPipelineState({...c(r)}),x.submitDraw(r,f),!1===h&&r.animationsEnabled&&b.requestRender()}}export{f as AnimatedTechnique};
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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as o}from"tslib";import{uniform as t,UniformGroup as p}from"../../GraphShaderModule.js";import{Float as e,Vec2 as r,Mat3 as i}from"../../graph/glsl.js";class d extends p{}o([t(e)],d.prototype,"globalTime",void 0),o([t(r)],d.prototype,"animationTextureSize",void 0),o([t(i)],d.prototype,"toScreen",void 0),o([t(i)],d.prototype,"toNdc",void 0),o([t(e)],d.prototype,"mapRotation",void 0),o([t(e)],d.prototype,"pixelRatio",void 0),o([t(e)],d.prototype,"scaleAdjustment",void 0);export{d as AnimationUniformInfo};
2
+ import{__decorate as o}from"tslib";import{uniform as r,UniformGroup as t}from"../../GraphShaderModule.js";import{Float as e,Vec2 as i}from"../../graph/glsl.js";class p extends t{}o([r(e)],p.prototype,"globalTime",void 0),o([r(i)],p.prototype,"animationTextureSize",void 0);export{p as AnimationUniformInfo};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{textureBindingBitmap as e}from"../../../definitions.js";import{Technique as i}from"../Technique.js";import{BitmapShader as t}from"../shaders/BitmapShader.js";const s={nearest:{samplingMode:9728,mips:!1},bilinear:{samplingMode:9729,mips:!1},bicubic:{samplingMode:9729,mips:!1},trilinear:{samplingMode:9987,mips:!0}},n=(e,i,t)=>{if("dynamic"===t.samplingMode){const{state:t}=e,n=i.resolution/i.pixelRatio/t.resolution,o=Math.round(e.pixelRatio)!==e.pixelRatio,r=n>1.05||n<.95;return t.rotation||r||o||i.isSourceScaled||i.rotation?s.bilinear:s.nearest}return s[t.samplingMode]};class o extends i{constructor(){super(...arguments),this.name="BrushBitmap",this.type=4,this.shaders={bitmap:new t}}render(i,t){const{context:o,renderingOptions:r,painter:a}=i;for(const p of t.bitmaps){const t=p.texture;if(!p.source||!p.isReady||null==t)continue;const c=n(i,p,r);i.timeline.begin(this.name),a.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"===p.blendFunction?"additive":"composite"}}),p.setSamplingProfile(c);const{coordScale:m,computedOpacity:d,transforms:l}=p,u={dvsMat3:l.displayViewScreenMat3,coordScale:m,opacity:d};a.submitDrawMesh(o,{shader:this.shaders.bitmap,uniforms:{config:u},textures:{texture:{texture:t,unit:e}},defines:{bicubic:c===s.bicubic},optionalAttributes:null,useComputeBuffer:!1},a.quadMesh,p),i.timeline.end(this.name)}}}export{o 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";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};
@@ -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 t}from"../shaders/ClipShader.js";class s extends e{constructor(){super(...arguments),this.type=8,this.shaders={clip:new t}}render(e,t){const{context:s,painter:i,state:r}=e,o=t.getMesh(s,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 a={shader:this.shaders.clip,uniforms:{options:{displayViewMat3:e.state.displayMat3}},textures:void 0,defines:void 0,optionalAttributes:void 0,useComputeBuffer:!1};i.submitDrawMesh(s,a,o,{stencilRef:0})}}const i=new s;export{i as clipTechnique};
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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{noVisualVariables as a}from"../../../../layers/features/schema/processor/VisualVariablesSchema.js";import{getScaleInfo as s,createComplexSimpleOutlineFillMeshInfos as e,createGradientStrokeMeshInfos as i,createGradientFillMeshInfos as n,createComplexTextMeshInfos as t,createAnimatedPolyMeshInfos as r,createComplexTexturedLineMeshInfos as l,createComplexSimpleLineMeshInfos as o,createComplexSimpleFillMeshInfos as c,createComplexFillMeshInfos as m,createAnimatedMarkerMeshInfos as p,createComplexMarkerMeshInfos as h}from"../../../../layers/features/schema/processor/symbols/ComplexSymbolSchema.js";async function u(u,f,k){const b=[],d={scaleInfo:s(u),scaleExpression:null,rotationVariable:null};for(const s of f)switch(s.type){case"marker":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...p(k.instances.animatedMarkerShift,s,a,d));break}b.push(...p(k.instances.animatedMarker,s,a,d));break}b.push(...h(k.instances.marker,s,a,d));break;case"fill":if(s.animationParams){b.push(...r(k.instances.animatedPolygon,s,a,d));break}null==s.spriteRasterizationParam?b.push(...c(k.instances.fill,s,d)):b.push(...m(k.instances.complexFill,s,!1,d));break;case"line":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...r(k.instances.animatedPolylineShift,s,a,d));break}b.push(...r(k.instances.animatedPolyline,s,a,d));break}s.spriteRasterizationParam?b.push(...l(k.instances.texturedLine,s,!1,d)):b.push(...o(k.instances.line,s,!1,d));break;case"text":b.push(...t(k.instances.text,s,a,d));break;case"gradientFill":b.push(...n(k.instances.gradientFill,s,d));break;case"gradientStroke":b.push(...i(k.instances.gradientStroke,s,d));break;case"outlineFill":b.push(...e(k.instances.outlineFill,s,d))}return b}export{u as createGraphicSymbolMeshSchemas};
2
+ import{noVisualVariables as a}from"../../../../layers/features/schema/processor/VisualVariablesSchema.js";import{getScaleInfo as s,createComplexSimpleOutlineFillMeshInfos as e,createGradientStrokeMeshInfos as i,createGradientFillMeshInfos as n,createComplexTextMeshInfos as t,createAnimatedPolyMeshInfos as r,createComplexTexturedLineMeshInfos as l,createComplexSimpleLineMeshInfos as o,createComplexSimpleFillMeshInfos as c,createComplexFillMeshInfos as m,createAnimatedMarkerMeshInfos as p,createComplexMarkerMeshInfos as u}from"../../../../layers/features/schema/processor/symbols/ComplexSymbolSchema.js";async function h(h,f,k){const b=[],d={scaleInfo:s(h),scaleExpression:null,rotationVariable:null,viewRotation:null};for(const s of f)switch(s.type){case"marker":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...p(k.instances.animatedMarkerShift,s,a,d));break}b.push(...p(k.instances.animatedMarker,s,a,d));break}b.push(...u(k.instances.marker,s,a,d));break;case"fill":if(s.animationParams){b.push(...r(k.instances.animatedPolygon,s,a,d));break}null==s.spriteRasterizationParam?b.push(...c(k.instances.fill,s,d)):b.push(...m(k.instances.complexFill,s,!1,d));break;case"line":if(s.animationParams){if(s.animationParams.params.hasShiftAnimation){b.push(...r(k.instances.animatedPolylineShift,s,a,d));break}b.push(...r(k.instances.animatedPolyline,s,a,d));break}s.spriteRasterizationParam?b.push(...l(k.instances.texturedLine,s,!1,d)):b.push(...o(k.instances.line,s,!1,d));break;case"text":b.push(...t(k.instances.text,s,a,d));break;case"gradientFill":b.push(...n(k.instances.gradientFill,s,d));break;case"gradientStroke":b.push(...i(k.instances.gradientStroke,s,d));break;case"outlineFill":b.push(...e(k.instances.outlineFill,s,d))}return b}export{h as createGraphicSymbolMeshSchemas};
@@ -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 c,Float as m,Sampler2D as y,Mat3 as w,Vec3 as v,texture2D as u,max as h,step as x,Vec4 as f,length as g,smoothstep as S}from"../../graph/glsl.js";import{FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{ViewInfo as z}from"../shaders/ViewInfo.js";class P extends n{}t([i(0,c)],P.prototype,"pos",void 0);class R extends j{}class b extends p{}t([r(m)],b.prototype,"dotSize",void 0);class F extends p{}t([r(m)],F.prototype,"pixelRatio",void 0),t([r(m)],F.prototype,"tileZoomFactor",void 0);const C=1e-6;class D extends a{constructor(){super(...arguments),this.type="DotDensityPointShader"}vertex(t){const o=new w(1,0,0,0,-1,0,0,1,1).multiply(new v(t.pos.xy.divide(e),1)),i=u(this.drawLocations,o.xy),r=h(this.instance.dotSize.divide(2),new m(1));let s=new m(0);s=s.add(x(i.a,new m(C)).multiply(2));let d=r.add(this.instance.dotSize);const n=this.view.displayViewScreenMat3.multiply(new v(t.pos.add(.5),1)),p=new f(n.xy,s,1),a=this.instance.dotSize.divide(d),l=new m(-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 m(0),new m(1),t.invEdgeRatio.multiply(o.subtract(t.ratio)).add(1)),i=new l;return i.fragColor=t.color.multiply(e),i}}t([r(b)],D.prototype,"instance",void 0),t([r(F)],D.prototype,"draw",void 0),t([r(z)],D.prototype,"view",void 0),t([s(y)],D.prototype,"drawLocations",void 0),t([o(0,d(P))],D.prototype,"vertex",null),t([o(0,d(R))],D.prototype,"fragment",null);export{F as DotDensityPointDrawUniforms,R as DotDensityPointFragmentInput,b as DotDensityPointInstanceUniforms,D as DotDensityPointShader,P 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 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};
@@ -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 d,getFeaturePipelineState as l,getViewUniforms as u}from"../featureTechniqueUtils.js";import{DotDensityPointShader as c}from"./DotDensityPointShader.js";import{DotDensityPolygonShader as p}from"./DotDensityPolygonShader.js";import{DotDensityResources as h}from"./DotDensityResources.js";import{FillShader as f}from"../shaders/FillShader.js";class m extends r{constructor(){super(...arguments),this.type=12,this.shaders={polygon:new p,point:new c,fill:new f},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,t.target),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:c,requiredLevel:p}=r,h=s.instance.getInput().uniforms,f=this._getOrCreateResourcesRecord(o),m=f.getDotDensityTextures(o,e,h.seed),w=1/2**(p-s.target.key.level),g=e,x=g*window.devicePixelRatio*g*window.devicePixelRatio,D=1/w*(1/w),b=h.dotScale?r.state.scale/h.dotScale:1,y=h.dotValue*b*D;c.setShader({shader:this.shaders.polygon,uniforms:{...d(r,s.target),instance:{isActive:h.isActive,colors:h.colors,dotValue:Math.max(1,y)},draw:{tileZoomFactor:w,pixelRatio:window.devicePixelRatio,tileDotsOverArea:x/(e*window.devicePixelRatio*e*window.devicePixelRatio)}},textures:{...a(r),drawTextures:{dotTexture0:{unit:i,texture:m[0]},dotTexture1:{unit:t,texture:m[1]}}},defines:{...n(r),blending:h.blending},optionalAttributes:{},useComputeBuffer:!1});const R=o.getViewport();o.setViewport(0,0,e,e);const v=o.boundFramebuffer,P=f.getFBO(o);o.bindFramebuffer(P),o.setClearColor(0,0,0,0),o.clear(16384),c.setPipelineState({color:{write:[!0,!0,!0,!0],blendMode:"composite"},depth:!1,stencil:!1}),c.updatePipelineState(o),c.submitDraw(r,s),o.bindFramebuffer(v),o.setViewport(R.x,R.y,R.width,R.height);const S=f.getFBO(o).colorTexture,_={shader:this.shaders.point,uniforms:{view:u(r,s.target),instance:{dotSize:h.dotSize},draw:{tileZoomFactor:1,pixelRatio:window.devicePixelRatio}},textures:{drawLocations:{unit:i,texture:S}},defines:{...n(r)},optionalAttributes:{},useComputeBuffer:!1};c.setPipelineState(l(r)),c.submitDrawMesh(o,_,f.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{m 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 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};
@@ -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{DisposableFramebufferObject as u}from"../../../../../../webgl/FramebufferObject.js";import a from"../../../../../../webgl/Texture.js";import{TextureDescriptor as l}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,state:o,painter:u}=e,{layerFBO:a}=s,l=a.width,B=a.height,c=[Math.round(l),Math.round(B)],{blurRadius:f,offsetX:d,offsetY:m,color:p}=s.effect,F=[t(d),t(m)];this._createOrResizeResources(e,l,B,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}};u.setPipelineState(_);const O=this._layerFBOTexture;a.copyToTexture(0,0,l,B,0,0,O),i.setViewport(0,0,c[0],c[1]),i.bindFramebuffer(w),u.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:c,direction:n,sigma:f}},textures:{texture:{texture:a.colorTexture,unit:4}},defines:{kernelRadius:Math.ceil(f)},optionalAttributes:null,useComputeBuffer:!1},u.quadMesh),i.bindFramebuffer(x),u.submitDrawMesh(i,{shader:this.shaders.gaussianBlur,uniforms:{gaussianBlurConfig:{texSize:c,direction:h,sigma:f}},textures:{texture:{texture:w?.colorTexture,unit:5}},defines:{kernelRadius:Math.ceil(f)},optionalAttributes:null,useComputeBuffer:!1},u.quadMesh),i.bindFramebuffer(a),i.setViewport(0,0,l,B),u.submitDrawMesh(i,{shader:this.shaders.composite,uniforms:{compositeConfig:{shadowColor:[p[3]*(p[0]/255),p[3]*(p[1]/255),p[3]*(p[2]/255),p[3]],displayViewMat3:o.displayMat3,shadowOffset:F}},textures:{blurTexture:{texture:x?.colorTexture,unit:2},layerFBOTexture:{texture:O,unit:3}},defines:null,optionalAttributes:null,useComputeBuffer:!1},u.quadMesh),u.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 l(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 l(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 l(t,r);e.internalFormat=6408,e.wrapMode=33071,this._layerFBOTexture=new a(i,e)}}}}export{B 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{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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{getMetersPerUnitForSR as t}from"../../../../../../core/units.js";import{maxRepresentableInt as e,tileSize as i}from"../../definitions.js";const o={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}}}},n={color:{write:[!0,!0,!0,!0],blendParameters:{srcRGB:1,dstRGB:1,srcAlpha:1,dstAlpha:1},blendEquation:32776,blendMode:"custom"},depth:!1,stencil:!1},r={...o,color:{write:[!0,!0,!0,!0],blendMode:"delete"}};function s({pixelRatio:e,state:i,displayLevel:o,requiredLevel:n,referenceScale:r},s){const l=1/2**(o-s.key.level),a=1/2**(n-s.key.level),c=null!=r?r/i.scale:1;return{displayMat3:i.displayMat3,displayViewMat3:i.displayViewMat3,displayViewScreenMat3:s.transforms.displayViewScreenMat3,viewMat3:i.viewMat3,tileMat3:s.transforms.tileMat3,displayZoomFactor:l,requiredZoomFactor:a,tileOffset:[s.x,s.y],currentScale:i.scale,currentZoom:o,metersPerSRUnit:t(i.spatialReference),rotation:i.rotation,pixelRatio:e,scaleFactor:c}}function l(t){return"highlight"===t.passOptions?.type}function a(t){return"hittest"===t.passOptions?.type}function c(t){if(!a(t))return null;const{position:e,distance:i,smallSymbolDistance:o,smallSymbolSizeThreshold:n,tlbr:r}=t.passOptions;return{position:e,distance:i,smallSymbolDistance:o,smallSymbolSizeThreshold:n,tlbr:r}}function u(t){if(!l(t))return null;const{activeReasons:e,highlightAll:i}=t.passOptions;return{activeReasons:e,highlightAll:i?1:0}}function p(t,e,i){const o={};for(const n in i)"function"!=typeof i[n]?o[n]=i[n]:o[n]=i[n](t,e);return o}function f(t,e){return{storage:t.attributeView.getUniforms(),view:s(t,e),hittestRequest:c(t),highlight:u(t)}}function d(t){return t.attributeView.getTextures(t.context)}function m(t){return{storageTextures:d(t)}}function h(t){return{inside:2===t.selection,outside:3===t.selection}}function y(t){return a(t)?n:l(t)&&"clear"===t.passOptions.stepType?r:o}function M(t){const{row:o,col:n}=t.key,r=n*i,s=o*i;return{tileOffsetFromLocalOrigin:[r%e,s%e],maxIntsToLocalOrigin:[Math.floor(r/e),Math.floor(s/e)]}}export{y as getFeaturePipelineState,d as getFeatureStorageTextures,m as getFeatureTextures,f as getFeatureUniforms,M as getLocalTileOffset,h as getSelectionDefines,s as getViewUniforms,l as isHighlight,a as isHittest,p as resolveDynamicUniforms};
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};
@@ -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 o,resolveDynamicUniforms as a,getFeaturePipelineState as n}from"../featureTechniqueUtils.js";import{getAntialiasingControls as u}from"../line/utils.js";import{ComplexOutlineFillShader as l}from"../shaders/ComplexOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=11,this.shaders={geometry:new l}}render(e,l){const{painter:m,pixelRatio:p}=e,f=l.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...a(e,l.target,f.uniforms),...o(e,l.target),antialiasingControls:u(p),mosaicInfo:m.textureManager.getMosaicInfo(e,l.textureKey),localTileOffset:i(l.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,l.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,l)}}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 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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{AFillMeshWriter as t}from"./AFillMeshWriter.js";import{processColorInput as e,getMinMaxZoom as o}from"./meshWriterUtils.js";import{DataType as r}from"../../../../../../webgl/enums.js";const s={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:r.HALF_FLOAT,count:2,pack:({scaleInfo:t},{tileInfo:e})=>o(t,e)}},attributes:{id:{type:r.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:r.UNSIGNED_BYTE,count:1},pos:{type:r.SHORT,count:2,pack:"position",packPrecisionFactor:10},color:{type:r.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>e(t)}}};class a extends t{constructor(){super(...arguments),this.vertexSpec=s}get _effectRotation(){const t=this.evaluatedMeshParams.effectRotation;return null==t?null:{value:t,type:this.evaluatedMeshParams.effectRotationType}}createTesselationParams(t){return null}}export{a as FillMeshWriter,s as fillVertexSpec};
2
+ import{AFillMeshWriter as t}from"./AFillMeshWriter.js";import{processColorInput as e,getMinMaxZoom as o}from"./meshWriterUtils.js";import{DataType as r}from"../../../../../../webgl/enums.js";const a={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:r.HALF_FLOAT,count:2,pack:({scaleInfo:t},{tileInfo:e})=>o(t,e)}},attributes:{id:{type:r.UNSIGNED_BYTE,count:3,pack:"id"},bitset:{type:r.UNSIGNED_BYTE,count:1},pos:{type:r.SHORT,count:2,pack:"position",packPrecisionFactor:10},color:{type:r.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>e(t)}}};class i extends t{constructor(){super(...arguments),this.vertexSpec=a}get _effectRotation(){const{effectRotation:t,effectRotationType:e,viewRotation:o}=this.evaluatedMeshParams;return null==t&&null==o?null:{value:t,type:e,viewRotation:o}}createTesselationParams(t){return null}}export{i as FillMeshWriter,a as fillVertexSpec};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{CIMSymbolUnits as t}from"../../../../../../../symbols/cim/types.js";import{spritePadding as e,gradientTextureExternalPadding as r}from"../../../definitions.js";import{AFillMeshWriter as i}from"./AFillMeshWriter.js";import{fillVertexSpec as s}from"./FillMeshWriter.js";import{gradientFillMethods as a,bitset as o}from"./gradientFillConstants.js";import{getGradientSizeHelper as n}from"./GradientSizeHelper.js";import{getBitMask as l}from"./meshWriterUtils.js";import{DataType as c}from"../../../../../../webgl/enums.js";const p={createComputedParams:t=>t,optionalAttributes:s.optionalAttributes,attributes:{...s.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:({gradientSizeUnits:e,gradientType:r})=>{let i=0;return e===t.Absolute&&(i|=l(o.isAbsolute)),"discrete"===r.toLowerCase()&&(i|=l(o.isDiscrete)),i}},tlbr:{count:4,type:c.UNSIGNED_SHORT,pack:({sprite:t})=>{const{rect:i,width:s,height:a}=t,o=i.x+e+r,n=i.y+e;return[o,n,o+s-2*r,n+a]}},relativePosition:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t},e,r,i)=>t?.getRelativePosition(r,i)??[0,0]},relativeGradientSize:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t})=>t?.relativeSize??[1,1]},gradientMethod:{count:1,type:c.UNSIGNED_BYTE,pack:({gradientMethod:t})=>{switch(t.toLowerCase()){case"rectangular":return a.rectangular;case"circular":return a.circular;default:return a.linear}}}}};class u extends i{constructor(){super(...arguments),this.vertexSpec=p}get _preventEffectClipping(){return!0}createTesselationParams(t){return{gradientStats:n(this._unclippedGeometry,this.evaluatedMeshParams)}}_write(t,{target:e,effectGeometry:r}){const i=r?.asOptimized()??e.readGeometryForDisplay();this._unclippedGeometry=i;const s=this._clip(i);if(!s)return void(this._unclippedGeometry=null);const a=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,a),this._writeGeometry(t,e,s),this._unclippedGeometry=null,t.recordEnd()}}export{u as GradientFillMeshWriter,p as gradientFillVertexSpec};
2
+ import{CIMSymbolUnits as t}from"../../../../../../../symbols/cim/types.js";import{spritePadding as e,gradientTextureExternalPadding as r}from"../../../definitions.js";import{AFillMeshWriter as i}from"./AFillMeshWriter.js";import{fillVertexSpec as s}from"./FillMeshWriter.js";import{gradientFillMethods as a,bitset as o}from"./gradientFillConstants.js";import{getGradientSizeHelper as n}from"./GradientSizeHelper.js";import{getBitMask as l}from"./meshWriterUtils.js";import{DataType as c}from"../../../../../../webgl/enums.js";const p={createComputedParams:t=>t,optionalAttributes:s.optionalAttributes,attributes:{...s.attributes,bitset:{type:c.UNSIGNED_BYTE,count:1,pack:({gradientSizeUnits:e,gradientType:r})=>{let i=0;return e===t.Absolute&&(i|=l(o.isAbsolute)),"discrete"===r.toLowerCase()&&(i|=l(o.isDiscrete)),i}},tlbr:{count:4,type:c.UNSIGNED_SHORT,pack:({sprite:t})=>{const{rect:i,width:s,height:a}=t,o=i.x+e+r,n=i.y+e;return[o,n,o+s-2*r,n+a]}},relativePosition:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t},e,r,i)=>t?.getRelativePosition(r,i)??[0,0]},relativeGradientSize:{count:2,type:c.HALF_FLOAT,packTessellation:({gradientStats:t})=>t?.relativeSize??[1,1]},gradientMethod:{count:1,type:c.UNSIGNED_BYTE,pack:({gradientMethod:t})=>{switch(t.toLowerCase()){case"rectangular":return a.rectangular;case"circular":return a.circular;default:return a.linear}}}}};class u extends i{constructor(){super(...arguments),this.vertexSpec=p}get _effectRotation(){const{effectRotation:t,effectRotationType:e,viewRotation:r}=this.evaluatedMeshParams;return null==t&&null==r?null:{value:t,type:e,viewRotation:r}}get _preventEffectClipping(){return!0}createTesselationParams(t){return{gradientStats:n(this._unclippedGeometry,this.evaluatedMeshParams)}}_write(t,{target:e,effectGeometry:r}){const i=r?.asOptimized()??e.readGeometryForDisplay();this._unclippedGeometry=i;const s=this._clip(i);if(!s)return void(this._unclippedGeometry=null);const a=this.evaluatedMeshParams.sprite?.textureBinding;t.recordStart(this.instanceId,this.attributeLayout,a),this._writeGeometry(t,e,s),this._unclippedGeometry=null,t.recordEnd()}}export{u as GradientFillMeshWriter,p as gradientFillVertexSpec};
@@ -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{getAntialiasingControls as a}from"../line/utils.js";import{OutlineFillShader as u}from"../shaders/OutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=26,this.shaders={geometry:new u}}render(e,u){const{painter:m,pixelRatio:p}=e,l=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,l.uniforms),...i(e,u.target),antialiasingControls:a(p)},textures:s(e),defines:{...r(e)},optionalAttributes:l.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,u)}}export{m 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 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};
@@ -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 n}from"../featureTechniqueUtils.js";import{getAntialiasingControls as u}from"../line/utils.js";import{PatternOutlineFillShader as l}from"../shaders/PatternOutlineFillShader.js";class m extends e{constructor(){super(...arguments),this.type=29,this.shaders={geometry:new l}}render(e,l){const{painter:m,pixelRatio:f}=e,p=l.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,l.target,p.uniforms),...a(e,l.target),antialiasingControls:u(f),mosaicInfo:m.textureManager.getMosaicInfo(e,l.textureKey),localTileOffset:i(l.target)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,l.textureKey)},defines:{...r(e)},optionalAttributes:p.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(n(e)),m.submitDraw(e,l)}}export{m as PatternOutlineFillTechnique};
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};
@@ -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{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,dvsMat3:o}=i,n=r.time/1e3;return{time:r.animationsEnabled?n:t,dvsMat3:o,displayViewMat3:r.state.displayViewMat3,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};
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};
@@ -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{getAntialiasingControls as p}from"./utils.js";import{GradientStrokeShader as u}from"../shaders/GradientStrokeShader.js";class c extends e{constructor(){super(...arguments),this.type=17,this.shaders={geometry:new u},this.symbologyPlane=1}_getShaderOptions(e,o,n){const{painter:u,pixelRatio:c}=e,h=o.instance.getInput();return{shader:this.shaders.geometry,uniforms:{...a(e,o.target,h.uniforms),...i(e,o.target),antialiasingControls:p(c),mosaicInfo:u.textureManager.getMosaicInfo(e,o.textureKey),technique:{isColorPass:n}},textures:{...r(e),mosaicTexture:u.textureManager.getMosaicTexture(e,o.textureKey)},defines:{...s(e)},optionalAttributes:h.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{c 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,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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{thinLineHalfWidthThreshold as s}from"../../../definitions.js";import{LineTessellation as i}from"../../../TurboLine.js";import{clipLinesMarshall as r}from"../../../mesh/templates/templateUtils.js";import{processLineCapInput as o,processLineJoinInput as n,packRounded as a,processColorInput as h,getMinMaxZoom as c}from"../fill/meshWriterUtils.js";import{MeshWriter as l}from"../mesh/MeshWriter.js";import{getLineClippingMargin as m}from"../mesh/utils.js";import{DataType as u}from"../../../../../../webgl/enums.js";class f{constructor(){this.extrusionOffsetX=0,this.extrusionOffsetY=0,this.normalX=0,this.normalY=0,this.directionX=0,this.directionY=0,this.distance=0,this.pathLength=0,this.distanceOffset=0,this.lineLength=0}}const p={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:u.HALF_FLOAT,count:2,pack:({scaleInfo:t},{tileInfo:e})=>c(t,e)}},attributes:{id:{type:u.UNSIGNED_BYTE,count:3,pack:"id"},pos:{type:u.SHORT,count:2,pack:"position",packPrecisionFactor:10},bitset:{type:u.UNSIGNED_BYTE,count:1},color:{type:u.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>h(t)},offset:{type:u.BYTE,count:2,packPrecisionFactor:16,packTessellation:({extrusionOffsetX:t,extrusionOffsetY:e})=>[a(t,16),a(e,16)]},normal:{type:u.BYTE,count:2,packPrecisionFactor:16,packTessellation:({normalX:t,normalY:e})=>[a(t,16),a(e,16)]},halfWidth:{type:u.HALF_FLOAT,count:1,pack:({width:e})=>t(.5*e)},referenceHalfWidth:{type:u.HALF_FLOAT,count:1,pack:({referenceWidth:e})=>t(.5*e)}}};class d{constructor(){this.id=0,this.bitset=0,this.indexCount=0,this.vertexCount=0,this.vertexFrom=0,this.vertexBounds=0,this.pathLength=0,this.distanceOffset=0}}const _=65535;class x extends l{get _effectRotation(){const t=this.evaluatedMeshParams.effectRotation;return null==t?null:{value:t,type:this.evaluatedMeshParams.effectRotationType}}constructor(t,e,s,i){super(t,e,s,i),this.vertexSpec=p,this._currentWrite=new d,this._tessellationOptions={halfWidth:0,pixelCoordRatio:1,offset:0,wrapDistance:_,textured:!1},this._tessParams=new f,this._initializeTessellator()}writeLineVertices(t,e,s){const i=this._getLines(e);null!=i&&this._writeVertices(t,s,i)}_initializeTessellator(){this._lineTessellator=new i(this._writeTesselatedVertex.bind(this),this._writeTriangle.bind(this),!0)}_write(t,{target:s,effectGeometry:i}){const r=i??e.fromFeatureSetReaderCIM(s);r&&this._writeGeometry(t,s,r)}_writeGeometry(t,e,s,i){t.recordStart(this.instanceId,this.attributeLayout,i),this.writeLineVertices(t,s,e),t.recordEnd()}_getLines(t){return r(t,m(this.evaluatedMeshParams))}_writeVertices(e,i,r){const{_currentWrite:a,_tessellationOptions:h,evaluatedMeshParams:c}=this,{width:l,capType:m,joinType:u,miterLimit:f,hasSizeVV:p}=c,d=t(.5*l);h.halfWidth=d,h.capType=o(m),h.joinType=n(u),h.miterLimit=f;const x=!p;a.out=e,a.id=i.getDisplayId(),a.vertexCount=0,a.indexCount=0,a.vertexFrom=e.vertexCount(),a.vertexBounds=x&&d<s?0:1;for(const{line:t,start:s,pathLength:o}of r)h.initialDistance=s%_,a.pathLength=o,a.distanceOffset=Math.floor(s/_)*_,this._lineTessellator.tessellate(t,h,x)}_writeTesselatedVertex(t,e,s,i,r,o,n,a,h,c,l){const{out:m,id:u,vertexBounds:f,pathLength:p,distanceOffset:d}=this._currentWrite;return this.hasEffects&&m.recordBounds(t,e,f,f),this._tessParams.extrusionOffsetX=n,this._tessParams.extrusionOffsetY=a,this._tessParams.normalX=h,this._tessParams.normalY=c,this._tessParams.directionX=r,this._tessParams.directionY=o,this._tessParams.distance=l,this._tessParams.pathLength=p,this._tessParams.distanceOffset=d,this._writeVertex(m,u,t,e,this._tessParams),this._currentWrite.vertexFrom+this._currentWrite.vertexCount++}_writeTriangle(t,e,s){const{out:i}=this._currentWrite;i.indexEnsureSize(3),i.indexWrite(t),i.indexWrite(e),i.indexWrite(s),this._currentWrite.indexCount+=3}}export{x as LineMeshWriter,f as LineTessellationParams,p as LineVertexSpec};
2
+ import{pt2px as t}from"../../../../../../../core/screenUtils.js";import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{thinLineHalfWidthThreshold as s}from"../../../definitions.js";import{LineTessellation as i}from"../../../TurboLine.js";import{clipLinesMarshall as r}from"../../../mesh/templates/templateUtils.js";import{processLineCapInput as o,processLineJoinInput as n,packRounded as a,processColorInput as c,getMinMaxZoom as h}from"../fill/meshWriterUtils.js";import{MeshWriter as l}from"../mesh/MeshWriter.js";import{getLineClippingMargin as m}from"../mesh/utils.js";import{DataType as u}from"../../../../../../webgl/enums.js";class f{constructor(){this.extrusionOffsetX=0,this.extrusionOffsetY=0,this.normalX=0,this.normalY=0,this.directionX=0,this.directionY=0,this.distance=0,this.pathLength=0,this.distanceOffset=0,this.lineLength=0}}const p={createComputedParams:t=>t,optionalAttributes:{zoomRange:{type:u.HALF_FLOAT,count:2,pack:({scaleInfo:t},{tileInfo:e})=>h(t,e)}},attributes:{id:{type:u.UNSIGNED_BYTE,count:3,pack:"id"},pos:{type:u.SHORT,count:2,pack:"position",packPrecisionFactor:10},bitset:{type:u.UNSIGNED_BYTE,count:1},color:{type:u.UNSIGNED_BYTE,count:4,normalized:!0,pack:({color:t})=>c(t)},offset:{type:u.BYTE,count:2,packPrecisionFactor:16,packTessellation:({extrusionOffsetX:t,extrusionOffsetY:e})=>[a(t,16),a(e,16)]},normal:{type:u.BYTE,count:2,packPrecisionFactor:16,packTessellation:({normalX:t,normalY:e})=>[a(t,16),a(e,16)]},halfWidth:{type:u.HALF_FLOAT,count:1,pack:({width:e})=>t(.5*e)},referenceHalfWidth:{type:u.HALF_FLOAT,count:1,pack:({referenceWidth:e})=>t(.5*e)}}};class d{constructor(){this.id=0,this.bitset=0,this.indexCount=0,this.vertexCount=0,this.vertexFrom=0,this.vertexBounds=0,this.pathLength=0,this.distanceOffset=0}}const _=65535;class x extends l{get _effectRotation(){const{effectRotation:t,effectRotationType:e,viewRotation:s}=this.evaluatedMeshParams;return null==t&&null==s?null:{value:t,type:e,viewRotation:s}}constructor(t,e,s,i){super(t,e,s,i),this.vertexSpec=p,this._currentWrite=new d,this._tessellationOptions={halfWidth:0,pixelCoordRatio:1,offset:0,wrapDistance:_,textured:!1},this._tessParams=new f,this._initializeTessellator()}writeLineVertices(t,e,s){const i=this._getLines(e);null!=i&&this._writeVertices(t,s,i)}_initializeTessellator(){this._lineTessellator=new i(this._writeTesselatedVertex.bind(this),this._writeTriangle.bind(this),!0)}_write(t,{target:s,effectGeometry:i}){const r=i??e.fromFeatureSetReaderCIM(s);r&&this._writeGeometry(t,s,r)}_writeGeometry(t,e,s,i){t.recordStart(this.instanceId,this.attributeLayout,i),this.writeLineVertices(t,s,e),t.recordEnd()}_getLines(t){return r(t,m(this.evaluatedMeshParams))}_writeVertices(e,i,r){const{_currentWrite:a,_tessellationOptions:c,evaluatedMeshParams:h}=this,{width:l,capType:m,joinType:u,miterLimit:f,hasSizeVV:p}=h,d=t(.5*l);c.halfWidth=d,c.capType=o(m),c.joinType=n(u),c.miterLimit=f;const x=!p;a.out=e,a.id=i.getDisplayId(),a.vertexCount=0,a.indexCount=0,a.vertexFrom=e.vertexCount(),a.vertexBounds=x&&d<s?0:1;for(const{line:t,start:s,pathLength:o}of r)c.initialDistance=s%_,a.pathLength=o,a.distanceOffset=Math.floor(s/_)*_,this._lineTessellator.tessellate(t,c,x)}_writeTesselatedVertex(t,e,s,i,r,o,n,a,c,h,l){const{out:m,id:u,vertexBounds:f,pathLength:p,distanceOffset:d}=this._currentWrite;return this.hasEffects&&m.recordBounds(t,e,f,f),this._tessParams.extrusionOffsetX=n,this._tessParams.extrusionOffsetY=a,this._tessParams.normalX=c,this._tessParams.normalY=h,this._tessParams.directionX=r,this._tessParams.directionY=o,this._tessParams.distance=l,this._tessParams.pathLength=p,this._tessParams.distanceOffset=d,this._writeVertex(m,u,t,e,this._tessParams),this._currentWrite.vertexFrom+this._currentWrite.vertexCount++}_writeTriangle(t,e,s){const{out:i}=this._currentWrite;i.indexEnsureSize(3),i.indexWrite(t),i.indexWrite(e),i.indexWrite(s),this._currentWrite.indexCount+=3}}export{x as LineMeshWriter,f as LineTessellationParams,p as LineVertexSpec};
@@ -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 a}from"../featureTechniqueUtils.js";import{getAntialiasingControls as n}from"./utils.js";import{LineShader as u}from"../shaders/LineShader.js";class m extends e{constructor(){super(...arguments),this.type=21,this.shaders={geometry:new u},this.symbologyPlane=1}render(e,u){const{painter:m,pixelRatio:p}=e,h=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,h.uniforms),...i(e,u.target),antialiasingControls:n(p)},textures:r(e),defines:{...s(e)},optionalAttributes:h.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(a(e)),m.submitDraw(e,u)}}export{m 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,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};
@@ -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{getAntialiasingControls as n}from"./utils.js";import{TexturedLineShader as u}from"../shaders/TexturedLineShader.js";class m extends e{constructor(){super(...arguments),this.type=33,this.shaders={geometry:new u},this.symbologyPlane=1}render(e,u){const{painter:m,pixelRatio:p}=e,f=u.instance.getInput();m.setShader({shader:this.shaders.geometry,uniforms:{...o(e,u.target,f.uniforms),...i(e,u.target),antialiasingControls:n(p),mosaicInfo:m.textureManager.getMosaicInfo(e,u.textureKey)},textures:{...s(e),mosaicTexture:m.textureManager.getMosaicTexture(e,u.textureKey)},defines:{...r(e)},optionalAttributes:f.optionalAttributes,useComputeBuffer:t(e)}),m.setPipelineState(a(e)),m.submitDraw(e,u)}}export{m 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,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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{location as i,option as o,uniform as s,texture as l,input as r,ComputeVertexInput as a}from"../../GraphShaderModule.js";import{Vec4 as p,Vec2 as n,Float as u,Sampler2D as d,Vec3 as m,min as y,max as h,Mat3 as c,ifElse as x,lessThan as v,equal as w,texture2D as V,clamp as f,abs as S,mix as b,distance as g,greaterThan as C,negate as M}from"../../graph/glsl.js";import{MarkerConstants as z}from"./markerConstants.js";import{FeatureVertexInput as _,AFeatureShader as R,FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{c256ToRad as U,softEdgeRatio as F,trueHit as N,noHit as T}from"../shaders/constants.js";import{isRectHittest as D,hittestMarkerScreenRect as q,distPointTriangle as O,xyToBarycentric as k,inTriangle as A}from"../shaders/hittestUtils.js";import{MosaicInfo as P}from"../shaders/MosaicInfo.js";import{getBit as I,getBitBool as H,rgba2float as G}from"../shaders/utils.js";import{VisualVariableColor as L}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as B}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as E}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as J}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as K}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as W}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as X,getVisualVariableColor as Y,getVisualVariableSize as Z,getVisualVariableRotation as $}from"../shaders/vvUtils.js";class tt extends _{}t([i(3,p)],tt.prototype,"color",void 0),t([i(4,p)],tt.prototype,"outlineColor",void 0),t([i(5,n)],tt.prototype,"offset",void 0),t([i(6,n)],tt.prototype,"textureUV",void 0),t([i(7,p)],tt.prototype,"sizing",void 0),t([i(8,u)],tt.prototype,"placementAngle",void 0),t([i(9,u)],tt.prototype,"sdfDecodeCoeff",void 0),t([i(10,n)],tt.prototype,"zoomRange",void 0);class et extends a{}t([i(11,n)],et.prototype,"offsetNextVertex1",void 0),t([i(12,n)],et.prototype,"offsetNextVertex2",void 0),t([i(13,n)],et.prototype,"textureUVNextVertex1",void 0),t([i(14,n)],et.prototype,"textureUVNextVertex2",void 0);class it extends j{}function ot(t,e,i,o){return e.multiply(t.x).add(i.multiply(t.y)).add(o.multiply(t.z))}function st(t){return t.multiply(t).divide(128)}class lt extends R{constructor(){super(...arguments),this.type="MarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],textureUV:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=st(t.sizing.x),o=st(t.sizing.y),s=st(t.sizing.z),l=t.placementAngle,r=I(t.bitset,z.bitset.isSDF),a=I(t.bitset,z.bitset.isMapAligned),n=I(t.bitset,z.bitset.scaleSymbolsProportionally),d=H(t.bitset,z.bitset.colorLocked),x=X(this,t.id),v=Y(this,t.id,t.color,d).multiply(x),w=this.view.displayViewScreenMat3.multiply(new m(t.pos.xy,1)),V=Z(this,t.id,s).divide(s),f=i.multiply(V),S=t.offset.xy.multiply(V);let b=o.multiply(n.multiply(V.subtract(1)).add(1));b=y(b,h(f.subtract(.99),new u(0)));const g=h(b,new u(1)),C=y(b,new u(1)),M=c.fromRotation(l.multiply(U)),_=$(this,t.id),R=this._getViewRotationMatrix(a).multiply(_).multiply(M).multiply(new m(S.xy,0)).multiply(this.view.scaleFactor),j=this.clip(t.id,t.zoomRange),F=new p(w.xy.add(R.xy),j,1),N=t.textureUV.divide(this.mosaicInfo.size),T=t.outlineColor.multiply(C),D=I(t.bitset,z.bitset.overrideOutlineColor),q=t.sdfDecodeCoeff.multiply(f);return{glPosition:F,color:v,textureUV:N,outlineColor:T,outlineSize:g,distanceToPx:q,isSDF:r,overrideOutlineColor:D,...this.maybeRunHittest(t,e,{pos:t.pos,size:f,sizeCorrection:V,scaleFactor:this.view.scaleFactor,isMapAligned:a,vvRotationMat3:_,placementMat3:M,outlineSize:g,distanceToPx:q,isSDF:r})}}fragment(t){const e=this._getColor(t.textureUV,t);return this.getFragmentOutput(e,t)}hittest(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=D(this.hittestRequest);return x(r,()=>{const{tlbr:t}=this.hittestRequest;return q(o,s,l,t)},()=>x(v(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i)))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,i=this.view.displayMat3,o=new u(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getViewScreenMatrix(t){const e=this.view.viewMat3.multiply(this.view.tileMat3),i=this.view.tileMat3,o=new u(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getColor(t,e){return x(w(e.isSDF,new u(1)),this._getSDFColor(t,e),this._getSpriteColor(t,e))}_getSpriteColor(t,e){return V(this.mosaicTexture,t).multiply(e.color)}_getSDFColor(t,e){const i=V(this.mosaicTexture,t),o=new u(.5).subtract(G(i)).multiply(e.distanceToPx).multiply(F),s=f(new u(.5).subtract(o),new u(0),new u(1)),l=e.color.multiply(s);let r=e.outlineSize;this.highlight&&(r=h(r,e.overrideOutlineColor.multiply(4)));const a=r.multiply(.5),p=S(o).subtract(a),n=f(new u(.5).subtract(p),new u(0),new u(1)),d=b(e.outlineColor,e.color,e.overrideOutlineColor).multiply(n);return new u(1).subtract(d.a).multiply(l).add(d)}_hittestSmallMarker(t,e,i){const{position:o,distance:s,smallSymbolDistance:l}=this.hittestRequest,r=s.subtract(l),{viewMat3:a,tileMat3:p}=this.view,n=a.multiply(p).multiply(new m(i.pos,1)).xy,d=i.size.multiply(.5),y=g(n,o).subtract(d).add(r);return x(C(y,this.hittestRequest.distance),new u(T),new u(N))}_hittestMarker(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=this.hittestRequest.position,a=this.hittestRequest.distance,p=O(r,o,s,l);return x(C(p,a),new u(T),this._hittestSamples(o,s,l,t,e,i))}computeHittestTriangle(t,e,i){const{pos:o,sizeCorrection:s,scaleFactor:l,isMapAligned:r}=i,a=new m(t.offset.multiply(s).multiply(l),0),p=new m(e.offsetNextVertex1.multiply(s).multiply(l),0),n=new m(e.offsetNextVertex2.multiply(s).multiply(l),0),{viewMat3:u,tileMat3:d}=this.view,y=u.multiply(d).multiply(new m(o,1)),h=this._getViewScreenMatrix(r).multiply(i.vvRotationMat3).multiply(i.placementMat3);return{pos0:y.add(h.multiply(a)).xy,pos1:y.add(h.multiply(p)).xy,pos2:y.add(h.multiply(n)).xy}}_hittestSamples(t,e,i,o,s,l){const{outlineSize:r,isSDF:a,distanceToPx:d}=l,m=this.hittestRequest.position,y=this.hittestRequest.distance,h=k(m.add(new n(M(y),M(y))),t,e,i),c=k(m.add(new n(0,M(y))),t,e,i),v=k(m.add(new n(y,M(y))),t,e,i),w=k(m.add(new n(M(y),0)),t,e,i),V=k(m,t,e,i),f=k(m.add(new n(y,0)),t,e,i),S=k(m.add(new n(M(y),y)),t,e,i),b=k(m.add(new n(0,y)),t,e,i),g=k(m.add(new n(y,y)),t,e,i),z=o.textureUV.divide(this.mosaicInfo.size),_=s.textureUVNextVertex1.divide(this.mosaicInfo.size),R=s.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new p(1),outlineColor:new p(1),overrideOutlineColor:new u(1),outlineSize:r,distanceToPx:d,isSDF:a};let U=new u(0);return U=U.add(A(h).multiply(this._getColor(ot(h,z,_,R),j).a)),U=U.add(A(c).multiply(this._getColor(ot(c,z,_,R),j).a)),U=U.add(A(v).multiply(this._getColor(ot(v,z,_,R),j).a)),U=U.add(A(w).multiply(this._getColor(ot(w,z,_,R),j).a)),U=U.add(A(V).multiply(this._getColor(ot(V,z,_,R),j).a)),U=U.add(A(f).multiply(this._getColor(ot(f,z,_,R),j).a)),U=U.add(A(S).multiply(this._getColor(ot(S,z,_,R),j).a)),U=U.add(A(b).multiply(this._getColor(ot(b,z,_,R),j).a)),U=U.add(A(g).multiply(this._getColor(ot(g,z,_,R),j).a)),x(C(U,new u(.05)),new u(N),new u(T))}}t([o(L)],lt.prototype,"visualVariableColor",void 0),t([o(B)],lt.prototype,"visualVariableOpacity",void 0),t([o(E)],lt.prototype,"visualVariableRotation",void 0),t([o(J)],lt.prototype,"visualVariableSizeMinMaxValue",void 0),t([o(K)],lt.prototype,"visualVariableSizeScaleStops",void 0),t([o(Q)],lt.prototype,"visualVariableSizeStops",void 0),t([o(W)],lt.prototype,"visualVariableSizeUnitValue",void 0),t([s(P)],lt.prototype,"mosaicInfo",void 0),t([l(d)],lt.prototype,"mosaicTexture",void 0),t([e(0,r(tt)),e(1,r(et))],lt.prototype,"vertex",null),t([e(0,r(it))],lt.prototype,"fragment",null);export{it as MarkerFragmentInput,lt as MarkerShader,tt as MarkerVertexInput};
2
+ import{__decorate as t,__param as e}from"tslib";import{location as i,option as o,uniform as s,texture as l,input as r,ComputeVertexInput as a}from"../../GraphShaderModule.js";import{Vec4 as n,Vec2 as p,Float as u,Sampler2D as d,Vec3 as m,min as h,max as y,Mat3 as c,ifElse as x,lessThan as V,equal as w,texture2D as v,clamp as f,abs as g,mix as S,distance as b,greaterThan as C,negate as z}from"../../graph/glsl.js";import{MarkerConstants as M}from"./markerConstants.js";import{FeatureVertexInput as _,AFeatureShader as R,FeatureFragmentInput as j}from"../shaders/AFeatureShader.js";import{c256ToRad as U,softEdgeRatio as F,trueHit as T,noHit as D}from"../shaders/constants.js";import{isRectHittest as N,hittestMarkerScreenRect as q,distPointTriangle as O,xyToBarycentric as k,inTriangle as A}from"../shaders/hittestUtils.js";import{MosaicInfo as P}from"../shaders/MosaicInfo.js";import{getBit as I,getBitBool as H,rgba2float as G}from"../shaders/utils.js";import{VisualVariableColor as L}from"../shaders/VisualVariableColor.js";import{VisualVariableOpacity as B}from"../shaders/VisualVariableOpacity.js";import{VisualVariableRotation as E}from"../shaders/VisualVariableRotation.js";import{VisualVariableSizeMinMaxValue as J}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as K}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as W}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as X,getVisualVariableColor as Y,getVisualVariableSize as Z,getVisualVariableRotation as $}from"../shaders/vvUtils.js";class tt extends _{}t([i(3,n)],tt.prototype,"color",void 0),t([i(4,n)],tt.prototype,"outlineColor",void 0),t([i(5,p)],tt.prototype,"offset",void 0),t([i(6,p)],tt.prototype,"textureUV",void 0),t([i(7,n)],tt.prototype,"sizing",void 0),t([i(8,u)],tt.prototype,"placementAngle",void 0),t([i(9,u)],tt.prototype,"sdfDecodeCoeff",void 0),t([i(10,p)],tt.prototype,"zoomRange",void 0);class et extends a{}t([i(11,p)],et.prototype,"offsetNextVertex1",void 0),t([i(12,p)],et.prototype,"offsetNextVertex2",void 0),t([i(13,p)],et.prototype,"textureUVNextVertex1",void 0),t([i(14,p)],et.prototype,"textureUVNextVertex2",void 0);class it extends j{}function ot(t,e,i,o){return e.multiply(t.x).add(i.multiply(t.y)).add(o.multiply(t.z))}function st(t){return t.multiply(t).divide(128)}class lt extends R{constructor(){super(...arguments),this.type="MarkerShader",this.computeAttributes={offset:["offsetNextVertex1","offsetNextVertex2"],textureUV:["textureUVNextVertex1","textureUVNextVertex2"]}}vertex(t,e){const i=st(t.sizing.x),o=st(t.sizing.y),s=st(t.sizing.z),l=t.placementAngle,r=I(t.bitset,M.bitset.isSDF),a=I(t.bitset,M.bitset.isMapAligned),p=I(t.bitset,M.bitset.scaleSymbolsProportionally),d=H(t.bitset,M.bitset.colorLocked),x=X(this,t.id),V=Y(this,t.id,t.color,d).multiply(x),w=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new m(t.pos.xy,1)),v=Z(this,t.id,s).divide(s),f=i.multiply(v),g=t.offset.xy.multiply(v);let S=o.multiply(p.multiply(v.subtract(1)).add(1));S=h(S,y(f.subtract(.99),new u(0)));const b=y(S,new u(1)),C=h(S,new u(1)),z=c.fromRotation(l.multiply(U)),_=$(this,t.id),R=this._getViewRotationMatrix(a).multiply(_).multiply(z).multiply(new m(g.xy,0)).multiply(this.tileContainer.scaleFactor),j=this.clip(t.id,t.zoomRange),F=new n(w.xy.add(R.xy),j,1),T=t.textureUV.divide(this.mosaicInfo.size),D=t.outlineColor.multiply(C),N=I(t.bitset,M.bitset.overrideOutlineColor),q=t.sdfDecodeCoeff.multiply(f);return{glPosition:F,color:V,textureUV:T,outlineColor:D,outlineSize:b,distanceToPx:q,isSDF:r,overrideOutlineColor:N,...this.maybeRunHittest(t,e,{pos:t.pos,size:f,sizeCorrection:v,scaleFactor:this.tileContainer.scaleFactor,isMapAligned:a,vvRotationMat3:_,placementMat3:z,outlineSize:b,distanceToPx:q,isSDF:r})}}fragment(t){const e=this._getColor(t.textureUV,t);return this.getFragmentOutput(e,t)}hittest(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=N(this.hittestRequest);return x(r,()=>{const{tlbr:t}=this.hittestRequest;return q(o,s,l,t)},()=>x(V(i.size,this.hittestRequest.smallSymbolSizeThreshold),this._hittestSmallMarker(t,e,i),this._hittestMarker(t,e,i)))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,i=this.view.displayMat3,o=new u(1).subtract(t);return e.multiply(t).add(i.multiply(o))}_getViewScreenMatrix(t){const e=this.tile.getTileMat3(this.view,this.tileContainer),i=this.view.viewMat3.multiply(e),o=e,s=new u(1).subtract(t);return i.multiply(t).add(o.multiply(s))}_getColor(t,e){return x(w(e.isSDF,new u(1)),this._getSDFColor(t,e),this._getSpriteColor(t,e))}_getSpriteColor(t,e){return v(this.mosaicTexture,t).multiply(e.color)}_getSDFColor(t,e){const i=v(this.mosaicTexture,t),o=new u(.5).subtract(G(i)).multiply(e.distanceToPx).multiply(F),s=f(new u(.5).subtract(o),new u(0),new u(1)),l=e.color.multiply(s);let r=e.outlineSize;this.highlight&&(r=y(r,e.overrideOutlineColor.multiply(4)));const a=r.multiply(.5),n=g(o).subtract(a),p=f(new u(.5).subtract(n),new u(0),new u(1)),d=S(e.outlineColor,e.color,e.overrideOutlineColor).multiply(p);return new u(1).subtract(d.a).multiply(l).add(d)}_hittestSmallMarker(t,e,i){const{position:o,distance:s,smallSymbolDistance:l}=this.hittestRequest,r=s.subtract(l),a=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new m(i.pos,1)).xy,n=i.size.multiply(.5),p=b(a,o).subtract(n).add(r);return x(C(p,this.hittestRequest.distance),new u(D),new u(T))}_hittestMarker(t,e,i){const{pos0:o,pos1:s,pos2:l}=this.computeHittestTriangle(t,e,i),r=this.hittestRequest.position,a=this.hittestRequest.distance,n=O(r,o,s,l);return x(C(n,a),new u(D),this._hittestSamples(o,s,l,t,e,i))}computeHittestTriangle(t,e,i){const{pos:o,sizeCorrection:s,scaleFactor:l,isMapAligned:r}=i,a=new m(t.offset.multiply(s).multiply(l),0),n=new m(e.offsetNextVertex1.multiply(s).multiply(l),0),p=new m(e.offsetNextVertex2.multiply(s).multiply(l),0),u=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new m(o,1)),d=this._getViewScreenMatrix(r).multiply(i.vvRotationMat3).multiply(i.placementMat3);return{pos0:u.add(d.multiply(a)).xy,pos1:u.add(d.multiply(n)).xy,pos2:u.add(d.multiply(p)).xy}}_hittestSamples(t,e,i,o,s,l){const{outlineSize:r,isSDF:a,distanceToPx:d}=l,m=this.hittestRequest.position,h=this.hittestRequest.distance,y=k(m.add(new p(z(h),z(h))),t,e,i),c=k(m.add(new p(0,z(h))),t,e,i),V=k(m.add(new p(h,z(h))),t,e,i),w=k(m.add(new p(z(h),0)),t,e,i),v=k(m,t,e,i),f=k(m.add(new p(h,0)),t,e,i),g=k(m.add(new p(z(h),h)),t,e,i),S=k(m.add(new p(0,h)),t,e,i),b=k(m.add(new p(h,h)),t,e,i),M=o.textureUV.divide(this.mosaicInfo.size),_=s.textureUVNextVertex1.divide(this.mosaicInfo.size),R=s.textureUVNextVertex2.divide(this.mosaicInfo.size),j={color:new n(1),outlineColor:new n(1),overrideOutlineColor:new u(1),outlineSize:r,distanceToPx:d,isSDF:a};let U=new u(0);return U=U.add(A(y).multiply(this._getColor(ot(y,M,_,R),j).a)),U=U.add(A(c).multiply(this._getColor(ot(c,M,_,R),j).a)),U=U.add(A(V).multiply(this._getColor(ot(V,M,_,R),j).a)),U=U.add(A(w).multiply(this._getColor(ot(w,M,_,R),j).a)),U=U.add(A(v).multiply(this._getColor(ot(v,M,_,R),j).a)),U=U.add(A(f).multiply(this._getColor(ot(f,M,_,R),j).a)),U=U.add(A(g).multiply(this._getColor(ot(g,M,_,R),j).a)),U=U.add(A(S).multiply(this._getColor(ot(S,M,_,R),j).a)),U=U.add(A(b).multiply(this._getColor(ot(b,M,_,R),j).a)),x(C(U,new u(.05)),new u(T),new u(D))}}t([o(L)],lt.prototype,"visualVariableColor",void 0),t([o(B)],lt.prototype,"visualVariableOpacity",void 0),t([o(E)],lt.prototype,"visualVariableRotation",void 0),t([o(J)],lt.prototype,"visualVariableSizeMinMaxValue",void 0),t([o(K)],lt.prototype,"visualVariableSizeScaleStops",void 0),t([o(Q)],lt.prototype,"visualVariableSizeStops",void 0),t([o(W)],lt.prototype,"visualVariableSizeUnitValue",void 0),t([s(P)],lt.prototype,"mosaicInfo",void 0),t([l(d)],lt.prototype,"mosaicTexture",void 0),t([e(0,r(tt)),e(1,r(et))],lt.prototype,"vertex",null),t([e(0,r(it))],lt.prototype,"fragment",null);export{it as MarkerFragmentInput,lt as MarkerShader,tt as MarkerVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{loadGeometryOperatorsForEffect as t,loadGeometryOperatorsForPlacement as r}from"../../../../../../../symbols/cim/CIMEffects.js";import{getEffectsInflateSize as s}from"../../../../../../../symbols/cim/utils.js";import{EffectHelper as a}from"../../../../../../../symbols/cim/effects/EffectHelper.js";import{MeshWriterVertexPack as i}from"./MeshWriterVertexPack.js";const n=96/72;class c{constructor(e,t,r,s){this._instanceId=e,this._evaluator=t,this._enabledOptionalAttributes=r,this._viewParams=s,this._evaluator.evaluator=e=>this.vertexSpec.createComputedParams(e)}get _vertexPack(){if(!this._cachedVertexPack){const e=i.fromVertexSpec(this.vertexSpec,this._enabledOptionalAttributes);this._evaluator.hasDynamicProperties||e.pack(this._evaluator.evaluatedMeshParams,this._viewParams),this._cachedVertexPack=e}return this._cachedVertexPack}get evaluatedMeshParams(){return this._evaluator.evaluatedMeshParams}get hasEffects(){return!!this.evaluatedMeshParams.effects}get effectInfos(){return this._evaluator.inputMeshParams.effects?.effectInfos}get placementInfo(){return this._evaluator.inputMeshParams.placement}get instanceId(){return this._instanceId}get attributeLayout(){return this._vertexPack.attributeLayout}get _preventEffectClipping(){return!1}get _effectRotation(){return null}setReferences(e){this._references=e}getBoundsInfo(){return null}getTileInfo(){return this._viewParams.tileInfo}async loadDependencies(){for(const{effect:e}of this.effectInfos||[])await t(e);this.placementInfo&&await r(this.placementInfo.placement)}enqueueRequest(e,t,r){this._evaluator.hasDynamicProperties&&this._evaluator.enqueueRequest(e,t,r)}write(e,t,r,s,a,i,n,c){this.ensurePacked(t,r,s);const o=e.id||"",h=this.evaluatedMeshParams.effects,f=this._createEffectExecutionContext(r,s,o,n,c),u={target:r,options:s,level:a,viewExtent:i};if(!h||0===h.length)return void this._write(e,u);const l=this.getEffectCursor(r,h,f);if(!l)return;let m;for(;m=l.next();)m.invertY(),this._write(e,{...u,effectGeometry:m,scaleFactor:n})}ensurePacked(e,t,r){if(!this._evaluator.hasDynamicProperties)return;const s=this._evaluator.evaluateMeshParams(e,t,r);this._vertexPack.pack(s,this._viewParams)}hasArcadeDependency(e){return this._evaluator.hasArcadeDependency(e)}_writeVertex(e,t,r,s,a){const i=this.evaluatedMeshParams;this._vertexPack.writeVertex(e,t,r,s,i,a)}_createEffectExecutionContext(e,t,r,a,i){return{geomUnitsPerPoint:n,maxInflateSize:s(this.evaluatedMeshParams.effects),scale:t.$view.scale,spatialReference:e.metadata.outSpatialReference??e.metadata.spatialReference,preventClipping:this._preventEffectClipping,tileKey:r,scaleFactor:a,matcher:i,target:e}}getEffectCursor(t,r,s){null==s.scaleFactor&&(s={...s,scaleFactor:1});const i=t.readGeometryForDisplay()?.clone();if(!i)return;const n=e.fromOptimizedCIM(i,t.geometryType);n.invertY();const c=a.executeEffects(r,n,s),h=this._effectRotation,f=h?.value;if("esriGeometryPoint"!==t.geometryType||null==f||isNaN(f))return c;if(n.reset(),!n.nextPath()||!n.nextPoint())return c;const u=n.x,l=n.y;n.reset();const m="arithmetic"===h?.type?90-f:f;return 0===m?c:new o(c,u,l,-m*Math.PI/180)}}class o{constructor(e,t,r,s){this._cursor=e,this._centerX=t,this._centerY=r,this._cos=Math.cos(s),this._sin=Math.sin(s)}next(){const e=this._cursor.next();if(!e)return null;const t=e.clone();for(;t.nextPath();)for(;t.nextPoint();){const e=t.x-this._centerX,r=t.y-this._centerY;t.x=this._centerX+e*this._cos-r*this._sin,t.y=this._centerY+e*this._sin+r*this._cos}return t.reset(),t}}export{c as MeshWriter};
2
+ import{GeometryCursor as e}from"../../../../../../../geometry/GeometryCursor.js";import{loadGeometryOperatorsForEffect as t,loadGeometryOperatorsForPlacement as s}from"../../../../../../../symbols/cim/CIMEffects.js";import{getEffectsInflateSize as r}from"../../../../../../../symbols/cim/utils.js";import{EffectHelper as a}from"../../../../../../../symbols/cim/effects/EffectHelper.js";import{MeshWriterVertexPack as i}from"./MeshWriterVertexPack.js";const n=96/72;class c{constructor(e,t,s,r){this._instanceId=e,this._evaluator=t,this._enabledOptionalAttributes=s,this._viewParams=r,this._evaluator.evaluator=e=>this.vertexSpec.createComputedParams(e)}get _vertexPack(){if(!this._cachedVertexPack){const e=i.fromVertexSpec(this.vertexSpec,this._enabledOptionalAttributes);this._evaluator.hasDynamicProperties||e.pack(this._evaluator.evaluatedMeshParams,this._viewParams),this._cachedVertexPack=e}return this._cachedVertexPack}get evaluatedMeshParams(){return this._evaluator.evaluatedMeshParams}get hasEffects(){return!!this.evaluatedMeshParams.effects}get effectInfos(){return this._evaluator.inputMeshParams.effects?.effectInfos}get placementInfo(){return this._evaluator.inputMeshParams.placement}get instanceId(){return this._instanceId}get attributeLayout(){return this._vertexPack.attributeLayout}get _preventEffectClipping(){return!1}get _effectRotation(){return null}setReferences(e){this._references=e}getBoundsInfo(){return null}getTileInfo(){return this._viewParams.tileInfo}async loadDependencies(){for(const{effect:e}of this.effectInfos||[])await t(e);this.placementInfo&&await s(this.placementInfo.placement)}enqueueRequest(e,t,s){this._evaluator.hasDynamicProperties&&this._evaluator.enqueueRequest(e,t,s)}write(e,t,s,r,a,i,n,c){this.ensurePacked(t,s,r);const o=e.id||"",h=this.evaluatedMeshParams.effects,u=this._createEffectExecutionContext(s,r,o,n,c),f={target:s,options:r,level:a,viewExtent:i};if(!h||0===h.length)return void this._write(e,f);const l=this.getEffectCursor(s,h,u);if(!l)return;let m;for(;m=l.next();)m.invertY(),this._write(e,{...f,effectGeometry:m,scaleFactor:n})}ensurePacked(e,t,s){if(!this._evaluator.hasDynamicProperties)return;const r=this._evaluator.evaluateMeshParams(e,t,s);this._vertexPack.pack(r,this._viewParams)}hasArcadeDependency(e){return this._evaluator.hasArcadeDependency(e)}_writeVertex(e,t,s,r,a){const i=this.evaluatedMeshParams;this._vertexPack.writeVertex(e,t,s,r,i,a)}_createEffectExecutionContext(e,t,s,a,i){return{geomUnitsPerPoint:n,maxInflateSize:r(this.evaluatedMeshParams.effects),scale:t.$view.scale,spatialReference:e.metadata.outSpatialReference??e.metadata.spatialReference,preventClipping:this._preventEffectClipping,tileKey:s,scaleFactor:a,matcher:i,target:e}}getEffectCursor(t,s,r){null==r.scaleFactor&&(r={...r,scaleFactor:1});const i=t.readGeometryForDisplay()?.clone();if(!i)return;const n=e.fromOptimizedCIM(i,t.geometryType);n.invertY();const c=a.executeEffects(s,n,r),h=this._effectRotation,u=h?.value,f=h?.viewRotation;if("esriGeometryPoint"!==t.geometryType||(null==u||isNaN(u))&&(null==f||isNaN(f)))return c;if(n.reset(),!n.nextPath()||!n.nextPoint())return c;const l=n.x,m=n.y;n.reset();const _=(null==u||isNaN(u)?0:"arithmetic"===h?.type?90-u:u)+(null==f||isNaN(f)?0:-f);return 0===_?c:new o(c,l,m,-_*Math.PI/180)}}class o{constructor(e,t,s,r){this._cursor=e,this._centerX=t,this._centerY=s,this._cos=Math.cos(r),this._sin=Math.sin(r)}next(){const e=this._cursor.next();if(!e)return null;const t=e.clone();for(;t.nextPath();)for(;t.nextPoint();){const e=t.x-this._centerX,s=t.y-this._centerY;t.x=this._centerX+e*this._cos-s*this._sin,t.y=this._centerY+e*this._sin+s*this._cos}return t.reset(),t}}export{c as MeshWriter};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{Mesh as t}from"../../../meshing/Mesh.js";import{simplePipelineState as s}from"../../utils.js";import{Technique as i}from"../Technique.js";import{OverlayShader as r}from"../shaders/OverlayShader.js";import{PrimitiveType as n,DataType as o}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as a}from"../../../../../../webgl/VertexElementDescriptor.js";class u extends i{constructor(){super(...arguments),this.type=27,this._mesh=null,this.shaders={overlay:new r}}render(e,t){const{context:i,painter:r}=e,n=this._getMesh(e,t);r.setPipelineState(s);const{isWrapAround:o,wrapAroundShift:a}=t.config,u={...t.config,wrapAroundShift:0},h={shader:this.shaders.overlay,uniforms:{transform:t.transform,config:u},textures:{texture:t.texture},defines:null,optionalAttributes:null,useComputeBuffer:!1};r.setPipelineState({...s,stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}}),r.submitDrawMeshUntyped(i,h,n,{stencilRef:0}),o&&(u.wrapAroundShift=a,r.submitDrawMeshUntyped(i,h,n,{stencilRef:0}))}shutdown(){e(this._mesh)}_getMesh(e,s){const{context:i}=e;if(this._mesh){const e=this._mesh.vertexBuffers.get("positions");if(!e)throw new Error("Buffer not found");e.setData(s.position)}else{const e=null!=s.index?s.index.length:s.position.length/2;this._mesh=new t(i,{vertex:{positions:{data:s.position,layout:[new a("pos",2,o.FLOAT,0,8)]},uvs:{data:s.tex,layout:[new a("uv",2,o.UNSIGNED_SHORT,0,4)]}},index:null!=s.index?{index:{data:s.index}}:void 0,groups:[{index:null!=s.index?"index":void 0,primitive:n.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:e}]})}return this._mesh}}export{u as OverlayTechnique};
2
+ import{destroyMaybe as e}from"../../../../../../../core/maybe.js";import{Mesh as t}from"../../../meshing/Mesh.js";import{simplePipelineState as s}from"../../utils.js";import{Technique as i}from"../Technique.js";import{OverlayShader as r}from"../shaders/OverlayShader.js";import{getViewUniforms as o}from"../shaders/ViewInfo.js";import{PrimitiveType as n,DataType as a}from"../../../../../../webgl/enums.js";import{VertexElementDescriptor as u}from"../../../../../../webgl/VertexElementDescriptor.js";class h extends i{constructor(){super(...arguments),this.type=27,this._mesh=null,this.shaders={overlay:new r}}render(e,t){const{context:i,painter:r}=e,n=this._getMesh(e,t);r.setPipelineState(s);const{isWrapAround:a,wrapAroundShift:u,...h}=t.config,p={...h,wrapAroundShift:0},l={shader:this.shaders.overlay,uniforms:{view:o(e),config:p},textures:{texture:t.texture},defines:null,optionalAttributes:null,useComputeBuffer:!1};r.setPipelineState({...s,stencil:{write:!1,test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}}),r.submitDrawMeshUntyped(i,l,n,{stencilRef:0}),a&&(p.wrapAroundShift=u,r.submitDrawMeshUntyped(i,l,n,{stencilRef:0}))}shutdown(){e(this._mesh)}_getMesh(e,s){const{context:i}=e;if(this._mesh){const e=this._mesh.vertexBuffers.get("positions");if(!e)throw new Error("Buffer not found");e.setData(s.position)}else{const e=null!=s.index?s.index.length:s.position.length/2;this._mesh=new t(i,{vertex:{positions:{data:s.position,layout:[new u("pos",2,a.FLOAT,0,8)]},uvs:{data:s.tex,layout:[new u("uv",2,a.UNSIGNED_SHORT,0,4)]}},index:null!=s.index?{index:{data:s.index}}:void 0,groups:[{index:null!=s.index?"index":void 0,primitive:n.TRIANGLE_STRIP}],parts:[{group:0,start:0,count:e}]})}return this._mesh}}export{h as OverlayTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{uniform as r,location as o,option as i,input as s,UniformGroup as l}from"../../GraphShaderModule.js";import{Float as a,FixedArray as n,Vec4 as u,Vec2 as d,Vec3 as c,Int as h,ifElse as p,greaterThan as m,or as w,max as y,lessThan as S,and as g,greaterThanEqual as b,equal as f,abs as x,length as v,smoothstep as V,mix as C,step as _,not as A,mod as z,atan2 as T,min as R,clamp as j,lessThanEqual as D,distance as M}from"../../graph/glsl.js";import{FeatureVertexInput as O,AFeatureShader as F,FeatureFragmentInput as I}from"../shaders/AFeatureShader.js";import{bitsetMarkerScaleSymbolsProportionally as q,bitsetMarkerAlignmentMap as W,noHit as U,trueHit as P,epsilon as G,cRadToDeg as H}from"../shaders/constants.js";import{hittestMarker as k,isRectHittest as B}from"../shaders/hittestUtils.js";import{getBit as E,isNan as J}from"../shaders/utils.js";import{VisualVariableOpacity as K}from"../shaders/VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as L}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as N}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as X}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as Y,getVisualVariableSize as Z}from"../shaders/vvUtils.js";const $=10;class tt extends l{}t([r(a)],tt.prototype,"outlineWidth",void 0),t([r(n.ofType(u,$))],tt.prototype,"colors",void 0),t([r(u)],tt.prototype,"defaultColor",void 0),t([r(u)],tt.prototype,"othersColor",void 0),t([r(u)],tt.prototype,"outlineColor",void 0),t([r(a)],tt.prototype,"donutRatio",void 0),t([r(a)],tt.prototype,"sectorThreshold",void 0),t([r(a)],tt.prototype,"fieldCount",void 0);class et extends O{}t([o(3,d)],et.prototype,"offset",void 0),t([o(4,d)],et.prototype,"texCoords",void 0),t([o(5,a)],et.prototype,"referenceSize",void 0),t([o(6,d)],et.prototype,"zoomRange",void 0);class rt extends I{}class ot extends F{constructor(){super(...arguments),this.type="PieChartShader"}vertex(t){const e=Y(this,t.id),r=Z(this,t.id,t.referenceSize).divide(t.referenceSize),o=t.referenceSize.multiply(.5).multiply(r),i=t.offset.multiply(r),s=E(t.bitset,q),l=this.chart.outlineWidth.multiply(s.multiply(r.subtract(1)).add(1)),p=this.view.displayViewScreenMat3.multiply(new c(t.pos,1)),m=this._getViewRotationMatrix(E(t.bitset,W)).multiply(new c(i,0)),w=new u(p.xy.add(m.xy),this.clip(t.id,t.zoomRange),1),y=null==this.hittestRequest?this._getSectorData(t.id):{filteredSectorToColorId:new n(new d(0),$),numberOfFilteredSectors:new h(0),maxSectorAngle:new a(0)};return{glPosition:w,color:new u(0),offset:t.texCoords.multiply(2).subtract(1),size:o,outlineWidth:l,opacity:e,filteredSectorToColorId:y.filteredSectorToColorId,numberOfFilteredSectors:y.numberOfFilteredSectors,maxSectorAngle:y.maxSectorAngle,...this.maybeRunHittest(t,{},o)}}fragment(t){return this.getFragmentOutput(null!=this.hittestRequest?new u(0):this._getColor(t),t)}hittest(t,e,r){const{viewMat3:o,tileMat3:i}=this.view,s=o.multiply(i).multiply(new c(t.pos,1)).xy;return p(B(this.hittestRequest),this._hittestScreenRect(s,r),p(m(k(s,r,this.hittestRequest.position),this.hittestRequest.distance),new a(U),new a(P)))}_getColor(t){const e=this._getAngle(t.offset),r=m(this.chart.sectorThreshold,new a(0));let o=p(w(m(t.maxSectorAngle,new a(0)),r),this.chart.othersColor,this.chart.defaultColor);const i=y(t.numberOfFilteredSectors.subtract(1),new h(0)),s=this._getSectorColor(t.filteredSectorToColorId,i),l=this._getSectorColor(t.filteredSectorToColorId,0),n=m(t.numberOfFilteredSectors,new h(0));let u=p(n,s,o),d=p(n,l,o),c=p(n,t.maxSectorAngle,new a(0)),_=p(n,new a(360),new a(0));const A=S(e,t.maxSectorAngle),z=g(r,S(t.maxSectorAngle.add(new a(G)),new a(360)));let T=new a(0);for(let w=0;w<$;w++){const r=t.filteredSectorToColorId.get(w).x,i=S(new h(w),t.numberOfFilteredSectors),l=g(A,g(i,g(m(r,e),b(e,T)))),n=w>0?this._getSectorColor(t.filteredSectorToColorId,w-1):s,y=p(S(new h(w+1),t.numberOfFilteredSectors),new h(w+1),new h(0)),v=this._getSectorColor(t.filteredSectorToColorId,y),V=p(g(z,f(new a(w),new a(0))),this.chart.othersColor,n),C=p(g(z,S(x(r.subtract(t.maxSectorAngle)),new a(G))),this.chart.othersColor,v);o=p(l,this._getSectorColor(t.filteredSectorToColorId,w),o),u=p(l,V,u),d=p(l,C,d),c=p(l,T,c),_=p(l,r,_),T=p(i,r,T)}const R=v(t.offset),j=R.multiply(t.size),D=new a(.75),M=e.subtract(c),O=_.subtract(e),F=V(D.multiply(-1),D,M.multiply(R)),I=V(D.multiply(-1),D,O.multiply(R));o=C(u,o,F).add(C(d,o,I)).subtract(o);const q=t.size.subtract(t.outlineWidth).subtract(D),W=this.chart.donutRatio.multiply(q),U=W.subtract(t.outlineWidth),P=p(m(U,D),V(U.subtract(D),U.add(D),j),new a(1)),H=new a(1).subtract(V(t.size.subtract(D.multiply(2)),t.size,j)),k=P.multiply(H),B=g(m(q,new a(0)),m(t.outlineWidth,new a(.25))),E=V(q.subtract(D),q.add(D),j),J=p(m(W,D),new a(1).subtract(V(W.subtract(D),W.add(D),j)),new a(0));return o=p(B,C(o,this.chart.outlineColor,J.add(E)),o),t.opacity.multiply(k).multiply(o)}_getSectorData(t){const e=this._getAttributeValues(t);let r=new a(0);for(let a=0;a<$;a++)r=r.add(e[a]);const o=this.chart.sectorThreshold.multiply(360);let i=new n(new d(0),$),s=new a(0),l=new h(0);for(let n=0;n<$;n++){const t=p(m(r,new a(0)),e[n].multiply(360).divide(r),new a(0)),u=p(m(t,o),new a(1),new a(0)),c=s.add(u.multiply(t)),w=new d(c,new a(n));i=i.set(l,w),s=c,l=l.add(new h(u))}return{filteredSectorToColorId:i,numberOfFilteredSectors:l,maxSectorAngle:s}}_getAttributeValues(t){const e=this.getAttributeDataCoords(t),r=this.storageTextures.getDataDrivenData0(e),o=this.storageTextures.getDataDrivenData1(e),i=this.storageTextures.getDataDrivenData2(e);return[this._getAttributeValue(r.x,0),this._getAttributeValue(r.y,1),this._getAttributeValue(r.z,2),this._getAttributeValue(r.w,3),this._getAttributeValue(o.x,4),this._getAttributeValue(o.y,5),this._getAttributeValue(o.z,6),this._getAttributeValue(o.w,7),this._getAttributeValue(i.x,8),this._getAttributeValue(i.y,9)]}_getAttributeValue(t,e){const r=_(new a(e+1),this.chart.fieldCount);return p(g(A(J(t)),m(t,new a(0))),t,new a(0)).multiply(r)}_getAngle(t){return z(new a(90).subtract(new a(H).multiply(T(t.y,t.x))),new a(360))}_getSectorColor(t,e){return this.chart.colors.get(new h(t.get(e).y))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,r=this.view.displayMat3,o=new a(1).subtract(t);return e.multiply(t).add(r.multiply(o))}_hittestScreenRect(t,e){const r=this.hittestRequest.tlbr.xy,o=this.hittestRequest.tlbr.zw,i=R(r.x,o.x),s=R(r.y,o.y),l=y(r.x,o.x),n=y(r.y,o.y),u=new d(j(t.x,i,l),j(t.y,s,n));return p(D(M(t,u),e),new a(1),new a(0))}}t([r(tt)],ot.prototype,"chart",void 0),t([i(K)],ot.prototype,"visualVariableOpacity",void 0),t([i(L)],ot.prototype,"visualVariableSizeMinMaxValue",void 0),t([i(N)],ot.prototype,"visualVariableSizeScaleStops",void 0),t([i(Q)],ot.prototype,"visualVariableSizeStops",void 0),t([i(X)],ot.prototype,"visualVariableSizeUnitValue",void 0),t([e(0,s(et))],ot.prototype,"vertex",null),t([e(0,s(rt))],ot.prototype,"fragment",null);export{ot as PieChartShader,et as PieChartVertexInput,$ as maxPieChartFields};
2
+ import{__decorate as t,__param as e}from"tslib";import{uniform as r,location as o,option as i,input as s,UniformGroup as l}from"../../GraphShaderModule.js";import{Float as a,FixedArray as n,Vec4 as u,Vec2 as d,Vec3 as c,Int as h,ifElse as p,greaterThan as m,or as w,max as y,lessThan as S,and as g,greaterThanEqual as b,equal as f,abs as x,length as V,smoothstep as v,mix as C,step as _,not as A,mod as z,atan2 as T,min as R,clamp as D,lessThanEqual as j,distance as M}from"../../graph/glsl.js";import{FeatureVertexInput as O,AFeatureShader as F,FeatureFragmentInput as I}from"../shaders/AFeatureShader.js";import{bitsetMarkerScaleSymbolsProportionally as q,bitsetMarkerAlignmentMap as W,noHit as U,trueHit as P,epsilon as G,cRadToDeg as H}from"../shaders/constants.js";import{hittestMarker as k,isRectHittest as B}from"../shaders/hittestUtils.js";import{getBit as E,isNan as J}from"../shaders/utils.js";import{VisualVariableOpacity as K}from"../shaders/VisualVariableOpacity.js";import{VisualVariableSizeMinMaxValue as L}from"../shaders/VisualVariableSizeMinMaxValue.js";import{VisualVariableSizeScaleStops as N}from"../shaders/VisualVariableSizeScaleStops.js";import{VisualVariableSizeStops as Q}from"../shaders/VisualVariableSizeStops.js";import{VisualVariableSizeUnitValue as X}from"../shaders/VisualVariableSizeUnitValue.js";import{getVisualVariableOpacity as Y,getVisualVariableSize as Z}from"../shaders/vvUtils.js";const $=10;class tt extends l{}t([r(a)],tt.prototype,"outlineWidth",void 0),t([r(n.ofType(u,$))],tt.prototype,"colors",void 0),t([r(u)],tt.prototype,"defaultColor",void 0),t([r(u)],tt.prototype,"othersColor",void 0),t([r(u)],tt.prototype,"outlineColor",void 0),t([r(a)],tt.prototype,"donutRatio",void 0),t([r(a)],tt.prototype,"sectorThreshold",void 0),t([r(a)],tt.prototype,"fieldCount",void 0);class et extends O{}t([o(3,d)],et.prototype,"offset",void 0),t([o(4,d)],et.prototype,"texCoords",void 0),t([o(5,a)],et.prototype,"referenceSize",void 0),t([o(6,d)],et.prototype,"zoomRange",void 0);class rt extends I{}class ot extends F{constructor(){super(...arguments),this.type="PieChartShader"}vertex(t){const e=Y(this,t.id),r=Z(this,t.id,t.referenceSize).divide(t.referenceSize),o=t.referenceSize.multiply(.5).multiply(r),i=t.offset.multiply(r),s=E(t.bitset,q),l=this.chart.outlineWidth.multiply(s.multiply(r.subtract(1)).add(1)),p=this.tile.getDisplayViewScreenMat3(this.view,this.tileContainer).multiply(new c(t.pos,1)),m=this._getViewRotationMatrix(E(t.bitset,W)).multiply(new c(i,0)),w=new u(p.xy.add(m.xy),this.clip(t.id,t.zoomRange),1),y=null==this.hittestRequest?this._getSectorData(t.id):{filteredSectorToColorId:new n(new d(0),$),numberOfFilteredSectors:new h(0),maxSectorAngle:new a(0)};return{glPosition:w,color:new u(0),offset:t.texCoords.multiply(2).subtract(1),size:o,outlineWidth:l,opacity:e,filteredSectorToColorId:y.filteredSectorToColorId,numberOfFilteredSectors:y.numberOfFilteredSectors,maxSectorAngle:y.maxSectorAngle,...this.maybeRunHittest(t,{},o)}}fragment(t){return this.getFragmentOutput(null!=this.hittestRequest?new u(0):this._getColor(t),t)}hittest(t,e,r){const o=this.tile.getViewScreenMat3(this.view,this.tileContainer).multiply(new c(t.pos,1)).xy;return p(B(this.hittestRequest),this._hittestScreenRect(o,r),p(m(k(o,r,this.hittestRequest.position),this.hittestRequest.distance),new a(U),new a(P)))}_getColor(t){const e=this._getAngle(t.offset),r=m(this.chart.sectorThreshold,new a(0));let o=p(w(m(t.maxSectorAngle,new a(0)),r),this.chart.othersColor,this.chart.defaultColor);const i=y(t.numberOfFilteredSectors.subtract(1),new h(0)),s=this._getSectorColor(t.filteredSectorToColorId,i),l=this._getSectorColor(t.filteredSectorToColorId,0),n=m(t.numberOfFilteredSectors,new h(0));let u=p(n,s,o),d=p(n,l,o),c=p(n,t.maxSectorAngle,new a(0)),_=p(n,new a(360),new a(0));const A=S(e,t.maxSectorAngle),z=g(r,S(t.maxSectorAngle.add(new a(G)),new a(360)));let T=new a(0);for(let w=0;w<$;w++){const r=t.filteredSectorToColorId.get(w).x,i=S(new h(w),t.numberOfFilteredSectors),l=g(A,g(i,g(m(r,e),b(e,T)))),n=w>0?this._getSectorColor(t.filteredSectorToColorId,w-1):s,y=p(S(new h(w+1),t.numberOfFilteredSectors),new h(w+1),new h(0)),V=this._getSectorColor(t.filteredSectorToColorId,y),v=p(g(z,f(new a(w),new a(0))),this.chart.othersColor,n),C=p(g(z,S(x(r.subtract(t.maxSectorAngle)),new a(G))),this.chart.othersColor,V);o=p(l,this._getSectorColor(t.filteredSectorToColorId,w),o),u=p(l,v,u),d=p(l,C,d),c=p(l,T,c),_=p(l,r,_),T=p(i,r,T)}const R=V(t.offset),D=R.multiply(t.size),j=new a(.75),M=e.subtract(c),O=_.subtract(e),F=v(j.multiply(-1),j,M.multiply(R)),I=v(j.multiply(-1),j,O.multiply(R));o=C(u,o,F).add(C(d,o,I)).subtract(o);const q=t.size.subtract(t.outlineWidth).subtract(j),W=this.chart.donutRatio.multiply(q),U=W.subtract(t.outlineWidth),P=p(m(U,j),v(U.subtract(j),U.add(j),D),new a(1)),H=new a(1).subtract(v(t.size.subtract(j.multiply(2)),t.size,D)),k=P.multiply(H),B=g(m(q,new a(0)),m(t.outlineWidth,new a(.25))),E=v(q.subtract(j),q.add(j),D),J=p(m(W,j),new a(1).subtract(v(W.subtract(j),W.add(j),D)),new a(0));return o=p(B,C(o,this.chart.outlineColor,J.add(E)),o),t.opacity.multiply(k).multiply(o)}_getSectorData(t){const e=this._getAttributeValues(t);let r=new a(0);for(let a=0;a<$;a++)r=r.add(e[a]);const o=this.chart.sectorThreshold.multiply(360);let i=new n(new d(0),$),s=new a(0),l=new h(0);for(let n=0;n<$;n++){const t=p(m(r,new a(0)),e[n].multiply(360).divide(r),new a(0)),u=p(m(t,o),new a(1),new a(0)),c=s.add(u.multiply(t)),w=new d(c,new a(n));i=i.set(l,w),s=c,l=l.add(new h(u))}return{filteredSectorToColorId:i,numberOfFilteredSectors:l,maxSectorAngle:s}}_getAttributeValues(t){const e=this.getAttributeDataCoords(t),r=this.storageTextures.getDataDrivenData0(e),o=this.storageTextures.getDataDrivenData1(e),i=this.storageTextures.getDataDrivenData2(e);return[this._getAttributeValue(r.x,0),this._getAttributeValue(r.y,1),this._getAttributeValue(r.z,2),this._getAttributeValue(r.w,3),this._getAttributeValue(o.x,4),this._getAttributeValue(o.y,5),this._getAttributeValue(o.z,6),this._getAttributeValue(o.w,7),this._getAttributeValue(i.x,8),this._getAttributeValue(i.y,9)]}_getAttributeValue(t,e){const r=_(new a(e+1),this.chart.fieldCount);return p(g(A(J(t)),m(t,new a(0))),t,new a(0)).multiply(r)}_getAngle(t){return z(new a(90).subtract(new a(H).multiply(T(t.y,t.x))),new a(360))}_getSectorColor(t,e){return this.chart.colors.get(new h(t.get(e).y))}_getViewRotationMatrix(t){const e=this.view.displayViewMat3,r=this.view.displayMat3,o=new a(1).subtract(t);return e.multiply(t).add(r.multiply(o))}_hittestScreenRect(t,e){const r=this.hittestRequest.tlbr.xy,o=this.hittestRequest.tlbr.zw,i=R(r.x,o.x),s=R(r.y,o.y),l=y(r.x,o.x),n=y(r.y,o.y),u=new d(D(t.x,i,l),D(t.y,s,n));return p(j(M(t,u),e),new a(1),new a(0))}}t([r(tt)],ot.prototype,"chart",void 0),t([i(K)],ot.prototype,"visualVariableOpacity",void 0),t([i(L)],ot.prototype,"visualVariableSizeMinMaxValue",void 0),t([i(N)],ot.prototype,"visualVariableSizeScaleStops",void 0),t([i(Q)],ot.prototype,"visualVariableSizeStops",void 0),t([i(X)],ot.prototype,"visualVariableSizeUnitValue",void 0),t([e(0,s(et))],ot.prototype,"vertex",null),t([e(0,s(rt))],ot.prototype,"fragment",null);export{ot as PieChartShader,et as PieChartVertexInput,$ as maxPieChartFields};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import has from"../../../../../../../core/has.js";import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{TextureStatisticsTechnique as i}from"../TextureStatisticsTechnique.js";import{getInterpolationDefines as r}from"./processor/textureUtils.js";import{RasterColorizerLUTShader as s}from"../shaders/raster/RasterColorizerLUTShader.js";import{RasterColorizerShadedReliefShader as o}from"../shaders/raster/RasterColorizerShadedReliefShader.js";import{RasterColorizerStretchShader as n}from"../shaders/raster/RasterColorizerStretchShader.js";import{SizedPixelFormat as a,PixelType as u}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as c}from"../../../../../../webgl/FramebufferObject.js";import m from"../../../../../../webgl/Texture.js";import{TextureDescriptor as l}from"../../../../../../webgl/TextureDescriptor.js";const p=160,h=new Set(["f32","f64","u16","s16","u32","s32"]);class d extends t{constructor(){super(...arguments),this.name="BrushRasterColorizer",this.type=0,this.shaders={lut:new s,stretch:new n,shadedRelief:new o},this._mosaicFbo=null,this._statisticsTechnique=null,this._draTimer=0}shutdown(t){super.shutdown(t),this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique)}render(t,i){const r=i.bitmaps.some(f);r||(this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique));const s=r?this._computeStatisticsTextures(t,i):void 0;for(const e of i.bitmaps){if(!e.source||e.suspended)continue;t.timeline.begin(this.name);const{painter:i}=t;i.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}}),e.updateTexture(t),e.updateProcessedTexture();const{type:r}=e.symbolizerParameters,o="stretch"===r?this._getStretchOptions(e,s):"lut"===r?this._getLutOptions(e):this._getShadedReliefOptions(e);"bilinear"!==e.interpolation||t.context.capabilities.textureFloatLinear||(o.defines.bilinear=!0),i.submitDrawMesh(t.context,o,i.quadMesh,e),t.timeline.end(this.name)}}_computeStatisticsTextures(e,t){this._statisticsTechnique??=new i;const r=this._statisticsTechnique;let s=has("esri-2d-dra-delay");if(null==s){const e=t.bitmaps.find(f),{stretchType:i,bandCount:r}=e.symbolizerParameters,{pixelType:o}=e.source;"minMax"===i&&r>=3&&h.has(o)&&(s=p)}if(s){const i=performance.now();(i-this._draTimer>=s||e.stationary||!r.minValuesTexture)&&(this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo}),this._draTimer=i)}else this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo});return{minTexture:r.minValuesTexture,maxTexture:r.maxValuesTexture,meanTexture:r.meanValuesTexture,stddevTexture:r.stdDevValuesTexture}}_mosaic(e,t){const{context:i,painter:r}=e,s=i.boundFramebuffer;if(null==s)return;if(this._mosaicFbo)this._mosaicFbo.resize(s.width,s.height);else{const e=x(i,s.width,s.height);this._mosaicFbo=new c(i,e)}i.bindFramebuffer(this._mosaicFbo);const o="RasterColorizerMosaic";for(const n of t.bitmaps){if(!f(n))continue;e.timeline.begin(o),r.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}});const t=n.interpolation;n.interpolation="nearest",n.updateTexture(e),n.updateProcessedTexture();const i=this._getStretchOptions(n,void 0,!0);i.defines.noOp=!0,r.submitDrawMesh(e.context,i,r.quadMesh,n),n.interpolation=t,e.timeline.end(o)}i.bindFramebuffer(s)}_getLutOptions(e){const{config:t,projectionConfig:i,projectionTextures:s,colormapConfig:o,colormapTextures:n,textures:a,projectionDefines:u}=this._getCommonConfig(e),c=r(e);return{shader:this.shaders.lut,uniforms:{projectionConfig:i,config:t,colormapConfig:o},textures:{...a,projectionTextures:s,colormapTextures:n},defines:{...u,...c,applyPixelMask:!!a.pixelMaskTexture,applyPixelHighlights:!!a.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getStretchOptions(e,t,i=!1){const s=e.symbolizerParameters,{config:o,projectionConfig:n,projectionTextures:a,colormapConfig:u,colormapTextures:c,textures:m,projectionDefines:l,textureUnit:p}=this._getCommonConfig(e),h=r(e),d=t?{numberOfStandardDeviations:s.numberOfStandardDeviations||2}:void 0,x=t?{minTexture:{texture:t.minTexture,unit:p},maxTexture:{texture:t.maxTexture,unit:p+1},meanTexture:{texture:t.meanTexture,unit:p+2},stddevTexture:{texture:t.stddevTexture,unit:p+3}}:void 0,f=t?"standardDeviation"===s.stretchType?2:1:0;return{shader:this.shaders.stretch,uniforms:{projectionConfig:n,config:o,stretchConfig:s,colormapConfig:u,statisticsConfig:d},textures:{...m,projectionTextures:a,colormapTextures:c,statisticsTextures:x},defines:{...l,...h,isMultiband:s.bandCount>1,applyColormap:!!u,useGamma:s.useGamma,noOp:e.isRenderedSource&&!e.processed,applyPixelMask:!!m.pixelMaskTexture,applyPixelHighlights:!i&&!!m.highlightTexture,draStretchType:f},optionalAttributes:null,useComputeBuffer:!1}}_getShadedReliefOptions(e){const t=e.symbolizerParameters,{config:i,projectionConfig:s,projectionTextures:o,colormapConfig:n,colormapTextures:a,textures:u,projectionDefines:c}=this._getCommonConfig(e),m=r(e);return{shader:this.shaders.shadedRelief,uniforms:{projectionConfig:s,config:i,hillshadeConfig:t,colormapConfig:n},textures:{...u,projectionTextures:o,colormapTextures:a},defines:{...c,...m,isMultidirectional:t.hillshadeType>0,applyColormap:!!n,applyPixelMask:!!u.pixelMaskTexture,applyPixelHighlights:!!u.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getCommonConfig(e){const{coordScale:t,computedOpacity:i,transforms:r}=e,{names:s,textures:o}=e.getTextures({useProcessedTexture:e.processed}),n=o[s.indexOf("u_image")],a=e.getRasterTextureSize();let u=0;const c={dvsMat3:r.displayViewScreenMat3,coordScale:t,srcImageSize:a,opacity:i},m={texture:{texture:n,unit:u++},pixelMaskTexture:null,highlightTexture:null},l=o[s.indexOf("u_transformGrid")],{transformGrid:p}=e,h=!(!l||!p),d=h?{targetImageSize:[e.width,e.height],transformSpacing:p.spacing,transformGridSize:p.size}:void 0,x=h?{transformTexture:{texture:l,unit:u++}}:void 0,f=o[s.indexOf("u_colormap")],{colormap:g,colormapOffset:T}=e.symbolizerParameters,b=f&&g?{colormapOffset:T??0,colormapMaxIndex:g.length/4-1}:void 0,_=f&&g?{colormapTexture:{texture:f,unit:u++}}:void 0,C=o[s.indexOf("u_mask")];C&&(m.pixelMaskTexture={texture:C,unit:u++});const{highlightTexture:j}=e;j&&(m.highlightTexture={texture:j,unit:u++});return{config:c,projectionConfig:d,projectionTextures:x,colormapConfig:b,colormapTextures:_,textures:m,projectionDefines:{applyProjection:h,lookupProjection:h&&1===p.spacing[0]},textureUnit:u}}}function x(e,t,i){const r=new l(t,i);return r.internalFormat=a.RGBA32F,r.samplingMode=9728,r.dataType=u.FLOAT,r.wrapMode=33071,new m(e,r)}function f(e){return!e.suspended&&null!=e.source&&!e.isRenderedSource&&"stretch"===e.symbolizerParameters.type&&!!e.symbolizerParameters.dynamicRangeAdjustment}export{d as RasterColorizerTechnique};
2
+ import has from"../../../../../../../core/has.js";import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{TextureStatisticsTechnique as i}from"../TextureStatisticsTechnique.js";import{getInterpolationDefines as r}from"./processor/textureUtils.js";import{getTileUniforms as s}from"../shaders/Tile.js";import{getTileContainerUniforms as o}from"../shaders/TileInfo.js";import{getViewUniforms as n}from"../shaders/ViewInfo.js";import{RasterColorizerLUTShader as a}from"../shaders/raster/RasterColorizerLUTShader.js";import{RasterColorizerShadedReliefShader as u}from"../shaders/raster/RasterColorizerShadedReliefShader.js";import{RasterColorizerStretchShader as c}from"../shaders/raster/RasterColorizerStretchShader.js";import{SizedPixelFormat as m,PixelType as l}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as p}from"../../../../../../webgl/FramebufferObject.js";import h from"../../../../../../webgl/Texture.js";import{TextureDescriptor as d}from"../../../../../../webgl/TextureDescriptor.js";const f=160,x=new Set(["f32","f64","u16","s16","u32","s32"]);class g extends t{constructor(){super(...arguments),this.name="BrushRasterColorizer",this.type=0,this.shaders={lut:new a,stretch:new c,shadedRelief:new u},this._mosaicFbo=null,this._statisticsTechnique=null,this._draTimer=0}shutdown(t){super.shutdown(t),this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique)}render(t,i){const r=i.tiles.some(({bitmap:e})=>b(e));r||(this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique));const s=r?this._computeStatisticsTextures(t,i):void 0;for(const e of i.tiles){const{bitmap:i}=e;if(!i.source||i.suspended)continue;t.timeline.begin(this.name);const{painter:r}=t;r.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}}),i.updateTexture(t),i.updateProcessedTexture();const{type:o}=i.symbolizerParameters,n="stretch"===o?this._getStretchOptions(t,e,s):"lut"===o?this._getLutOptions(t,e):this._getShadedReliefOptions(t,e);"bilinear"!==i.interpolation||t.context.capabilities.textureFloatLinear||(n.defines.bilinear=!0),r.submitDrawMesh(t.context,n,r.quadMesh,i),t.timeline.end(this.name)}}_computeStatisticsTextures(e,t){this._statisticsTechnique??=new i;const r=this._statisticsTechnique;let s=has("esri-2d-dra-delay");if(null==s){const e=t.tiles.find(({bitmap:e})=>b(e)).bitmap,{stretchType:i,bandCount:r}=e.symbolizerParameters,{pixelType:o}=e.source;"minMax"===i&&r>=3&&x.has(o)&&(s=f)}if(s){const i=performance.now();(i-this._draTimer>=s||e.stationary||!r.minValuesTexture)&&(this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo}),this._draTimer=i)}else this._mosaic(e,t),r.render(e,{fbo:this._mosaicFbo});return{minTexture:r.minValuesTexture,maxTexture:r.maxValuesTexture,meanTexture:r.meanValuesTexture,stddevTexture:r.stdDevValuesTexture}}_mosaic(e,t){const{context:i,painter:r}=e,s=i.boundFramebuffer;if(null==s)return;if(this._mosaicFbo)this._mosaicFbo.resize(s.width,s.height);else{const e=T(i,s.width,s.height);this._mosaicFbo=new p(i,e)}i.bindFramebuffer(this._mosaicFbo);const o="RasterColorizerMosaic";for(const n of t.tiles){const{bitmap:t}=n;if(!b(t))continue;e.timeline.begin(o),r.setPipelineState({depth:!1,stencil:{test:{mask:255,compare:514,op:{fail:7680,zFail:7680,zPass:7680}},write:!1},color:{write:[!0,!0,!0,!0],blendMode:"composite"}});const i=t.interpolation;t.interpolation="nearest",t.updateTexture(e),t.updateProcessedTexture();const s=this._getStretchOptions(e,n,void 0,!0);s.defines.noOp=!0,r.submitDrawMesh(e.context,s,r.quadMesh,t),t.interpolation=i,e.timeline.end(o)}i.bindFramebuffer(s)}_getLutOptions(e,t){const{bitmap:i}=t,{config:a,projectionConfig:u,projectionTextures:c,colormapConfig:m,colormapTextures:l,textures:p,projectionDefines:h}=this._getCommonConfig(i),d=r(i);return{shader:this.shaders.lut,uniforms:{view:n(e),tileContainer:o(e),tile:s(e.tilingScheme,t),projectionConfig:u,config:a,colormapConfig:m},textures:{...p,projectionTextures:c,colormapTextures:l},defines:{...h,...d,applyPixelMask:!!p.pixelMaskTexture,applyPixelHighlights:!!p.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getStretchOptions(e,t,i,a=!1){const{bitmap:u}=t,c=u.symbolizerParameters,{config:m,projectionConfig:l,projectionTextures:p,colormapConfig:h,colormapTextures:d,textures:f,projectionDefines:x,textureUnit:g}=this._getCommonConfig(u),T=r(u),b=i?{numberOfStandardDeviations:c.numberOfStandardDeviations||2}:void 0,_=i?{minTexture:{texture:i.minTexture,unit:g},maxTexture:{texture:i.maxTexture,unit:g+1},meanTexture:{texture:i.meanTexture,unit:g+2},stddevTexture:{texture:i.stddevTexture,unit:g+3}}:void 0,C=i?"standardDeviation"===c.stretchType?2:1:0;return{shader:this.shaders.stretch,uniforms:{view:n(e),tileContainer:o(e),tile:s(e.tilingScheme,t),projectionConfig:l,config:m,stretchConfig:c,colormapConfig:h,statisticsConfig:b},textures:{...f,projectionTextures:p,colormapTextures:d,statisticsTextures:_},defines:{...x,...T,isMultiband:c.bandCount>1,applyColormap:!!h,useGamma:c.useGamma,noOp:u.isRenderedSource&&!u.processed,applyPixelMask:!!f.pixelMaskTexture,applyPixelHighlights:!a&&!!f.highlightTexture,draStretchType:C},optionalAttributes:null,useComputeBuffer:!1}}_getShadedReliefOptions(e,t){const{bitmap:i}=t,a=i.symbolizerParameters,{config:u,projectionConfig:c,projectionTextures:m,colormapConfig:l,colormapTextures:p,textures:h,projectionDefines:d}=this._getCommonConfig(i),f=r(i);return{shader:this.shaders.shadedRelief,uniforms:{view:n(e),tileContainer:o(e),tile:s(e.tilingScheme,t),projectionConfig:c,config:u,hillshadeConfig:a,colormapConfig:l},textures:{...h,projectionTextures:m,colormapTextures:p},defines:{...d,...f,isMultidirectional:a.hillshadeType>0,applyColormap:!!l,applyPixelMask:!!h.pixelMaskTexture,applyPixelHighlights:!!h.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getCommonConfig(e){const{coordScale:t,computedOpacity:i}=e,{names:r,textures:s}=e.getTextures({useProcessedTexture:e.processed}),o=s[r.indexOf("u_image")];let n=0;const a={coordScale:t,srcImageSize:e.getRasterTextureSize(),opacity:i},u={texture:{texture:o,unit:n++},pixelMaskTexture:null,highlightTexture:null},c=s[r.indexOf("u_transformGrid")],{transformGrid:m}=e,l=!(!c||!m),p=l?{targetImageSize:[e.width,e.height],transformSpacing:m.spacing,transformGridSize:m.size}:void 0,h=l?{transformTexture:{texture:c,unit:n++}}:void 0,d=s[r.indexOf("u_colormap")],{colormap:f,colormapOffset:x}=e.symbolizerParameters,g=d&&f?{colormapOffset:x??0,colormapMaxIndex:f.length/4-1}:void 0,T=d&&f?{colormapTexture:{texture:d,unit:n++}}:void 0,b=s[r.indexOf("u_mask")];b&&(u.pixelMaskTexture={texture:b,unit:n++});const{highlightTexture:_}=e;_&&(u.highlightTexture={texture:_,unit:n++});return{config:a,projectionConfig:p,projectionTextures:h,colormapConfig:g,colormapTextures:T,textures:u,projectionDefines:{applyProjection:l,lookupProjection:l&&1===m.spacing[0]},textureUnit:n}}}function T(e,t,i){const r=new d(t,i);return r.internalFormat=m.RGBA32F,r.samplingMode=9728,r.dataType=l.FLOAT,r.wrapMode=33071,new h(e,r)}function b(e){return!e.suspended&&null!=e.source&&!e.isRenderedSource&&"stretch"===e.symbolizerParameters.type&&!!e.symbolizerParameters.dynamicRangeAdjustment}export{g as RasterColorizerTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{tileSize as e}from"../../../definitions.js";import{Technique as t}from"../Technique.js";import{getInterpolationDefines as i}from"./processor/textureUtils.js";import{RasterRangeHighlightShader as n}from"../shaders/raster/RasterRangeHighlightShader.js";import{RasterXYBandHighlightShader as r}from"../shaders/raster/RasterXYBandHighlightShader.js";import{SizedPixelFormat as o,PixelType as s}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as a}from"../../../../../../webgl/FramebufferObject.js";import g from"../../../../../../webgl/Texture.js";import{TextureDescriptor as h}from"../../../../../../webgl/TextureDescriptor.js";class u extends t{constructor(){super(...arguments),this.name="BrushRasterHighlight",this.type=2,this.shaders={range:new n,xyBand:new r}}shutdown(e){super.shutdown(e),this._fbo?.dispose(),this._fbo=void 0}_getBandIds(e,t){const{type:i}=e,n="xy-band"===i?e.bandIds:[e.bandId];return t?.length?n.map(e=>t.indexOf(e)):"xy-band"===i?[0,1]:[0]}_getSingleBandShaderOptions(e,t,n,r){const{config:o,projectionConfig:s,projectionTextures:a,textures:g,projectionDefines:h}=this._getCommonConfig(t),u=i(t,r),d={bandSwap:n,ranges:e.ranges,color:e.color};return{shader:this.shaders.range,uniforms:{projectionConfig:s,config:o,rangeHighlightConfig:d},textures:{...g,projectionTextures:a},defines:{...h,...u,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!g.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getXYBandShaderOptions(e,t,n,r,o){const{config:s,projectionConfig:a,projectionTextures:g,textures:h,projectionDefines:u}=this._getCommonConfig(t),d=i(t,r),p={bandSwap:n,xRange:e.xRange,yRange:e.yRange,color:e.color},c=o?{texture:o,unit:4}:void 0;return{shader:this.shaders.xyBand,uniforms:{projectionConfig:a,config:s,xyRangeHighlightConfig:p},textures:{...h,projectionTextures:g,xyMaskHighlightTexture:c},defines:{...u,...d,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!h.highlightTexture,useMask:!!c},optionalAttributes:null,useComputeBuffer:!1}}render(t,i){const{pixelHighlightOptions:n}=t;if(!n)return;const{context:r}=t;if(!this._fbo){const i=d(t.context,e,e);this._fbo=new a(r,i)}const{type:o}=n,s="xy-band"===o?p(t.context,n):void 0,g=r.boundFramebuffer,h=r.getViewport();for(const a of i.bitmaps){if(!a.source||a.highlighted||a.suspended||a.isRenderedSource)continue;const i=this._getBandIds(n,a.bandIds);if(i.some(e=>e<0||e>2))continue;t.timeline.begin(this.name);const{painter:g}=t;g.setPipelineState({depth:!1,stencil:{test:!1,write:!1},color:{write:[!0,!0,!0,!0],blendMode:"custom",blendParameters:{srcRGB:1,dstRGB:0,srcAlpha:1,dstAlpha:0},blendEquation:32774}}),a.updateTexture(t),a.updateProcessedTexture(!1);const h=new Float32Array(9);h[3*i[0]]=1,h[3*i[1]+1]="xy-band"===o?1:0;const u="single-band"===o?this._getSingleBandShaderOptions(n,a,h,r):this._getXYBandShaderOptions(n,a,h,r,s);r.bindFramebuffer(this._fbo),r.setViewport(0,0,e,e),g.submitDrawMesh(t.context,u,g.quadMesh);const p=d(t.context,e,e);this._fbo.copyToTexture(0,0,e,e,0,0,p),a.highlightTexture=p,t.timeline.end(this.name)}s?.dispose(),r.bindFramebuffer(g),r.setViewport(h.x,h.y,h.width,h.height)}_getCommonConfig(e){const{names:t,textures:i}=e.getTextures({forProcessing:!0,useProcessedTexture:e.processed}),n=i[t.indexOf("u_image")],r=e.getRasterTextureSize(),o={dvsMat3:new Float32Array([2,0,0,0,2,0,-1,-1,0]),coordScale:[1,1],srcImageSize:r,opacity:1},s={texture:{texture:n,unit:0},pixelMaskTexture:null,highlightTexture:null},a=i[t.indexOf("u_transformGrid")],{transformGrid:g}=e,h=!(!a||!g),u=h?{targetImageSize:[e.width,e.height],transformSpacing:g.spacing,transformGridSize:g.size}:void 0,d=h?{transformTexture:{texture:a,unit:1}}:void 0,{highlightTexture:p}=e;p&&(s.highlightTexture={texture:p,unit:2});return{config:o,projectionConfig:u,projectionTextures:d,textures:s,projectionDefines:{applyProjection:h,lookupProjection:h&&1===g.spacing[0]}}}}function d(e,t,i){const n=new h(t,i);return n.internalFormat=o.RGBA8,n.samplingMode=9728,n.dataType=s.UNSIGNED_BYTE,n.isImmutable=!0,n.wrapMode=33071,new g(e,n)}function p(e,t){const{mask:i,maskSize:n}=t;if(!i?.length||!n?.length)return;const r=new h(n[0],n[1]);return r.internalFormat=o.R8,r.samplingMode=9728,r.dataType=s.UNSIGNED_BYTE,r.isImmutable=!0,r.wrapMode=33071,new g(e,r,i)}export{u as RasterHighlightTechnique};
2
+ import{tileSize as e}from"../../../definitions.js";import{Technique as t}from"../Technique.js";import{getInterpolationDefines as i}from"./processor/textureUtils.js";import{RasterRangeHighlightShader as n}from"../shaders/raster/RasterRangeHighlightShader.js";import{RasterXYBandHighlightShader as r}from"../shaders/raster/RasterXYBandHighlightShader.js";import{SizedPixelFormat as o,PixelType as s}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as a}from"../../../../../../webgl/FramebufferObject.js";import g from"../../../../../../webgl/Texture.js";import{TextureDescriptor as h}from"../../../../../../webgl/TextureDescriptor.js";class u extends t{constructor(){super(...arguments),this.name="BrushRasterHighlight",this.type=2,this.shaders={range:new n,xyBand:new r}}shutdown(e){super.shutdown(e),this._fbo?.dispose(),this._fbo=void 0}_getBandIds(e,t){const{type:i}=e,n="xy-band"===i?e.bandIds:[e.bandId];return t?.length?n.map(e=>t.indexOf(e)):"xy-band"===i?[0,1]:[0]}_getSingleBandShaderOptions(e,t,n,r){const{config:o,projectionConfig:s,projectionTextures:a,textures:g,projectionDefines:h}=this._getCommonConfig(t),u=i(t,r),d={bandSwap:n,ranges:e.ranges,color:e.color};return{shader:this.shaders.range,uniforms:{projectionConfig:s,config:o,rangeHighlightConfig:d},textures:{...g,projectionTextures:a},defines:{...h,...u,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!g.highlightTexture},optionalAttributes:null,useComputeBuffer:!1}}_getXYBandShaderOptions(e,t,n,r,o){const{config:s,projectionConfig:a,projectionTextures:g,textures:h,projectionDefines:u}=this._getCommonConfig(t),d=i(t,r),p={bandSwap:n,xRange:e.xRange,yRange:e.yRange,color:e.color},c=o?{texture:o,unit:4}:void 0;return{shader:this.shaders.xyBand,uniforms:{projectionConfig:a,config:s,xyRangeHighlightConfig:p},textures:{...h,projectionTextures:g,xyMaskHighlightTexture:c},defines:{...u,...d,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!h.highlightTexture,useMask:!!c},optionalAttributes:null,useComputeBuffer:!1}}render(t,i){const{pixelHighlightOptions:n}=t;if(!n)return;const{context:r}=t;if(!this._fbo){const i=d(t.context,e,e);this._fbo=new a(r,i)}const{type:o}=n,s="xy-band"===o?p(t.context,n):void 0,g=r.boundFramebuffer,h=r.getViewport();for(const a of i.bitmaps){if(!a.source||a.highlighted||a.suspended||a.isRenderedSource)continue;const i=this._getBandIds(n,a.bandIds);if(i.some(e=>e<0||e>2))continue;t.timeline.begin(this.name);const{painter:g}=t;g.setPipelineState({depth:!1,stencil:{test:!1,write:!1},color:{write:[!0,!0,!0,!0],blendMode:"custom",blendParameters:{srcRGB:1,dstRGB:0,srcAlpha:1,dstAlpha:0},blendEquation:32774}}),a.updateTexture(t),a.updateProcessedTexture(!1);const h=new Float32Array(9);h[3*i[0]]=1,h[3*i[1]+1]="xy-band"===o?1:0;const u="single-band"===o?this._getSingleBandShaderOptions(n,a,h,r):this._getXYBandShaderOptions(n,a,h,r,s);r.bindFramebuffer(this._fbo),r.setViewport(0,0,e,e),g.submitDrawMesh(t.context,u,g.quadMesh);const p=d(t.context,e,e);this._fbo.copyToTexture(0,0,e,e,0,0,p),a.highlightTexture=p,t.timeline.end(this.name)}s?.dispose(),r.bindFramebuffer(g),r.setViewport(h.x,h.y,h.width,h.height)}_getCommonConfig(e){const{names:t,textures:i}=e.getTextures({forProcessing:!0,useProcessedTexture:e.processed}),n=i[t.indexOf("u_image")],r={coordScale:[1,1],srcImageSize:e.getRasterTextureSize(),opacity:1},o={texture:{texture:n,unit:0},pixelMaskTexture:null,highlightTexture:null},s=i[t.indexOf("u_transformGrid")],{transformGrid:a}=e,g=!(!s||!a),h=g?{targetImageSize:[e.width,e.height],transformSpacing:a.spacing,transformGridSize:a.size}:void 0,u=g?{transformTexture:{texture:s,unit:1}}:void 0,{highlightTexture:d}=e;d&&(o.highlightTexture={texture:d,unit:2});return{config:r,projectionConfig:h,projectionTextures:u,textures:o,projectionDefines:{applyProjection:g,lookupProjection:g&&1===a.spacing[0]}}}}function d(e,t,i){const n=new h(t,i);return n.internalFormat=o.RGBA8,n.samplingMode=9728,n.dataType=s.UNSIGNED_BYTE,n.isImmutable=!0,n.wrapMode=33071,new g(e,n)}function p(e,t){const{mask:i,maskSize:n}=t;if(!i?.length||!n?.length)return;const r=new h(n[0],n[1]);return r.internalFormat=o.R8,r.samplingMode=9728,r.dataType=s.UNSIGNED_BYTE,r.isImmutable=!0,r.wrapMode=33071,new g(e,r,i)}export{u as RasterHighlightTechnique};
@@ -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{MagDirShader as t}from"../shaders/raster/MagDirShader.js";import{ScalarShader as a}from"../shaders/raster/ScalarShader.js";const r=48,s=[.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1],o=[0,92/255,230/255,1],i={beaufort_ft:s,beaufort_m:s,beaufort_km:s,beaufort_mi:s,beaufort_kn:[.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1],classified_arrow:[.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1],ocean_current_m:[.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1],ocean_current_kn:[0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1],simple_scalar:o,single_arrow:o,wind_speed:[0,0,0,1]},n=[0,20];class l extends e{constructor(){super(...arguments),this.type=3,this.shaders={magDir:new t,scalar:new a},this.drawPhase=1}shutdown(){}render(e,t){const{painter:a,timeline:r}=e,{tiles:s,displayLevel:o}=t;a.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:{mask:0},test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});for(const i of s)if(null!=i.source&&0!==i.source.validPixelCount){if(r.begin("Vector field"),i.updateVectorFieldMesh(e),"scalar"===e.renderPass){const t=i.meshes.scalar;t&&this._drawScalars(e,i,t,o)}else{const t=i.meshes.magdir;t&&this._drawTriangles(e,i,t,o)}r.end("Vector field")}}_drawTriangles(e,t,a,s){const{context:o,painter:l,requestRender:c,allowDelayedRender:d}=e,{symbolizerParameters:m}=t,u=!!m.dataRange,f="geographic"===m.rotationType;if(d&&null!=c)return void c();const{coordScale:h,opacity:p,transforms:y}=t,{style:g,dataRange:b,symbolPercentRange:w,rotation:S}=m,_=i[g].concat(Array(r-i[g].length).fill(0)),R={shader:this.shaders.magDir,uniforms:{config:{dvsMat3:y.displayViewScreenMat3,coordScale:h,opacity:p,colors:_,dataRange:b||n,rotation:S,symbolPercentRange:w,symbolSize:this._getSymbolSize(e,t,s)}},textures:{},defines:{rotationGeographic:f,dataRange:u},optionalAttributes:null,useComputeBuffer:!1};l.submitDrawMeshUntyped(o,R,a,{stencilRef:t.stencilRef})}_drawScalars(e,t,a,r){const{context:s,painter:o,requestRender:i,allowDelayedRender:l}=e,{symbolizerParameters:c}=t,d="wind_speed"===c.style,m=!!c.dataRange;if(l&&null!=i)return void i();const{coordScale:u,opacity:f,transforms:h}=t,{dataRange:p,symbolPercentRange:y}=c,g={shader:this.shaders.scalar,uniforms:{config:{dvsMat3:h.displayViewScreenMat3,coordScale:u,opacity:f,dataRange:p||n,symbolPercentRange:y,symbolSize:this._getSymbolSize(e,t,r)}},textures:{},defines:{innerCircle:d,dataRange:m},optionalAttributes:null,useComputeBuffer:!1};o.submitDrawMeshUntyped(s,g,a,{stencilRef:t.stencilRef})}_getSymbolSize(e,t,a){const r=t.key?2**(a-t.key.level):t.resolution/e.state.resolution,{symbolTileSize:s}=t.symbolizerParameters;return[s/(Math.round((t.width-t.offset[0])/s)*s)/r,s/(Math.round((t.height-t.offset[1])/s)*s)/r]}}export{l as VectorFieldTechnique};
2
+ import{RasterVFTile as e}from"../../../../imagery/RasterVFTile.js";import{Technique as t}from"../Technique.js";import{getRasterVFSamplingUniforms as r}from"./rasterVFUtils.js";import{getTileUniforms as a}from"../shaders/Tile.js";import{getTileContainerUniforms as s}from"../shaders/TileInfo.js";import{getViewUniforms as i}from"../shaders/ViewInfo.js";import{MagDirShader as o}from"../shaders/raster/MagDirShader.js";import{ScalarShader as n}from"../shaders/raster/ScalarShader.js";const l=48,c=[.27058823529411763,.4588235294117647,.7098039215686275,1,.396078431372549,.5372549019607843,.7215686274509804,1,.5176470588235295,.6196078431372549,.7294117647058823,1,.6352941176470588,.7058823529411765,.7411764705882353,1,.7529411764705882,.8,.7450980392156863,1,.8705882352941177,.8901960784313725,.7490196078431373,1,1,1,.7490196078431373,1,1,.8627450980392157,.6313725490196078,1,.9803921568627451,.7254901960784313,.5176470588235295,1,.9607843137254902,.596078431372549,.4117647058823529,1,.9294117647058824,.4588235294117647,.3176470588235294,1,.9098039215686274,.08235294117647059,.08235294117647059,1],d=[0,92/255,230/255,1],m={beaufort_ft:c,beaufort_m:c,beaufort_km:c,beaufort_mi:c,beaufort_kn:[.1568627450980392,.5725490196078431,.7803921568627451,1,.34901960784313724,.6352941176470588,.7294117647058823,1,.5058823529411764,.7019607843137254,.6705882352941176,1,.6274509803921569,.7607843137254902,.6078431372549019,1,.7490196078431373,.8313725490196079,.5411764705882353,1,.8549019607843137,.9019607843137255,.4666666666666667,1,.9803921568627451,.9803921568627451,.39215686274509803,1,.9882352941176471,.8352941176470589,.3254901960784314,1,.9882352941176471,.7019607843137254,.4,1,.9803921568627451,.5529411764705883,.20392156862745098,1,.9686274509803922,.43137254901960786,.16470588235294117,1,.9411764705882353,.2784313725490196,.11372549019607843,1],classified_arrow:[.2196078431372549,.6588235294117647,0,1,.5450980392156862,1.2117647058823529,0,1,1,1,0,1,1,.5019607843137255,0,1,1,0,0,1],ocean_current_m:[.3058823529411765,.10196078431372549,.6,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.6941176470588235,.6941176470588235,1],ocean_current_kn:[0,0,0,1,0,.1450980392156863,.39215686274509803,1,.3058823529411765,.10196078431372549,.6,1,.592156862745098,0,.39215686274509803,1,.7019607843137254,.10588235294117647,.10196078431372549,1,.6941176470588235,.3058823529411765,.10196078431372549,1,.792156862745098,.5019607843137255,.10196078431372549,1,.6941176470588235,.7019607843137254,.20392156862745098,1,.6941176470588235,.6941176470588235,.6941176470588235,1],simple_scalar:d,single_arrow:d,wind_speed:[0,0,0,1]},f=[0,20];class u extends t{constructor(){super(...arguments),this.type=3,this.shaders={magDir:new o,scalar:new n},this.drawPhase=1}shutdown(){}render(e,t){const{painter:r}=e;r.setPipelineState({depth:!1,color:{write:[!0,!0,!0,!0],blendMode:"composite"},stencil:{write:{mask:0},test:{compare:514,op:{fail:7680,zFail:7680,zPass:7681},mask:255}}});for(const a of t.tiles)this._renderItem(e,a)}_renderItem(e,t){const r=this._getTileData(t);if(null!=r.source&&0!==r.source.validPixelCount){if(e.timeline.begin("Vector field"),r.updateVectorFieldMesh(e),"scalar"===e.renderPass){const a=r.meshes.scalar;a&&this._drawScalars(e,t,a)}else{const a=r.meshes.magdir;a&&this._drawTriangles(e,t,a)}e.timeline.end("Vector field")}}_drawTriangles(e,t,r){const a=this._getTileData(t),{context:s,painter:i,requestRender:o,allowDelayedRender:n}=e,{symbolizerParameters:c}=a,d=!!c.dataRange,u="geographic"===c.rotationType;if(n&&null!=o)return void o();const{coordScale:g,opacity:p}=a,{style:_,dataRange:y,symbolPercentRange:b,rotation:w}=c,S=this._getTransformUniforms(e,t),R=m[_].concat(Array(l-m[_].length).fill(0)),T={shader:this.shaders.magDir,uniforms:{...S,config:{coordScale:g,opacity:p,colors:R,dataRange:y||f,rotation:w,symbolPercentRange:b,symbolSize:this._getSymbolSize(e,t)}},textures:{},defines:{tiled:h(t),rotationGeographic:u,dataRange:d},optionalAttributes:null,useComputeBuffer:!1};i.submitDrawMeshUntyped(s,T,r,{stencilRef:a.stencilRef})}_drawScalars(e,t,r){const a=this._getTileData(t),{context:s,painter:i,requestRender:o,allowDelayedRender:n}=e,{symbolizerParameters:l}=a,c="wind_speed"===l.style,d=!!l.dataRange;if(n&&null!=o)return void o();const{coordScale:m,opacity:u}=a,{dataRange:g,symbolPercentRange:p}=l,_=this._getTransformUniforms(e,t),y={shader:this.shaders.scalar,uniforms:{..._,config:{coordScale:m,opacity:u,dataRange:g||f,symbolPercentRange:p,symbolSize:this._getSymbolSize(e,t)}},textures:{},defines:{tiled:h(t),innerCircle:c,dataRange:d},optionalAttributes:null,useComputeBuffer:!1};i.submitDrawMeshUntyped(s,y,r,{stencilRef:a.stencilRef})}_getSymbolSize(e,t){const r=this._getTileData(t),a=h(t)?2**(e.displayLevel-t.key.level):r.resolution/e.state.resolution,{symbolTileSize:s}=r.symbolizerParameters;return[s/(Math.round((r.width-r.offset[0])/s)*s)/a,s/(Math.round((r.height-r.offset[1])/s)*s)/a]}_getTransformUniforms(e,t){const o=i(e);return h(t)?{view:o,tileContainer:s(e),tile:a(e.tilingScheme,t),rasterVF:r(t),localTransform:null}:{view:o,tileContainer:null,tile:null,rasterVF:null,localTransform:{localToScreenMat3:t.transforms.localToScreenMat3}}}_getTileData(e){return h(e)?e.tileData:e}}function h(t){return t instanceof e}export{u as VectorFieldTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ReprojectShader as t}from"../../shaders/raster/processor/ReprojectShader.js";class r extends e{constructor(){super(...arguments),this.name="RasterReprojectProcessor",this.type=19,this.shaders={reproject:new t}}_process(e,t){const r=e.rasterFunction.parameters,o=this._getInterpolationDefines(t.interpolation,!!r.requireNNEdge),{config:i,projectionConfig:s,projectionTextures:n,textures:a,projectionDefines:c}=this._getReprojectConfig(t),p={shader:this.shaders.reproject,uniforms:{config:i,projectionConfig:s},textures:{...a,projectionTextures:n},defines:{...c,...o,applyPixelMask:!1,applyPixelHighlights:!1},optionalAttributes:null,useComputeBuffer:!1},{interpolation:u}=t;t.interpolation="nearest";const{painter:g,context:l}=e;g.submitDrawMesh(l,p,g.quadMesh),t.interpolation=u,t.projected=!0}_getReprojectConfig(e){const{source:t}=e,{names:r,textures:o}=e.getTextures({forProcessing:!0}),i=o[r.indexOf("u_image")],s={dvsMat3:new Float32Array([2,0,0,0,2,0,-1,-1,0]),coordScale:[1,1],srcImageSize:[t.width,t.height],opacity:1},n={texture:{texture:i,unit:0},pixelMaskTexture:null,highlightTexture:null},a=o[r.indexOf("u_transformGrid")],{transformGrid:c}=e,p=!(!a||!c);return{config:s,projectionConfig:p?{targetImageSize:[e.width,e.height],transformSpacing:c.spacing,transformGridSize:c.size}:void 0,projectionTextures:p?{transformTexture:{texture:a,unit:1}}:void 0,textures:n,projectionDefines:{applyProjection:p,lookupProjection:p&&1===c.spacing[0]}}}_getInterpolationDefines(e,t){const r="bilinear"===e&&t;return{bilinear:r,bicubic:"cubic"===e,nearestOnEdge:r}}}export{r as ReprojectTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ReprojectShader as t}from"../../shaders/raster/processor/ReprojectShader.js";class r extends e{constructor(){super(...arguments),this.name="RasterReprojectProcessor",this.type=19,this.shaders={reproject:new t}}_process(e,t){const r=e.rasterFunction.parameters,i=this._getInterpolationDefines(t.interpolation,!!r.requireNNEdge),{config:o,projectionConfig:s,projectionTextures:n,textures:a,projectionDefines:c}=this._getReprojectConfig(t),p={shader:this.shaders.reproject,uniforms:{config:o,projectionConfig:s},textures:{...a,projectionTextures:n},defines:{...c,...i,applyPixelMask:!1,applyPixelHighlights:!1},optionalAttributes:null,useComputeBuffer:!1},{interpolation:u}=t;t.interpolation="nearest";const{painter:g,context:f}=e;g.submitDrawMesh(f,p,g.quadMesh),t.interpolation=u,t.projected=!0}_getReprojectConfig(e){const{source:t}=e,{names:r,textures:i}=e.getTextures({forProcessing:!0}),o=i[r.indexOf("u_image")],s={coordScale:[1,1],srcImageSize:[t.width,t.height],opacity:1},n={texture:{texture:o,unit:0},pixelMaskTexture:null,highlightTexture:null},a=i[r.indexOf("u_transformGrid")],{transformGrid:c}=e,p=!(!a||!c);return{config:s,projectionConfig:p?{targetImageSize:[e.width,e.height],transformSpacing:c.spacing,transformGridSize:c.size}:void 0,projectionTextures:p?{transformTexture:{texture:a,unit:1}}:void 0,textures:n,projectionDefines:{applyProjection:p,lookupProjection:p&&1===c.spacing[0]}}}_getInterpolationDefines(e,t){const r="bilinear"===e&&t;return{bilinear:r,bicubic:"cubic"===e,nearestOnEdge:r}}}export{r as ReprojectTechnique};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
+ function t(t){const{offset:e,symbolizerParameters:{symbolTileSize:i}}=t.tileData,a=Math.round((t.width-e[0])/i)*i,h=Math.round((t.height-e[1])/i)*i;return{samplingOffset:[e[0]*t.rangeX/t.width,e[1]*t.rangeY/t.height],samplingScale:[a/t.width,h/t.height]}}export{t as getRasterVFSamplingUniforms};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{maxHighlightReasons as e}from"../../../definitions.js";import{location as i,define as o,option as r,uniform as s,texture as a,VertexInput as l,ComputeVertexInput as h,GraphShaderModule as g,FragmentOutput as n,FragmentInput as u}from"../../GraphShaderModule.js";import{Vec3 as p,Float as d,Vec2 as m,float as c,step as y,Vec4 as w,equal as b,ifElse as x,or as v}from"../../graph/glsl.js";import{trueHit as f,candidateHit as C,noHit as H}from"./constants.js";import{EntityStorage as V,EntityStorageTextures as D}from"./EntityStorage.js";import{ShaderHighlight as A}from"./ShaderHighlight.js";import{ShaderHittest as T}from"./ShaderHittest.js";import{getFilterBit as j,getHighlightBit as _,getBit as R,uvToClip as F}from"./utils.js";import{ViewInfo as S}from"./ViewInfo.js";class P extends l{}t([i(0,p)],P.prototype,"id",void 0),t([i(1,d)],P.prototype,"bitset",void 0),t([i(2,m)],P.prototype,"pos",void 0);class k extends h{}t([i(14,m)],k.prototype,"nextPos1",void 0),t([i(15,m)],k.prototype,"nextPos2",void 0);class O extends u{}class z extends g{clip(t,e){let i=new d(0);const o=this.getFilterFlags(t);if(i=i.add(c(2).multiply(c(1).subtract(j(o,0)))),this.inside?i=i.add(c(2).multiply(c(1).subtract(j(o,1)))):this.outside?i=i.add(c(2).multiply(j(o,1))):this.highlight&&(i=i.add(c(2).multiply(c(1).subtract(this._checkHighlight(o))))),null!=e){const t=new d(1).subtract(y(e.x,this.view.currentZoom)),o=y(e.y,this.view.currentZoom);i=i.add(new d(2).multiply(t.add(o)))}return i}getFragmentOutput(t,e,i=new d(1/255)){const o=new n;return o.fragColor=this._maybeWriteHittest(e)??this._maybeHighlight(t,i)??t,o}_maybeHighlight(t,e){return this.highlight?new w(t.rgb,y(e,t.a)):null}_checkHighlight(t){let i=this._checkHighlightBit(t,0);for(let o=1;o<e;o++)i=i.add(this._checkHighlightBit(t,o));return y(new d(.1),i.add(this.highlight.highlightAll))}_checkHighlightBit(t,e){return _(t,e).multiply(R(this.highlight.activeReasons,e))}computeHittestTriangle(t,e,i){const{viewMat3:o,tileMat3:r}=this.view,s=o.multiply(r),{nextPos1:a,nextPos2:l}=e;return{pos0:s.multiply(new p(t.pos,1)).xy,pos1:s.multiply(new p(a,1)).xy,pos2:s.multiply(new p(l,1)).xy}}maybeRunHittest(t,e,i){if(null==this.hittestRequest)return null;const o=this.hittest(t,e,i),r=b(o,new d(f)),s=b(o,new d(C)),a=x(s,()=>new w(new d(1/255),0,0,0),x(r,()=>new w(new d(2/255),0,0,0),new w(H)));let l=x(v(r,s),new d(0),new d(2));const h=this.getAttributeDataCoords(t.id),g=F(h);return l=l.add(this.clip(t.id,t.zoomRange)),{glPointSize:new d(1),glPosition:new w(g,l,1),color:a}}_maybeWriteHittest(t){return null!=this.hittestRequest?t.color:null}getAttributeDataCoords(t){return this.storage.getAttributeDataCoords(t)}getVVData(t){return this.storageTextures.getVVData(this.getAttributeDataCoords(t))}getFilterFlags(t){return this.storageTextures.getFilterFlags(this.getAttributeDataCoords(t))}getLocalTimeOrigin(t){return this.storageTextures.getLocalTimeOrigin(this.getAttributeDataCoords(t))}getSizeValue(t){return this.storageTextures.getSizeValue(this.getAttributeDataCoords(t))}getColorValue(t){return this.storageTextures.getColorValue(this.getAttributeDataCoords(t))}getOpacityValue(t){return this.storageTextures.getOpacityValue(this.getAttributeDataCoords(t))}getRotationValue(t){return this.storageTextures.getRotationValue(this.getAttributeDataCoords(t))}}t([o],z.prototype,"inside",void 0),t([o],z.prototype,"outside",void 0),t([r(A)],z.prototype,"highlight",void 0),t([s(V)],z.prototype,"storage",void 0),t([a(D)],z.prototype,"storageTextures",void 0),t([s(S)],z.prototype,"view",void 0),t([r(T)],z.prototype,"hittestRequest",void 0);export{z as AFeatureShader,k as BaseHittestVertexInput,O as FeatureFragmentInput,P as FeatureVertexInput};
2
+ import{__decorate as t}from"tslib";import{maxHighlightReasons as e}from"../../../definitions.js";import{location as i,define as o,option as r,uniform as s,texture as l,VertexInput as a,ComputeVertexInput as n,GraphShaderModule as h,FragmentOutput as g,FragmentInput as u}from"../../GraphShaderModule.js";import{Vec3 as p,Float as d,Vec2 as m,float as c,step as y,Vec4 as w,equal as b,ifElse as x,or as f}from"../../graph/glsl.js";import{trueHit as v,candidateHit as C,noHit as V}from"./constants.js";import{EntityStorage as H,EntityStorageTextures as T}from"./EntityStorage.js";import{ShaderHighlight as D}from"./ShaderHighlight.js";import{ShaderHittest as j}from"./ShaderHittest.js";import{Tile as A}from"./Tile.js";import{TileInfo as _}from"./TileInfo.js";import{getFilterBit as R,getHighlightBit as S,getBit as F,uvToClip as P}from"./utils.js";import{ViewInfo as k}from"./ViewInfo.js";class O extends a{}t([i(0,p)],O.prototype,"id",void 0),t([i(1,d)],O.prototype,"bitset",void 0),t([i(2,m)],O.prototype,"pos",void 0);class z extends n{}t([i(14,m)],z.prototype,"nextPos1",void 0),t([i(15,m)],z.prototype,"nextPos2",void 0);class q extends u{}class B extends h{clip(t,e){let i=new d(0);const o=this.getFilterFlags(t);if(i=i.add(c(2).multiply(c(1).subtract(R(o,0)))),this.inside?i=i.add(c(2).multiply(c(1).subtract(R(o,1)))):this.outside?i=i.add(c(2).multiply(R(o,1))):this.highlight&&(i=i.add(c(2).multiply(c(1).subtract(this._checkHighlight(o))))),null!=e){const t=new d(1).subtract(y(e.x,this.tileContainer.currentZoom)),o=y(e.y,this.tileContainer.currentZoom);i=i.add(new d(2).multiply(t.add(o)))}return i}getFragmentOutput(t,e,i=new d(1/255)){const o=new g;return o.fragColor=this._maybeWriteHittest(e)??this._maybeHighlight(t,i)??t,o}_maybeHighlight(t,e){return this.highlight?new w(t.rgb,y(e,t.a)):null}_checkHighlight(t){let i=this._checkHighlightBit(t,0);for(let o=1;o<e;o++)i=i.add(this._checkHighlightBit(t,o));return y(new d(.1),i.add(this.highlight.highlightAll))}_checkHighlightBit(t,e){return S(t,e).multiply(F(this.highlight.activeReasons,e))}computeHittestTriangle(t,e,i){const o=this.tile.getViewScreenMat3(this.view,this.tileContainer),{nextPos1:r,nextPos2:s}=e;return{pos0:o.multiply(new p(t.pos,1)).xy,pos1:o.multiply(new p(r,1)).xy,pos2:o.multiply(new p(s,1)).xy}}maybeRunHittest(t,e,i){if(null==this.hittestRequest)return null;const o=this.hittest(t,e,i),r=b(o,new d(v)),s=b(o,new d(C)),l=x(s,()=>new w(new d(1/255),0,0,0),x(r,()=>new w(new d(2/255),0,0,0),new w(V)));let a=x(f(r,s),new d(0),new d(2));const n=this.getAttributeDataCoords(t.id),h=P(n);return a=a.add(this.clip(t.id,t.zoomRange)),{glPointSize:new d(1),glPosition:new w(h,a,1),color:l}}_maybeWriteHittest(t){return null!=this.hittestRequest?t.color:null}getAttributeDataCoords(t){return this.storage.getAttributeDataCoords(t)}getVVData(t){return this.storageTextures.getVVData(this.getAttributeDataCoords(t))}getFilterFlags(t){return this.storageTextures.getFilterFlags(this.getAttributeDataCoords(t))}getLocalTimeOrigin(t){return this.storageTextures.getLocalTimeOrigin(this.getAttributeDataCoords(t))}getSizeValue(t){return this.storageTextures.getSizeValue(this.getAttributeDataCoords(t))}getColorValue(t){return this.storageTextures.getColorValue(this.getAttributeDataCoords(t))}getOpacityValue(t){return this.storageTextures.getOpacityValue(this.getAttributeDataCoords(t))}getRotationValue(t){return this.storageTextures.getRotationValue(this.getAttributeDataCoords(t))}}t([o],B.prototype,"inside",void 0),t([o],B.prototype,"outside",void 0),t([r(D)],B.prototype,"highlight",void 0),t([s(H)],B.prototype,"storage",void 0),t([l(T)],B.prototype,"storageTextures",void 0),t([s(k)],B.prototype,"view",void 0),t([s(_)],B.prototype,"tileContainer",void 0),t([s(A)],B.prototype,"tile",void 0),t([r(j)],B.prototype,"hittestRequest",void 0);export{B as AFeatureShader,z as BaseHittestVertexInput,q as FeatureFragmentInput,O as FeatureVertexInput};