@arcgis/core 5.1.0-next.78 → 5.1.0-next.79

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 (464) hide show
  1. package/analysis/ShadowCast/DiscreteOptions.d.ts +33 -6
  2. package/analysis/ShadowCast/DiscreteOptions.js +1 -1
  3. package/analysis/ShadowCast/MinDurationOptions.d.ts +6 -4
  4. package/analysis/ShadowCast/TotalDurationOptions.d.ts +33 -6
  5. package/analysis/ShadowCast/TotalDurationOptions.js +1 -1
  6. package/analysis/ShadowCast/colorStopsUtils.js +2 -0
  7. package/analysis/ShadowCastAnalysis.d.ts +24 -1
  8. package/analysis/ShadowCastAnalysis.js +1 -1
  9. package/analysis/Viewshed.d.ts +27 -0
  10. package/analysis/Viewshed.js +1 -1
  11. package/analysis/ViewshedAnalysis.js +1 -1
  12. package/arcade/FunctionWrapper.js +1 -1
  13. package/arcade/arcadeAsyncRuntime.js +1 -1
  14. package/arcade/arcadeCompiler.js +1 -1
  15. package/arcade/arcadeRuntime.js +1 -1
  16. package/arcade/compilerUtils.js +1 -1
  17. package/arcade/debug.d.ts +139 -0
  18. package/arcade/debug.js +2 -0
  19. package/arcade/featureSetCollection.js +1 -1
  20. package/arcade/featureSetUtils.js +1 -1
  21. package/arcade/featureset/actions/GroupBy.js +1 -1
  22. package/arcade/featureset/actions/OrderBy.js +1 -1
  23. package/arcade/functions/featuresetstring.js +1 -1
  24. package/arcade/languageUtils.js +1 -1
  25. package/arcade.d.ts +46 -2
  26. package/arcade.js +1 -1
  27. package/assets/esri/core/workers/RemoteClient.js +1 -1
  28. package/assets/esri/core/workers/chunks/{1c7183551f5269bdcf13.js → 01bd1b86ba899c6aa4c0.js} +1 -1
  29. package/assets/esri/core/workers/chunks/{1f8ccf96069ac3a40c3d.js → 01ee18782a50279f907e.js} +1 -1
  30. package/assets/esri/core/workers/chunks/{f81c6f6ccc201f584970.js → 022067e807905cabeaa1.js} +1 -1
  31. package/assets/esri/core/workers/chunks/{11ea4be441a26134ce1f.js → 052cdc7aaa803b5873f0.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{b7bb7072dbee978f3ca3.js → 056fd7847caaff2c9514.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{8acee3fba488f202f82f.js → 05c3146d87d917606193.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{a8ca5d8740cc7e39197b.js → 0aebcbf41cb193e76809.js} +5 -5
  35. package/assets/esri/core/workers/chunks/{54023458195549f66215.js → 0b77c124b743067e4155.js} +1 -1
  36. package/assets/esri/core/workers/chunks/10408183681fd6c7b4ed.js +2 -0
  37. package/assets/esri/core/workers/chunks/{7595ceba529ed01c7590.js → 2c87c3112a43db8624f6.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{13e60f19f436b8d683ae.js → 3c9482764c9e4f8bcbb0.js} +1 -1
  39. package/assets/esri/core/workers/chunks/{322c54081b25f1c53661.js → 3e37019eee1c49d2bf64.js} +1 -1
  40. package/assets/esri/core/workers/chunks/45c83eb7c2a06166e3b0.js +1 -0
  41. package/assets/esri/core/workers/chunks/48acd146bf0241d87647.js +1 -0
  42. package/assets/esri/core/workers/chunks/5818f1f526577068d6ca.js +2 -0
  43. package/assets/esri/core/workers/chunks/{34fe97bcacc0dfc5bce6.js → 5ccc325d83cec4f5ccdb.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{30e710ec4d22c43d4e7e.js → 5cffc7b49966201eccdb.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{1a87e9bbd85ba29b1514.js → 5da2051f548c2942e01a.js} +1 -1
  46. package/assets/esri/core/workers/chunks/5ec66e39e53c11e75179.js +2 -0
  47. package/assets/esri/core/workers/chunks/{0b1454a77a6a682541dc.js.LICENSE.txt → 5ec66e39e53c11e75179.js.LICENSE.txt} +9 -1
  48. package/assets/esri/core/workers/chunks/5f6fd20a7f4e80eafa25.js +1 -0
  49. package/assets/esri/core/workers/chunks/{abc06d10c7ac8ba5b0e4.js → 67ec1694d6e18b7c234c.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{32e22d6eee9fed1f70b0.js → 6d696beddcc5fbed5875.js} +1 -1
  51. package/assets/esri/core/workers/chunks/{f590b60fca607d66001a.js → 716a4d7e8b908b81870b.js} +1 -1
  52. package/assets/esri/core/workers/chunks/71fe127734f33d020a44.js +1 -0
  53. package/assets/esri/core/workers/chunks/7cdd0492b2191df95102.js +2 -0
  54. package/assets/esri/core/workers/chunks/7cea68257d24ffd205bb.js +1 -0
  55. package/assets/esri/core/workers/chunks/7e530e635325dba07864.js +1 -0
  56. package/assets/esri/core/workers/chunks/8f6f5dad52747d252aac.js +596 -0
  57. package/assets/esri/core/workers/chunks/{d950d5c2844206502ff0.js → 992cd87ba0ab6346f692.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{73c87eb9bd8f0f848481.js → 9c11e1fe785e1385fdb1.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{5ed8d8b5336c81fbcda3.js → 9d216e30d04ea21fc8a2.js} +1 -1
  60. package/assets/esri/core/workers/chunks/a54aa93b6012a2597f82.js +1 -0
  61. package/assets/esri/core/workers/chunks/{cf14b3a44705dacefac4.js → a9b5ce00323cd5574bf7.js} +1 -1
  62. package/assets/esri/core/workers/chunks/ae6b3dfe5f757df539d6.js +1 -0
  63. package/assets/esri/core/workers/chunks/b14c4c3f295970f731ab.js +1 -0
  64. package/assets/esri/core/workers/chunks/{c70df6ed190f9ebcf6aa.js → bf2c202dec5ab7bc770b.js} +1 -1
  65. package/assets/esri/core/workers/chunks/c1d4110aa494a1dba3c4.js +1 -0
  66. package/assets/esri/core/workers/chunks/{85d8c7cc7f8decbe975d.js → c442916805975744dd92.js} +1 -1
  67. package/assets/esri/core/workers/chunks/dacc2e5fa462495ed1cc.js +2 -0
  68. package/assets/esri/core/workers/chunks/f227b34cce6843df0fb6.js +1 -0
  69. package/assets/esri/core/workers/chunks/{dda2cb5c073d1e65f14f.js → f43d628d47eec7d530c7.js} +1 -1
  70. package/assets/esri/core/workers/chunks/f7531aa69a87814c60d1.js +1 -0
  71. package/assets/esri/core/workers/chunks/{4ccb56333de0247dcb6f.js → fb100935fd8948d779f5.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{5ee4b630ad39c21d11db.js → fb9e3e7cd532ac4353f1.js} +12 -12
  73. package/assets/esri/core/workers/chunks/fc6ca7ffb9f1b875059c.js +1 -0
  74. package/assets/esri/core/workers/chunks/{3d9fcbe95dd22dbe730e.js → ffc4f3406ce383b9bd88.js} +1 -1
  75. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +6 -0
  76. package/assets/esri/themes/dark/main.css +1 -1
  77. package/assets/esri/themes/light/main.css +1 -1
  78. package/assets/esri/themes/light/view.css +1 -1
  79. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ar.json +1 -1
  80. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bg.json +1 -1
  81. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_bs.json +1 -1
  82. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ca.json +1 -1
  83. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_cs.json +1 -1
  84. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_da.json +1 -1
  85. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_de.json +1 -1
  86. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_el.json +1 -1
  87. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_es.json +1 -1
  88. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_et.json +1 -1
  89. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fi.json +1 -1
  90. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_fr.json +1 -1
  91. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_he.json +1 -1
  92. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hr.json +1 -1
  93. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_hu.json +1 -1
  94. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_id.json +1 -1
  95. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_it.json +1 -1
  96. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ja.json +1 -1
  97. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ko.json +1 -1
  98. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lt.json +1 -1
  99. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_lv.json +1 -1
  100. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_nl.json +1 -1
  101. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_no.json +1 -1
  102. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pl.json +1 -1
  103. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-BR.json +1 -1
  104. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_pt-PT.json +1 -1
  105. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ro.json +1 -1
  106. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_ru.json +1 -1
  107. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sk.json +1 -1
  108. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sl.json +1 -1
  109. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sr.json +1 -1
  110. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_sv.json +1 -1
  111. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_th.json +1 -1
  112. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_tr.json +1 -1
  113. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_uk.json +1 -1
  114. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_vi.json +1 -1
  115. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-CN.json +1 -1
  116. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-HK.json +1 -1
  117. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_zh-TW.json +1 -1
  118. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  119. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  120. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  121. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  122. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  123. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  124. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  125. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  126. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  127. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  128. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  129. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  130. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  131. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  132. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  133. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  134. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  135. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  136. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  137. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  138. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  139. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  140. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  141. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  142. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  143. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  144. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  145. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  146. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  147. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  148. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  149. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  150. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  151. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  152. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  153. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  154. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  155. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  156. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  157. package/chunks/ImageMaterial.glsl.js +7 -5
  158. package/chunks/SlicePlaneMaterial.glsl.js +21 -13
  159. package/chunks/arcade.js +1 -1
  160. package/chunks/languageUtils.js +1 -1
  161. package/config.js +1 -1
  162. package/core/MapUtils.js +1 -1
  163. package/core/arrayUtils.js +1 -1
  164. package/kernel.js +1 -1
  165. package/layers/IntegratedMeshLayer.d.ts +18 -14
  166. package/layers/SceneLayer.d.ts +35 -1
  167. package/layers/SceneLayer.js +1 -1
  168. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  169. package/layers/scene/ModelFileInfo.d.ts +29 -0
  170. package/layers/scene/ModelFileInfo.js +2 -0
  171. package/layers/scene/ModelInfo.d.ts +38 -0
  172. package/layers/scene/ModelInfo.js +2 -0
  173. package/layers/scene/modelQuerySupport.js +2 -0
  174. package/layers/scene/types.d.ts +14 -0
  175. package/layers/support/infoFor3D.js +1 -1
  176. package/layers/support/serviceCapabilitiesUtils.js +1 -1
  177. package/layers/types.d.ts +13 -1
  178. package/package.json +3 -3
  179. package/popup/Features.d.ts +1 -6
  180. package/popup/Features.js +1 -1
  181. package/popup/actions.js +1 -1
  182. package/renderers/visualVariables/support/ColorStop.js +1 -1
  183. package/support/arcadeUtils.js +1 -1
  184. package/support/revision.js +1 -1
  185. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  186. package/views/2d/engine/flow/styles/Particles.js +1 -1
  187. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  188. package/views/2d/engine/vectorTiles/Placement.js +1 -1
  189. package/views/2d/engine/vectorTiles/TextShaping.js +1 -1
  190. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  191. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  192. package/views/2d/engine/webgl/GlyphSource.js +1 -1
  193. package/views/2d/engine/webgl/Overlay.js +1 -1
  194. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  195. package/views/2d/engine/webgl/RenderingDevice.js +1 -1
  196. package/views/2d/engine/webgl/TextureManager.js +1 -1
  197. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  198. package/views/2d/engine/webgl/shaderGraph/GLSLShaderModule.js +1 -1
  199. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  200. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  201. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueProgramCache.js +1 -1
  202. package/views/2d/engine/webgl/shaderGraph/techniques/TestTechnique.js +1 -1
  203. package/views/2d/engine/webgl/shaderGraph/techniques/TextureStatisticsTechnique.js +1 -1
  204. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  205. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechnique.js +1 -1
  206. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimationUniformInfo.js +1 -1
  207. package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
  208. package/views/2d/engine/webgl/shaderGraph/techniques/blend/BlendTechnique.js +1 -1
  209. package/views/2d/engine/webgl/shaderGraph/techniques/bloom/BloomTechnique.js +1 -1
  210. package/views/2d/engine/webgl/shaderGraph/techniques/blur/BlurTechnique.js +1 -1
  211. package/views/2d/engine/webgl/shaderGraph/techniques/clip/ClipTechnique.js +1 -1
  212. package/views/2d/engine/webgl/shaderGraph/techniques/colorize/ColorizeTechnique.js +1 -1
  213. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  214. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  215. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
  216. package/views/2d/engine/webgl/shaderGraph/techniques/drop-shadow/DropShadowTechnique.js +1 -1
  217. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  218. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillTechnique.js +1 -1
  219. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
  220. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillTechnique.js +1 -1
  221. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillTechnique.js +1 -1
  222. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
  223. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.js +1 -1
  224. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
  225. package/views/2d/engine/webgl/shaderGraph/techniques/flow/FlowTechnique.js +1 -1
  226. package/views/2d/engine/webgl/shaderGraph/techniques/grid/GridTechnique.js +1 -1
  227. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
  228. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
  229. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  230. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
  231. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
  232. package/views/2d/engine/webgl/shaderGraph/techniques/magnifier/MagnifierTechnique.js +1 -1
  233. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  234. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerTechnique.js +1 -1
  235. package/views/2d/engine/webgl/shaderGraph/techniques/opacity/OpacityTechnique.js +1 -1
  236. package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
  237. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartShader.js +1 -1
  238. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
  239. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  240. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterHighlightTechnique.js +1 -1
  241. package/views/2d/engine/webgl/shaderGraph/techniques/raster/VectorFieldTechnique.js +1 -1
  242. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/AspectTechnique.js +1 -1
  243. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BandArithmeticTechnique.js +1 -1
  244. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BaseRasterProcessorTechnique.js +1 -1
  245. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ColormapToRGBTechnique.js +1 -1
  246. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CompositeBandTechnique.js +1 -1
  247. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ComputeChangeTechnique.js +1 -1
  248. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ContrastBrightnessTechnique.js +1 -1
  249. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ConvolutionTechnique.js +1 -1
  250. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CurvatureTechnique.js +1 -1
  251. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ExtractBandTechnique.js +1 -1
  252. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/FocalStatisticsTechnique.js +1 -1
  253. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/GrayscaleTechnique.js +1 -1
  254. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/HillshadeTechnique.js +1 -1
  255. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/LocalTechnique.js +1 -1
  256. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/MaskTechnique.js +1 -1
  257. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/NDVITechnique.js +1 -1
  258. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/RemapTechnique.js +1 -1
  259. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ReprojectTechnique.js +1 -1
  260. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ShadedReliefTechnique.js +1 -1
  261. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SlopeTechnique.js +1 -1
  262. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SpectralConversionTechnique.js +1 -1
  263. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/StretchTechnique.js +1 -1
  264. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  265. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BitmapShader.js +1 -1
  266. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  267. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlitShader.js +1 -1
  268. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
  269. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlurShader.js +1 -1
  270. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js +1 -1
  271. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  272. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
  273. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js +1 -1
  274. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/EntityStorage.js +1 -1
  275. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
  276. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
  277. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  278. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
  279. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
  280. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MosaicInfo.js +1 -1
  281. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
  282. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
  283. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
  284. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternOutlineFillShader.js +1 -1
  285. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsDiffShader.js +1 -1
  286. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsMinMaxSumShader.js +1 -1
  287. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsStdDevShader.js +1 -1
  288. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TextureStatisticsSumOfSquaredDiffShader.js +1 -1
  289. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  290. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
  291. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js +1 -1
  292. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowImageryShader.js +1 -1
  293. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowUtils.js +1 -1
  294. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterColorizerShader.js +1 -1
  295. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/BaseRasterHighlightShader.js +1 -1
  296. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterColorizerLUTShader.js +1 -1
  297. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterColorizerShadedReliefShader.js +1 -1
  298. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterColorizerStretchShader.js +1 -1
  299. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/RasterXYBandHighlightShader.js +1 -1
  300. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/lut.js +1 -1
  301. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/AspectShader.js +1 -1
  302. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/BaseRasterProcessorShader.js +1 -1
  303. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ColormapToRGBShader.js +1 -1
  304. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ConvolutionShader.js +1 -1
  305. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/CurvatureShader.js +1 -1
  306. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/FocalStatisticsShader.js +1 -1
  307. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/HillshadeShader.js +1 -1
  308. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
  309. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/ShadedReliefShader.js +1 -1
  310. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/SlopeShader.js +1 -1
  311. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/projection.js +1 -1
  312. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/stretch.js +1 -1
  313. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderBackground.js +1 -1
  314. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderFill.js +1 -1
  315. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderIcon.js +1 -1
  316. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderLine.js +1 -1
  317. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vector-tiles/VTLShaderText.js +1 -1
  318. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vvUtils.js +1 -1
  319. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  320. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.js +1 -1
  321. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileDebugInfoTechnique.js +1 -1
  322. package/views/2d/engine/webgl/shaderGraph/techniques/tile/TileStencilTechnique.js +1 -1
  323. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueBackground.js +1 -1
  324. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueCircle.js +1 -1
  325. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueFill.js +1 -1
  326. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueLine.js +1 -1
  327. package/views/2d/engine/webgl/shaderGraph/techniques/vectorTiles/VTLTechniqueSymbol.js +1 -1
  328. package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
  329. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  330. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  331. package/views/3d/FocusAreasView.js +1 -1
  332. package/views/3d/StencilGeometry.js +2 -0
  333. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  334. package/views/3d/analysis/Viewshed/ViewshedComputedData.js +1 -1
  335. package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
  336. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  337. package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
  338. package/views/3d/analysis/Viewshed/ViewshedShapeVisualElement.js +1 -1
  339. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  340. package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
  341. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  342. package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
  343. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  344. package/views/3d/focusAreaUtils.js +2 -0
  345. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  346. package/views/3d/layers/I3SMeshView3D.js +1 -1
  347. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  348. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  349. package/views/3d/layers/IntegratedMeshNormals.js +1 -1
  350. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  351. package/views/3d/layers/SceneLayerView3D.js +1 -1
  352. package/views/3d/layers/SceneLayerWorker.js +1 -1
  353. package/views/3d/layers/i3s/I3SQueryEngine.js +1 -1
  354. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  355. package/views/3d/layers/support/DefinitionExpressionSceneLayerView.js +1 -1
  356. package/views/3d/layers/support/TemporalSceneLayerView.js +1 -1
  357. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  358. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  359. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
  360. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  361. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  362. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  363. package/views/3d/webgl-engine/effects/clouds/CloudsComposition.js +1 -1
  364. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  365. package/views/3d/webgl-engine/effects/clouds/CloudsTechnique.js +1 -1
  366. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
  367. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  368. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  369. package/views/3d/webgl-engine/effects/focusArea/focusAreaMaskUtils.js +2 -0
  370. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  371. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  372. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  373. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  374. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  375. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  376. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightBuffer.js +1 -1
  377. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  378. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  379. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  380. package/views/3d/webgl-engine/effects/precipitation/Precipitation.js +1 -1
  381. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  382. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  383. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  384. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  385. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  386. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  387. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  388. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  389. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  390. package/views/3d/webgl-engine/lib/Material.js +1 -1
  391. package/views/3d/webgl-engine/lib/Normals.js +1 -1
  392. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  393. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  394. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  395. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  396. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  397. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  398. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  399. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  400. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  401. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  402. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  403. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  404. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  405. package/views/3d/webgl-engine/shaders/OutputColorHighlightOLID.glsl.js +10 -10
  406. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  407. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  408. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  409. package/views/View2D.js +1 -1
  410. package/views/draw/support/GraphicMover.js +1 -1
  411. package/views/draw/support/Reshape.js +1 -1
  412. package/views/draw/support/editingSessionUtils.js +1 -1
  413. package/views/webgl/FramebufferObject.js +1 -1
  414. package/widgets/BatchAttributeForm/css.js +1 -1
  415. package/widgets/BatchAttributeForm/inputs/GroupInput.d.ts +2 -1
  416. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.d.ts +54 -0
  417. package/widgets/BatchAttributeForm/inputs/RelationshipElementInput.js +2 -0
  418. package/widgets/BatchAttributeForm/inputs/support/createBatchFormInputs.js +1 -1
  419. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  420. package/widgets/BatchAttributeForm/inputs/types.d.ts +4 -3
  421. package/widgets/BatchAttributeForm/templates/AttachmentElementTemplate.js +1 -1
  422. package/widgets/BatchAttributeForm/templates/RelationshipElementTemplate.js +2 -0
  423. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  424. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  425. package/widgets/BatchAttributeForm/templates/support/templateUtils.js +1 -1
  426. package/widgets/BatchAttributeForm.js +1 -1
  427. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +21 -1
  428. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  429. package/widgets/CoordinateConversion/support/Format.js +1 -1
  430. package/widgets/CoordinateConversion/support/coordinateConversionUtils.js +1 -1
  431. package/widgets/CoordinateConversion.d.ts +21 -1
  432. package/widgets/CoordinateConversion.js +1 -1
  433. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  434. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  435. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  436. package/widgets/Editor/support/SketchController.js +1 -1
  437. package/widgets/Editor/workflowUtils.js +1 -1
  438. package/widgets/FeatureTable/FeatureTableViewModel.js +1 -1
  439. package/widgets/Sketch/SketchViewModel.js +1 -1
  440. package/widgets/support/ContingentValuesManager.js +1 -1
  441. package/widgets/types.d.ts +1 -1
  442. package/assets/esri/core/workers/chunks/07eff82916681fcff069.js +0 -1
  443. package/assets/esri/core/workers/chunks/0b1454a77a6a682541dc.js +0 -2
  444. package/assets/esri/core/workers/chunks/1c7fd0a229a8112b0539.js +0 -596
  445. package/assets/esri/core/workers/chunks/3697e51e1e4cf442f39a.js +0 -1
  446. package/assets/esri/core/workers/chunks/3cce9dad8ee0e4971d50.js +0 -1
  447. package/assets/esri/core/workers/chunks/3df8493b91aa3bce824d.js +0 -1
  448. package/assets/esri/core/workers/chunks/68a313155ddc29bd024d.js +0 -1
  449. package/assets/esri/core/workers/chunks/751609831b283903ba48.js +0 -1
  450. package/assets/esri/core/workers/chunks/7bacdd65a6cc4d284e0a.js +0 -2
  451. package/assets/esri/core/workers/chunks/7e97684e851274efd11f.js +0 -1
  452. package/assets/esri/core/workers/chunks/85aac8539996372f1ee8.js +0 -1
  453. package/assets/esri/core/workers/chunks/99d298d0039c536fcf3e.js +0 -1
  454. package/assets/esri/core/workers/chunks/9aaf78b831f8739bc127.js +0 -1
  455. package/assets/esri/core/workers/chunks/9b9916864b6575c42c8a.js +0 -1
  456. package/assets/esri/core/workers/chunks/bf7e019437a3b6036300.js +0 -2
  457. package/assets/esri/core/workers/chunks/d304343a781acfa3ff96.js +0 -1
  458. package/assets/esri/core/workers/chunks/dbb9bb28696ff9536678.js +0 -2
  459. package/assets/esri/core/workers/chunks/f09a41ad239d467d9438.js +0 -2
  460. package/assets/esri/core/workers/chunks/f6912532aae1638cbe8f.js +0 -1
  461. /package/assets/esri/core/workers/chunks/{7bacdd65a6cc4d284e0a.js.LICENSE.txt → 10408183681fd6c7b4ed.js.LICENSE.txt} +0 -0
  462. /package/assets/esri/core/workers/chunks/{f09a41ad239d467d9438.js.LICENSE.txt → 5818f1f526577068d6ca.js.LICENSE.txt} +0 -0
  463. /package/assets/esri/core/workers/chunks/{dbb9bb28696ff9536678.js.LICENSE.txt → 7cdd0492b2191df95102.js.LICENSE.txt} +0 -0
  464. /package/assets/esri/core/workers/chunks/{bf7e019437a3b6036300.js.LICENSE.txt → dacc2e5fa462495ed1cc.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getFeatureUniforms as i,getSelectionDefines as s,resolveDynamicUniforms as r,getFeaturePipelineState as a}from"../featureTechniqueUtils.js";import{PieChartShader as h}from"./PieChartShader.js";class u extends e{constructor(){super(...arguments),this.type=30,this.shaders={geometry:new h},this.symbologyPlane=2}render(e,h){const{painter:u}=e,{instance:o,target:n}=h,l=this.shaders.geometry,m=o.getInput(),f=m.uniforms.numberOfFields,S=t(e),V=i(e,n),d=s(e);l.setNumberOfFields(f),u.setShader({shader:l,uniforms:{...r(e,h.target,m.uniforms.shader),...V.storage,...V.view,...V.highlight,highlightUniforms:V.highlight,hittestUniforms:V.hittestRequest?{hittestDist:V.hittestRequest?.distance,hittestPos:V.hittestRequest?.position}:null},defines:{VV_SIZE_MIN_MAX_VALUE:!!m.uniforms.shader.visualVariableSizeMinMaxValue,VV_SIZE_SCALE_STOPS:!!m.uniforms.shader.visualVariableSizeScaleStops,VV_SIZE_FIELD_STOPS:!!m.uniforms.shader.visualVariableSizeStops,VV_SIZE_UNIT_VALUE:!!m.uniforms.shader.visualVariableSizeUnitValue,VV_OPACITY:!!m.uniforms.shader.visualVariableOpacity,HITTEST:S,highlight:V.highlight?1:0,...d,numberOfFields:f},optionalAttributes:{},useComputeBuffer:S}),u.setPipelineState(a(e)),u.submitDraw(e,h)}}export{u as PieChartTechnique};
2
+ import{FeatureTechnique as e}from"../FeatureTechnique.js";import{isHittest as t,getFeatureUniforms as i,getSelectionDefines as s,getFeatureStorageTextures as r,resolveDynamicUniforms as a,getFeaturePipelineState as h}from"../featureTechniqueUtils.js";import{PieChartShader as u}from"./PieChartShader.js";class o extends e{constructor(){super(...arguments),this.type=30,this.shaders={geometry:new u},this.symbologyPlane=2}render(e,u){const{painter:o}=e,{instance:n,target:l}=u,m=this.shaders.geometry,f=n.getInput(),S=f.uniforms.numberOfFields,V=t(e),d=i(e,l),g=s(e);m.setNumberOfFields(S),o.setShader({shader:m,uniforms:{...a(e,u.target,f.uniforms.shader),...d.storage,...d.view,...d.highlight,highlightUniforms:d.highlight,hittestUniforms:d.hittestRequest?{hittestDist:d.hittestRequest?.distance,hittestPos:d.hittestRequest?.position}:null},textures:r(e),defines:{VV_SIZE_MIN_MAX_VALUE:!!f.uniforms.shader.visualVariableSizeMinMaxValue,VV_SIZE_SCALE_STOPS:!!f.uniforms.shader.visualVariableSizeScaleStops,VV_SIZE_FIELD_STOPS:!!f.uniforms.shader.visualVariableSizeStops,VV_SIZE_UNIT_VALUE:!!f.uniforms.shader.visualVariableSizeUnitValue,VV_OPACITY:!!f.uniforms.shader.visualVariableOpacity,HITTEST:V,highlight:d.highlight?1:0,...g,numberOfFields:S},optionalAttributes:{},useComputeBuffer:V}),o.setPipelineState(h(e)),o.submitDraw(e,u)}}export{o as PieChartTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/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 s}from"./processor/textureUtils.js";import{RasterColorizerLUTShader as o}from"../shaders/raster/RasterColorizerLUTShader.js";import{RasterColorizerShadedReliefShader as r}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 h=160,p=new Set(["f32","f64","u16","s16","u32","s32"]);class f extends t{constructor(){super(...arguments),this.name="BrushRasterColorizer",this.type=0,this.shaders={lut:new o,stretch:new n,shadedRelief:new r},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 s=i.bitmaps.some(g);s||(this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique));const o=s?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:s}=e.symbolizerParameters,r="stretch"===s?this._getStretchOptions(e,o):"lut"===s?this._getLutOptions(e):this._getShadedReliefOptions(e);"bilinear"!==e.interpolation||t.context.capabilities.textureFloatLinear||(r.defines.bilinear=!0),i.submitDrawMesh(t.context,r,i.quadMesh,e),t.timeline.end(this.name)}}_computeStatisticsTextures(e,t){this._statisticsTechnique??=new i;const s=this._statisticsTechnique;let o=has("esri-2d-dra-delay");if(null==o){const e=t.bitmaps.find(g),{stretchType:i,bandCount:s}=e.symbolizerParameters,{pixelType:r}=e.source;"minMax"===i&&s>=3&&p.has(r)&&(o=h)}if(o){const i=performance.now();(i-this._draTimer>=o||e.stationary||!s.minValuesTexture)&&(this._mosaic(e,t),s.render(e,{fbo:this._mosaicFbo}),this._draTimer=i)}else this._mosaic(e,t),s.render(e,{fbo:this._mosaicFbo});return{minTexture:s.minValuesTexture,maxTexture:s.maxValuesTexture,meanTexture:s.meanValuesTexture,stddevTexture:s.stdDevValuesTexture}}_mosaic(e,t){const{context:i,painter:s}=e,o=i.boundFramebuffer;if(null==o)return;if(this._mosaicFbo)this._mosaicFbo.resize(o.width,o.height);else{const e=d(i,o.width,o.height);this._mosaicFbo=new c(i,e)}i.bindFramebuffer(this._mosaicFbo);const r="RasterColorizerMosaic";for(const n of t.bitmaps){if(!g(n))continue;e.timeline.begin(r),s.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);i.defines.noOp=!0,s.submitDrawMesh(e.context,i,s.quadMesh,n),n.interpolation=t,e.timeline.end(r)}i.bindFramebuffer(o)}_getLutOptions(e){const{config:t,projectionConfig:i,colormapConfig:o,pixelMaskConfig:r,highlightConfig:n,projectionDefines:a}=this._getCommonConfig(e),u=s(e);return{shader:this.shaders.lut,uniforms:{projectionConfig:i,config:t,colormapConfig:o,pixelMaskConfig:r,highlightConfig:n},defines:{...a,...u,applyPixelMask:!!r,applyPixelHighlights:!!n},optionalAttributes:null,useComputeBuffer:!1}}_getStretchOptions(e,t){const i=e.symbolizerParameters,{config:o,projectionConfig:r,colormapConfig:n,pixelMaskConfig:a,highlightConfig:u,projectionDefines:c,textureUnit:m}=this._getCommonConfig(e),l=s(e),h=t?{minTexture:{texture:t.minTexture,unit:m},maxTexture:{texture:t.maxTexture,unit:m+1},meanTexture:{texture:t.meanTexture,unit:m+2},stddevTexture:{texture:t.stddevTexture,unit:m+3},numberOfStandardDeviations:i.numberOfStandardDeviations||2}:void 0,p=t?"standardDeviation"===i.stretchType?2:1:0;return{shader:this.shaders.stretch,uniforms:{projectionConfig:r,config:o,stretchConfig:i,colormapConfig:n,pixelMaskConfig:a,highlightConfig:u,statisticsConfig:h},defines:{...c,...l,isMultiband:i.bandCount>1,applyColormap:!!n,useGamma:i.useGamma,noOp:e.isRenderedSource&&!e.processed,applyPixelMask:!!a,applyPixelHighlights:!!u,draStretchType:p},optionalAttributes:null,useComputeBuffer:!1}}_getShadedReliefOptions(e){const t=e.symbolizerParameters,{config:i,projectionConfig:o,colormapConfig:r,pixelMaskConfig:n,highlightConfig:a,projectionDefines:u}=this._getCommonConfig(e),c=s(e);return{shader:this.shaders.shadedRelief,uniforms:{projectionConfig:o,config:i,hillshadeConfig:t,colormapConfig:r,pixelMaskConfig:n,highlightConfig:a},defines:{...u,...c,isMultidirectional:t.hillshadeType>0,applyColormap:!!r,applyPixelMask:!!n,applyPixelHighlights:!!a},optionalAttributes:null,useComputeBuffer:!1}}_getCommonConfig(e){const{coordScale:t,computedOpacity:i,transforms:s}=e,{names:o,textures:r}=e.getTextures({useProcessedTexture:e.processed}),n=r[o.indexOf("u_image")],a=e.getRasterTextureSize();let u=0;const c={texture:{texture:n,unit:u++},dvsMat3:s.displayViewScreenMat3,coordScale:t,srcImageSize:a,opacity:i},m=r[o.indexOf("u_transformGrid")],{transformGrid:l}=e,h=!(!m||!l),p=h?{transformTexture:{texture:m,unit:u++},targetImageSize:[e.width,e.height],transformSpacing:l.spacing,transformGridSize:l.size}:void 0,f=r[o.indexOf("u_colormap")],{colormap:d,colormapOffset:g}=e.symbolizerParameters,x=f&&d?{colormapTexture:{texture:f,unit:u++},colormapOffset:g??0,colormapMaxIndex:d.length/4-1}:void 0,b=r[o.indexOf("u_mask")],T=b?{maskTexture:{texture:b,unit:u++}}:void 0,{highlightTexture:C}=e;return{config:c,projectionConfig:p,colormapConfig:x,pixelMaskConfig:T,highlightConfig:C?{highlightTexture:{texture:C,unit:u++}}:void 0,projectionDefines:{applyProjection:h,lookupProjection:h&&1===l.spacing[0]},textureUnit:u}}}function d(e,t,i){const s=new l(t,i);return s.internalFormat=a.RGBA32F,s.samplingMode=9728,s.dataType=u.FLOAT,s.wrapMode=33071,new m(e,s)}function g(e){return!e.suspended&&null!=e.source&&!e.isRenderedSource&&"stretch"===e.symbolizerParameters.type&&!!e.symbolizerParameters.dynamicRangeAdjustment}export{f as RasterColorizerTechnique};
2
+ import has from"../../../../../../../core/has.js";import{disposeMaybe as e}from"../../../../../../../core/maybe.js";import{Technique as t}from"../Technique.js";import{TextureStatisticsTechnique as i}from"../TextureStatisticsTechnique.js";import{getInterpolationDefines as r}from"./processor/textureUtils.js";import{RasterColorizerLUTShader as s}from"../shaders/raster/RasterColorizerLUTShader.js";import{RasterColorizerShadedReliefShader as o}from"../shaders/raster/RasterColorizerShadedReliefShader.js";import{RasterColorizerStretchShader as n}from"../shaders/raster/RasterColorizerStretchShader.js";import{SizedPixelFormat as a,PixelType as u}from"../../../../../../webgl/enums.js";import{DisposableFramebufferObject as c}from"../../../../../../webgl/FramebufferObject.js";import m from"../../../../../../webgl/Texture.js";import{TextureDescriptor as l}from"../../../../../../webgl/TextureDescriptor.js";const p=160,h=new Set(["f32","f64","u16","s16","u32","s32"]);class d extends t{constructor(){super(...arguments),this.name="BrushRasterColorizer",this.type=0,this.shaders={lut:new s,stretch:new n,shadedRelief:new o},this._mosaicFbo=null,this._statisticsTechnique=null,this._draTimer=0}shutdown(t){super.shutdown(t),this._mosaicFbo=e(this._mosaicFbo),this._statisticsTechnique=e(this._statisticsTechnique)}render(t,i){const r=i.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);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){const i=e.symbolizerParameters,{config:s,projectionConfig:o,projectionTextures:n,colormapConfig:a,colormapTextures:u,textures:c,projectionDefines:m,textureUnit:l}=this._getCommonConfig(e),p=r(e),h=t?{numberOfStandardDeviations:i.numberOfStandardDeviations||2}:void 0,d=t?{minTexture:{texture:t.minTexture,unit:l},maxTexture:{texture:t.maxTexture,unit:l+1},meanTexture:{texture:t.meanTexture,unit:l+2},stddevTexture:{texture:t.stddevTexture,unit:l+3}}:void 0,x=t?"standardDeviation"===i.stretchType?2:1:0;return{shader:this.shaders.stretch,uniforms:{projectionConfig:o,config:s,stretchConfig:i,colormapConfig:a,statisticsConfig:h},textures:{...c,projectionTextures:n,colormapTextures:u,statisticsTextures:d},defines:{...m,...p,isMultiband:i.bandCount>1,applyColormap:!!a,useGamma:i.useGamma,noOp:e.isRenderedSource&&!e.processed,applyPixelMask:!!c.pixelMaskTexture,applyPixelHighlights:!!c.highlightTexture,draStretchType:x},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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/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 o}from"../shaders/raster/RasterXYBandHighlightShader.js";import{SizedPixelFormat as r,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 d extends t{constructor(){super(...arguments),this.name="BrushRasterHighlight",this.type=2,this.shaders={range:new n,xyBand:new o}}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,o){const{config:r,projectionConfig:s,highlightConfig:a,projectionDefines:g}=this._getCommonConfig(t),h=i(t,o),d={bandSwap:n,ranges:e.ranges,color:e.color};return{shader:this.shaders.range,uniforms:{projectionConfig:s,config:r,rangeHighlightConfig:d,highlightConfig:a},defines:{...g,...h,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!a},optionalAttributes:null,useComputeBuffer:!1}}_getXYBandShaderOptions(e,t,n,o,r){const{config:s,projectionConfig:a,highlightConfig:g,projectionDefines:h}=this._getCommonConfig(t),d=i(t,o),u={bandSwap:n,xRange:e.xRange,yRange:e.yRange,color:e.color},p=r?{maskTexture:{texture:r,unit:4}}:void 0;return{shader:this.shaders.xyBand,uniforms:{projectionConfig:a,config:s,xyRangeHighlightConfig:u,xyMaskHighlightConfig:p,highlightConfig:g},defines:{...h,...d,applyPixelMask:!1,applyPixelHighlights:!1,hasExistingHighlights:!!g,useMask:!!p},optionalAttributes:null,useComputeBuffer:!1}}render(t,i){const{pixelHighlightOptions:n}=t;if(!n)return;const{context:o}=t;if(!this._fbo){const i=u(t.context,e,e);this._fbo=new a(o,i)}const{type:r}=n,s="xy-band"===r?p(t.context,n):void 0,g=o.boundFramebuffer,h=o.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}}}),a.updateTexture(t),a.updateProcessedTexture(!1);const h=new Float32Array(9);h[3*i[0]]=1,h[3*i[1]+1]="xy-band"===r?1:0;const d="single-band"===r?this._getSingleBandShaderOptions(n,a,h,o):this._getXYBandShaderOptions(n,a,h,o,s);o.bindFramebuffer(this._fbo),o.setViewport(0,0,e,e),g.submitDrawMesh(t.context,d,g.quadMesh);const p=u(t.context,e,e);this._fbo.copyToTexture(0,0,e,e,0,0,p),a.highlightTexture=p,t.timeline.end(this.name)}s?.dispose(),o.bindFramebuffer(g),o.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")],o=e.getRasterTextureSize(),r={texture:{texture:n,unit:0},dvsMat3:new Float32Array([2,0,0,0,2,0,-1,-1,0]),coordScale:[1,1],srcImageSize:o,opacity:1},s=i[t.indexOf("u_transformGrid")],{transformGrid:a}=e,g=!(!s||!a),h=g?{transformTexture:{texture:s,unit:1},targetImageSize:[e.width,e.height],transformSpacing:a.spacing,transformGridSize:a.size}:void 0,{highlightTexture:d}=e;return{config:r,projectionConfig:h,highlightConfig:d?{highlightTexture:{texture:d,unit:2}}:void 0,projectionDefines:{applyProjection:g,lookupProjection:g&&1===a.spacing[0]}}}}function u(e,t,i){const n=new h(t,i);return n.internalFormat=r.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 o=new h(n[0],n[1]);return o.internalFormat=r.R8,o.samplingMode=9728,o.dataType=s.UNSIGNED_BYTE,o.isImmutable=!0,o.wrapMode=33071,new g(e,o,i)}export{d 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 r}from"../shaders/raster/RasterRangeHighlightShader.js";import{RasterXYBandHighlightShader as n}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 r,xyBand:new n}}shutdown(e){super.shutdown(e),this._fbo?.dispose(),this._fbo=void 0}_getBandIds(e,t){const{type:i}=e,r="xy-band"===i?e.bandIds:[e.bandId];return t?.length?r.map(e=>t.indexOf(e)):"xy-band"===i?[0,1]:[0]}_getSingleBandShaderOptions(e,t,r,n){const{config:o,projectionConfig:s,projectionTextures:a,textures:g,projectionDefines:h}=this._getCommonConfig(t),u=i(t,n),d={bandSwap:r,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,r,n,o){const{config:s,projectionConfig:a,projectionTextures:g,textures:h,projectionDefines:u}=this._getCommonConfig(t),d=i(t,n),p={bandSwap:r,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:r}=t;if(!r)return;const{context:n}=t;if(!this._fbo){const i=d(t.context,e,e);this._fbo=new a(n,i)}const{type:o}=r,s="xy-band"===o?p(t.context,r):void 0,g=n.boundFramebuffer,h=n.getViewport();for(const a of i.bitmaps){if(!a.source||a.highlighted||a.suspended||a.isRenderedSource)continue;const i=this._getBandIds(r,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}}}),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(r,a,h,n):this._getXYBandShaderOptions(r,a,h,n,s);n.bindFramebuffer(this._fbo),n.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(),n.bindFramebuffer(g),n.setViewport(h.x,h.y,h.width,h.height)}_getCommonConfig(e){const{names:t,textures:i}=e.getTextures({forProcessing:!0,useProcessedTexture:e.processed}),r=i[t.indexOf("u_image")],n=e.getRasterTextureSize(),o={dvsMat3:new Float32Array([2,0,0,0,2,0,-1,-1,0]),coordScale:[1,1],srcImageSize:n,opacity:1},s={texture:{texture:r,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 r=new h(t,i);return r.internalFormat=o.RGBA8,r.samplingMode=9728,r.dataType=s.UNSIGNED_BYTE,r.isImmutable=!0,r.wrapMode=33071,new g(e,r)}function p(e,t){const{mask:i,maskSize:r}=t;if(!i?.length||!r?.length)return;const n=new h(r[0],r[1]);return n.internalFormat=o.R8,n.samplingMode=9728,n.dataType=s.UNSIGNED_BYTE,n.isImmutable=!0,n.wrapMode=33071,new g(e,n,i)}export{u as RasterHighlightTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/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)}},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)}},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{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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{AspectShader as e}from"../../shaders/raster/processor/AspectShader.js";class t extends s{constructor(){super(...arguments),this.name="RasterAspectProcessor",this.type=4,this.shaders={aspect:new e}}_process(s,e){const t={cellSize:e.getRasterCellSize()},r=this._getCommonConfig(s,e),o={shader:this.shaders.aspect,uniforms:{config:r,aspectConfig:t},defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:a,context:i}=s;a.submitDrawMesh(i,o,a.quadMesh)}}export{t as AspectTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{AspectShader as s}from"../../shaders/raster/processor/AspectShader.js";class t extends e{constructor(){super(...arguments),this.name="RasterAspectProcessor",this.type=4,this.shaders={aspect:new s}}_process(e,s){const t={cellSize:s.getRasterCellSize()},{config:r,textures:o}=this._getCommonConfig(e,s),i={shader:this.shaders.aspect,uniforms:{config:r,aspectConfig:t},textures:o,defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:a,context:c}=e;a.submitDrawMesh(c,i,a.quadMesh)}}export{t as AspectTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{BandArithmeticShader as t}from"../../shaders/raster/processor/BandArithmeticShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterBandArithmeticProcessor",this.type=5,this.shaders={bandArithmetic:new t}}_process(e,t){const s=e.rasterFunction.parameters,r={indexType:s.indexType,isOutputRounded:s.isOutputRounded},n={bandIndexMat3:s.bandIndexMat3},i=s.adjustments?{adjustments:[...s.adjustments]}:void 0,a=this._getCommonConfig(e,t),o={shader:this.shaders.bandArithmetic,uniforms:{config:a,bandArithmeticConfig:n,adjustmentConfig:i},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:d,context:u}=e;d.submitDrawMesh(u,o,d.quadMesh)}}export{s as BandArithmeticTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{BandArithmeticShader as t}from"../../shaders/raster/processor/BandArithmeticShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterBandArithmeticProcessor",this.type=5,this.shaders={bandArithmetic:new t}}_process(e,t){const s=e.rasterFunction.parameters,r={indexType:s.indexType,isOutputRounded:s.isOutputRounded},n={bandIndexMat3:s.bandIndexMat3},i=s.adjustments?{adjustments:[...s.adjustments]}:void 0,{config:a,textures:o}=this._getCommonConfig(e,t),d={shader:this.shaders.bandArithmetic,uniforms:{config:a,bandArithmeticConfig:n,adjustmentConfig:i},textures:o,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:u,context:m}=e;u.submitDrawMesh(m,d,u.quadMesh)}}export{s as BandArithmeticTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{disposeMaybe as e}from"../../../../../../../../core/maybe.js";import{tileSize as t}from"../../../../definitions.js";import{Technique as r}from"../../Technique.js";import{createNewFBO as n,createProcessedTexture as s}from"./textureUtils.js";import{createColormapTexture as o}from"../../../../../../../webgl/rasterUtils.js";class i extends r{shutdown(e){super.shutdown(e),this._fbo?.dispose(),this._fbo=void 0}render(r,i){const{rasterFunction:a}=r;if(!a)return;const{context:u}=r,m="indexedColormap"in a.parameters?o(u,a.parameters.indexedColormap):void 0,p="Reproject"===a.name,d=u.boundFramebuffer,c=u.getViewport();for(const o of i.bitmaps){const d=p?!(o.rasterTexture&&o.projected):!o.processed;if(!o.source||!d||o.suspended)continue;r.timeline.begin(this.name);const{painter:c}=r;c.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}}}),p||(o.processedTexture=e(o.processedTexture)),o.updateTexture(r);const[l,g]=o.getRasterTextureSize(p),f=l===t&&g===t,h=f?i.processorFbo:n(u,l,g);u.bindFramebuffer(h),u.setViewport(0,0,h.width,h.height),this._process(r,o,m);const x=s(r.context,l,g);if(h.copyToTexture(0,0,l,g,0,0,x),p)o.rasterTexture=x;else{const e=r.hasBranches?a.id:0;o.functionTextures[e]?.dispose(),o.functionTextures[e]=x}f||h.dispose(),r.timeline.end(this.name)}m?.dispose(),u.bindFramebuffer(d),u.setViewport(c.x,c.y,c.width,c.height)}_getCommonConfig(e,t){const{rasterFunction:r,hasBranches:n}=e,{raster:s,rasters:o}=r.parameters,i=n?s?.id??o?.find(e=>"Constant"!==e.name)?.id??-1:0,a=t.functionTextures[i]??t.rasterTexture,u="Reproject"===r.name;return{texture:{texture:a,unit:0},srcImageSize:t.getRasterTextureSize(u)}}_getMultipleInputConfig(e,t){return t?.length?2===t.length?{twoRasterConfig:this._getTwoInputConfig(t,e)}:3===t.length?{threeRasterConfig:this._getThreeInputConfig(t,e)}:{}:{}}_getConstantCount(e){return e?.filter(e=>"Constant"===e.name).length??0}_getTextures(e,t){return e.filter(e=>"Constant"!==e.name).map(e=>null!=e.id&&"Identity"!==e.name?t.functionTextures[e.id]:t.rasterTexture)}_getTwoInputConfig(e,t){const r=this._getTextures(e,t),n=r[1]?{texture:r[1],unit:1}:void 0,s=e.findIndex(e=>"Constant"===e.name),o=0===s?new Float32Array([0,1,0,1,0,0,0,0,0]):new Float32Array([1,0,0,0,1,0,0,0,0]);return{image1:n,image1Const:s>-1?e[s].parameters.value:0,imageSwap:o}}_getThreeInputConfig(e,t){const r=this._getTextures(e,t);let n=0,s=0,o=new Float32Array([1,0,0,0,1,0,0,0,1]);const i=r[1]?{texture:r[1],unit:1}:void 0,a=r[2]?{texture:r[2],unit:2}:void 0,u=[];if(e.forEach((e,t)=>"Constant"===e.name&&u.push(t)),1===u.length)n=e[u[0]].parameters.value,o=0===u[0]?new Float32Array([0,1,0,0,0,1,1,0,0]):1===u[0]?new Float32Array([1,0,0,0,0,1,0,1,0]):new Float32Array([1,0,0,0,1,0,0,0,1]);else if(2===u.length){n=e[u[0]].parameters.value,s=e[u[1]].parameters.value;const t=e.findIndex(e=>"Constant"!==e.name);o=0===t?new Float32Array([1,0,0,0,1,0,0,0,1]):1===t?new Float32Array([0,1,0,1,0,0,0,0,1]):new Float32Array([0,0,1,1,0,0,0,1,0])}return{image1:i,image2:a,image1Const:n,image2Const:s,imageSwap:o}}}export{i as BaseRasterProcessorTechnique};
2
+ import{disposeMaybe as e}from"../../../../../../../../core/maybe.js";import{tileSize as t}from"../../../../definitions.js";import{Technique as r}from"../../Technique.js";import{createNewFBO as n,createProcessedTexture as s}from"./textureUtils.js";import{createColormapTexture as o}from"../../../../../../../webgl/rasterUtils.js";class i extends r{shutdown(e){super.shutdown(e),this._fbo?.dispose(),this._fbo=void 0}render(r,i){const{rasterFunction:a}=r;if(!a)return;const{context:u}=r,c="indexedColormap"in a.parameters?o(u,a.parameters.indexedColormap):void 0,m="Reproject"===a.name,d=u.boundFramebuffer,p=u.getViewport();for(const o of i.bitmaps){const d=m?!(o.rasterTexture&&o.projected):!o.processed;if(!o.source||!d||o.suspended)continue;r.timeline.begin(this.name);const{painter:p}=r;p.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}}}),m||(o.processedTexture=e(o.processedTexture)),o.updateTexture(r);const[f,g]=o.getRasterTextureSize(m),l=f===t&&g===t,x=l?i.processorFbo:n(u,f,g);u.bindFramebuffer(x),u.setViewport(0,0,x.width,x.height),this._process(r,o,c);const h=s(r.context,f,g);if(x.copyToTexture(0,0,f,g,0,0,h),m)o.rasterTexture=h;else{const e=r.hasBranches?a.id:0;o.functionTextures[e]?.dispose(),o.functionTextures[e]=h}l||x.dispose(),r.timeline.end(this.name)}c?.dispose(),u.bindFramebuffer(d),u.setViewport(p.x,p.y,p.width,p.height)}_getCommonConfig(e,t){const{rasterFunction:r,hasBranches:n}=e,{raster:s,rasters:o}=r.parameters,i=n?s?.id??o?.find(e=>"Constant"!==e.name)?.id??-1:0,a=t.functionTextures[i]??t.rasterTexture,u="Reproject"===r.name;return{config:{srcImageSize:t.getRasterTextureSize(u)},textures:{texture:{texture:a,unit:0}}}}_getMultipleInputConfig(e,t){if(!t?.length)return{};if(2===t.length){const{config:r,textures:n}=this._getTwoInputConfig(t,e);return{twoRasterConfig:r,twoRasterTextures:n}}if(3===t.length){const{config:r,textures:n}=this._getThreeInputConfig(t,e);return{threeRasterConfig:r,threeRasterTextures:n}}return{}}_getConstantCount(e){return e?.filter(e=>"Constant"===e.name).length??0}_getTextures(e,t){return e.filter(e=>"Constant"!==e.name).map(e=>null!=e.id&&"Identity"!==e.name?t.functionTextures[e.id]:t.rasterTexture)}_getTwoInputConfig(e,t){const r=this._getTextures(e,t),n=r[1]?{texture:r[1],unit:1}:void 0,s=e.findIndex(e=>"Constant"===e.name),o=0===s?new Float32Array([0,1,0,1,0,0,0,0,0]):new Float32Array([1,0,0,0,1,0,0,0,0]);return{config:{image1Const:s>-1?e[s].parameters.value:0,imageSwap:o},textures:n?{image1:n}:void 0}}_getThreeInputConfig(e,t){const r=this._getTextures(e,t);let n=0,s=0,o=new Float32Array([1,0,0,0,1,0,0,0,1]);const i=r[1]?{texture:r[1],unit:1}:void 0,a=r[2]?{texture:r[2],unit:2}:void 0,u=[];if(e.forEach((e,t)=>"Constant"===e.name&&u.push(t)),1===u.length)n=e[u[0]].parameters.value,o=0===u[0]?new Float32Array([0,1,0,0,0,1,1,0,0]):1===u[0]?new Float32Array([1,0,0,0,0,1,0,1,0]):new Float32Array([1,0,0,0,1,0,0,0,1]);else if(2===u.length){n=e[u[0]].parameters.value,s=e[u[1]].parameters.value;const t=e.findIndex(e=>"Constant"!==e.name);o=0===t?new Float32Array([1,0,0,0,1,0,0,0,1]):1===t?new Float32Array([0,1,0,1,0,0,0,0,1]):new Float32Array([0,0,1,1,0,0,0,1,0])}return{config:{image1Const:n,image2Const:s,imageSwap:o},textures:i?{image1:i,image2:a??null}:void 0}}}export{i as BaseRasterProcessorTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as o}from"./BaseRasterProcessorTechnique.js";import{ColormapToRGBShader as e}from"../../shaders/raster/processor/ColormapToRGBShader.js";class r extends o{constructor(){super(...arguments),this.name="RasterColormapToRGBProcessor",this.type=6,this.shaders={colormapToRGB:new e}}_process(o,e,r){const s=o.rasterFunction.parameters,t={colormapTexture:{texture:r,unit:1},colormapOffset:s.offset,colormapMaxIndex:s.indexedColormap.length/4-1},a=this._getCommonConfig(o,e),n={shader:this.shaders.colormapToRGB,uniforms:{config:a,colormapConfig:t},defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:i,context:m}=o;i.submitDrawMesh(m,n,i.quadMesh)}}export{r as ColormapToRGBTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ColormapToRGBShader as o}from"../../shaders/raster/processor/ColormapToRGBShader.js";class r extends e{constructor(){super(...arguments),this.name="RasterColormapToRGBProcessor",this.type=6,this.shaders={colormapToRGB:new o}}_process(e,o,r){const s=e.rasterFunction.parameters,t={colormapOffset:s.offset,colormapMaxIndex:s.indexedColormap.length/4-1},a={colormapTexture:{texture:r,unit:1}},{config:n,textures:i}=this._getCommonConfig(e,o),m={shader:this.shaders.colormapToRGB,uniforms:{config:n,colormapConfig:t},textures:{...i,colormapTextures:a},defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:p,context:c}=e;p.submitDrawMesh(c,m,p.quadMesh)}}export{r as ColormapToRGBTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{CompositeBandShader as t}from"../../shaders/raster/processor/CompositeBandShader.js";class e extends s{constructor(){super(...arguments),this.name="RasterCompositeBandProcessor",this.type=7,this.shaders={compositeBand:new t}}_process(s,t){const{rasters:e}=s.rasterFunction.parameters,o={constantCount:this._getConstantCount(e),imageCount:e?.length??1},r=this._getMultipleInputConfig(t,e),n=this._getCommonConfig(s,t),a={shader:this.shaders.compositeBand,uniforms:{config:n,...r},defines:o,optionalAttributes:null,useComputeBuffer:!1},{painter:i,context:p}=s;i.submitDrawMesh(p,a,i.quadMesh)}}export{e as CompositeBandTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{CompositeBandShader as t}from"../../shaders/raster/processor/CompositeBandShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterCompositeBandProcessor",this.type=7,this.shaders={compositeBand:new t}}_process(e,t){const{rasters:s}=e.rasterFunction.parameters,r={constantCount:this._getConstantCount(s),imageCount:s?.length??1},{twoRasterConfig:o,threeRasterConfig:n,twoRasterTextures:a,threeRasterTextures:i}=this._getMultipleInputConfig(t,s),{config:u,textures:h}=this._getCommonConfig(e,t),p={shader:this.shaders.compositeBand,uniforms:{config:u,twoRasterConfig:o,threeRasterConfig:n},textures:{...h,twoRasterTextures:a,threeRasterTextures:i},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:c,context:m}=e;c.submitDrawMesh(m,p,c.quadMesh)}}export{s as CompositeBandTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ComputeChangeShader as t}from"../../shaders/raster/processor/ComputeChangeShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterComputeChangeProcessor",this.type=8,this.shaders={computeChange:new t}}_process(e,t){const s=e.rasterFunction.parameters,{rasters:o}=s,n={constantCount:this._getConstantCount(o),imageCount:o.length,method:s.method,isOutputRounded:s.isOutputRounded},r={domainRange:s.domainRange},{twoRasterConfig:a}=this._getMultipleInputConfig(t,o),i=this._getCommonConfig(e,t),u={shader:this.shaders.computeChange,uniforms:{config:i,domainRangeConfig:r,twoRasterConfig:a},defines:n,optionalAttributes:null,useComputeBuffer:!1},{painter:h,context:m}=e;h.submitDrawMesh(m,u,h.quadMesh)}}export{s as ComputeChangeTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ComputeChangeShader as t}from"../../shaders/raster/processor/ComputeChangeShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterComputeChangeProcessor",this.type=8,this.shaders={computeChange:new t}}_process(e,t){const s=e.rasterFunction.parameters,{rasters:o}=s,n={constantCount:this._getConstantCount(o),imageCount:o.length,method:s.method,isOutputRounded:s.isOutputRounded},r={domainRange:s.domainRange},{twoRasterConfig:a,twoRasterTextures:i}=this._getMultipleInputConfig(t,o),{config:u,textures:h}=this._getCommonConfig(e,t),m={shader:this.shaders.computeChange,uniforms:{config:u,domainRangeConfig:r,twoRasterConfig:a},textures:{...h,twoRasterTextures:i},defines:n,optionalAttributes:null,useComputeBuffer:!1},{painter:g,context:p}=e;g.submitDrawMesh(p,m,g.quadMesh)}}export{s as ComputeChangeTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{ContrastBrightnessShader as t}from"../../shaders/raster/processor/ContrastBrightnessShader.js";class r extends s{constructor(){super(...arguments),this.name="RasterContrastBrightnessProcessor",this.type=9,this.shaders={contrastBrightness:new t}}_process(s,t){const r=this._getCommonConfig(s,t),e=s.rasterFunction.parameters,o={shader:this.shaders.contrastBrightness,uniforms:{config:r,contrastBrightnessConfig:e},defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:n,context:a}=s;n.submitDrawMesh(a,o,n.quadMesh)}}export{r as ContrastBrightnessTechnique};
2
+ import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{ContrastBrightnessShader as t}from"../../shaders/raster/processor/ContrastBrightnessShader.js";class e extends s{constructor(){super(...arguments),this.name="RasterContrastBrightnessProcessor",this.type=9,this.shaders={contrastBrightness:new t}}_process(s,t){const{config:e,textures:r}=this._getCommonConfig(s,t),o=s.rasterFunction.parameters,n={shader:this.shaders.contrastBrightness,uniforms:{config:e,contrastBrightnessConfig:o},textures:r,defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:i,context:a}=s;i.submitDrawMesh(a,n,i.quadMesh)}}export{e as ContrastBrightnessTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ConvolutionShader as o}from"../../shaders/raster/processor/ConvolutionShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterConvolutionProcessor",this.type=10,this.shaders={convolution:new o}}_process(e,o){const s=e.rasterFunction.parameters,r={rows:s.kernelRows,cols:s.kernelCols},n={kernel:[...s.kernel],clampRange:s.clampRange},t=this._getCommonConfig(e,o),i={shader:this.shaders.convolution,uniforms:{config:t,convolutionConfig:n},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:a,context:c}=e;a.submitDrawMesh(c,i,a.quadMesh)}}export{s as ConvolutionTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ConvolutionShader as s}from"../../shaders/raster/processor/ConvolutionShader.js";class o extends e{constructor(){super(...arguments),this.name="RasterConvolutionProcessor",this.type=10,this.shaders={convolution:new s}}_process(e,s){const o=e.rasterFunction.parameters,r={rows:o.kernelRows,cols:o.kernelCols},t={kernel:[...o.kernel],clampRange:o.clampRange},{config:n,textures:i}=this._getCommonConfig(e,s),a={shader:this.shaders.convolution,uniforms:{config:n,convolutionConfig:t},textures:i,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:c,context:u}=e;c.submitDrawMesh(u,a,c.quadMesh)}}export{o as ConvolutionTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as r}from"./BaseRasterProcessorTechnique.js";import{CurvatureShader as e}from"../../shaders/raster/processor/CurvatureShader.js";class s extends r{constructor(){super(...arguments),this.name="RasterCurvatureProcessor",this.type=11,this.shaders={curvature:new e}}_process(r,e){const s=r.rasterFunction.parameters,t={curvatureType:s.curvatureType},a=e.getRasterCellSize(),o={zlFactor:200*s.zFactor/a[0]/a[1]},u=this._getCommonConfig(r,e),c={shader:this.shaders.curvature,uniforms:{config:u,curvatureConfig:o},defines:t,optionalAttributes:null,useComputeBuffer:!1},{painter:i,context:n}=r;i.submitDrawMesh(n,c,i.quadMesh)}}export{s as CurvatureTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{CurvatureShader as r}from"../../shaders/raster/processor/CurvatureShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterCurvatureProcessor",this.type=11,this.shaders={curvature:new r}}_process(e,r){const s=e.rasterFunction.parameters,t={curvatureType:s.curvatureType},o=r.getRasterCellSize(),a={zlFactor:200*s.zFactor/o[0]/o[1]},{config:u,textures:c}=this._getCommonConfig(e,r),i={shader:this.shaders.curvature,uniforms:{config:u,curvatureConfig:a},textures:c,defines:t,optionalAttributes:null,useComputeBuffer:!1},{painter:n,context:h}=e;n.submitDrawMesh(h,i,n.quadMesh)}}export{s as CurvatureTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ExtractBandShader as s}from"../../shaders/raster/processor/ExtractBandShader.js";class t extends e{constructor(){super(...arguments),this.name="RasterExtractBandProcessor",this.type=12,this.shaders={extractBand:new s}}_process(e,s){const t={bandIndexMat3:e.rasterFunction.parameters.bandIndexMat3},r=this._getCommonConfig(e,s),a={shader:this.shaders.extractBand,uniforms:{config:r,extractBandConfig:t},defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:n,context:o}=e;n.submitDrawMesh(o,a,n.quadMesh)}}export{t as ExtractBandTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{ExtractBandShader as t}from"../../shaders/raster/processor/ExtractBandShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterExtractBandProcessor",this.type=12,this.shaders={extractBand:new t}}_process(e,t){const s={bandIndexMat3:e.rasterFunction.parameters.bandIndexMat3},{config:r,textures:a}=this._getCommonConfig(e,t),n={shader:this.shaders.extractBand,uniforms:{config:r,extractBandConfig:s},textures:a,defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:o,context:i}=e;o.submitDrawMesh(i,n,o.quadMesh)}}export{s as ExtractBandTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{FocalStatisticsShader as t}from"../../shaders/raster/processor/FocalStatisticsShader.js";class e extends s{constructor(){super(...arguments),this.name="RasterFocalStatisticsProcessor",this.type=23,this.shaders={focalStatistics:new t}}_process(s,t){const e=s.rasterFunction.parameters,a={rows:e.kernelRows,cols:e.kernelCols,statisticsType:e.statisticsType,fill:e.fillNoDataOnly},o={clampRange:e.clampRange},r=this._getCommonConfig(s,t),i={shader:this.shaders.focalStatistics,uniforms:{config:r,focalStatisticsConfig:o},defines:a,optionalAttributes:null,useComputeBuffer:!1},{painter:c,context:n}=s;c.submitDrawMesh(n,i,c.quadMesh)}}export{e as FocalStatisticsTechnique};
2
+ import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{FocalStatisticsShader as t}from"../../shaders/raster/processor/FocalStatisticsShader.js";class e extends s{constructor(){super(...arguments),this.name="RasterFocalStatisticsProcessor",this.type=23,this.shaders={focalStatistics:new t}}_process(s,t){const e=s.rasterFunction.parameters,r={rows:e.kernelRows,cols:e.kernelCols,statisticsType:e.statisticsType,fill:e.fillNoDataOnly},o={clampRange:e.clampRange},{config:a,textures:i}=this._getCommonConfig(s,t),c={shader:this.shaders.focalStatistics,uniforms:{config:a,focalStatisticsConfig:o},textures:i,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:n,context:l}=s;n.submitDrawMesh(l,c,n.quadMesh)}}export{e as FocalStatisticsTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{GrayscaleShader as e}from"../../shaders/raster/processor/GrayscaleShader.js";class r extends s{constructor(){super(...arguments),this.name="RasterGrayscaleProcessor",this.type=13,this.shaders={grayscale:new e}}_process(s,e){const r={weights:s.rasterFunction.parameters.weights},t=this._getCommonConfig(s,e),a={shader:this.shaders.grayscale,uniforms:{config:t,grayscaleConfig:r},defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:o,context:i}=s;o.submitDrawMesh(i,a,o.quadMesh)}}export{r as GrayscaleTechnique};
2
+ import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{GrayscaleShader as e}from"../../shaders/raster/processor/GrayscaleShader.js";class r extends s{constructor(){super(...arguments),this.name="RasterGrayscaleProcessor",this.type=13,this.shaders={grayscale:new e}}_process(s,e){const r={weights:s.rasterFunction.parameters.weights},{config:t,textures:a}=this._getCommonConfig(s,e),o={shader:this.shaders.grayscale,uniforms:{config:t,grayscaleConfig:r},textures:a,defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:i,context:n}=s;i.submitDrawMesh(n,o,i.quadMesh)}}export{r as GrayscaleTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{computeZFactor as s}from"../../shaders/raster/surface.js";import{HillshadeShader as r}from"../../shaders/raster/processor/HillshadeShader.js";class t extends e{constructor(){super(...arguments),this.name="RasterHillshadeProcessor",this.type=14,this.shaders={hillshade:new r}}_process(e,r){const t=e.rasterFunction.parameters,a={isMultidirectional:t.hillshadeType>0},i=r.getRasterCellSize(),o=s(t,i),h={...t,factor:o,minValue:0,maxValue:8e3},l=this._getCommonConfig(e,r),n={shader:this.shaders.hillshade,uniforms:{config:l,hillshadeConfig:h},defines:a,optionalAttributes:null,useComputeBuffer:!1},{painter:d,context:u}=e;d.submitDrawMesh(u,n,d.quadMesh)}}export{t as HillshadeTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{computeZFactor as s}from"../../shaders/raster/surface.js";import{HillshadeShader as r}from"../../shaders/raster/processor/HillshadeShader.js";class t extends e{constructor(){super(...arguments),this.name="RasterHillshadeProcessor",this.type=14,this.shaders={hillshade:new r}}_process(e,r){const t=e.rasterFunction.parameters,a={isMultidirectional:t.hillshadeType>0},i=r.getRasterCellSize(),o=s(t,i),h={...t,factor:o,minValue:0,maxValue:8e3},{config:l,textures:n}=this._getCommonConfig(e,r),u={shader:this.shaders.hillshade,uniforms:{config:l,hillshadeConfig:h},textures:n,defines:a,optionalAttributes:null,useComputeBuffer:!1},{painter:c,context:d}=e;c.submitDrawMesh(d,u,c.quadMesh)}}export{t as HillshadeTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{LocalShader as s}from"../../shaders/raster/processor/LocalShader.js";class t extends e{constructor(){super(...arguments),this.name="RasterLocalProcessor",this.type=15,this.shaders={local:new s}}_process(e,s){const t=e.rasterFunction.parameters,o={constantCount:this._getConstantCount(t.rasters),imageCount:t.imageCount,operationName:t.operationName,isOutputRounded:t.isOutputRounded},a={domainRange:t.domainRange},r="conditional"===t.operationName?t.rasters:t.rasters?.slice(0,2),n=this._getMultipleInputConfig(s,r),i=this._getCommonConfig(e,s),u={shader:this.shaders.local,uniforms:{config:i,domainRangeConfig:a,...n},defines:o,optionalAttributes:null,useComputeBuffer:!1},{painter:c,context:m}=e;c.submitDrawMesh(m,u,c.quadMesh)}}export{t as LocalTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{LocalShader as t}from"../../shaders/raster/processor/LocalShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterLocalProcessor",this.type=15,this.shaders={local:new t}}_process(e,t){const s=e.rasterFunction.parameters,r={constantCount:this._getConstantCount(s.rasters),imageCount:s.imageCount,operationName:s.operationName,isOutputRounded:s.isOutputRounded},o={domainRange:s.domainRange},a="conditional"===s.operationName?s.rasters:s.rasters?.slice(0,2),{twoRasterConfig:n,threeRasterConfig:i,twoRasterTextures:u,threeRasterTextures:c}=this._getMultipleInputConfig(t,a),{config:h,textures:m}=this._getCommonConfig(e,t),p={shader:this.shaders.local,uniforms:{config:h,domainRangeConfig:o,twoRasterConfig:n,threeRasterConfig:i},textures:{...m,twoRasterTextures:u,threeRasterTextures:c},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:g,context:d}=e;g.submitDrawMesh(d,p,g.quadMesh)}}export{s as LocalTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{MaskShader as e}from"../../shaders/raster/processor/MaskShader.js";class a extends s{constructor(){super(...arguments),this.name="RasterMaskProcessor",this.type=16,this.shaders={mask:new e}}_process(s,e){const a=s.rasterFunction.parameters,r={isMultiband:a.bandCount>1},t={includedRanges:[...a.includedRanges],noDataValues:[...a.noDataValues]},o=this._getCommonConfig(s,e),n={shader:this.shaders.mask,uniforms:{config:o,maskConfig:t},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:i,context:u}=s;i.submitDrawMesh(u,n,i.quadMesh)}}export{a as MaskTechnique};
2
+ import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{MaskShader as e}from"../../shaders/raster/processor/MaskShader.js";class t extends s{constructor(){super(...arguments),this.name="RasterMaskProcessor",this.type=16,this.shaders={mask:new e}}_process(s,e){const t=s.rasterFunction.parameters,r={isMultiband:t.bandCount>1},a={includedRanges:[...t.includedRanges],noDataValues:[...t.noDataValues]},{config:o,textures:n}=this._getCommonConfig(s,e),i={shader:this.shaders.mask,uniforms:{config:o,maskConfig:a},textures:n,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:u,context:c}=s;u.submitDrawMesh(c,i,u.quadMesh)}}export{t as MaskTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{NDVIShader as e}from"../../shaders/raster/processor/NDVIShader.js";class r extends s{constructor(){super(...arguments),this.name="RasterNDVIProcessor",this.type=17,this.shaders={ndvi:new e}}_process(s,e){const r=s.rasterFunction.parameters,t={scaled:r.scaled},o={bandIndexMat3:r.bandIndexMat3},n=this._getCommonConfig(s,e),a={shader:this.shaders.ndvi,uniforms:{config:n,ndviConfig:o},defines:t,optionalAttributes:null,useComputeBuffer:!1},{painter:i,context:d}=s;i.submitDrawMesh(d,a,i.quadMesh)}}export{r as NDVITechnique};
2
+ import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{NDVIShader as e}from"../../shaders/raster/processor/NDVIShader.js";class r extends s{constructor(){super(...arguments),this.name="RasterNDVIProcessor",this.type=17,this.shaders={ndvi:new e}}_process(s,e){const r=s.rasterFunction.parameters,t={scaled:r.scaled},o={bandIndexMat3:r.bandIndexMat3},{config:n,textures:a}=this._getCommonConfig(s,e),i={shader:this.shaders.ndvi,uniforms:{config:n,ndviConfig:o},textures:a,defines:t,optionalAttributes:null,useComputeBuffer:!1},{painter:d,context:c}=s;d.submitDrawMesh(c,i,d.quadMesh)}}export{r as NDVITechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{RemapShader as a}from"../../shaders/raster/processor/RemapShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterRemapProcessor",this.type=18,this.shaders={remap:new a}}_process(e,a){const s=e.rasterFunction.parameters,r={replaceUnmatched:s.allowUnmatched&&null!=s.replacementValue},t={rangeMaps:[...s.rangeMaps],noDataRanges:[...s.noDataRanges],unmatchMask:s.allowUnmatched?1:0,replacementValue:s.replacementValue??0,clampRange:s.clampRange},n=this._getCommonConfig(e,a),o={shader:this.shaders.remap,uniforms:{config:n,remapConfig:t},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:m,context:p}=e;m.submitDrawMesh(p,o,m.quadMesh)}}export{s as RemapTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{RemapShader as a}from"../../shaders/raster/processor/RemapShader.js";class s extends e{constructor(){super(...arguments),this.name="RasterRemapProcessor",this.type=18,this.shaders={remap:new a}}_process(e,a){const s=e.rasterFunction.parameters,r={replaceUnmatched:s.allowUnmatched&&null!=s.replacementValue},t={rangeMaps:[...s.rangeMaps],noDataRanges:[...s.noDataRanges],unmatchMask:s.allowUnmatched?1:0,replacementValue:s.replacementValue??0,clampRange:s.clampRange},{config:n,textures:o}=this._getCommonConfig(e,a),m={shader:this.shaders.remap,uniforms:{config:n,remapConfig:t},textures:o,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:p,context:c}=e;p.submitDrawMesh(c,m,p.quadMesh)}}export{s as RemapTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/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:n,projectionDefines:s}=this._getReprojectConfig(t),a={shader:this.shaders.reproject,uniforms:{config:i,projectionConfig:n},defines:{...s,...o,applyPixelMask:!1,applyPixelHighlights:!1},optionalAttributes:null,useComputeBuffer:!1},{interpolation:c}=t;t.interpolation="nearest";const{painter:p,context:u}=e;p.submitDrawMesh(u,a,p.quadMesh),t.interpolation=c,t.projected=!0}_getReprojectConfig(e){const{source:t}=e,{names:r,textures:o}=e.getTextures({forProcessing:!0}),i={texture:{texture:o[r.indexOf("u_image")],unit:0},dvsMat3:new Float32Array([2,0,0,0,2,0,-1,-1,0]),coordScale:[1,1],srcImageSize:[t.width,t.height],opacity:1},n=o[r.indexOf("u_transformGrid")],{transformGrid:s}=e,a=!(!n||!s);return{config:i,projectionConfig:a?{transformTexture:{texture:n,unit:1},targetImageSize:[e.width,e.height],transformSpacing:s.spacing,transformGridSize:s.size}:void 0,projectionDefines:{applyProjection:a,lookupProjection:a&&1===s.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,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};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{computeZFactor as s}from"../../shaders/raster/surface.js";import{ShadedReliefShader as r}from"../../shaders/raster/processor/ShadedReliefShader.js";class t extends e{constructor(){super(...arguments),this.name="RasterShadedReliefProcessor",this.type=20,this.shaders={shadedRelief:new r}}_process(e,r,t){const o=e.rasterFunction.parameters,a={isMultidirectional:o.hillshadeType>0},i=r.getRasterCellSize(),n=s(o,i),d={...o,factor:n},h={colormapTexture:{texture:t,unit:1},colormapOffset:o.offset,colormapMaxIndex:o.indexedColormap.length/4-1},l=this._getCommonConfig(e,r),f={shader:this.shaders.shadedRelief,uniforms:{config:l,hillshadeConfig:d,colormapConfig:h},defines:a,optionalAttributes:null,useComputeBuffer:!1},{painter:c,context:m}=e;c.submitDrawMesh(m,f,c.quadMesh)}}export{t as ShadedReliefTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{computeZFactor as s}from"../../shaders/raster/surface.js";import{ShadedReliefShader as r}from"../../shaders/raster/processor/ShadedReliefShader.js";class t extends e{constructor(){super(...arguments),this.name="RasterShadedReliefProcessor",this.type=20,this.shaders={shadedRelief:new r}}_process(e,r,t){const o=e.rasterFunction.parameters,a={isMultidirectional:o.hillshadeType>0},i=r.getRasterCellSize(),n=s(o,i),d={...o,factor:n},h={colormapOffset:o.offset,colormapMaxIndex:o.indexedColormap.length/4-1},l={colormapTexture:{texture:t,unit:1}},{config:f,textures:c}=this._getCommonConfig(e,r),u={shader:this.shaders.shadedRelief,uniforms:{config:f,hillshadeConfig:d,colormapConfig:h},textures:{...c,colormapTextures:l},defines:a,optionalAttributes:null,useComputeBuffer:!1},{painter:m,context:p}=e;m.submitDrawMesh(p,u,m.quadMesh)}}export{t as ShadedReliefTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{SlopeShader as s}from"../../shaders/raster/processor/SlopeShader.js";class r extends e{constructor(){super(...arguments),this.name="RasterSlopeProcessor",this.type=21,this.shaders={slope:new s}}_process(e,s){const r=e.rasterFunction.parameters,t={isOutputRounded:r.isOutputRounded,percentRise:"percent-rise"===r.slopeType},o={cellSize:s.getRasterCellSize(),pixelSizePower:"adjusted"===r.slopeType?r.pixelSizePower:0,pixelSizeFactor:"adjusted"===r.slopeType?r.pixelSizeFactor:0,zFactor:r.zFactor},i=this._getCommonConfig(e,s),p={shader:this.shaders.slope,uniforms:{config:i,slopeConfig:o},defines:t,optionalAttributes:null,useComputeBuffer:!1},{painter:a,context:n}=e;a.submitDrawMesh(n,p,a.quadMesh)}}export{r as SlopeTechnique};
2
+ import{BaseRasterProcessorTechnique as e}from"./BaseRasterProcessorTechnique.js";import{SlopeShader as s}from"../../shaders/raster/processor/SlopeShader.js";class t extends e{constructor(){super(...arguments),this.name="RasterSlopeProcessor",this.type=21,this.shaders={slope:new s}}_process(e,s){const t=e.rasterFunction.parameters,r={isOutputRounded:t.isOutputRounded,percentRise:"percent-rise"===t.slopeType},o={cellSize:s.getRasterCellSize(),pixelSizePower:"adjusted"===t.slopeType?t.pixelSizePower:0,pixelSizeFactor:"adjusted"===t.slopeType?t.pixelSizeFactor:0,zFactor:t.zFactor},{config:i,textures:p}=this._getCommonConfig(e,s),a={shader:this.shaders.slope,uniforms:{config:i,slopeConfig:o},textures:p,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:n,context:u}=e;n.submitDrawMesh(u,a,n.quadMesh)}}export{t as SlopeTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{SpectralConversionShader as e}from"../../shaders/raster/processor/SpectralConversionShader.js";class r extends s{constructor(){super(...arguments),this.name="RasterSpectralConversionProcessor",this.type=22,this.shaders={spectralConversion:new e}}_process(s,e){const r=s.rasterFunction.parameters,o=this._getCommonConfig(s,e),t={shader:this.shaders.spectralConversion,uniforms:{config:o,spectralConversionConfig:r},defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:n,context:a}=s;n.submitDrawMesh(a,t,n.quadMesh)}}export{r as SpectralConversionTechnique};
2
+ import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{SpectralConversionShader as e}from"../../shaders/raster/processor/SpectralConversionShader.js";class r extends s{constructor(){super(...arguments),this.name="RasterSpectralConversionProcessor",this.type=22,this.shaders={spectralConversion:new e}}_process(s,e){const r=s.rasterFunction.parameters,{config:t,textures:o}=this._getCommonConfig(s,e),n={shader:this.shaders.spectralConversion,uniforms:{config:t,spectralConversionConfig:r},textures:o,defines:{},optionalAttributes:null,useComputeBuffer:!1},{painter:i,context:a}=s;i.submitDrawMesh(a,n,i.quadMesh)}}export{r as SpectralConversionTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{StretchShader as e}from"../../shaders/raster/processor/StretchShader.js";class t extends s{constructor(){super(...arguments),this.name="RasterStretchProcessor",this.type=24,this.shaders={stretch:new e}}_process(s,e){const t=s.rasterFunction.parameters,r={isMultiband:t.bandCount>1,isOutputRounded:t.isOutputRounded,useGamma:t.useGamma},o=this._getCommonConfig(s,e),a={shader:this.shaders.stretch,uniforms:{config:o,stretchConfig:t},defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:n,context:i}=s;n.submitDrawMesh(i,a,n.quadMesh)}}export{t as StretchTechnique};
2
+ import{BaseRasterProcessorTechnique as s}from"./BaseRasterProcessorTechnique.js";import{StretchShader as e}from"../../shaders/raster/processor/StretchShader.js";class t extends s{constructor(){super(...arguments),this.name="RasterStretchProcessor",this.type=24,this.shaders={stretch:new e}}_process(s,e){const t=s.rasterFunction.parameters,r={isMultiband:t.bandCount>1,isOutputRounded:t.isOutputRounded,useGamma:t.useGamma},{config:o,textures:a}=this._getCommonConfig(s,e),n={shader:this.shaders.stretch,uniforms:{config:o,stretchConfig:t},textures:a,defines:r,optionalAttributes:null,useComputeBuffer:!1},{painter:u,context:i}=s;u.submitDrawMesh(i,n,u.quadMesh)}}export{t as StretchTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import{maxHighlightReasons as i}from"../../../definitions.js";import{GraphShaderModule as e,FragmentOutput as s,location as o,define as r,option as h,uniform as l,VertexInput as n,ComputeVertexInput as p,FragmentInput as u}from"../../GraphShaderModule.js";import{Float as d,float as g,step as a,Vec4 as m,Vec3 as c,ifElse as y,greaterThan as w,equal as v,Vec2 as f}from"../../graph/glsl.js";import{EntityStorage as b}from"./EntityStorage.js";import{isRectHittest as H,hittestScreenRect as x}from"./hittestUtils.js";import{ShaderHighlight as j}from"./ShaderHighlight.js";import{ShaderHittest as R}from"./ShaderHittest.js";import{getFilterBit as _,getHighlightBit as q,getBit as P,uvToClip as k}from"./utils.js";import{ViewInfo as S}from"./ViewInfo.js";class B extends n{}t([o(0,c)],B.prototype,"id",void 0),t([o(1,d)],B.prototype,"bitset",void 0),t([o(2,f)],B.prototype,"pos",void 0);class F extends p{}t([o(14,f)],F.prototype,"nextPos1",void 0),t([o(15,f)],F.prototype,"nextPos2",void 0);class M extends u{}class z extends e{clip(t,i){let e=new d(0);const s=this.storage.getFilterFlags(t);if(e=e.add(g(2).multiply(g(1).subtract(_(s,0)))),this.inside?e=e.add(g(2).multiply(g(1).subtract(_(s,1)))):this.outside?e=e.add(g(2).multiply(_(s,1))):this.highlight&&(e=e.add(g(2).multiply(g(1).subtract(this._checkHighlight(s))))),null!=i){const t=new d(1).subtract(a(i.x,this.view.currentZoom)),s=a(i.y,this.view.currentZoom);e=e.add(new d(2).multiply(t.add(s)))}return e}getFragmentOutput(t,i,e=new d(1/255)){const o=new s;return o.fragColor=this._maybeWriteHittest(i)??this._maybeHighlight(t,e)??t,o}_maybeHighlight(t,i){return this.highlight?new m(t.rgb,a(i,t.a)):null}_checkHighlight(t){let e=this._checkHighlightBit(t,0);for(let s=1;s<i;s++)e=e.add(this._checkHighlightBit(t,s));return a(new d(.1),e.add(this.highlight.highlightAll))}_checkHighlightBit(t,i){return q(t,i).multiply(P(this.highlight.activeReasons,i))}computeHittestTriangle(t,i,e){const{viewMat3:s,tileMat3:o}=this.view,r=s.multiply(o),{nextPos1:h,nextPos2:l}=i;return{pos0:r.multiply(new c(t.pos,1)).xy,pos1:r.multiply(new c(h,1)).xy,pos2:r.multiply(new c(l,1)).xy}}maybeRunHittest(t,i,e){if(null==this.hittestRequest)return null;const s=H(this.hittestRequest),o=y(s,()=>{const{pos0:s,pos1:o,pos2:r}=this.computeHittestTriangle(t,i,e),{tlbr:h}=this.hittestRequest;return x(s,o,r,h)},()=>{const s=this.hittest(t,i,e);return y(w(s,this.hittestRequest.distance),new d(0),new d(1))});let r=y(v(o,new d(1)),new d(0),new d(2));const h=this.storage.getAttributeDataCoords(t.id),l=k(h);r=r.add(this.clip(t.id,t.zoomRange));const n=new m(new d(1/255),0,0,0);return{glPointSize:new d(1),glPosition:new m(l,r,1),color:n}}_maybeWriteHittest(t){return null!=this.hittestRequest?t.color:null}}t([r],z.prototype,"inside",void 0),t([r],z.prototype,"outside",void 0),t([h(j)],z.prototype,"highlight",void 0),t([l(b)],z.prototype,"storage",void 0),t([l(S)],z.prototype,"view",void 0),t([h(R)],z.prototype,"hittestRequest",void 0);export{z as AFeatureShader,F as BaseHittestVertexInput,M as FeatureFragmentInput,B as FeatureVertexInput};
2
+ import{__decorate as t}from"tslib";import{maxHighlightReasons as e}from"../../../definitions.js";import{GraphShaderModule as i,FragmentOutput as s,location as o,define as r,option as h,uniform as l,texture as a,VertexInput as n,ComputeVertexInput as u,FragmentInput as g}from"../../GraphShaderModule.js";import{Float as p,float as d,step as m,Vec4 as c,Vec3 as y,ifElse as w,greaterThan as b,equal as x,Vec2 as v}from"../../graph/glsl.js";import{EntityStorage as f,EntityStorageTextures as H}from"./EntityStorage.js";import{isRectHittest as C,hittestScreenRect as V}from"./hittestUtils.js";import{ShaderHighlight as D}from"./ShaderHighlight.js";import{ShaderHittest as T}from"./ShaderHittest.js";import{getFilterBit as A,getHighlightBit as R,getBit as j,uvToClip as _}from"./utils.js";import{ViewInfo as F}from"./ViewInfo.js";class S extends n{}t([o(0,y)],S.prototype,"id",void 0),t([o(1,p)],S.prototype,"bitset",void 0),t([o(2,v)],S.prototype,"pos",void 0);class q extends u{}t([o(14,v)],q.prototype,"nextPos1",void 0),t([o(15,v)],q.prototype,"nextPos2",void 0);class P extends g{}class k extends i{clip(t,e){let i=new p(0);const s=this.getFilterFlags(t);if(i=i.add(d(2).multiply(d(1).subtract(A(s,0)))),this.inside?i=i.add(d(2).multiply(d(1).subtract(A(s,1)))):this.outside?i=i.add(d(2).multiply(A(s,1))):this.highlight&&(i=i.add(d(2).multiply(d(1).subtract(this._checkHighlight(s))))),null!=e){const t=new p(1).subtract(m(e.x,this.view.currentZoom)),s=m(e.y,this.view.currentZoom);i=i.add(new p(2).multiply(t.add(s)))}return i}getFragmentOutput(t,e,i=new p(1/255)){const o=new s;return o.fragColor=this._maybeWriteHittest(e)??this._maybeHighlight(t,i)??t,o}_maybeHighlight(t,e){return this.highlight?new c(t.rgb,m(e,t.a)):null}_checkHighlight(t){let i=this._checkHighlightBit(t,0);for(let s=1;s<e;s++)i=i.add(this._checkHighlightBit(t,s));return m(new p(.1),i.add(this.highlight.highlightAll))}_checkHighlightBit(t,e){return R(t,e).multiply(j(this.highlight.activeReasons,e))}computeHittestTriangle(t,e,i){const{viewMat3:s,tileMat3:o}=this.view,r=s.multiply(o),{nextPos1:h,nextPos2:l}=e;return{pos0:r.multiply(new y(t.pos,1)).xy,pos1:r.multiply(new y(h,1)).xy,pos2:r.multiply(new y(l,1)).xy}}maybeRunHittest(t,e,i){if(null==this.hittestRequest)return null;const s=C(this.hittestRequest),o=w(s,()=>{const{pos0:s,pos1:o,pos2:r}=this.computeHittestTriangle(t,e,i),{tlbr:h}=this.hittestRequest;return V(s,o,r,h)},()=>{const s=this.hittest(t,e,i);return w(b(s,this.hittestRequest.distance),new p(0),new p(1))});let r=w(x(o,new p(1)),new p(0),new p(2));const h=this.getAttributeDataCoords(t.id),l=_(h);r=r.add(this.clip(t.id,t.zoomRange));const a=new c(new p(1/255),0,0,0);return{glPointSize:new p(1),glPosition:new c(l,r,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([r],k.prototype,"inside",void 0),t([r],k.prototype,"outside",void 0),t([h(D)],k.prototype,"highlight",void 0),t([l(f)],k.prototype,"storage",void 0),t([a(H)],k.prototype,"storageTextures",void 0),t([l(F)],k.prototype,"view",void 0),t([h(T)],k.prototype,"hittestRequest",void 0);export{k as AFeatureShader,q as BaseHittestVertexInput,P as FeatureFragmentInput,S as FeatureVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as i,FragmentOutput as e,location as r,uniform as p,define as s,input as c,VertexInput as n,UniformGroup as l,FragmentInput as a}from"../../GraphShaderModule.js";import{Vec3 as d,Vec4 as y,texture2D as m,Vec2 as u,Sampler2D as f,Mat3 as g,Float as h}from"../../graph/glsl.js";import{sampleBicubicBSpline as x}from"./bitmapUtils.js";class v extends n{}t([r(0,u)],v.prototype,"position",void 0);class b extends a{}class S extends l{}t([p(f)],S.prototype,"texture",void 0),t([p(g)],S.prototype,"dvsMat3",void 0),t([p(u)],S.prototype,"coordScale",void 0),t([p(h)],S.prototype,"opacity",void 0);class w extends i{constructor(){super(...arguments),this.type="BitmapShader"}vertex(t){const o=this.config.dvsMat3.multiply(new d(t.position.multiply(this.config.coordScale),1));return{glPosition:new y(o,1),texcoord:t.position}}fragment(t){const o=new e;let i;return i=this.bicubic?x(this.config.texture,t.texcoord,this.config.coordScale):m(this.config.texture,t.texcoord),o.fragColor=new y(i.rgb.multiply(this.config.opacity),i.a.multiply(this.config.opacity)),o}}t([p(S)],w.prototype,"config",void 0),t([s],w.prototype,"bicubic",void 0),t([o(0,c(v))],w.prototype,"vertex",null),t([o(0,c(b))],w.prototype,"fragment",null);export{w as BitmapShader};
2
+ import{__decorate as t,__param as o}from"tslib";import{GraphShaderModule as i,FragmentOutput as e,location as r,uniform as p,texture as s,define as c,input as l,VertexInput as n,UniformGroup as a,FragmentInput as d}from"../../GraphShaderModule.js";import{Vec3 as y,Vec4 as m,texture2D as u,Vec2 as f,Mat3 as g,Float as h,Sampler2D as x}from"../../graph/glsl.js";import{sampleBicubicBSpline as v}from"./bitmapUtils.js";class b extends n{}t([r(0,f)],b.prototype,"position",void 0);class S extends d{}class w extends a{}t([p(g)],w.prototype,"dvsMat3",void 0),t([p(f)],w.prototype,"coordScale",void 0),t([p(h)],w.prototype,"opacity",void 0);class j extends i{constructor(){super(...arguments),this.type="BitmapShader"}vertex(t){const o=this.config.dvsMat3.multiply(new y(t.position.multiply(this.config.coordScale),1));return{glPosition:new m(o,1),texcoord:t.position}}fragment(t){const o=new e;let i;return i=this.bicubic?v(this.texture,t.texcoord,this.config.coordScale):u(this.texture,t.texcoord),o.fragColor=new m(i.rgb.multiply(this.config.opacity),i.a.multiply(this.config.opacity)),o}}t([p(w)],j.prototype,"config",void 0),t([s(x)],j.prototype,"texture",void 0),t([c],j.prototype,"bicubic",void 0),t([o(0,l(b))],j.prototype,"vertex",null),t([o(0,l(S))],j.prototype,"fragment",null);export{j as BitmapShader};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t,__param as l}from"tslib";import{GraphShaderModule as e,FragmentOutput as r,location as n,uniform as i,define as a,input as o,VertexInput as u,UniformGroup as p,FragmentInput as c}from"../../GraphShaderModule.js";import{Vec4 as s,texture2D as d,ifElse as y,equal as m,Float as w,clamp as b,Vec3 as g,abs as f,max as k,min as C,greaterThan as v,step as h,cond as x,lessThanEqual as T,dot as j,lessThan as F,sqrt as M,Vec2 as O,Sampler2D as S}from"../../graph/glsl.js";import{uvToClip as B,oneMinus as G,minusScalar as P,minusOne as q}from"./utils.js";class z extends u{}t([n(0,O)],z.prototype,"position",void 0);class A extends c{}class D extends p{}t([i(S)],D.prototype,"layerTexture",void 0),t([i(S)],D.prototype,"backbufferTexture",void 0),t([i(w)],D.prototype,"opacity",void 0),t([i(w)],D.prototype,"inFadeOpacity",void 0);class E extends e{constructor(){super(...arguments),this.type="BlendShader"}vertex(t){return{uv:t.position,glPosition:new s(B(t.position),0,1)}}fragment(t){const l=new r,e=d(this.config.layerTexture,t.uv),n=d(this.config.backbufferTexture,t.uv),i=y(m(e.a,new w(0)),e.rgb,e.rgb.divide(e.a)),a=y(m(n.a,new w(0)),n.rgb,n.rgb.divide(n.a)),o=this.config.opacity.multiply(e.a),u=n.a;switch(this.blendMode){case"destination-over":l.fragColor=new s(i.multiply(o).multiply(G(u)).add(a.multiply(u)),o.add(u).subtract(o.multiply(u)));break;case"source-in":{const t=new s(i.multiply(o).multiply(u),o.multiply(u)),e=new s(a.multiply(u),u).multiply(G(this.config.opacity)).multiply(this.config.inFadeOpacity);l.fragColor=t.add(e)}break;case"destination-in":{const t=new s(a.multiply(u).multiply(o),u.multiply(o)),e=new s(a.multiply(u),u).multiply(new s(G(this.config.opacity).multiply(this.config.inFadeOpacity)));l.fragColor=t.add(e)}break;case"source-out":l.fragColor=new s(i.multiply(o).multiply(G(u)),o.multiply(G(u)));break;case"destination-out":l.fragColor=new s(a.multiply(u).multiply(G(o)),u.multiply(G(o)));break;case"source-atop":l.fragColor=new s(i.multiply(o).multiply(u).add(a.multiply(u.multiply(G(o)))),u);break;case"destination-atop":l.fragColor=new s(i.multiply(o.multiply(G(u))).add(a.multiply(u).multiply(o)),o);break;case"xor":l.fragColor=new s(i.multiply(o.multiply(G(u))).add(a.multiply(u.multiply(G(o)))),o.multiply(G(u)).add(u.multiply(G(o))));break;case"multiply":l.fragColor=new s(i.multiply(o).multiply(a.multiply(u)).add(i.multiply(o).multiply(G(u))).add(a.multiply(u).multiply(G(o))),o.add(u.multiply(G(o))));break;case"screen":l.fragColor=new s(i.add(a).subtract(i.multiply(a)).multiply(o.multiply(u)).add(i.multiply(o).multiply(G(u))).add(a.multiply(u).multiply(G(o))),o.add(u.multiply(G(o))));break;case"overlay":{const t=new g(I(a.r,i.r),I(a.g,i.g),I(a.b,i.b));l.fragColor=H(t,i,a,o,u)}break;case"darken":{const t=C(i,a);l.fragColor=H(t,i,a,o,u)}break;case"lighter":l.fragColor=new s(i.multiply(o).add(a.multiply(u)),o.add(u));break;case"lighten":{const t=k(i,a);l.fragColor=H(t,i,a,o,u)}break;case"color-dodge":{const t=b(new g(J(a.r,i.r),J(a.g,i.g),J(a.b,i.b)),new g(0),new g(1));l.fragColor=H(t,i,a,o,u)}break;case"color-burn":{const t=new g(K(a.r,i.r),K(a.g,i.g),K(a.b,i.b));l.fragColor=H(t,i,a,o,u)}break;case"hard-light":{const t=new g(L(a.r,i.r),L(a.g,i.g),L(a.b,i.b));l.fragColor=H(t,i,a,o,u)}break;case"soft-light":{const t=new g(N(a.r,i.r),N(a.g,i.g),N(a.b,i.b));l.fragColor=H(t,i,a,o,u)}break;case"difference":{const t=f(a.subtract(i));l.fragColor=H(t,i,a,o,u)}break;case"exclusion":{const t=i.add(a).subtract(new w(2).multiply(i).multiply(a));l.fragColor=H(t,i,a,o,u)}break;case"invert":l.fragColor=new s(new g(1).subtract(a).multiply(o).multiply(u).add(a.multiply(u).multiply(G(o))),u);break;case"vivid-light":{const t=new g(b(Q(a.r,i.r),new w(0),new w(1)),b(Q(a.g,i.g),new w(0),new w(1)),b(Q(a.b,i.b),new w(0),new w(1)));l.fragColor=H(t,i,a,o,u)}break;case"hue":{const t=Z(i,a,a);l.fragColor=H(t,i,a,o,u)}break;case"saturation":{const t=Z(a,i,a);l.fragColor=H(t,i,a,o,u)}break;case"color":{const t=Y(i,a);l.fragColor=H(t,i,a,o,u)}break;case"luminosity":{const t=Y(a,i);l.fragColor=H(t,i,a,o,u)}break;case"plus":l.fragColor=b(new s(e.r.add(a.r),e.g.add(a.g),e.b.add(a.b),o.add(u)),new s(0),new s(1));break;case"minus":l.fragColor=new s(b(new g(a.r.subtract(e.r),a.g.subtract(e.g),a.b.subtract(e.b)),new g(0),new g(1)),u.multiply(o));break;case"average":{const t=a.add(i).divide(2);l.fragColor=H(t,i,a,o,u)}break;case"reflect":{const t=b(new g($(a.r,i.r),$(a.g,i.g),$(a.b,i.b)),new g(0),new g(1));l.fragColor=H(t,i,a,o,u)}break;default:l.fragColor=e.multiply(this.config.opacity)}return l}}function H(t,l,e,r,n){return new s(t.multiply(r).multiply(n).add(l.multiply(r).multiply(G(n))).add(e.multiply(n).multiply(G(r))),r.add(n.multiply(G(r))))}function I(t,l){return new w(1).subtract(h(new w(.5),l)).multiply(G(new w(2).multiply(G(l).multiply(G(t))))).add(h(new w(.5),l).multiply(new w(2).multiply(l).multiply(t)))}function J(t,l){return y(m(t,new w(0)),new w(0),y(m(l,new w(1)),new w(1),C(new w(1),t.divide(new w(1).subtract(l)))))}function K(t,l){return y(m(t,new w(1)),new w(1),y(m(l,new w(0)),new w(0),G(C(new w(1),G(t).divide(l)))))}function L(t,l){return new w(1).subtract(h(new w(.5),l)).multiply(new w(2).multiply(l).multiply(t)).add(h(new w(.5),l).multiply(G(new w(2).multiply(G(l).multiply(G(t))))))}function N(t,l){return x([T(l,new w(.5)),()=>{const e=new w(2).multiply(l),r=G(e),n=G(t);return t.subtract(r.multiply(t).multiply(n))}],[T(t,new w(.25)),()=>{const e=new w(2).multiply(l),r=q(e).multiply(t),n=new w(16).multiply(t).subtract(new w(12)).multiply(t).add(new w(3));return t.add(r.multiply(n))}],[!0,()=>{const e=new w(2).multiply(l),r=q(e),n=M(t).subtract(t);return t.add(r.multiply(n))}])}function Q(t,l){const e=G(h(new w(.5),l)).multiply(K(t,new w(2).multiply(l))),r=h(new w(.5),l).multiply(J(t,new w(2).multiply(P(l,.5))));return e.add(r)}function R(t){return C(C(t.r,t.g),t.b)}function U(t){return k(k(t.r,t.g),t.b)}function V(t){return j(t,new g(.3,.59,.11))}function W(t){return U(t).subtract(R(t))}function X(t){const l=V(t),e=R(t),r=U(t);return x([F(e,new w(0)),()=>{const r=t.subtract(l).multiply(l),n=l.subtract(e);return l.add(r.divide(n))}],[v(r,new w(1)),()=>{const e=t.subtract(l),n=G(l),i=e.multiply(n),a=r.subtract(l);return l.add(i.divide(a))}],[!0,t])}function Y(t,l){const e=V(t),r=V(l).subtract(e);return X(t.add(new g(r)))}function Z(t,l,e){const r=R(t),n=W(t),i=W(l);return Y(y(v(n,new w(0)),()=>t.subtract(r).multiply(i).divide(n),new g(0)),e)}function $(t,l){return y(m(l,new w(1)),l,()=>{const e=G(l),r=t.multiply(t).divide(e);return C(r,new w(1))})}t([a],E.prototype,"blendMode",void 0),t([i(D)],E.prototype,"config",void 0),t([l(0,o(z))],E.prototype,"vertex",null),t([l(0,o(A))],E.prototype,"fragment",null);export{E as BlendShader};
2
+ import{__decorate as t,__param as l}from"tslib";import{GraphShaderModule as e,FragmentOutput as r,location as n,uniform as i,define as a,texture as o,input as u,VertexInput as p,UniformGroup as c,FragmentInput as s}from"../../GraphShaderModule.js";import{Vec4 as d,texture2D as y,ifElse as m,equal as w,Float as b,clamp as g,Vec3 as f,abs as k,max as C,min as v,greaterThan as h,step as x,cond as T,lessThanEqual as j,dot as F,lessThan as M,Sampler2D as O,sqrt as S,Vec2 as B}from"../../graph/glsl.js";import{uvToClip as G,oneMinus as P,minusScalar as q,minusOne as z}from"./utils.js";class A extends p{}t([n(0,B)],A.prototype,"position",void 0);class D extends s{}class E extends c{}t([i(b)],E.prototype,"opacity",void 0),t([i(b)],E.prototype,"inFadeOpacity",void 0);class H extends e{constructor(){super(...arguments),this.type="BlendShader"}vertex(t){return{uv:t.position,glPosition:new d(G(t.position),0,1)}}fragment(t){const l=new r,e=y(this.layerTexture,t.uv),n=y(this.backbufferTexture,t.uv),i=m(w(e.a,new b(0)),e.rgb,e.rgb.divide(e.a)),a=m(w(n.a,new b(0)),n.rgb,n.rgb.divide(n.a)),o=this.config.opacity.multiply(e.a),u=n.a;switch(this.blendMode){case"destination-over":l.fragColor=new d(i.multiply(o).multiply(P(u)).add(a.multiply(u)),o.add(u).subtract(o.multiply(u)));break;case"source-in":{const t=new d(i.multiply(o).multiply(u),o.multiply(u)),e=new d(a.multiply(u),u).multiply(P(this.config.opacity)).multiply(this.config.inFadeOpacity);l.fragColor=t.add(e)}break;case"destination-in":{const t=new d(a.multiply(u).multiply(o),u.multiply(o)),e=new d(a.multiply(u),u).multiply(new d(P(this.config.opacity).multiply(this.config.inFadeOpacity)));l.fragColor=t.add(e)}break;case"source-out":l.fragColor=new d(i.multiply(o).multiply(P(u)),o.multiply(P(u)));break;case"destination-out":l.fragColor=new d(a.multiply(u).multiply(P(o)),u.multiply(P(o)));break;case"source-atop":l.fragColor=new d(i.multiply(o).multiply(u).add(a.multiply(u.multiply(P(o)))),u);break;case"destination-atop":l.fragColor=new d(i.multiply(o.multiply(P(u))).add(a.multiply(u).multiply(o)),o);break;case"xor":l.fragColor=new d(i.multiply(o.multiply(P(u))).add(a.multiply(u.multiply(P(o)))),o.multiply(P(u)).add(u.multiply(P(o))));break;case"multiply":l.fragColor=new d(i.multiply(o).multiply(a.multiply(u)).add(i.multiply(o).multiply(P(u))).add(a.multiply(u).multiply(P(o))),o.add(u.multiply(P(o))));break;case"screen":l.fragColor=new d(i.add(a).subtract(i.multiply(a)).multiply(o.multiply(u)).add(i.multiply(o).multiply(P(u))).add(a.multiply(u).multiply(P(o))),o.add(u.multiply(P(o))));break;case"overlay":{const t=new f(J(a.r,i.r),J(a.g,i.g),J(a.b,i.b));l.fragColor=I(t,i,a,o,u)}break;case"darken":{const t=v(i,a);l.fragColor=I(t,i,a,o,u)}break;case"lighter":l.fragColor=new d(i.multiply(o).add(a.multiply(u)),o.add(u));break;case"lighten":{const t=C(i,a);l.fragColor=I(t,i,a,o,u)}break;case"color-dodge":{const t=g(new f(K(a.r,i.r),K(a.g,i.g),K(a.b,i.b)),new f(0),new f(1));l.fragColor=I(t,i,a,o,u)}break;case"color-burn":{const t=new f(L(a.r,i.r),L(a.g,i.g),L(a.b,i.b));l.fragColor=I(t,i,a,o,u)}break;case"hard-light":{const t=new f(N(a.r,i.r),N(a.g,i.g),N(a.b,i.b));l.fragColor=I(t,i,a,o,u)}break;case"soft-light":{const t=new f(Q(a.r,i.r),Q(a.g,i.g),Q(a.b,i.b));l.fragColor=I(t,i,a,o,u)}break;case"difference":{const t=k(a.subtract(i));l.fragColor=I(t,i,a,o,u)}break;case"exclusion":{const t=i.add(a).subtract(new b(2).multiply(i).multiply(a));l.fragColor=I(t,i,a,o,u)}break;case"invert":l.fragColor=new d(new f(1).subtract(a).multiply(o).multiply(u).add(a.multiply(u).multiply(P(o))),u);break;case"vivid-light":{const t=new f(g(R(a.r,i.r),new b(0),new b(1)),g(R(a.g,i.g),new b(0),new b(1)),g(R(a.b,i.b),new b(0),new b(1)));l.fragColor=I(t,i,a,o,u)}break;case"hue":{const t=$(i,a,a);l.fragColor=I(t,i,a,o,u)}break;case"saturation":{const t=$(a,i,a);l.fragColor=I(t,i,a,o,u)}break;case"color":{const t=Z(i,a);l.fragColor=I(t,i,a,o,u)}break;case"luminosity":{const t=Z(a,i);l.fragColor=I(t,i,a,o,u)}break;case"plus":l.fragColor=g(new d(e.r.add(a.r),e.g.add(a.g),e.b.add(a.b),o.add(u)),new d(0),new d(1));break;case"minus":l.fragColor=new d(g(new f(a.r.subtract(e.r),a.g.subtract(e.g),a.b.subtract(e.b)),new f(0),new f(1)),u.multiply(o));break;case"average":{const t=a.add(i).divide(2);l.fragColor=I(t,i,a,o,u)}break;case"reflect":{const t=g(new f(_(a.r,i.r),_(a.g,i.g),_(a.b,i.b)),new f(0),new f(1));l.fragColor=I(t,i,a,o,u)}break;default:l.fragColor=e.multiply(this.config.opacity)}return l}}function I(t,l,e,r,n){return new d(t.multiply(r).multiply(n).add(l.multiply(r).multiply(P(n))).add(e.multiply(n).multiply(P(r))),r.add(n.multiply(P(r))))}function J(t,l){return new b(1).subtract(x(new b(.5),l)).multiply(P(new b(2).multiply(P(l).multiply(P(t))))).add(x(new b(.5),l).multiply(new b(2).multiply(l).multiply(t)))}function K(t,l){return m(w(t,new b(0)),new b(0),m(w(l,new b(1)),new b(1),v(new b(1),t.divide(new b(1).subtract(l)))))}function L(t,l){return m(w(t,new b(1)),new b(1),m(w(l,new b(0)),new b(0),P(v(new b(1),P(t).divide(l)))))}function N(t,l){return new b(1).subtract(x(new b(.5),l)).multiply(new b(2).multiply(l).multiply(t)).add(x(new b(.5),l).multiply(P(new b(2).multiply(P(l).multiply(P(t))))))}function Q(t,l){return T([j(l,new b(.5)),()=>{const e=new b(2).multiply(l),r=P(e),n=P(t);return t.subtract(r.multiply(t).multiply(n))}],[j(t,new b(.25)),()=>{const e=new b(2).multiply(l),r=z(e).multiply(t),n=new b(16).multiply(t).subtract(new b(12)).multiply(t).add(new b(3));return t.add(r.multiply(n))}],[!0,()=>{const e=new b(2).multiply(l),r=z(e),n=S(t).subtract(t);return t.add(r.multiply(n))}])}function R(t,l){const e=P(x(new b(.5),l)).multiply(L(t,new b(2).multiply(l))),r=x(new b(.5),l).multiply(K(t,new b(2).multiply(q(l,.5))));return e.add(r)}function U(t){return v(v(t.r,t.g),t.b)}function V(t){return C(C(t.r,t.g),t.b)}function W(t){return F(t,new f(.3,.59,.11))}function X(t){return V(t).subtract(U(t))}function Y(t){const l=W(t),e=U(t),r=V(t);return T([M(e,new b(0)),()=>{const r=t.subtract(l).multiply(l),n=l.subtract(e);return l.add(r.divide(n))}],[h(r,new b(1)),()=>{const e=t.subtract(l),n=P(l),i=e.multiply(n),a=r.subtract(l);return l.add(i.divide(a))}],[!0,t])}function Z(t,l){const e=W(t),r=W(l).subtract(e);return Y(t.add(new f(r)))}function $(t,l,e){const r=U(t),n=X(t),i=X(l);return Z(m(h(n,new b(0)),()=>t.subtract(r).multiply(i).divide(n),new f(0)),e)}function _(t,l){return m(w(l,new b(1)),l,()=>{const e=P(l),r=t.multiply(t).divide(e);return v(r,new b(1))})}t([a],H.prototype,"blendMode",void 0),t([i(E)],H.prototype,"config",void 0),t([o(O)],H.prototype,"layerTexture",void 0),t([o(O)],H.prototype,"backbufferTexture",void 0),t([l(0,u(A))],H.prototype,"vertex",null),t([l(0,u(D))],H.prototype,"fragment",null);export{H as BlendShader};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t,__param as o}from"tslib";import{FragmentOutput as r,uniform as e,input as s,UniformGroup as i}from"../../GraphShaderModule.js";import{texture2D as l,Sampler2D as p}from"../../graph/glsl.js";import{PostProcessingShader as n,PostProcessingFragmentInput as m}from"./PostProcessingShader.js";class a extends i{}t([e(p)],a.prototype,"blitTexture",void 0);class f extends n{fragment(t){const o=new r;return o.fragColor=l(this.blitConfig.blitTexture,t.uv),o}}t([e(a)],f.prototype,"blitConfig",void 0),t([o(0,s(m))],f.prototype,"fragment",null);export{f as BlitShader};
2
+ import{__decorate as r,__param as t}from"tslib";import{FragmentOutput as o,texture as e,input as s}from"../../GraphShaderModule.js";import{texture2D as p,Sampler2D as i}from"../../graph/glsl.js";import{PostProcessingShader as l,PostProcessingFragmentInput as m}from"./PostProcessingShader.js";class a extends l{fragment(r){const t=new o;return t.fragColor=p(this.blitTexture,r.uv),t}}r([e(i)],a.prototype,"blitTexture",void 0),r([t(0,s(m))],a.prototype,"fragment",null);export{a as BlitShader};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as o,__param as t}from"tslib";import{FragmentOutput as i,uniform as r,input as e,define as l,UniformGroup as s}from"../../GraphShaderModule.js";import{clamp as p,Float as u,Vec4 as n,texture2D as m,mix as y,Vec3 as d,dot as a,smoothstep as h,Sampler2D as g,FixedArray as c}from"../../graph/glsl.js";import{PostProcessingShader as f,PostProcessingFragmentInput as v}from"./PostProcessingShader.js";class b extends s{}o([r(g)],b.prototype,"luminosityTexture",void 0),o([r(d)],b.prototype,"defaultColor",void 0),o([r(u)],b.prototype,"defaultOpacity",void 0),o([r(u)],b.prototype,"luminosityThreshold",void 0),o([r(u)],b.prototype,"smoothWidth",void 0);class x extends f{constructor(){super(...arguments),this.type="LuminosityHighPassShader"}fragment(o){const t=new i,r=m(this.luminosityHighPassConfig.luminosityTexture,o.uv),e=new d(.299,.587,.114),l=a(r.xyz,e),s=new n(this.luminosityHighPassConfig.defaultColor.rgb,this.luminosityHighPassConfig.defaultOpacity),p=h(this.luminosityHighPassConfig.luminosityThreshold,this.luminosityHighPassConfig.luminosityThreshold.add(this.luminosityHighPassConfig.smoothWidth),l);return t.fragColor=y(s,r,p),t}}o([r(b)],x.prototype,"luminosityHighPassConfig",void 0),o([t(0,e(v))],x.prototype,"fragment",null);class T extends s{}o([r(g)],T.prototype,"blurTexture1",void 0),o([r(g)],T.prototype,"blurTexture2",void 0),o([r(g)],T.prototype,"blurTexture3",void 0),o([r(g)],T.prototype,"blurTexture4",void 0),o([r(g)],T.prototype,"blurTexture5",void 0),o([r(u)],T.prototype,"bloomStrength",void 0),o([r(u)],T.prototype,"bloomRadius",void 0),o([r(c.ofType(u,5))],T.prototype,"bloomFactors",void 0),o([r(d)],T.prototype,"bloomTintColor",void 0);class C extends f{constructor(){super(...arguments),this.type="CompositeShader"}fragment(o){const t=new i,{blurTexture1:r,blurTexture2:e,blurTexture3:l,blurTexture4:s,blurTexture5:y,bloomStrength:d,bloomFactors:a,bloomTintColor:h,bloomRadius:g}=this.compositeConfig,c=p(g,new u(0),new u(1)),f=this._lerpBloomFactor(a[0],c).multiply(new n(h,1).multiply(m(r,o.uv))),v=this._lerpBloomFactor(a[1],c).multiply(new n(h,1).multiply(m(e,o.uv))),b=this._lerpBloomFactor(a[2],c).multiply(new n(h,1).multiply(m(l,o.uv))),x=this._lerpBloomFactor(a[3],c).multiply(new n(h,1).multiply(m(s,o.uv))),T=this._lerpBloomFactor(a[4],c).multiply(new n(h,1).multiply(m(y,o.uv))),C=d.multiply(f.add(v.add(b.add(x.add(T)))));return t.fragColor=C,t}_lerpBloomFactor(o,t){const i=new u(1.2).subtract(o);return y(o,i,t)}}o([l],C.prototype,"numMips",void 0),o([r(T)],C.prototype,"compositeConfig",void 0),o([t(0,e(v))],C.prototype,"fragment",null);export{C as BloomCompositeShader,x as LuminosityHighPassShader};
2
+ import{__decorate as o,__param as t}from"tslib";import{FragmentOutput as e,uniform as i,texture as r,input as s,define as l,UniformGroup as p,TextureGroup as u}from"../../GraphShaderModule.js";import{clamp as m,Float as n,Vec4 as d,texture2D as y,mix as a,Vec3 as h,dot as g,smoothstep as c,Sampler2D as v,FixedArray as f}from"../../graph/glsl.js";import{PostProcessingShader as b,PostProcessingFragmentInput as x}from"./PostProcessingShader.js";class T extends p{}o([i(h)],T.prototype,"defaultColor",void 0),o([i(n)],T.prototype,"defaultOpacity",void 0),o([i(n)],T.prototype,"luminosityThreshold",void 0),o([i(n)],T.prototype,"smoothWidth",void 0);class C extends b{constructor(){super(...arguments),this.type="LuminosityHighPassShader"}fragment(o){const t=new e,i=y(this.luminosityHighPassTexture,o.uv),r=new h(.299,.587,.114),s=g(i.xyz,r),l=new d(this.luminosityHighPassConfig.defaultColor.rgb,this.luminosityHighPassConfig.defaultOpacity),p=c(this.luminosityHighPassConfig.luminosityThreshold,this.luminosityHighPassConfig.luminosityThreshold.add(this.luminosityHighPassConfig.smoothWidth),s);return t.fragColor=a(l,i,p),t}}o([i(T)],C.prototype,"luminosityHighPassConfig",void 0),o([r(v)],C.prototype,"luminosityHighPassTexture",void 0),o([t(0,s(x))],C.prototype,"fragment",null);class w extends p{}o([i(n)],w.prototype,"bloomStrength",void 0),o([i(n)],w.prototype,"bloomRadius",void 0),o([i(f.ofType(n,5))],w.prototype,"bloomFactors",void 0),o([i(h)],w.prototype,"bloomTintColor",void 0);class P extends u{}o([r(v)],P.prototype,"blurTexture1",void 0),o([r(v)],P.prototype,"blurTexture2",void 0),o([r(v)],P.prototype,"blurTexture3",void 0),o([r(v)],P.prototype,"blurTexture4",void 0),o([r(v)],P.prototype,"blurTexture5",void 0);class H extends b{constructor(){super(...arguments),this.type="CompositeShader"}fragment(o){const t=new e,{blurTexture1:i,blurTexture2:r,blurTexture3:s,blurTexture4:l,blurTexture5:p}=this.compositeTextures,{bloomStrength:u,bloomFactors:a,bloomTintColor:h,bloomRadius:g}=this.compositeConfig,c=m(g,new n(0),new n(1)),v=this._lerpBloomFactor(a[0],c).multiply(new d(h,1).multiply(y(i,o.uv))),f=this._lerpBloomFactor(a[1],c).multiply(new d(h,1).multiply(y(r,o.uv))),b=this._lerpBloomFactor(a[2],c).multiply(new d(h,1).multiply(y(s,o.uv))),x=this._lerpBloomFactor(a[3],c).multiply(new d(h,1).multiply(y(l,o.uv))),T=this._lerpBloomFactor(a[4],c).multiply(new d(h,1).multiply(y(p,o.uv))),C=u.multiply(v.add(f.add(b.add(x.add(T)))));return t.fragColor=C,t}_lerpBloomFactor(o,t){const e=new n(1.2).subtract(o);return a(o,e,t)}}o([l],H.prototype,"numMips",void 0),o([i(w)],H.prototype,"compositeConfig",void 0),o([r(P)],H.prototype,"compositeTextures",void 0),o([t(0,s(x))],H.prototype,"fragment",null);export{H as BloomCompositeShader,C as LuminosityHighPassShader};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{FragmentOutput as i,uniform as r,define as o,input as l,UniformGroup as s}from"../../GraphShaderModule.js";import{Float as u,texture2D as n,sqrt as a,clamp as d,mix as p,exp as y,Sampler2D as m,Vec2 as g}from"../../graph/glsl.js";import{PostProcessingShader as f,PostProcessingFragmentInput as c}from"./PostProcessingShader.js";class v extends s{}t([r(m)],v.prototype,"texture",void 0),t([r(g)],v.prototype,"texSize",void 0),t([r(g)],v.prototype,"direction",void 0),t([r(u)],v.prototype,"sigma",void 0);class h extends f{constructor(){super(...arguments),this.type="GaussianBlurShader"}fragment(t){const e=new i,r=new u(1).divide(this.gaussianBlurConfig.texSize),o=this.gaussianBlurConfig.sigma;let l=x(new u(0),o),s=n(this.gaussianBlurConfig.texture,t.uv).multiply(l);for(let i=1;i<this.kernelRadius;i++){const e=new u(i),a=x(e,o),d=this.gaussianBlurConfig.direction.multiply(r).multiply(e),p=n(this.gaussianBlurConfig.texture,t.uv.add(d)),y=n(this.gaussianBlurConfig.texture,t.uv.subtract(d));s=s.add(p.multiply(a)).add(y.multiply(a)),l=l.add(new u(2).multiply(a))}return e.fragColor=s.divide(l),e}}function x(t,e){return new u(.39894).multiply(y(new u(-.5).multiply(t).multiply(t).divide(e.multiply(e))).divide(e))}t([o],h.prototype,"kernelRadius",void 0),t([r(v)],h.prototype,"gaussianBlurConfig",void 0),t([e(0,l(c))],h.prototype,"fragment",null);class w extends s{}t([r(m)],w.prototype,"texture",void 0);const B=1,C=2.2,S=[-.08,-.05,-.03,-.02,-.01,.01,.02,.03,.05,.08];class R extends f{constructor(){super(...arguments),this.type="RadialBlurShader"}fragment(t){const e=new i;let r=new u(.5).subtract(t.uv);const o=a(r.x.multiply(r.y).add(r.y.multiply(r.y)));r=r.divide(o);const l=n(this.radialBlurConfig.texture,t.uv);let s=l;for(let i=0;i<10;i++){const e=n(this.radialBlurConfig.texture,t.uv.add(r).multiply(new u(S[i]).multiply(B)));s=s.add(e)}const y=new u(1).divide(new u(11));s=s.multiply(y);let m=o.multiply(C);return m=d(m,new u(0),new u(1)),e.fragColor=p(l,s,m),e}}t([o],R.prototype,"kernelRadius",void 0),t([r(w)],R.prototype,"radialBlurConfig",void 0),t([e(0,l(c))],R.prototype,"fragment",null);export{h as GaussianBlurShader,R as RadialBlurShader};
2
+ import{__decorate as t,__param as e}from"tslib";import{FragmentOutput as i,uniform as r,define as o,texture as l,input as s,UniformGroup as u}from"../../GraphShaderModule.js";import{Float as n,texture2D as d,sqrt as p,clamp as a,mix as y,exp as m,Vec2 as c,Sampler2D as v}from"../../graph/glsl.js";import{PostProcessingShader as g,PostProcessingFragmentInput as f}from"./PostProcessingShader.js";class h extends u{}t([r(c)],h.prototype,"texSize",void 0),t([r(c)],h.prototype,"direction",void 0),t([r(n)],h.prototype,"sigma",void 0);class w extends g{constructor(){super(...arguments),this.type="GaussianBlurShader"}fragment(t){const e=new i,r=new n(1).divide(this.gaussianBlurConfig.texSize),o=this.gaussianBlurConfig.sigma;let l=x(new n(0),o),s=d(this.texture,t.uv).multiply(l);for(let i=1;i<this.kernelRadius;i++){const e=new n(i),u=x(e,o),p=this.gaussianBlurConfig.direction.multiply(r).multiply(e),a=d(this.texture,t.uv.add(p)),y=d(this.texture,t.uv.subtract(p));s=s.add(a.multiply(u)).add(y.multiply(u)),l=l.add(new n(2).multiply(u))}return e.fragColor=s.divide(l),e}}function x(t,e){return new n(.39894).multiply(m(new n(-.5).multiply(t).multiply(t).divide(e.multiply(e))).divide(e))}t([o],w.prototype,"kernelRadius",void 0),t([r(h)],w.prototype,"gaussianBlurConfig",void 0),t([l(v)],w.prototype,"texture",void 0),t([e(0,s(f))],w.prototype,"fragment",null);const B=1,C=2.2,S=[-.08,-.05,-.03,-.02,-.01,.01,.02,.03,.05,.08];class R extends g{constructor(){super(...arguments),this.type="RadialBlurShader"}fragment(t){const e=new i;let r=new n(.5).subtract(t.uv);const o=p(r.x.multiply(r.y).add(r.y.multiply(r.y)));r=r.divide(o);const l=d(this.texture,t.uv);let s=l;for(let i=0;i<10;i++){const e=d(this.texture,t.uv.add(r).multiply(new n(S[i]).multiply(B)));s=s.add(e)}const u=new n(1).divide(new n(11));s=s.multiply(u);let m=o.multiply(C);return m=a(m,new n(0),new n(1)),e.fragColor=y(l,s,m),e}}t([o],R.prototype,"kernelRadius",void 0),t([l(v)],R.prototype,"texture",void 0),t([e(0,s(f))],R.prototype,"fragment",null);export{w as GaussianBlurShader,R as RadialBlurShader};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e,__param as t}from"tslib";import{FragmentOutput as r,uniform as o,input as i,UniformGroup as f}from"../../GraphShaderModule.js";import{texture2D as s,ifElse as l,Vec3 as n,greaterThan as p,Float as c,Vec4 as a,Sampler2D as m,Mat4 as d}from"../../graph/glsl.js";import{PostProcessingShader as g,PostProcessingFragmentInput as u}from"./PostProcessingShader.js";class h extends f{}e([o(m)],h.prototype,"colorTexture",void 0),e([o(d)],h.prototype,"coefficients",void 0);class y extends g{constructor(){super(...arguments),this.type="FilterEffectShader"}fragment(e){const t=new r,o=s(this.filterEffectConfig.colorTexture,e.uv),i=l(p(o.a,new c(0)),o.rgb.divide(o.a),new n(0)),f=this.filterEffectConfig.coefficients.multiply(new a(i,1)),m=o.a;return t.fragColor=new a(m.multiply(f.rgb),m),t}}e([o(h)],y.prototype,"filterEffectConfig",void 0),e([t(0,i(u))],y.prototype,"fragment",null);export{y as FilterEffectShader};
2
+ import{__decorate as e,__param as t}from"tslib";import{FragmentOutput as r,uniform as o,texture as i,input as s,UniformGroup as f}from"../../GraphShaderModule.js";import{texture2D as p,ifElse as l,Vec3 as n,greaterThan as c,Float as a,Vec4 as m,Mat4 as d,Sampler2D as g}from"../../graph/glsl.js";import{PostProcessingShader as u,PostProcessingFragmentInput as h}from"./PostProcessingShader.js";class y extends f{}e([o(d)],y.prototype,"coefficients",void 0);class v extends u{constructor(){super(...arguments),this.type="FilterEffectShader"}fragment(e){const t=new r,o=p(this.colorTexture,e.uv),i=l(c(o.a,new a(0)),o.rgb.divide(o.a),new n(0)),s=this.filterEffectConfig.coefficients.multiply(new m(i,1)),f=o.a;return t.fragColor=new m(f.multiply(s.rgb),f),t}}e([o(y)],v.prototype,"filterEffectConfig",void 0),e([i(g)],v.prototype,"colorTexture",void 0),e([t(0,s(h))],v.prototype,"fragment",null);export{v as FilterEffectShader};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t,__param as e}from"tslib";import{location as o,uniform as i,input as r}from"../../GraphShaderModule.js";import{Float as l,equal as s,float as p,Vec4 as n,ifElse as a,mat3 as d,negate as m,vec2 as u,Vec2 as f,sin as y,cos as c,Vec3 as v,mod as x,mix as h,texture2D as g,greaterThan as b}from"../../graph/glsl.js";import{BaseHittestVertexInput as w,FeatureFragmentInput as j}from"./AFeatureShader.js";import{c256ToRad as O,bitsetGenericConsiderAlphaOnly as T,bitsetFillRandomPatternOffset as C}from"./constants.js";import{FillShader as F,FillVertexInput as A}from"./FillShader.js";import{LocalTileOffset as I}from"./LocalTileOffset.js";import{MosaicInfo as S}from"./MosaicInfo.js";import{getBit as z,rgba2float as M,rand as V,isNan as q}from"./utils.js";class G extends A{}t([o(5,n)],G.prototype,"tlbr",void 0),t([o(6,l)],G.prototype,"width",void 0),t([o(7,l)],G.prototype,"height",void 0),t([o(8,f)],G.prototype,"offset",void 0),t([o(9,f)],G.prototype,"scale",void 0),t([o(10,l)],G.prototype,"angle",void 0);class L extends j{}function P(t,e,o,i,r){const l=s(z(r,C),p(1)),f=M(new n(t,0));return a(l,d(i.divide(e.x),o.divide(e.y),0,m(o.divide(e.x)),i.divide(e.y),0,V(u(f,0)),V(u(0,f)),1),d(i.divide(e.x),o.divide(e.y),0,m(o.divide(e.x)),i.divide(e.y),0,0,0,1))}function Z(t,e){const o=t.view.requiredZoomFactor,i=new f(e.width,e.height),r=i.multiply(e.scale).multiply(o),s=e.angle.multiply(O),p=y(s),n=c(s),d=P(e.id,r,p,n,e.bitset),m=t.localTileOffset.getPatternOffsetAtTileOrigin(i,p,n),u=o.multiply(e.scale).multiply(e.offset.subtract(m)).divide(r),x=new v(e.pos,1),h=d.multiply(x).xy.subtract(u),g=e.tlbr.divide(t.mosaicInfo.size.xyxy);let b=z(e.bitset,T);return null!=t.visualVariableColor&&(b=a(q(t.storage.getColorValue(e.id)),new l(0),b)),{tileTextureCoord:h,tlbr:g,sampleAlphaOnly:b}}function k(t,e){const o=x(e.tileTextureCoord,new l(1)),i=h(e.tlbr.xy,e.tlbr.zw,o);let r=g(t.mosaicInfo.texture,i);return r=a(b(e.sampleAlphaOnly,new l(.5)),r.aaaa,r),e.color.multiply(r)}class B extends F{constructor(){super(...arguments),this.type="ComplexFillShader"}vertex(t,e){return{...super.vertex(t,e),...Z(this,t)}}fragment(t){const e=k(this,t);return this.getFragmentOutput(e,t,new l(0))}}t([i(S)],B.prototype,"mosaicInfo",void 0),t([i(I)],B.prototype,"localTileOffset",void 0),t([e(0,r(G)),e(1,r(w))],B.prototype,"vertex",null),t([e(0,r(L))],B.prototype,"fragment",null);export{L as ComplexFillFragmentInput,B as ComplexFillShader,G as ComplexFillVertexInput,k as getComplexFillFragmentColor,Z as getComplexFillVertexData,P as getPatternMatrix};
2
+ import{__decorate as t,__param as e}from"tslib";import{location as o,uniform as i,texture as r,input as l}from"../../GraphShaderModule.js";import{Float as s,equal as p,float as d,Vec4 as a,ifElse as n,mat3 as m,negate as u,vec2 as f,Vec2 as y,sin as c,cos as v,Vec3 as x,mod as h,mix as g,texture2D as b,greaterThan as w,Sampler2D as j}from"../../graph/glsl.js";import{BaseHittestVertexInput as O,FeatureFragmentInput as T}from"./AFeatureShader.js";import{c256ToRad as C,bitsetGenericConsiderAlphaOnly as F,bitsetFillRandomPatternOffset as A}from"./constants.js";import{FillShader as S,FillVertexInput as I}from"./FillShader.js";import{LocalTileOffset as z}from"./LocalTileOffset.js";import{MosaicInfo as M}from"./MosaicInfo.js";import{getBit as V,rgba2float as q,rand as G,isNan as L}from"./utils.js";class P extends I{}t([o(5,a)],P.prototype,"tlbr",void 0),t([o(6,s)],P.prototype,"width",void 0),t([o(7,s)],P.prototype,"height",void 0),t([o(8,y)],P.prototype,"offset",void 0),t([o(9,y)],P.prototype,"scale",void 0),t([o(10,s)],P.prototype,"angle",void 0);class Z extends T{}function k(t,e,o,i,r){const l=p(V(r,A),d(1)),s=q(new a(t,0));return n(l,m(i.divide(e.x),o.divide(e.y),0,u(o.divide(e.x)),i.divide(e.y),0,G(f(s,0)),G(f(0,s)),1),m(i.divide(e.x),o.divide(e.y),0,u(o.divide(e.x)),i.divide(e.y),0,0,0,1))}function B(t,e){const o=t.view.requiredZoomFactor,i=new y(e.width,e.height),r=i.multiply(e.scale).multiply(o),l=e.angle.multiply(C),p=c(l),d=v(l),a=k(e.id,r,p,d,e.bitset),m=t.localTileOffset.getPatternOffsetAtTileOrigin(i,p,d),u=o.multiply(e.scale).multiply(e.offset.subtract(m)).divide(r),f=new x(e.pos,1),h=a.multiply(f).xy.subtract(u),g=e.tlbr.divide(t.mosaicInfo.size.xyxy);let b=V(e.bitset,F);return null!=t.visualVariableColor&&(b=n(L(t.getColorValue(e.id)),new s(0),b)),{tileTextureCoord:h,tlbr:g,sampleAlphaOnly:b}}function D(t,e){const o=h(e.tileTextureCoord,new s(1)),i=g(e.tlbr.xy,e.tlbr.zw,o);let r=b(t.mosaicTexture,i);return r=n(w(e.sampleAlphaOnly,new s(.5)),r.aaaa,r),e.color.multiply(r)}class E extends S{constructor(){super(...arguments),this.type="ComplexFillShader"}vertex(t,e){return{...super.vertex(t,e),...B(this,t)}}fragment(t){const e=D(this,t);return this.getFragmentOutput(e,t,new s(0))}}t([i(M)],E.prototype,"mosaicInfo",void 0),t([r(j)],E.prototype,"mosaicTexture",void 0),t([i(z)],E.prototype,"localTileOffset",void 0),t([e(0,l(P)),e(1,l(O))],E.prototype,"vertex",null),t([e(0,l(Z))],E.prototype,"fragment",null);export{Z as ComplexFillFragmentInput,E as ComplexFillShader,P as ComplexFillVertexInput,D as getComplexFillFragmentColor,B as getComplexFillVertexData,k as getPatternMatrix};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t,__param as o}from"tslib";import{location as e,uniform as r,input as i}from"../../GraphShaderModule.js";import{greaterThan as s,Float as l,ifElse as p,Vec4 as a,Vec2 as n}from"../../graph/glsl.js";import{BaseHittestVertexInput as m,FeatureVertexInput as u}from"./AFeatureShader.js";import{getComplexFillVertexData as f,getComplexFillFragmentColor as h}from"./ComplexFillShader.js";import{signedToUnsignedByte as d,packPrecision as c}from"./constants.js";import{hittestFill as x,failHittest as y}from"./hittestUtils.js";import{getLineFragmentColor as j}from"./LineShader.js";import{LocalTileOffset as v}from"./LocalTileOffset.js";import{MosaicInfo as g}from"./MosaicInfo.js";import{AOutlineFillShader as O,getOutlineFillVertexData as S}from"./OutlineFillShader.js";import{PatternOutlineFillFragmentInput as b}from"./PatternOutlineFillShader.js";const F=1/c;class w extends u{}t([e(3,a)],w.prototype,"color",void 0),t([e(4,a)],w.prototype,"tlbr",void 0),t([e(5,l)],w.prototype,"angle",void 0),t([e(6,l)],w.prototype,"aux1",void 0),t([e(7,l)],w.prototype,"aux2",void 0),t([e(8,n)],w.prototype,"aux3",void 0),t([e(9,n)],w.prototype,"aux4",void 0),t([e(10,n)],w.prototype,"zoomRange",void 0);class C extends b{}class R extends O{constructor(){super(...arguments),this.type="ComplexOutlineFillShader"}vertex(t,o){const{aux1:e,aux2:r,aux3:i,aux4:p}=t,a={...t,width:e,height:r,offset:i,scale:p.multiply(F)},n={...t,halfWidth:e,referenceHalfWidth:r,offset:i,normal:p.subtract(d).multiply(F)},m=S(this,n),u=f(this,a),h=s(m.isOutline,new l(.5));return{...m,...u,...Object.assign({},this.maybeRunHittest(t,o,h))}}fragment(t){const{isOutline:o}=t,e=s(o,new l(.5)),r=j(t,this.antialiasingControls.blur),i=h(this,t),a=p(e,r,i),n=p(e,new l(1/255),new l(0));return this.getFragmentOutput(a,t,n)}hittest(t,o,e){return p(e,y(this.hittestRequest),x(this,t,o))}}t([r(g)],R.prototype,"mosaicInfo",void 0),t([r(v)],R.prototype,"localTileOffset",void 0),t([o(0,i(w)),o(1,i(m))],R.prototype,"vertex",null),t([o(0,i(C))],R.prototype,"fragment",null);export{R as ComplexOutlineFillShader,w as ComplexOutlineFillVertexInput};
2
+ import{__decorate as t,__param as o}from"tslib";import{location as e,uniform as r,texture as i,input as s}from"../../GraphShaderModule.js";import{greaterThan as p,Float as l,ifElse as a,Vec4 as n,Vec2 as m,Sampler2D as u}from"../../graph/glsl.js";import{BaseHittestVertexInput as f,FeatureVertexInput as h}from"./AFeatureShader.js";import{getComplexFillVertexData as d,getComplexFillFragmentColor as c}from"./ComplexFillShader.js";import{signedToUnsignedByte as x,packPrecision as y}from"./constants.js";import{hittestFill as v,failHittest as j}from"./hittestUtils.js";import{getLineFragmentColor as g}from"./LineShader.js";import{LocalTileOffset as O}from"./LocalTileOffset.js";import{MosaicInfo as S}from"./MosaicInfo.js";import{AOutlineFillShader as b,getOutlineFillVertexData as F}from"./OutlineFillShader.js";import{PatternOutlineFillFragmentInput as w}from"./PatternOutlineFillShader.js";const C=1/y;class R extends h{}t([e(3,n)],R.prototype,"color",void 0),t([e(4,n)],R.prototype,"tlbr",void 0),t([e(5,l)],R.prototype,"angle",void 0),t([e(6,l)],R.prototype,"aux1",void 0),t([e(7,l)],R.prototype,"aux2",void 0),t([e(8,m)],R.prototype,"aux3",void 0),t([e(9,m)],R.prototype,"aux4",void 0),t([e(10,m)],R.prototype,"zoomRange",void 0);class T extends w{}class H extends b{constructor(){super(...arguments),this.type="ComplexOutlineFillShader"}vertex(t,o){const{aux1:e,aux2:r,aux3:i,aux4:s}=t,a={...t,width:e,height:r,offset:i,scale:s.multiply(C)},n={...t,halfWidth:e,referenceHalfWidth:r,offset:i,normal:s.subtract(x).multiply(C)},m=F(this,n),u=d(this,a),f=p(m.isOutline,new l(.5));return{...m,...u,...Object.assign({},this.maybeRunHittest(t,o,f))}}fragment(t){const{isOutline:o}=t,e=p(o,new l(.5)),r=g(t,this.antialiasingControls.blur),i=c(this,t),s=a(e,r,i),n=a(e,new l(1/255),new l(0));return this.getFragmentOutput(s,t,n)}hittest(t,o,e){return a(e,j(this.hittestRequest),v(this,t,o))}}t([r(S)],H.prototype,"mosaicInfo",void 0),t([i(u)],H.prototype,"mosaicTexture",void 0),t([r(O)],H.prototype,"localTileOffset",void 0),t([o(0,s(R)),o(1,s(f))],H.prototype,"vertex",null),t([o(0,s(T))],H.prototype,"fragment",null);export{H as ComplexOutlineFillShader,R as ComplexOutlineFillVertexInput};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as o,__param as t}from"tslib";import{FragmentOutput as e,uniform as r,input as s,UniformGroup as p}from"../../GraphShaderModule.js";import{Vec3 as i,Float as a,texture2D as l,Sampler2D as d,Vec4 as u,Vec2 as m,Mat3 as y}from"../../graph/glsl.js";import{PostProcessingShader as n,PostProcessingFragmentInput as f}from"./PostProcessingShader.js";class h extends p{}o([r(d)],h.prototype,"layerFBOTexture",void 0),o([r(d)],h.prototype,"blurTexture",void 0),o([r(u)],h.prototype,"shadowColor",void 0),o([r(m)],h.prototype,"shadowOffset",void 0),o([r(y)],h.prototype,"displayViewMat3",void 0);class c extends n{constructor(){super(...arguments),this.type="CompositeShader"}fragment(o){const t=new e,{layerFBOTexture:r,blurTexture:s,shadowColor:p,shadowOffset:d,displayViewMat3:u}=this.compositeConfig,m=u.multiply(new i(d,new a(0))),y=l(r,o.uv),n=l(s,o.uv.subtract(m.xy.divide(2)));return t.fragColor=n.a.multiply(p).multiply(new a(1).subtract(y.a)).add(y),t}}o([r(h)],c.prototype,"compositeConfig",void 0),o([t(0,s(f))],c.prototype,"fragment",null);export{c as DropShadowCompositeShader};
2
+ import{__decorate as o,__param as t}from"tslib";import{FragmentOutput as e,uniform as r,texture as s,input as p,UniformGroup as i}from"../../GraphShaderModule.js";import{Vec3 as a,Float as l,texture2D as d,Vec4 as u,Vec2 as m,Mat3 as y,Sampler2D as n}from"../../graph/glsl.js";import{PostProcessingShader as f,PostProcessingFragmentInput as h}from"./PostProcessingShader.js";class c extends i{}o([r(u)],c.prototype,"shadowColor",void 0),o([r(m)],c.prototype,"shadowOffset",void 0),o([r(y)],c.prototype,"displayViewMat3",void 0);class w extends f{constructor(){super(...arguments),this.type="CompositeShader"}fragment(o){const t=new e,{shadowColor:r,shadowOffset:s,displayViewMat3:p}=this.compositeConfig,i=p.multiply(new a(s,new l(0))),u=d(this.layerFBOTexture,o.uv),m=d(this.blurTexture,o.uv.subtract(i.xy.divide(2)));return t.fragColor=m.a.multiply(r).multiply(new l(1).subtract(u.a)).add(u),t}}o([r(c)],w.prototype,"compositeConfig",void 0),o([s(n)],w.prototype,"layerFBOTexture",void 0),o([s(n)],w.prototype,"blurTexture",void 0),o([t(0,p(h))],w.prototype,"fragment",null);export{w as DropShadowCompositeShader};