@arcgis/core 5.1.0-next.19 → 5.1.0-next.20

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 (707) hide show
  1. package/assets/components/assets/carousel/t9n/messages.ar.json +1 -1
  2. package/assets/components/assets/carousel/t9n/messages.bg.json +1 -1
  3. package/assets/components/assets/carousel/t9n/messages.bs.json +1 -1
  4. package/assets/components/assets/carousel/t9n/messages.ca.json +1 -1
  5. package/assets/components/assets/carousel/t9n/messages.cs.json +1 -1
  6. package/assets/components/assets/carousel/t9n/messages.da.json +1 -1
  7. package/assets/components/assets/carousel/t9n/messages.de.json +1 -1
  8. package/assets/components/assets/carousel/t9n/messages.el.json +1 -1
  9. package/assets/components/assets/carousel/t9n/messages.es.json +1 -1
  10. package/assets/components/assets/carousel/t9n/messages.et.json +1 -1
  11. package/assets/components/assets/carousel/t9n/messages.fi.json +1 -1
  12. package/assets/components/assets/carousel/t9n/messages.fr.json +1 -1
  13. package/assets/components/assets/carousel/t9n/messages.he.json +1 -1
  14. package/assets/components/assets/carousel/t9n/messages.hr.json +1 -1
  15. package/assets/components/assets/carousel/t9n/messages.hu.json +1 -1
  16. package/assets/components/assets/carousel/t9n/messages.id.json +1 -1
  17. package/assets/components/assets/carousel/t9n/messages.it.json +1 -1
  18. package/assets/components/assets/carousel/t9n/messages.ja.json +1 -1
  19. package/assets/components/assets/carousel/t9n/messages.ko.json +1 -1
  20. package/assets/components/assets/carousel/t9n/messages.lt.json +1 -1
  21. package/assets/components/assets/carousel/t9n/messages.lv.json +1 -1
  22. package/assets/components/assets/carousel/t9n/messages.nl.json +1 -1
  23. package/assets/components/assets/carousel/t9n/messages.no.json +1 -1
  24. package/assets/components/assets/carousel/t9n/messages.pl.json +1 -1
  25. package/assets/components/assets/carousel/t9n/messages.pt-BR.json +1 -1
  26. package/assets/components/assets/carousel/t9n/messages.pt-PT.json +1 -1
  27. package/assets/components/assets/carousel/t9n/messages.ro.json +1 -1
  28. package/assets/components/assets/carousel/t9n/messages.ru.json +1 -1
  29. package/assets/components/assets/carousel/t9n/messages.sk.json +1 -1
  30. package/assets/components/assets/carousel/t9n/messages.sl.json +1 -1
  31. package/assets/components/assets/carousel/t9n/messages.sr.json +1 -1
  32. package/assets/components/assets/carousel/t9n/messages.sv.json +1 -1
  33. package/assets/components/assets/carousel/t9n/messages.th.json +1 -1
  34. package/assets/components/assets/carousel/t9n/messages.tr.json +1 -1
  35. package/assets/components/assets/carousel/t9n/messages.uk.json +1 -1
  36. package/assets/components/assets/carousel/t9n/messages.vi.json +1 -1
  37. package/assets/components/assets/carousel/t9n/messages.zh-CN.json +1 -1
  38. package/assets/components/assets/carousel/t9n/messages.zh-HK.json +1 -1
  39. package/assets/components/assets/carousel/t9n/messages.zh-TW.json +1 -1
  40. package/assets/esri/core/workers/RemoteClient.js +1 -1
  41. package/assets/esri/core/workers/chunks/0140dc583e20b031eac9.js +1 -0
  42. package/assets/esri/core/workers/chunks/018859b79f9ce7528ac7.js +1 -0
  43. package/assets/esri/core/workers/chunks/01dd849a2d335e9f3e16.js +1 -0
  44. package/assets/esri/core/workers/chunks/{6b3d8280a24f7a3aac40.js → 026c00ee272c64e53daf.js} +1 -1
  45. package/assets/esri/core/workers/chunks/02cab89336504e95ed99.js +1 -0
  46. package/assets/esri/core/workers/chunks/06df187a116709f69952.js +1 -0
  47. package/assets/esri/core/workers/chunks/0711c856144cd8700e7e.js +1 -0
  48. package/assets/esri/core/workers/chunks/0883c4e63424d6746ada.js +1 -0
  49. package/assets/esri/core/workers/chunks/0987cb20148f65222b44.js +1 -0
  50. package/assets/esri/core/workers/chunks/0a1f88cf16bcbb53b371.js +1 -0
  51. package/assets/esri/core/workers/chunks/0a66a2b4aaab0774c34f.js +1 -0
  52. package/assets/esri/core/workers/chunks/0bb3beedae1b73beb1fc.js +1 -0
  53. package/assets/esri/core/workers/chunks/0ca405ca26676137a4be.js +1 -0
  54. package/assets/esri/core/workers/chunks/0ce968c89c35535da63e.js +1 -0
  55. package/assets/esri/core/workers/chunks/0d56e3b3265a4470aaa6.js +1 -0
  56. package/assets/esri/core/workers/chunks/0debabe324c873066885.js +1 -0
  57. package/assets/esri/core/workers/chunks/0df585420c9cec6a7265.js +1 -0
  58. package/assets/esri/core/workers/chunks/0facd2c143a04cc7c4ff.js +1 -0
  59. package/assets/esri/core/workers/chunks/108d652a959e7de31cbf.js +1 -0
  60. package/assets/esri/core/workers/chunks/13d1cb50232ae761425b.js +2 -0
  61. package/assets/esri/core/workers/chunks/144c719d5ba9e3a30961.js +1 -0
  62. package/assets/esri/core/workers/chunks/1482262d0788ee65ddf7.js +1 -0
  63. package/assets/esri/core/workers/chunks/1503ca177e2466ec0e87.js +1 -0
  64. package/assets/esri/core/workers/chunks/1597d7b380d510ff5252.js +1 -0
  65. package/assets/esri/core/workers/chunks/15d7c9f5a55985ed00b4.js +1 -0
  66. package/assets/esri/core/workers/chunks/166652b7d69bf216d7a4.js +1 -0
  67. package/assets/esri/core/workers/chunks/179b3385c24ad8a05e1d.js +1 -0
  68. package/assets/esri/core/workers/chunks/{4f2c29168c9de0b08741.js → 1880c3b293cdfa804625.js} +1 -1
  69. package/assets/esri/core/workers/chunks/18a40606e4c39f244ecd.js +1 -0
  70. package/assets/esri/core/workers/chunks/190bc75254bc0542a6be.js +1 -0
  71. package/assets/esri/core/workers/chunks/1be4e308280149eae4fb.js +1 -0
  72. package/assets/esri/core/workers/chunks/1bea32b02d35ddb9b118.js +1 -0
  73. package/assets/esri/core/workers/chunks/1d0153c7d65bd9ea7d39.js +1 -0
  74. package/assets/esri/core/workers/chunks/1d697642fb2a6332b7f9.js +1 -0
  75. package/assets/esri/core/workers/chunks/1d78ec98eef7fef08f86.js +1 -0
  76. package/assets/esri/core/workers/chunks/1df8330823841b5bb6a5.js +1 -0
  77. package/assets/esri/core/workers/chunks/1e6062dc68c26fcf608f.js +1 -0
  78. package/assets/esri/core/workers/chunks/1e6271524602e159dbad.js +1 -0
  79. package/assets/esri/core/workers/chunks/1ee3d44e6d7add0b24cb.js +1 -0
  80. package/assets/esri/core/workers/chunks/1f54ed4a5238ba1a2551.js +1 -0
  81. package/assets/esri/core/workers/chunks/1f96d597ba736e088168.js +1 -0
  82. package/assets/esri/core/workers/chunks/1fa2bf0d6740092ec619.js +1 -0
  83. package/assets/esri/core/workers/chunks/210ef3f1cc6ef8a831bf.js +1 -0
  84. package/assets/esri/core/workers/chunks/23c856265dd24ce54fdb.js +1028 -0
  85. package/assets/esri/core/workers/chunks/241ef4a1bea20b49d812.js +1 -0
  86. package/assets/esri/core/workers/chunks/25bc7c7bc2793d209640.js +1 -0
  87. package/assets/esri/core/workers/chunks/2662750d5761ed2d0eb7.js +1 -0
  88. package/assets/esri/core/workers/chunks/26e41b08efe77d247409.js +1 -0
  89. package/assets/esri/core/workers/chunks/297b58f29c496923e1f3.js +1 -0
  90. package/assets/esri/core/workers/chunks/2a2a9fa62969644ea200.js +1 -0
  91. package/assets/esri/core/workers/chunks/2abb64323839367c9205.js +1 -0
  92. package/assets/esri/core/workers/chunks/2b296378d21e4e3c11d4.js +1 -0
  93. package/assets/esri/core/workers/chunks/2b76a8897ad7ba284d33.js +1 -0
  94. package/assets/esri/core/workers/chunks/2bd8bf6749d101d82d61.js +1 -0
  95. package/assets/esri/core/workers/chunks/2cbcf34cf896a438999b.js +1 -0
  96. package/assets/esri/core/workers/chunks/2ddb8bb00b3af83ebd7c.js +1 -0
  97. package/assets/esri/core/workers/chunks/2de299ff3a902d380be6.js +1 -0
  98. package/assets/esri/core/workers/chunks/2e06baf6469820697f17.js +1 -0
  99. package/assets/esri/core/workers/chunks/{531c55f3b8e708ccf767.js → 2f3aeaa25a76ab94b8e5.js} +1 -1
  100. package/assets/esri/core/workers/chunks/305b2a8dc6438c5fd4aa.js +1 -0
  101. package/assets/esri/core/workers/chunks/33de1d899a4fa9ab6ab1.js +1 -0
  102. package/assets/esri/core/workers/chunks/36da644678e6acf3bdb5.js +1 -0
  103. package/assets/esri/core/workers/chunks/3861644c06cfebe8f40c.js +2 -0
  104. package/assets/esri/core/workers/chunks/38d5dd4d457428244302.js +1 -0
  105. package/assets/esri/core/workers/chunks/394b645d51e7bf799382.js +1 -0
  106. package/assets/esri/core/workers/chunks/3a8320a40916c755c031.js +1 -0
  107. package/assets/esri/core/workers/chunks/3c2eb386c0165150e039.js +1 -0
  108. package/assets/esri/core/workers/chunks/3d0aa5f2db79c022243e.js +1 -0
  109. package/assets/esri/core/workers/chunks/3e26f9af6b8c75bad97a.js +1 -0
  110. package/assets/esri/core/workers/chunks/3ed7f19f77a11fa4d047.js +1 -0
  111. package/assets/esri/core/workers/chunks/3f812b0a28afb47aaaf0.js +2 -0
  112. package/assets/esri/core/workers/chunks/403060849a2573bbf110.js +1 -0
  113. package/assets/esri/core/workers/chunks/41a95ad470ec42ecd5a2.js +1 -0
  114. package/assets/esri/core/workers/chunks/43c8b1473695574c663e.js +2 -0
  115. package/assets/esri/core/workers/chunks/452d71789a1b77cff48d.js +1 -0
  116. package/assets/esri/core/workers/chunks/465cc0e00f03cdb640b2.js +1 -0
  117. package/assets/esri/core/workers/chunks/48a56b19bf825f05cc6e.js +1 -0
  118. package/assets/esri/core/workers/chunks/4d16b6ac52e25bd7e6aa.js +1 -0
  119. package/assets/esri/core/workers/chunks/4d7f7b1e7663cf6088d1.js +1 -0
  120. package/assets/esri/core/workers/chunks/50ab9a3f8bbb268fae59.js +1 -0
  121. package/assets/esri/core/workers/chunks/51ade971dda3ebe90f31.js +1 -0
  122. package/assets/esri/core/workers/chunks/{cbcb3530375e280bfeac.js → 53f8c1d56ef3b24d2226.js} +1 -1
  123. package/assets/esri/core/workers/chunks/544bfa97837770a8792f.js +1 -0
  124. package/assets/esri/core/workers/chunks/{ec63c0fa21cd3c872633.js → 54794b18edc584fd7515.js} +1 -1
  125. package/assets/esri/core/workers/chunks/561484ab6ed564e4b90f.js +1 -0
  126. package/assets/esri/core/workers/chunks/5690b49f355a5e2083a9.js +1 -0
  127. package/assets/esri/core/workers/chunks/56c7d7c7217557375fb6.js +1 -0
  128. package/assets/esri/core/workers/chunks/592f6bf0283152481f21.js +1 -0
  129. package/assets/esri/core/workers/chunks/5a6a6e7151085a3cd3dd.js +1 -0
  130. package/assets/esri/core/workers/chunks/5a6d6082c5bcb1a80eda.js +1 -0
  131. package/assets/esri/core/workers/chunks/5b2dd164dd84fd1ca4f7.js +1 -0
  132. package/assets/esri/core/workers/chunks/5b70ee8122262de5bbdf.js +1 -0
  133. package/assets/esri/core/workers/chunks/5b991b0d4ca257291cb0.js +1 -0
  134. package/assets/esri/core/workers/chunks/5e3019ba1b4c88977a19.js +1 -0
  135. package/assets/esri/core/workers/chunks/5e360f933da02d8d2455.js +1 -0
  136. package/assets/esri/core/workers/chunks/5e4ea6a2784eed1423f1.js +1 -0
  137. package/assets/esri/core/workers/chunks/5eb9fdb076488de9cd83.js +1 -0
  138. package/assets/esri/core/workers/chunks/5f6942ac94acd7842926.js +1 -0
  139. package/assets/esri/core/workers/chunks/601e44839fd46e449aa8.js +1 -0
  140. package/assets/esri/core/workers/chunks/62c228ca16fdc7a2c695.js +1 -0
  141. package/assets/esri/core/workers/chunks/639202a461b17840a13f.js +1 -0
  142. package/assets/esri/core/workers/chunks/63934843c9f4ef779a07.js +1 -0
  143. package/assets/esri/core/workers/chunks/63b5b57f27c7c6194d44.js +1 -0
  144. package/assets/esri/core/workers/chunks/{003019c2741aef2d1aa0.js → 65520a443e3811255bea.js} +1 -1
  145. package/assets/esri/core/workers/chunks/693d269637135047a0c4.js +1 -0
  146. package/assets/esri/core/workers/chunks/{36215b2c0b1020743458.js → 6a14ec2d2de6778a4e7a.js} +1 -1
  147. package/assets/esri/core/workers/chunks/6ac84e6d33104e74398d.js +1 -0
  148. package/assets/esri/core/workers/chunks/6cdda5aa35fa12ea9345.js +1 -0
  149. package/assets/esri/core/workers/chunks/6d3467997b5d01630b08.js +1 -0
  150. package/assets/esri/core/workers/chunks/6dfcb0c804e63e87e311.js +1 -0
  151. package/assets/esri/core/workers/chunks/6f079f1fd6d00d2d174c.js +1 -0
  152. package/assets/esri/core/workers/chunks/6fde745f3a62e7f5a97d.js +1 -0
  153. package/assets/esri/core/workers/chunks/70263c2182dc43046742.js +1 -0
  154. package/assets/esri/core/workers/chunks/72cd450b24fdfcef6547.js +1 -0
  155. package/assets/esri/core/workers/chunks/7386a61f9610b8e5c608.js +1 -0
  156. package/assets/esri/core/workers/chunks/73e02f6c7ccc2013c812.js +1 -0
  157. package/assets/esri/core/workers/chunks/73e384fd93cf22503d84.js +1 -0
  158. package/assets/esri/core/workers/chunks/74a6d840813ac29b0bda.js +1 -0
  159. package/assets/esri/core/workers/chunks/{f6aa34577c5fab8cc1f5.js → 74e3c224e879edb37812.js} +1 -1
  160. package/assets/esri/core/workers/chunks/75664587bb80f4e187e1.js +1 -0
  161. package/assets/esri/core/workers/chunks/75fd96fd9557ac1f8e10.js +1 -0
  162. package/assets/esri/core/workers/chunks/7642905920e169a147f3.js +1 -0
  163. package/assets/esri/core/workers/chunks/764d080f77dec5e7a02c.js +1 -0
  164. package/assets/esri/core/workers/chunks/777b0e07f72c42470d36.js +1 -0
  165. package/assets/esri/core/workers/chunks/7873ee080c175d17a444.js +1 -0
  166. package/assets/esri/core/workers/chunks/7975abb2162a82c88edb.js +1 -0
  167. package/assets/esri/core/workers/chunks/7a2dd3d85d31dce29d94.js +1 -0
  168. package/assets/esri/core/workers/chunks/7b297a2f712361bfae2e.js +1 -0
  169. package/assets/esri/core/workers/chunks/7cec3252e3ee56424b9e.js +1 -0
  170. package/assets/esri/core/workers/chunks/7d274a077bdfa8c485e8.js +1 -0
  171. package/assets/esri/core/workers/chunks/7dd1e93469d0b1d652bc.js +1 -0
  172. package/assets/esri/core/workers/chunks/8012fdc49a7a10982f78.js +1 -0
  173. package/assets/esri/core/workers/chunks/835a929e37811d0f82cb.js +1 -0
  174. package/assets/esri/core/workers/chunks/835d6dd8c5a00682d879.js +1 -0
  175. package/assets/esri/core/workers/chunks/83d913dab3c2b0d6a7cc.js +1 -0
  176. package/assets/esri/core/workers/chunks/854fe80272b59fafc2e9.js +1 -0
  177. package/assets/esri/core/workers/chunks/85e0fd618625a639387f.js +1 -0
  178. package/assets/esri/core/workers/chunks/85f309c1888c1c8411b1.js +1 -0
  179. package/assets/esri/core/workers/chunks/86161025b53b916328ff.js +1 -0
  180. package/assets/esri/core/workers/chunks/861817be5e050e9522ab.js +1 -0
  181. package/assets/esri/core/workers/chunks/86465d4bb185d7460087.js +1 -0
  182. package/assets/esri/core/workers/chunks/87e7378b242debbfd575.js +1 -0
  183. package/assets/esri/core/workers/chunks/8838ff9668b472af16a1.js +1 -0
  184. package/assets/esri/core/workers/chunks/889835e61ea97f090082.js +1 -0
  185. package/assets/esri/core/workers/chunks/8aabc71d7f15c4407d7d.js +1 -0
  186. package/assets/esri/core/workers/chunks/8c2e5b116bac21e7d577.js +1 -0
  187. package/assets/esri/core/workers/chunks/8cf58806671ed491a456.js +1 -0
  188. package/assets/esri/core/workers/chunks/8d1d0c3f0532aa98487d.js +1 -0
  189. package/assets/esri/core/workers/chunks/8d6da6573d07385f4ed5.js +1 -0
  190. package/assets/esri/core/workers/chunks/90b19e60c056f32623e7.js +1 -0
  191. package/assets/esri/core/workers/chunks/91718795fc4ca6516ac7.js +1 -0
  192. package/assets/esri/core/workers/chunks/91e56959b2fddf1a9743.js +1 -0
  193. package/assets/esri/core/workers/chunks/925980d26d71987ac80c.js +1 -0
  194. package/assets/esri/core/workers/chunks/93515f52d9b5fa12bd04.js +1 -0
  195. package/assets/esri/core/workers/chunks/9461f7225c42cf15a114.js +1 -0
  196. package/assets/esri/core/workers/chunks/946698d9cefffdb63082.js +1 -0
  197. package/assets/esri/core/workers/chunks/978649cb6df99ee728be.js +1 -0
  198. package/assets/esri/core/workers/chunks/99101789035f1787c630.js +1 -0
  199. package/assets/esri/core/workers/chunks/9a2b1f0ca66c1b87c830.js +1 -0
  200. package/assets/esri/core/workers/chunks/9c6e96b1c2b0418a4f1c.js +1 -0
  201. package/assets/esri/core/workers/chunks/9f1f5fb648302c43ad12.js +1 -0
  202. package/assets/esri/core/workers/chunks/9f5f4da954228d876219.js +1 -0
  203. package/assets/esri/core/workers/chunks/a010fc1123bc0eeda478.js +1 -0
  204. package/assets/esri/core/workers/chunks/a1a12552d34ea9eea130.js +1 -0
  205. package/assets/esri/core/workers/chunks/a2323c957c8b2fe225b4.js +1 -0
  206. package/assets/esri/core/workers/chunks/a34e3c6da7d98569c052.js +1 -0
  207. package/assets/esri/core/workers/chunks/a36a33f43610c3cd985b.js +1 -0
  208. package/assets/esri/core/workers/chunks/a381932eef77f4d80292.js +1 -0
  209. package/assets/esri/core/workers/chunks/a495e60996a36ce19a32.js +1 -0
  210. package/assets/esri/core/workers/chunks/a53fa34681efff8fc024.js +1 -0
  211. package/assets/esri/core/workers/chunks/a7a9716582b256d76e5b.js +1 -0
  212. package/assets/esri/core/workers/chunks/a96c7432ca97cbeef4b8.js +1 -0
  213. package/assets/esri/core/workers/chunks/{ec0fcb1834c88090e7af.js → aa60f735ccd39cedef7e.js} +1 -1
  214. package/assets/esri/core/workers/chunks/aa9c11f25d95372998a3.js +1 -0
  215. package/assets/esri/core/workers/chunks/{128cdb4a02549abc68b5.js → aec33bdb355bd04f28ae.js} +1 -1
  216. package/assets/esri/core/workers/chunks/aece665144aed2065ffc.js +1 -0
  217. package/assets/esri/core/workers/chunks/af75e91b88e747aa76ac.js +1 -0
  218. package/assets/esri/core/workers/chunks/b089947c9a492c96ca27.js +1 -0
  219. package/assets/esri/core/workers/chunks/b35ea099334c867bde02.js +1 -0
  220. package/assets/esri/core/workers/chunks/b553264db0f10bb8c5f7.js +1 -0
  221. package/assets/esri/core/workers/chunks/b586f1021a27c5e1551a.js +2 -0
  222. package/assets/esri/core/workers/chunks/{236f8137ae505c8f0764.js → b65550b2f685ba760b2c.js} +1 -1
  223. package/assets/esri/core/workers/chunks/b6e4c35b76379088035c.js +1 -0
  224. package/assets/esri/core/workers/chunks/b730131e52f9220db031.js +1 -0
  225. package/assets/esri/core/workers/chunks/{9332db133a0925d522fe.js → b8b2f160518e3a225d99.js} +1 -1
  226. package/assets/esri/core/workers/chunks/bbf2afa05314e267893f.js +1 -0
  227. package/assets/esri/core/workers/chunks/bc982142e61598bd367c.js +1 -0
  228. package/assets/esri/core/workers/chunks/bcd701892ee120e13a18.js +1 -0
  229. package/assets/esri/core/workers/chunks/bd278f8081be8304be8d.js +1 -0
  230. package/assets/esri/core/workers/chunks/bd2f577cae61facdde4a.js +1 -0
  231. package/assets/esri/core/workers/chunks/c1a26956713262cb3cb3.js +1 -0
  232. package/assets/esri/core/workers/chunks/c1dc14b07282474a7c2d.js +1 -0
  233. package/assets/esri/core/workers/chunks/c327fe276238af60fda4.js +1 -0
  234. package/assets/esri/core/workers/chunks/c4a78ab84186c7be599a.js +1 -0
  235. package/assets/esri/core/workers/chunks/c4dc60617152d885f3da.js +1 -0
  236. package/assets/esri/core/workers/chunks/c6d5f6cfbb31a3fd11ff.js +1 -0
  237. package/assets/esri/core/workers/chunks/c7f27a84268a9b0d8cdb.js +1 -0
  238. package/assets/esri/core/workers/chunks/c80c6e60c87c3e5f5e62.js +1 -0
  239. package/assets/esri/core/workers/chunks/c91993503de5faa404f0.js +1 -0
  240. package/assets/esri/core/workers/chunks/c9a42d86185a0ad35dd1.js +1 -0
  241. package/assets/esri/core/workers/chunks/c9d600dc6b6b5aafff1c.js +1 -0
  242. package/assets/esri/core/workers/chunks/ca33847a997ccfe8ddc2.js +1 -0
  243. package/assets/esri/core/workers/chunks/ca64867bc322a354be8e.js +1 -0
  244. package/assets/esri/core/workers/chunks/cb6a7ca4ba2cf0b5ced7.js +1 -0
  245. package/assets/esri/core/workers/chunks/cc3939983cf6f78f7243.js +1 -0
  246. package/assets/esri/core/workers/chunks/cca19c9564be2d02a277.js +1 -0
  247. package/assets/esri/core/workers/chunks/ccc2f2b3db008d8a495f.js +1 -0
  248. package/assets/esri/core/workers/chunks/cce2ea441adb47d15a06.js +1 -0
  249. package/assets/esri/core/workers/chunks/ce063df750018024c9ed.js +1 -0
  250. package/assets/esri/core/workers/chunks/ce3e192fbb53a9c6eb3b.js +1 -0
  251. package/assets/esri/core/workers/chunks/d3734c8de029f1a65315.js +1 -0
  252. package/assets/esri/core/workers/chunks/d7229019876c0e4ff545.js +1 -0
  253. package/assets/esri/core/workers/chunks/d72d5031887373d35610.js +1 -0
  254. package/assets/esri/core/workers/chunks/d7840c3e792efcccee35.js +1 -0
  255. package/assets/esri/core/workers/chunks/d9f900975ac915a0f24f.js +1 -0
  256. package/assets/esri/core/workers/chunks/da780342f16e65b55ac8.js +1 -0
  257. package/assets/esri/core/workers/chunks/db005d9419bb718b3962.js +1 -0
  258. package/assets/esri/core/workers/chunks/db5bbc240a1b8cd5af52.js +1 -0
  259. package/assets/esri/core/workers/chunks/dcc8363faa22e6211351.js +1 -0
  260. package/assets/esri/core/workers/chunks/dcef87f7d06c45cd928b.js +1 -0
  261. package/assets/esri/core/workers/chunks/dd5d66f067e2386e0514.js +1 -0
  262. package/assets/esri/core/workers/chunks/dd6efa0afe879bd11a2e.js +1 -0
  263. package/assets/esri/core/workers/chunks/deaca3cd202851ecf9c2.js +1 -0
  264. package/assets/esri/core/workers/chunks/df321c37b61099f6e4c2.js +1 -0
  265. package/assets/esri/core/workers/chunks/e021b2f0e15aee5bf3ad.js +1 -0
  266. package/assets/esri/core/workers/chunks/e0344b45af88081fa186.js +1 -0
  267. package/assets/esri/core/workers/chunks/{77fc225259f1c5800095.js → e2661d39c48376163adf.js} +1 -1
  268. package/assets/esri/core/workers/chunks/e2bdb0e87422e222646e.js +1 -0
  269. package/assets/esri/core/workers/chunks/e3fe1db9380633292b27.js +1 -0
  270. package/assets/esri/core/workers/chunks/e67bdd8bf38ebe89a344.js +1 -0
  271. package/assets/esri/core/workers/chunks/e6f51f66b71e0d6525ec.js +1 -0
  272. package/assets/esri/core/workers/chunks/e7bee85f28d7ec03825a.js +1 -0
  273. package/assets/esri/core/workers/chunks/e8495c655a0a4f534636.js +1 -0
  274. package/assets/esri/core/workers/chunks/e9dd60d0220036545ebb.js +1 -0
  275. package/assets/esri/core/workers/chunks/ea245d3a6fd601fffd88.js +1 -0
  276. package/assets/esri/core/workers/chunks/eb4ffb72c9360062141c.js +1 -0
  277. package/assets/esri/core/workers/chunks/ebae903845643d60b44a.js +1 -0
  278. package/assets/esri/core/workers/chunks/ebb0372e8da0f75c09dd.js +1 -0
  279. package/assets/esri/core/workers/chunks/eef102e13fd8878eeb96.js +1 -0
  280. package/assets/esri/core/workers/chunks/ef267b938327c41727c1.js +1 -0
  281. package/assets/esri/core/workers/chunks/ef72f4822284bcad75d8.js +1 -0
  282. package/assets/esri/core/workers/chunks/efb2a8879011d2d77a81.js +1 -0
  283. package/assets/esri/core/workers/chunks/f0e6a26a3625068b08ab.js +1 -0
  284. package/assets/esri/core/workers/chunks/f12f96770a45ce6d1ed7.js +1 -0
  285. package/assets/esri/core/workers/chunks/f349f64f683620bdf9b5.js +30 -0
  286. package/assets/esri/core/workers/chunks/f379f94adbe79dc305a2.js +1 -0
  287. package/assets/esri/core/workers/chunks/f4301ea9a6cb3bcef906.js +1 -0
  288. package/assets/esri/core/workers/chunks/f5144e570952ca62a1b0.js +1 -0
  289. package/assets/esri/core/workers/chunks/f5cebeaad3e7d87d7997.js +1 -0
  290. package/assets/esri/core/workers/chunks/f6c9742691ccdaed44a2.js +1 -0
  291. package/assets/esri/core/workers/chunks/f76c2b09e6ba9d107898.js +1 -0
  292. package/assets/esri/core/workers/chunks/f7d67b7c9785a1955b17.js +1 -0
  293. package/assets/esri/core/workers/chunks/faad127dc07e54e7f6d1.js +1 -0
  294. package/assets/esri/core/workers/chunks/fcf962f3dec6b5440983.js +1 -0
  295. package/assets/esri/core/workers/chunks/feececf6809231f72c5a.js +1 -0
  296. package/chunks/Compositing.glsl.js +3 -4
  297. package/chunks/OITBlend.glsl.js +8 -7
  298. package/config.d.ts +94 -34
  299. package/config.js +1 -1
  300. package/core/SetUtils.js +1 -1
  301. package/geometry/support/curves/curveUtils.js +1 -1
  302. package/identity/IdentityManager.d.ts +11 -7
  303. package/identity/IdentityManagerBase.d.ts +13 -9
  304. package/kernel.js +1 -1
  305. package/layers/SubtypeGroupLayer.d.ts +0 -1
  306. package/layers/support/EditingCapabilities.js +1 -1
  307. package/layers/support/SubtypeSublayer.js +1 -1
  308. package/package.json +4 -4
  309. package/rest/query/operations/pbfFlatFeatureSet.js +1 -1
  310. package/smartMapping/raster/renderers/classBreaks.d.ts +1 -1
  311. package/smartMapping/raster/renderers/flow.d.ts +2 -1
  312. package/smartMapping/renderers/color.d.ts +19 -3
  313. package/smartMapping/renderers/dotDensity.d.ts +6 -1
  314. package/smartMapping/renderers/heatmap.d.ts +4 -1
  315. package/smartMapping/renderers/location.d.ts +2 -2
  316. package/smartMapping/renderers/opacity.d.ts +2 -2
  317. package/smartMapping/renderers/pieChart.d.ts +2 -2
  318. package/smartMapping/renderers/predominance.d.ts +2 -2
  319. package/smartMapping/renderers/relationship.d.ts +2 -2
  320. package/smartMapping/renderers/size.d.ts +7 -6
  321. package/smartMapping/renderers/support/rendererUtils.d.ts +2 -2
  322. package/smartMapping/renderers/type.d.ts +4 -3
  323. package/smartMapping/renderers/univariateColorSize.d.ts +2 -2
  324. package/smartMapping/statistics/support/ageUtils.d.ts +3 -2
  325. package/smartMapping/statistics/types.d.ts +8 -7
  326. package/smartMapping/support/adapters/types.d.ts +6 -0
  327. package/smartMapping/symbology/color.d.ts +1 -1
  328. package/smartMapping/symbology/support/colorRamps.d.ts +2 -2
  329. package/smartMapping/symbology/support/colorRamps.js +1 -1
  330. package/support/revision.js +1 -1
  331. package/symbols/support/OccludedVisibility.d.ts +1 -1
  332. package/symbols/support/OccludedVisibility.js +1 -1
  333. package/symbols/support/Symbol3DEmissive.d.ts +33 -17
  334. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  335. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  336. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  337. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  338. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  339. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  340. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  341. package/views/2d/webglDeps.js +1 -1
  342. package/views/3d/environment/CloudsComposition.js +1 -1
  343. package/views/3d/environment/CloudsTechnique.js +1 -1
  344. package/views/3d/environment/Fog.js +1 -1
  345. package/views/3d/environment/FogTechnique.js +1 -1
  346. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  347. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  348. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  349. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  350. package/views/3d/layers/graphics/GraphicStateTracking.js +1 -1
  351. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  352. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  353. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  354. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  355. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  356. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  357. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  358. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  359. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  360. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +1 -1
  361. package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +1 -1
  362. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +1 -1
  363. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  364. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  365. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  366. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  367. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  368. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  369. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  370. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  371. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  372. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  373. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  374. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  375. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  376. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  377. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  378. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  379. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  380. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  381. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  382. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  383. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  384. package/views/3d/webgl-engine/effects/transparency/OITDimTechnique.js +1 -1
  385. package/views/3d/webgl-engine/lib/Compositor.js +2 -0
  386. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  387. package/views/3d/webgl-engine/lib/Program.js +1 -1
  388. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  389. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  390. package/views/3d/webgl-engine/materials/renderers/MergedBuffer.js +1 -1
  391. package/views/3d/webgl-engine/materials/renderers/PerBufferData.js +1 -1
  392. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  393. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  394. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  395. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  396. package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
  397. package/views/3d/webgl-engine/shaders/CutFillCompositionTechnique.js +1 -1
  398. package/views/3d/webgl-engine/shaders/CutFillDepthTechnique.js +1 -1
  399. package/views/3d/webgl-engine/shaders/CutFillMaskTechnique.js +1 -1
  400. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  401. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  402. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  403. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  404. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  405. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  406. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  407. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +1 -1
  408. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  409. package/views/View.d.ts +8 -0
  410. package/views/draw/DrawTool.js +1 -1
  411. package/views/draw/plugins/PolygonPlugin.js +1 -1
  412. package/views/draw/support/InteractiveHandle.js +1 -1
  413. package/views/draw/support/managers/InteractiveHandleManager.js +1 -1
  414. package/views/draw/support/managers/TooltipManager.js +1 -1
  415. package/views/interactive/sketch/constraints.js +1 -1
  416. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  417. package/views/interactive/snapping/SnappingVisualizer.js +1 -1
  418. package/views/interactive/snapping/candidates/EdgeSnappingCandidate.js +1 -1
  419. package/views/interactive/snapping/featureSources/queryEngineUtils.js +1 -1
  420. package/views/interactive/snapping/hints/CurveSnappingHint.js +2 -0
  421. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  422. package/views/interactive/tooltip/infos/DynamicTooltipInfo.js +1 -1
  423. package/views/support/imageReprojection.js +1 -1
  424. package/views/webgl/AllocationTracer.js +1 -1
  425. package/views/webgl/AppleAmdDriverHelper.js +1 -1
  426. package/views/webgl/Program.js +1 -1
  427. package/views/webgl/ProgramCache.js +1 -1
  428. package/views/webgl/ProgramTemplate.js +1 -1
  429. package/views/webgl/RenderingContext.js +1 -1
  430. package/views/webgl/WebGLDriverTestModule.js +1 -1
  431. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  432. package/views/webgl/testFloatBufferBlend.js +1 -1
  433. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  434. package/webscene/Glow.d.ts +19 -14
  435. package/widgets/Editor/CreateFeaturesWorkflow.js +1 -1
  436. package/widgets/Editor/CreateFeaturesWorkflowData.js +1 -1
  437. package/widgets/Editor/EditorViewModel.d.ts +15 -4
  438. package/widgets/Editor/EditorViewModel.js +1 -1
  439. package/widgets/Editor/SplitFeatureWorkflow.js +1 -1
  440. package/widgets/Editor/UpdateFeatureWorkflow.js +1 -1
  441. package/widgets/Editor/UpdateFeatureWorkflowData.js +1 -1
  442. package/widgets/Editor/UpdateFeaturesWorkflow.js +1 -1
  443. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  444. package/widgets/Editor/UpdateRecordWorkflowData.js +1 -1
  445. package/widgets/Editor/UpdateWorkflow.js +1 -1
  446. package/widgets/Editor/Workflow.js +1 -1
  447. package/widgets/Editor/components/Notices.js +1 -1
  448. package/widgets/Editor/components/UpdateFeaturePanelContent.js +1 -1
  449. package/widgets/Editor/support/EditorItem.js +1 -1
  450. package/widgets/Editor/support/SketchController.js +1 -1
  451. package/widgets/Editor/workflowUtils.js +1 -1
  452. package/widgets/Editor.d.ts +17 -5
  453. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +17 -5
  454. package/widgets/FeatureTable.d.ts +16 -4
  455. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.d.ts +9 -1
  456. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  457. package/widgets/OrientedImageryViewer.d.ts +9 -1
  458. package/widgets/OrientedImageryViewer.js +1 -1
  459. package/widgets/Sketch/support/PluginManager.js +1 -1
  460. package/assets/esri/core/workers/chunks/00bb90a3f0560800279b.js +0 -1
  461. package/assets/esri/core/workers/chunks/02d862fe58670c1f4722.js +0 -1
  462. package/assets/esri/core/workers/chunks/033b4f9ca08791e0c001.js +0 -1
  463. package/assets/esri/core/workers/chunks/045e4e520d6dffe06ba7.js +0 -1
  464. package/assets/esri/core/workers/chunks/04f82b740325e3388d23.js +0 -1
  465. package/assets/esri/core/workers/chunks/05d6cd51ca970705e46a.js +0 -1
  466. package/assets/esri/core/workers/chunks/08d73543c713984f6ecf.js +0 -1028
  467. package/assets/esri/core/workers/chunks/0b59e5be22139387bd84.js +0 -1
  468. package/assets/esri/core/workers/chunks/0e1d559d05229ef92e35.js +0 -1
  469. package/assets/esri/core/workers/chunks/0e6ffb02a929130ddb50.js +0 -1
  470. package/assets/esri/core/workers/chunks/112227b862b935123ddf.js +0 -2
  471. package/assets/esri/core/workers/chunks/11882cbb28710e5f9fc5.js +0 -1
  472. package/assets/esri/core/workers/chunks/12cfe900ce04af22f162.js +0 -1
  473. package/assets/esri/core/workers/chunks/1336f685bae5f1251558.js +0 -1
  474. package/assets/esri/core/workers/chunks/13512a23655258fa77f4.js +0 -1
  475. package/assets/esri/core/workers/chunks/13da9e3b96d8f653cbad.js +0 -1
  476. package/assets/esri/core/workers/chunks/1469e6d1d0d4e310b8f8.js +0 -1
  477. package/assets/esri/core/workers/chunks/15d46482ec096e3ce161.js +0 -1
  478. package/assets/esri/core/workers/chunks/1757133063fac226fdd4.js +0 -1
  479. package/assets/esri/core/workers/chunks/1794db88a2006711eff3.js +0 -1
  480. package/assets/esri/core/workers/chunks/189e22df73414a1a3989.js +0 -1
  481. package/assets/esri/core/workers/chunks/1951ff6789b9a598f122.js +0 -1
  482. package/assets/esri/core/workers/chunks/1ba756289468064f6204.js +0 -1
  483. package/assets/esri/core/workers/chunks/1cfa8d404d42b9eccf78.js +0 -1
  484. package/assets/esri/core/workers/chunks/1e916e552ce7d53692d2.js +0 -1
  485. package/assets/esri/core/workers/chunks/1fb6b65d8fd21fb9a21e.js +0 -1
  486. package/assets/esri/core/workers/chunks/2011da6dfc4bb89829c6.js +0 -1
  487. package/assets/esri/core/workers/chunks/203ef5459fc5dde12851.js +0 -1
  488. package/assets/esri/core/workers/chunks/215c54520d0da638fe57.js +0 -1
  489. package/assets/esri/core/workers/chunks/22045f85e503ae0ec8f4.js +0 -1
  490. package/assets/esri/core/workers/chunks/2351b713ba3d05de0728.js +0 -1
  491. package/assets/esri/core/workers/chunks/249630af2fb01257eb75.js +0 -1
  492. package/assets/esri/core/workers/chunks/24dd404612c35f6a3fc3.js +0 -1
  493. package/assets/esri/core/workers/chunks/25d34552bfb255af9467.js +0 -1
  494. package/assets/esri/core/workers/chunks/27c34a73fb380fc57f6e.js +0 -1
  495. package/assets/esri/core/workers/chunks/27d60fd727e9a68973f6.js +0 -1
  496. package/assets/esri/core/workers/chunks/27e14277128446e76b45.js +0 -1
  497. package/assets/esri/core/workers/chunks/2a3e82a230b7ee4dfd55.js +0 -1
  498. package/assets/esri/core/workers/chunks/2c69d8bb1c950b95278d.js +0 -1
  499. package/assets/esri/core/workers/chunks/2c6dbb9a8d7cc35f5093.js +0 -1
  500. package/assets/esri/core/workers/chunks/2d376f82cdf020e1fca9.js +0 -1
  501. package/assets/esri/core/workers/chunks/2d67ab4927a968d5c8d4.js +0 -1
  502. package/assets/esri/core/workers/chunks/2e50b7651f8c037bb3b0.js +0 -1
  503. package/assets/esri/core/workers/chunks/2e63e18df96e5a2461de.js +0 -1
  504. package/assets/esri/core/workers/chunks/2e82e284bbb3ff769a0b.js +0 -1
  505. package/assets/esri/core/workers/chunks/31184dc458281af654c7.js +0 -1
  506. package/assets/esri/core/workers/chunks/3214763f268622f09986.js +0 -1
  507. package/assets/esri/core/workers/chunks/32a1ccc145c9f6091e13.js +0 -1
  508. package/assets/esri/core/workers/chunks/34691b147318b2cfdd45.js +0 -1
  509. package/assets/esri/core/workers/chunks/34b367f617a7b3db55e0.js +0 -1
  510. package/assets/esri/core/workers/chunks/37d4a0b941bb2a7f113a.js +0 -1
  511. package/assets/esri/core/workers/chunks/3875b075ffaa1ed0089f.js +0 -1
  512. package/assets/esri/core/workers/chunks/3d3b1ce112be6ea31d93.js +0 -1
  513. package/assets/esri/core/workers/chunks/3dfc088a2c5289e6c79f.js +0 -1
  514. package/assets/esri/core/workers/chunks/3f3c63420644f9522ab1.js +0 -1
  515. package/assets/esri/core/workers/chunks/3fcab49eb215a477d8c4.js +0 -1
  516. package/assets/esri/core/workers/chunks/41108f58f0f439ebba3f.js +0 -1
  517. package/assets/esri/core/workers/chunks/415957a42e45eb21aa84.js +0 -1
  518. package/assets/esri/core/workers/chunks/4375d046b041a770c871.js +0 -1
  519. package/assets/esri/core/workers/chunks/43c797bfc2191b51875b.js +0 -1
  520. package/assets/esri/core/workers/chunks/460a82f3e4838b13e3b4.js +0 -1
  521. package/assets/esri/core/workers/chunks/473e43a74f56cb9bfe65.js +0 -1
  522. package/assets/esri/core/workers/chunks/4801e48cd4a14bacab78.js +0 -1
  523. package/assets/esri/core/workers/chunks/499d594dc0d282dfe777.js +0 -1
  524. package/assets/esri/core/workers/chunks/4ad6f80488aa218b95e3.js +0 -1
  525. package/assets/esri/core/workers/chunks/4db259316b193fcc4541.js +0 -1
  526. package/assets/esri/core/workers/chunks/4e9863a11d09900baf30.js +0 -1
  527. package/assets/esri/core/workers/chunks/4fe210314813ea1f7a26.js +0 -1
  528. package/assets/esri/core/workers/chunks/51603e99469847aa3ac4.js +0 -1
  529. package/assets/esri/core/workers/chunks/52705ccbb452a3edb064.js +0 -1
  530. package/assets/esri/core/workers/chunks/53e348f5585fa8c53fe8.js +0 -2
  531. package/assets/esri/core/workers/chunks/54c545f44b7ce21fb604.js +0 -1
  532. package/assets/esri/core/workers/chunks/54db2d2418721e92fbb0.js +0 -1
  533. package/assets/esri/core/workers/chunks/552e5c413828e181f89a.js +0 -1
  534. package/assets/esri/core/workers/chunks/558e9fed2e58cbbf9947.js +0 -1
  535. package/assets/esri/core/workers/chunks/55c5c4fcec0f8c4d59b2.js +0 -1
  536. package/assets/esri/core/workers/chunks/58134617fb7530836b81.js +0 -1
  537. package/assets/esri/core/workers/chunks/58c4be467a922fe37f01.js +0 -1
  538. package/assets/esri/core/workers/chunks/5924fe7de9f5ff8984ad.js +0 -1
  539. package/assets/esri/core/workers/chunks/5cd39bb8123adc80d8a7.js +0 -1
  540. package/assets/esri/core/workers/chunks/5cd8bbb719d95cb32cab.js +0 -1
  541. package/assets/esri/core/workers/chunks/5dba08099036e69e0a04.js +0 -1
  542. package/assets/esri/core/workers/chunks/5eb5d3b2329ec648cf3f.js +0 -1
  543. package/assets/esri/core/workers/chunks/5f10f39835cb40179000.js +0 -1
  544. package/assets/esri/core/workers/chunks/5f9eeab833a6c08c76c4.js +0 -1
  545. package/assets/esri/core/workers/chunks/606b4f1be91905a10bdb.js +0 -1
  546. package/assets/esri/core/workers/chunks/628056a312d919e98fa3.js +0 -1
  547. package/assets/esri/core/workers/chunks/62e9a9821f1563515ab4.js +0 -1
  548. package/assets/esri/core/workers/chunks/639302042c30e4265694.js +0 -1
  549. package/assets/esri/core/workers/chunks/645e086291b04bc036d7.js +0 -1
  550. package/assets/esri/core/workers/chunks/651b46aeabf22ff53a38.js +0 -1
  551. package/assets/esri/core/workers/chunks/65ad8838911a6d71816b.js +0 -1
  552. package/assets/esri/core/workers/chunks/65f86594c42ff82095fe.js +0 -1
  553. package/assets/esri/core/workers/chunks/6772468d1721d6d2a529.js +0 -1
  554. package/assets/esri/core/workers/chunks/677f5e444ff588ab670f.js +0 -1
  555. package/assets/esri/core/workers/chunks/6869f975d42b5a2936e2.js +0 -1
  556. package/assets/esri/core/workers/chunks/69ab42b965bccc3bad4f.js +0 -1
  557. package/assets/esri/core/workers/chunks/6a083fde0e207625fd0b.js +0 -1
  558. package/assets/esri/core/workers/chunks/6a9a96aa811c1d3b6edb.js +0 -1
  559. package/assets/esri/core/workers/chunks/6b3494e5a32912ee6325.js +0 -1
  560. package/assets/esri/core/workers/chunks/6b5d2cef309a2581d0d1.js +0 -1
  561. package/assets/esri/core/workers/chunks/6bf7d8de86b9eb76f920.js +0 -1
  562. package/assets/esri/core/workers/chunks/6c0b7890c8eec7febe28.js +0 -1
  563. package/assets/esri/core/workers/chunks/6c85396c90941a042c33.js +0 -1
  564. package/assets/esri/core/workers/chunks/6d02fdcaa1559b741f89.js +0 -1
  565. package/assets/esri/core/workers/chunks/6f337c3ccd84d90a35e5.js +0 -1
  566. package/assets/esri/core/workers/chunks/71159f66d9867aaea6cf.js +0 -1
  567. package/assets/esri/core/workers/chunks/711bec78dc00fad0f78d.js +0 -1
  568. package/assets/esri/core/workers/chunks/71ad08a5b69cf2e6714e.js +0 -1
  569. package/assets/esri/core/workers/chunks/7382c9882525101eddad.js +0 -1
  570. package/assets/esri/core/workers/chunks/750dfcbfcadf0629daf6.js +0 -1
  571. package/assets/esri/core/workers/chunks/75907e5d009b71ce723b.js +0 -1
  572. package/assets/esri/core/workers/chunks/79c69ae86a1f4a56f7c7.js +0 -1
  573. package/assets/esri/core/workers/chunks/79ee97609f72e4cf989c.js +0 -1
  574. package/assets/esri/core/workers/chunks/7a037fbfd91dd22e3bf0.js +0 -1
  575. package/assets/esri/core/workers/chunks/7cf8fc491877d59caf3a.js +0 -1
  576. package/assets/esri/core/workers/chunks/7d2b1e5402a88b6bee85.js +0 -1
  577. package/assets/esri/core/workers/chunks/7ec83fc059325e207825.js +0 -1
  578. package/assets/esri/core/workers/chunks/7ee7529fcbd0d169047c.js +0 -1
  579. package/assets/esri/core/workers/chunks/7f385e9c88df3395e678.js +0 -1
  580. package/assets/esri/core/workers/chunks/80d51d58db09b9f96cb5.js +0 -1
  581. package/assets/esri/core/workers/chunks/81a45d7e9dadf678b584.js +0 -1
  582. package/assets/esri/core/workers/chunks/81c758bdc07ed9d9a132.js +0 -1
  583. package/assets/esri/core/workers/chunks/822a115c7d718e4e3d2b.js +0 -1
  584. package/assets/esri/core/workers/chunks/825ffcde4f224006e776.js +0 -1
  585. package/assets/esri/core/workers/chunks/83711695e16912e9b9c5.js +0 -1
  586. package/assets/esri/core/workers/chunks/8374658d17f69bde6b08.js +0 -1
  587. package/assets/esri/core/workers/chunks/84b6ac0965d83704ba5d.js +0 -1
  588. package/assets/esri/core/workers/chunks/88a02b3a802d484c08a8.js +0 -1
  589. package/assets/esri/core/workers/chunks/89cd0e3420ab31e98a77.js +0 -1
  590. package/assets/esri/core/workers/chunks/8c3bf66f8543cedc72ef.js +0 -1
  591. package/assets/esri/core/workers/chunks/8cade3af17a8bb6d4e37.js +0 -1
  592. package/assets/esri/core/workers/chunks/8eea620f770576d18809.js +0 -1
  593. package/assets/esri/core/workers/chunks/9138503cc61989b00444.js +0 -1
  594. package/assets/esri/core/workers/chunks/920d6330df72e2f01d19.js +0 -1
  595. package/assets/esri/core/workers/chunks/936974764f433eb928a8.js +0 -1
  596. package/assets/esri/core/workers/chunks/99c9f35a29f9f6c9e4ce.js +0 -1
  597. package/assets/esri/core/workers/chunks/9a52bb5949ca836b7e79.js +0 -1
  598. package/assets/esri/core/workers/chunks/9a5327d3c3658e60564d.js +0 -1
  599. package/assets/esri/core/workers/chunks/9dc7abca1d1eb9ba5b58.js +0 -1
  600. package/assets/esri/core/workers/chunks/9e054c264b17f04b7efa.js +0 -1
  601. package/assets/esri/core/workers/chunks/a143a6f8e2f21548b244.js +0 -1
  602. package/assets/esri/core/workers/chunks/a33a3c9bbe6bc7273285.js +0 -1
  603. package/assets/esri/core/workers/chunks/a48a6232fa33084cb686.js +0 -1
  604. package/assets/esri/core/workers/chunks/a4947d5d2fa6b7bd399b.js +0 -1
  605. package/assets/esri/core/workers/chunks/a49f1172b17c14527acf.js +0 -1
  606. package/assets/esri/core/workers/chunks/a7d4d257f49f3b153c26.js +0 -1
  607. package/assets/esri/core/workers/chunks/aaf3ed508d30ed583915.js +0 -1
  608. package/assets/esri/core/workers/chunks/aceec85ce64a3e6d8761.js +0 -1
  609. package/assets/esri/core/workers/chunks/b10b3eb8c2ed9be14ab2.js +0 -1
  610. package/assets/esri/core/workers/chunks/b220fedcb8a2d6450408.js +0 -1
  611. package/assets/esri/core/workers/chunks/b315b3771d0d19681aa5.js +0 -1
  612. package/assets/esri/core/workers/chunks/b397a9f87082705301a4.js +0 -2
  613. package/assets/esri/core/workers/chunks/b40e4ed067da65c3d7ce.js +0 -1
  614. package/assets/esri/core/workers/chunks/b4b16914950792c46bd3.js +0 -1
  615. package/assets/esri/core/workers/chunks/b5f291e8ed7f7cac158d.js +0 -1
  616. package/assets/esri/core/workers/chunks/b6969a42602517a6ef1c.js +0 -1
  617. package/assets/esri/core/workers/chunks/b732ad893d352db79ee1.js +0 -1
  618. package/assets/esri/core/workers/chunks/b9226dd0342cfd30ece0.js +0 -1
  619. package/assets/esri/core/workers/chunks/baad696d84ab78b3d00e.js +0 -2
  620. package/assets/esri/core/workers/chunks/bab1c3f48d089d71e983.js +0 -30
  621. package/assets/esri/core/workers/chunks/bab6dee8f4715d05d984.js +0 -1
  622. package/assets/esri/core/workers/chunks/bc2dcbdc414d157ab727.js +0 -1
  623. package/assets/esri/core/workers/chunks/bcb254cb7297fec88679.js +0 -1
  624. package/assets/esri/core/workers/chunks/bd2125e0a68378533641.js +0 -1
  625. package/assets/esri/core/workers/chunks/bdb4f216ae8881b98604.js +0 -1
  626. package/assets/esri/core/workers/chunks/bde2c3199f667b63dbe8.js +0 -1
  627. package/assets/esri/core/workers/chunks/be52d98da81b413388b3.js +0 -1
  628. package/assets/esri/core/workers/chunks/bf42b5c77f5757dc9328.js +0 -1
  629. package/assets/esri/core/workers/chunks/bf595eb10f99b8a96baa.js +0 -1
  630. package/assets/esri/core/workers/chunks/c0b6706f86665cec85f8.js +0 -1
  631. package/assets/esri/core/workers/chunks/c2ef5e5a3a4fad7f65db.js +0 -1
  632. package/assets/esri/core/workers/chunks/c3c6d337ff53e5d921e8.js +0 -1
  633. package/assets/esri/core/workers/chunks/c461c19e4fdbdd2e94d4.js +0 -1
  634. package/assets/esri/core/workers/chunks/c5fa5645f3a10dfdd7fb.js +0 -1
  635. package/assets/esri/core/workers/chunks/c66aa57b6360963bd938.js +0 -1
  636. package/assets/esri/core/workers/chunks/c873ac660e7d5dc88781.js +0 -1
  637. package/assets/esri/core/workers/chunks/c99f36159b5ed6f9267e.js +0 -1
  638. package/assets/esri/core/workers/chunks/c9a57f6d0d35b968ebea.js +0 -1
  639. package/assets/esri/core/workers/chunks/ca6a65f149e7f34dab9c.js +0 -1
  640. package/assets/esri/core/workers/chunks/cb5f4820277f3fc7ff2f.js +0 -1
  641. package/assets/esri/core/workers/chunks/cf4202ad468501ef24cf.js +0 -1
  642. package/assets/esri/core/workers/chunks/d03d50f3247327257d8b.js +0 -1
  643. package/assets/esri/core/workers/chunks/d1bfb6a229a58e2af761.js +0 -1
  644. package/assets/esri/core/workers/chunks/d2017b0b27b9e4ada922.js +0 -1
  645. package/assets/esri/core/workers/chunks/d2d9c1f32a75befe168b.js +0 -1
  646. package/assets/esri/core/workers/chunks/d309172ad61de2b3c15d.js +0 -1
  647. package/assets/esri/core/workers/chunks/d3416e6da0c1cbb53b3a.js +0 -1
  648. package/assets/esri/core/workers/chunks/d39f5d57f7e35c00ca16.js +0 -1
  649. package/assets/esri/core/workers/chunks/d4422e6e1f09d8c9352e.js +0 -1
  650. package/assets/esri/core/workers/chunks/d4770dddfbfdc3845749.js +0 -1
  651. package/assets/esri/core/workers/chunks/d5b4487a983921572e58.js +0 -1
  652. package/assets/esri/core/workers/chunks/d5f06cb4797629648997.js +0 -1
  653. package/assets/esri/core/workers/chunks/d78b2f85ec9212a973e8.js +0 -1
  654. package/assets/esri/core/workers/chunks/d7f89a3372730dacc04c.js +0 -1
  655. package/assets/esri/core/workers/chunks/d9dc8d9fc8ab2706f96b.js +0 -1
  656. package/assets/esri/core/workers/chunks/da42da04a9df651b06cc.js +0 -1
  657. package/assets/esri/core/workers/chunks/dc7860179a2d1fd05ac2.js +0 -1
  658. package/assets/esri/core/workers/chunks/dc7df2072c0ebed5602c.js +0 -1
  659. package/assets/esri/core/workers/chunks/dc96f2f6e0e02e47476f.js +0 -1
  660. package/assets/esri/core/workers/chunks/dd24cddc406f610d2483.js +0 -1
  661. package/assets/esri/core/workers/chunks/dd3789e71270a4640551.js +0 -1
  662. package/assets/esri/core/workers/chunks/dd6d4a0f1f3215ca34a5.js +0 -1
  663. package/assets/esri/core/workers/chunks/de6438fdbe38d32c4ad5.js +0 -1
  664. package/assets/esri/core/workers/chunks/ded71a656e2626a411f9.js +0 -1
  665. package/assets/esri/core/workers/chunks/df1fa0f7e8f7e2bcc2e6.js +0 -1
  666. package/assets/esri/core/workers/chunks/df80d5345765b769416f.js +0 -1
  667. package/assets/esri/core/workers/chunks/e16d542648bae86e890f.js +0 -1
  668. package/assets/esri/core/workers/chunks/e1827e86226bf9a0f4ea.js +0 -1
  669. package/assets/esri/core/workers/chunks/e2e03622936d2b35afc0.js +0 -1
  670. package/assets/esri/core/workers/chunks/e33f5780fb45ac7ca889.js +0 -1
  671. package/assets/esri/core/workers/chunks/e3ee2b699c42fd113b46.js +0 -1
  672. package/assets/esri/core/workers/chunks/e4611ebd7dba7692a914.js +0 -1
  673. package/assets/esri/core/workers/chunks/e508f8e707eb3207cfcc.js +0 -1
  674. package/assets/esri/core/workers/chunks/e52793690dff1a199647.js +0 -1
  675. package/assets/esri/core/workers/chunks/e55859fce1908c24423a.js +0 -1
  676. package/assets/esri/core/workers/chunks/e56a10a475ce128b5fce.js +0 -1
  677. package/assets/esri/core/workers/chunks/e93df239fc54af2bd6ba.js +0 -1
  678. package/assets/esri/core/workers/chunks/ea633a6a3b9ea8ce965d.js +0 -1
  679. package/assets/esri/core/workers/chunks/eae1c098c16e2faaf90d.js +0 -1
  680. package/assets/esri/core/workers/chunks/eaf5d55060ffc55aac39.js +0 -1
  681. package/assets/esri/core/workers/chunks/ece363681bb09072f379.js +0 -1
  682. package/assets/esri/core/workers/chunks/edaae0fc63d16b0f675d.js +0 -2
  683. package/assets/esri/core/workers/chunks/ee31d9f44e028df16bd5.js +0 -1
  684. package/assets/esri/core/workers/chunks/ee89564d11c077169b31.js +0 -1
  685. package/assets/esri/core/workers/chunks/ee905e24320241959965.js +0 -1
  686. package/assets/esri/core/workers/chunks/eebf59ac2dd60b9fb262.js +0 -1
  687. package/assets/esri/core/workers/chunks/ef4237dc7b67c9039826.js +0 -1
  688. package/assets/esri/core/workers/chunks/ef9106ee818ec732b670.js +0 -1
  689. package/assets/esri/core/workers/chunks/f0780abe66118b3a0bf2.js +0 -1
  690. package/assets/esri/core/workers/chunks/f121a0bf33c03abfa0b6.js +0 -1
  691. package/assets/esri/core/workers/chunks/f4329e3e4e072fac8dc0.js +0 -1
  692. package/assets/esri/core/workers/chunks/f5dbffd5e8b3c16336a1.js +0 -1
  693. package/assets/esri/core/workers/chunks/f62e37863a549f72093c.js +0 -1
  694. package/assets/esri/core/workers/chunks/f984248e2ce417e49f2f.js +0 -1
  695. package/assets/esri/core/workers/chunks/fab7e3e07d700d7bb651.js +0 -1
  696. package/assets/esri/core/workers/chunks/fcc8d0b60f7c2397e550.js +0 -1
  697. package/assets/esri/core/workers/chunks/fcf592dc8c017a08fee0.js +0 -1
  698. package/assets/esri/core/workers/chunks/fcf6a47f44c917490deb.js +0 -1
  699. package/assets/esri/core/workers/chunks/fe3c8a6fc080fdf2ad94.js +0 -1
  700. package/assets/esri/core/workers/chunks/fe5aec7e2da4465422b4.js +0 -1
  701. package/assets/esri/core/workers/chunks/fefc94944f07c768ad66.js +0 -1
  702. package/views/3d/webgl-engine/lib/CompositingHelper.js +0 -2
  703. /package/assets/esri/core/workers/chunks/{53e348f5585fa8c53fe8.js.LICENSE.txt → 13d1cb50232ae761425b.js.LICENSE.txt} +0 -0
  704. /package/assets/esri/core/workers/chunks/{b397a9f87082705301a4.js.LICENSE.txt → 3861644c06cfebe8f40c.js.LICENSE.txt} +0 -0
  705. /package/assets/esri/core/workers/chunks/{112227b862b935123ddf.js.LICENSE.txt → 3f812b0a28afb47aaaf0.js.LICENSE.txt} +0 -0
  706. /package/assets/esri/core/workers/chunks/{edaae0fc63d16b0f675d.js.LICENSE.txt → 43c8b1473695574c663e.js.LICENSE.txt} +0 -0
  707. /package/assets/esri/core/workers/chunks/{baad696d84ab78b3d00e.js.LICENSE.txt → b586f1021a27c5e1551a.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{releaseMaybe as r}from"../../../../../core/maybe.js";import{property as t,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{ZEROS as n}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{RenderNodeOutput as i}from"../../../webgl.js";import s from"../../../webgl/RenderNode.js";import{If as a,glsl as c}from"../../core/shaderModules/glsl.js";import{Pos2Locations as u}from"../../lib/DefaultVertexBufferLayouts.js";import{checkWebGLError as l}from"../../../../webgl/checkWebGLError.js";import{ColorAttachment0 as h,SizedPixelFormat as p,DataType as d}from"../../../../webgl/enums.js";let f=class extends s{constructor(e){super(e),this.destroyedCB=null,this.produces=i.FINAL,this.consumes={required:[i.FINAL]},this.clearColor=n,this._focusedFBOType=7,this._program=new Map}destroy(){this._program.forEach(e=>e.dispose()),this._program.clear(),this.destroyedCB()}render(e){const r=e.find(({name:e})=>e===i.FINAL);if(!this._focusedTexture)return r;const t=this.renderingContext;t.bindFramebuffer(r.fbo),t.setClearColor(0,0,0,0),t.clear(16384);const o=this._focusedTexture.attachment,n=[g(o)],s=this._ensureProgram(t,!1,n);return t.useProgram(s),t.bindTexture(o,0),s.setUniform1i("colorTex0",0),s.setUniform1i("inputType",this._focusedFBOType),3===this._focusedFBOType&&s.setUniform2fv("nearFar",this.camera.nearFar),t.screen.draw(),r}getDownscaledFBO(e,r,t,o,n){r&&(o=e.width,n=e.height);const i="linear depth"===t||t.includes("shadow"),s="overlay highlight"===t||"highlights"===t||"highlight mix"===t,a="highlight coverage"===t,c=e.colorTexture?.descriptor,u=c?.internalFormat,p=[],d=new Array,f=new Array;e.colorAttachments.forEach((r,t)=>{const o=e.getColorTexture(r);if(o){const e=g(o);p.push(e);const{descriptor:r}=o;"float"!==e||r.hasMipmap||r.isImmutable||(o.generateMipmap(),d[t]=!0)}if(t>0){const t=e.getColorTexture(r)?.descriptor.internalFormat;return void f.push(x(t))}f.push(i?0:s?1:a?2:x(u))});const m=this.renderingContext,{depthStencilTexture:v}=e,F=this._ensureProgram(m,null!=v,p),T=this.fboCache.acquire(o,n,"fbo visualizer");m.useProgram(F),m.bindFramebuffer(T.fbo);const b=[];e.colorAttachments.forEach((r,t)=>{const o=`colorTex${t.toFixed()}`;m.bindTexture(e.getColorTexture(r),t),F.setUniform1i(o,t),t>0&&T.acquireColor(h+t,5,"fbo visualizer"),b.push(r)});const C=v?.descriptor.linearFilterDepth??!1;if(v){const r=e.colorAttachments.length;v.setShadowFiltering(!1),m.bindTexture(v,r),F.setUniform1i("depthTex",r);const t=h+r;t>h&&T.acquireColor(t,5,"fbo visualizer"),b.push(t)}m.gl.drawBuffers(b),l(m.gl);const R=m.getViewport();return m.setViewport(0,0,o,n),m.setClearColor(0,0,0,0),m.clear(16384),m.setBlendingEnabled(!0),m.setBlendFunction(1,771),F.setUniform1iv("inputTypes",f),F.setUniform2fv("nearFar",this.camera.nearFar),m.screen.draw(),l(m.gl),m.bindFramebuffer(null),m.setViewport(R.x,R.y,R.width,R.height),r&&(this._focusedTexture?.release(),this._focusedTexture=T.getAttachment(h),this._focusedTexture?.retain(),this._focusedFBOType=f[0]),e.colorAttachments.forEach((r,t)=>{if(d[t]){const t=e.getColorTexture(r);t?.clearMipmap()}}),v&&v.setShadowFiltering(C),T}clearFocusedFBO(){this._focusedTexture=r(this._focusedTexture)}getPreviewContent(e,r,t,o){const n=this.renderingContext,i=o.includes("\ndepth"),s=this.fboCache.acquire(e,r,"fbo visualizer");n.bindFramebuffer(s?.fbo);const a=n.getViewport();n.setViewport(0,0,e,r),n.setClearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),n.clear(16384),n.setBlendingEnabled(!0),n.setBlendFunction(1,771);const c=t.attachment,u=this._ensureProgram(n,!1,[g(c)]);n.useProgram(u),n.bindTexture(c,0),u.setUniform1i("colorTex0",0),u.setUniform1iv("inputTypes",[i||c.descriptor.internalFormat!==p.RGBA16F?7:5]),n.screen.draw();const h=new ImageData(new Uint8ClampedArray(e*r*4),e,r);return n.gl.readPixels(0,0,e,r,6408,d.UNSIGNED_BYTE,new Uint8Array(h.data.buffer)),l(n.gl),n.bindFramebuffer(null),n.setViewport(a.x,a.y,a.width,a.height),s?.release(),h}_ensureProgram(e,r,t){const o=v({hasDepthAttachment:r,colorSamplerTypes:t}),n=this._program.get(o);if(n)return n;const i="#version 300 es\n in vec2 position;\n out vec2 uv;\n\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n uv = position * 0.5 + vec2(0.5);\n }",s=e=>{let r="";for(let t=0;t<e.length;++t){const o=e[t];r+=`layout(location = ${c.int(t)}) out vec4 fragColor${c.int(t)};\n uniform ${m(o)} colorTex${c.int(t)};`}return r},l=e=>e.reduce((e,r,t)=>e+`{\n int inputType = inputTypes[${t}];\n if (inputType == ${3..toFixed()}) {\n fragColor${t} = vec4(vec3(texture(colorTex${t}, uv).r), 1.0);\n } else if (inputType == ${4..toFixed()}) {\n fragColor${t} = vec4(texture(colorTex${t}, uv).rg, 0.0, 1.0);\n } else if (inputType == ${(0).toFixed()}) {\n float depth = 1.0 - ((-linearDepthFromTexture(colorTex${t}, uv) - nearFar[0]) / (nearFar[1] - nearFar[0]));\n fragColor${t} = vec4(vec3(depth), depth >= 0.999 ? 0.0 : 1.0);\n } else if (inputType == ${5..toFixed()}) {\n fragColor${t} = vec4(texture(colorTex${t}, uv).rgb, 1.0);\n } else if (inputType == ${1..toFixed()}) {\n fragColor${t} = vec4(texture(colorTex${t}, uv)) * 255.0;\n fragColor${t} = vec4(fragColor${t}.rgb / fragColor${t}.a, fragColor${t}.a);\n } else if(inputType == ${2..toFixed()}) {\n vec2 texDim = vec2(textureSize(colorTex${t}, 0));\n ivec2 iuv = ivec2(uv*texDim);\n uvec2 hh = uvec2(texelFetch(colorTex${t},iuv,0).rg);\n fragColor${t} = vec4(\n ((hh & uvec2(0x55u)) != uvec2(0u)) ? 1.0 : 0.0,\n ((hh & uvec2(0xaau)) != uvec2(0u)) ? 1.0 : 0.0,\n 0.0,\n 1.0);\n } else {\n fragColor${t} = vec4(texture(colorTex${t}, uv));\n }\n }`,""),h=t.length,p=`#version 300 es\n precision highp float;\n precision highp usampler2D;\n\n in vec2 uv;\n ${s(t)}\n ${a(r,`layout(location = ${c.int(h)}) out vec4 fragDepth;\n uniform sampler2D depthTex;`)}\n\n uniform int inputTypes[${t.length}];\n uniform vec2 nearFar;\n\n // Factors to convert rgba back to float\n const vec4 RGBA_2_FLOAT_FACTORS = vec4(\n 255.0 / (256.0),\n 255.0 / (256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\n );\n\n\n float rgbaToFloat(vec4 rgba) {\n // Convert components from 0->1 back to 0->255 and then add the components together with their corresponding\n // fixed point factors, i.e. (256^1, 256^2, 256^3, 256^4)\n return dot(rgba, RGBA_2_FLOAT_FACTORS);\n }\n\n float linearDepthFromFloat(float depth) {\n depth = pow(depth, 0.2);\n return -(depth * (nearFar[1] - nearFar[0]) + nearFar[0]);\n }\n\n float linearDepthFromRGBA(vec4 depth) {\n return linearDepthFromFloat(rgbaToFloat(depth));\n }\n\n ${"float"===t[0]?"float linearDepthFromTexture(sampler2D depthTex, vec2 uv) {\n ivec2 iuv = ivec2(uv * vec2(textureSize(depthTex, 0)));\n return linearDepthFromRGBA(texelFetch(depthTex, iuv, 0));\n }":"float linearDepthFromTexture(usampler2D depthTex, vec2 uv) {\n ivec2 iuv = ivec2(uv * vec2(textureSize(depthTex, 0)));\n return linearDepthFromRGBA(vec4(texelFetch(depthTex, iuv, 0)) * 255.0);\n }"}\n\n void main() {\n ${l(t)}\n ${a(r,"float depth = 1.0 - pow(texture(depthTex, uv).r, 10.0);\n fragDepth = vec4(vec3(depth), depth < 0.000001 ? 0.0 : 1.0);")}\n }`,d=e.programCache.acquire(i,p,u);return this._program.set(o,d),d}};function m(e){switch(e){case"float":return"sampler2D";case"uint":return"usampler2D";case"int":return"isampler2D"}}function g(e){if(!e)return"float";const{internalFormat:r}=e.descriptor;switch(r){case p.R8I:case p.R16I:case p.R32I:case p.RG8I:case p.RG16I:case p.RG32I:case p.RGB8I:case p.RGB16I:case p.RGB32I:case p.RGBA8I:case p.RGBA16I:case p.RGBA32I:return"int";case p.R8UI:case p.R16UI:case p.R32UI:case p.RG8UI:case p.RG16UI:case p.RG32UI:case p.RGB8UI:case p.RGB16UI:case p.RGB32UI:case p.RGBA8UI:case p.RGBA16UI:case p.RGBA32UI:return"uint";default:return"float"}}function v(e){const{hasDepthAttachment:r,colorSamplerTypes:t}=e;return`${r?"Depth":""}${t.reduceRight((e,r)=>e+`|C${r}`,"")}`}function x(e){switch(e){case p.R16F:case p.R32F:case p.R8:return 3;case p.RG8:return 4;case p.RGBA16F:return 5;case p.RG8UI:return 6;default:return 7}}e([t()],f.prototype,"destroyedCB",void 0),e([t()],f.prototype,"produces",void 0),e([t()],f.prototype,"consumes",void 0),e([t()],f.prototype,"clearColor",void 0),f=e([o("esri.views.3d.webgl-engine.effects.debug.RenderNodeVisualizerNode")],f);export{f as RenderNodeVisualizerNode};
2
+ import{__decorate as e}from"tslib";import{releaseMaybe as r}from"../../../../../core/maybe.js";import{property as t,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{ZEROS as n}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{RenderNodeOutput as i}from"../../../webgl.js";import s from"../../../webgl/RenderNode.js";import{If as a,glsl as c}from"../../core/shaderModules/glsl.js";import{Pos2Locations as u}from"../../lib/DefaultVertexBufferLayouts.js";import{checkWebGLError as l}from"../../../../webgl/checkWebGLError.js";import{ColorAttachment0 as h,SizedPixelFormat as p,DataType as d}from"../../../../webgl/enums.js";let f=class extends s{constructor(e){super(e),this.destroyedCB=null,this.produces=i.FINAL,this.consumes={required:[i.FINAL]},this.clearColor=n,this._focusedFBOType=7,this._programs=new Map}destroy(){this._programs.clear(),this.destroyedCB()}render(e){const r=e.find(({name:e})=>e===i.FINAL);if(!this._focusedTexture)return r;const t=this.renderingContext;t.bindFramebuffer(r.fbo),t.setClearColor(0,0,0,0),t.clear(16384);const o=this._focusedTexture.attachment,n=[g(o)],s=this._ensureProgram(t,!1,n);return t.useProgram(s),t.bindTexture(o,0),s.setUniform1i("colorTex0",0),s.setUniform1i("inputType",this._focusedFBOType),3===this._focusedFBOType&&s.setUniform2fv("nearFar",this.camera.nearFar),t.screen.draw(),r}getDownscaledFBO(e,r,t,o,n){r&&(o=e.width,n=e.height);const i="linear depth"===t||t.includes("shadow"),s="overlay highlight"===t||"highlights"===t||"highlight mix"===t,a="highlight coverage"===t,c=e.colorTexture?.descriptor,u=c?.internalFormat,p=[],d=new Array,f=new Array;e.colorAttachments.forEach((r,t)=>{const o=e.getColorTexture(r);if(o){const e=g(o);p.push(e);const{descriptor:r}=o;"float"!==e||r.hasMipmap||r.isImmutable||(o.generateMipmap(),d[t]=!0)}if(t>0){const t=e.getColorTexture(r)?.descriptor.internalFormat;return void f.push(x(t))}f.push(i?0:s?1:a?2:x(u))});const m=this.renderingContext,{depthStencilTexture:v}=e,F=this._ensureProgram(m,null!=v,p),T=this.fboCache.acquire(o,n,"fbo visualizer");m.useProgram(F),m.bindFramebuffer(T.fbo);const b=[];e.colorAttachments.forEach((r,t)=>{const o=`colorTex${t.toFixed()}`;m.bindTexture(e.getColorTexture(r),t),F.setUniform1i(o,t),t>0&&T.acquireColor(h+t,5,"fbo visualizer"),b.push(r)});const C=v?.descriptor.linearFilterDepth??!1;if(v){const r=e.colorAttachments.length;v.setShadowFiltering(!1),m.bindTexture(v,r),F.setUniform1i("depthTex",r);const t=h+r;t>h&&T.acquireColor(t,5,"fbo visualizer"),b.push(t)}m.gl.drawBuffers(b),l(m.gl);const R=m.getViewport();return m.setViewport(0,0,o,n),m.setClearColor(0,0,0,0),m.clear(16384),m.setBlendingEnabled(!0),m.setBlendFunction(1,771),F.setUniform1iv("inputTypes",f),F.setUniform2fv("nearFar",this.camera.nearFar),m.screen.draw(),l(m.gl),m.bindFramebuffer(null),m.setViewport(R.x,R.y,R.width,R.height),r&&(this._focusedTexture?.release(),this._focusedTexture=T.getAttachment(h),this._focusedTexture?.retain(),this._focusedFBOType=f[0]),e.colorAttachments.forEach((r,t)=>{if(d[t]){const t=e.getColorTexture(r);t?.clearMipmap()}}),v&&v.setShadowFiltering(C),T}clearFocusedFBO(){this._focusedTexture=r(this._focusedTexture)}getPreviewContent(e,r,t,o){const n=this.renderingContext,i=o.includes("\ndepth"),s=this.fboCache.acquire(e,r,"fbo visualizer");n.bindFramebuffer(s?.fbo);const a=n.getViewport();n.setViewport(0,0,e,r),n.setClearColor(this.clearColor[0],this.clearColor[1],this.clearColor[2],this.clearColor[3]),n.clear(16384),n.setBlendingEnabled(!0),n.setBlendFunction(1,771);const c=t.attachment,u=this._ensureProgram(n,!1,[g(c)]);n.useProgram(u),n.bindTexture(c,0),u.setUniform1i("colorTex0",0),u.setUniform1iv("inputTypes",[i||c.descriptor.internalFormat!==p.RGBA16F?7:5]),n.screen.draw();const h=new ImageData(new Uint8ClampedArray(e*r*4),e,r);return n.gl.readPixels(0,0,e,r,6408,d.UNSIGNED_BYTE,new Uint8Array(h.data.buffer)),l(n.gl),n.bindFramebuffer(null),n.setViewport(a.x,a.y,a.width,a.height),s?.release(),h}_ensureProgram(e,r,t){const o=v({hasDepthAttachment:r,colorSamplerTypes:t}),n=this._programs.get(o);if(n)return n;const i="#version 300 es\n in vec2 position;\n out vec2 uv;\n\n void main() {\n gl_Position = vec4(position, 0.0, 1.0);\n uv = position * 0.5 + vec2(0.5);\n }",s=e=>{let r="";for(let t=0;t<e.length;++t){const o=e[t];r+=`layout(location = ${c.int(t)}) out vec4 fragColor${c.int(t)};\n uniform ${m(o)} colorTex${c.int(t)};`}return r},l=e=>e.reduce((e,r,t)=>e+`{\n int inputType = inputTypes[${t}];\n if (inputType == ${3..toFixed()}) {\n fragColor${t} = vec4(vec3(texture(colorTex${t}, uv).r), 1.0);\n } else if (inputType == ${4..toFixed()}) {\n fragColor${t} = vec4(texture(colorTex${t}, uv).rg, 0.0, 1.0);\n } else if (inputType == ${(0).toFixed()}) {\n float depth = 1.0 - ((-linearDepthFromTexture(colorTex${t}, uv) - nearFar[0]) / (nearFar[1] - nearFar[0]));\n fragColor${t} = vec4(vec3(depth), depth >= 0.999 ? 0.0 : 1.0);\n } else if (inputType == ${5..toFixed()}) {\n fragColor${t} = vec4(texture(colorTex${t}, uv).rgb, 1.0);\n } else if (inputType == ${1..toFixed()}) {\n fragColor${t} = vec4(texture(colorTex${t}, uv)) * 255.0;\n fragColor${t} = vec4(fragColor${t}.rgb / fragColor${t}.a, fragColor${t}.a);\n } else if(inputType == ${2..toFixed()}) {\n vec2 texDim = vec2(textureSize(colorTex${t}, 0));\n ivec2 iuv = ivec2(uv*texDim);\n uvec2 hh = uvec2(texelFetch(colorTex${t},iuv,0).rg);\n fragColor${t} = vec4(\n ((hh & uvec2(0x55u)) != uvec2(0u)) ? 1.0 : 0.0,\n ((hh & uvec2(0xaau)) != uvec2(0u)) ? 1.0 : 0.0,\n 0.0,\n 1.0);\n } else {\n fragColor${t} = vec4(texture(colorTex${t}, uv));\n }\n }`,""),h=t.length,p=`#version 300 es\n precision highp float;\n precision highp usampler2D;\n\n in vec2 uv;\n ${s(t)}\n ${a(r,`layout(location = ${c.int(h)}) out vec4 fragDepth;\n uniform sampler2D depthTex;`)}\n\n uniform int inputTypes[${t.length}];\n uniform vec2 nearFar;\n\n // Factors to convert rgba back to float\n const vec4 RGBA_2_FLOAT_FACTORS = vec4(\n 255.0 / (256.0),\n 255.0 / (256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0),\n 255.0 / (256.0 * 256.0 * 256.0 * 256.0)\n );\n\n\n float rgbaToFloat(vec4 rgba) {\n // Convert components from 0->1 back to 0->255 and then add the components together with their corresponding\n // fixed point factors, i.e. (256^1, 256^2, 256^3, 256^4)\n return dot(rgba, RGBA_2_FLOAT_FACTORS);\n }\n\n float linearDepthFromFloat(float depth) {\n depth = pow(depth, 0.2);\n return -(depth * (nearFar[1] - nearFar[0]) + nearFar[0]);\n }\n\n float linearDepthFromRGBA(vec4 depth) {\n return linearDepthFromFloat(rgbaToFloat(depth));\n }\n\n ${"float"===t[0]?"float linearDepthFromTexture(sampler2D depthTex, vec2 uv) {\n ivec2 iuv = ivec2(uv * vec2(textureSize(depthTex, 0)));\n return linearDepthFromRGBA(texelFetch(depthTex, iuv, 0));\n }":"float linearDepthFromTexture(usampler2D depthTex, vec2 uv) {\n ivec2 iuv = ivec2(uv * vec2(textureSize(depthTex, 0)));\n return linearDepthFromRGBA(vec4(texelFetch(depthTex, iuv, 0)) * 255.0);\n }"}\n\n void main() {\n ${l(t)}\n ${a(r,"float depth = 1.0 - pow(texture(depthTex, uv).r, 10.0);\n fragDepth = vec4(vec3(depth), depth < 0.000001 ? 0.0 : 1.0);")}\n }`,d=e.programCache.get(i,p,u);return this._programs.set(o,d),d}};function m(e){switch(e){case"float":return"sampler2D";case"uint":return"usampler2D";case"int":return"isampler2D"}}function g(e){if(!e)return"float";const{internalFormat:r}=e.descriptor;switch(r){case p.R8I:case p.R16I:case p.R32I:case p.RG8I:case p.RG16I:case p.RG32I:case p.RGB8I:case p.RGB16I:case p.RGB32I:case p.RGBA8I:case p.RGBA16I:case p.RGBA32I:return"int";case p.R8UI:case p.R16UI:case p.R32UI:case p.RG8UI:case p.RG16UI:case p.RG32UI:case p.RGB8UI:case p.RGB16UI:case p.RGB32UI:case p.RGBA8UI:case p.RGBA16UI:case p.RGBA32UI:return"uint";default:return"float"}}function v(e){const{hasDepthAttachment:r,colorSamplerTypes:t}=e;return`${r?"Depth":""}${t.reduceRight((e,r)=>e+`|C${r}`,"")}`}function x(e){switch(e){case p.R16F:case p.R32F:case p.R8:return 3;case p.RG8:return 4;case p.RGBA16F:return 5;case p.RG8UI:return 6;default:return 7}}e([t()],f.prototype,"destroyedCB",void 0),e([t()],f.prototype,"produces",void 0),e([t()],f.prototype,"consumes",void 0),e([t()],f.prototype,"clearColor",void 0),f=e([o("esri.views.3d.webgl-engine.effects.debug.RenderNodeVisualizerNode")],f);export{f as RenderNodeVisualizerNode};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../../chunks/GlowBlur.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../../webgl/renderState.js";let c=class extends s{constructor(){super(...arguments),this.shader=new o(i,()=>import("./GlowBlur.glsl.js"))}initializePipeline(){return t({colorWrite:l})}};c=e([r("esri.views.3d.webgl-engine.effects.glow.GlowBlurTechnique")],c);export{c as GlowBlurTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../../chunks/GlowBlur.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../../webgl/renderState.js";let c=class extends s{constructor(){super(...arguments),this.shader=new o(i,()=>import("./GlowBlur.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({colorWrite:l})}};c=e([r("esri.views.3d.webgl-engine.effects.glow.GlowBlurTechnique")],c);export{c as GlowBlurTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../../core/shaderTechnique/ShaderTechnique.js";import{b as i}from"../../../../../chunks/GlowComposition.glsl.js";import{ColorAttachment0 as t,ColorAttachment1 as l}from"../../../../webgl/enums.js";import{makePipelineState as m,defaultColorWrite as n}from"../../../../webgl/renderState.js";let c=class extends s{constructor(){super(...arguments),this.shader=new o(i,()=>import("./GlowComposition.glsl.js"))}initializePipeline(e){return m({colorWrite:n,drawBuffers:{buffers:e.blurEnabled?[t,l]:[t]}})}};c=e([r("esri.views.3d.webgl-engine.effects.glow.GlowCompositionTechnique")],c);export{c as GlowCompositionTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../../core/shaderTechnique/ShaderTechnique.js";import{b as i}from"../../../../../chunks/GlowComposition.glsl.js";import{ColorAttachment0 as t,ColorAttachment1 as l}from"../../../../webgl/enums.js";import{makePipelineState as n,defaultColorWrite as m}from"../../../../webgl/renderState.js";let c=class extends s{constructor(){super(...arguments),this.shader=new o(i,()=>import("./GlowComposition.glsl.js")),this.ignoreUnused=!0}initializePipeline(e){return n({colorWrite:m,drawBuffers:{buffers:e.blurEnabled?[t,l]:[t]}})}};c=e([r("esri.views.3d.webgl-engine.effects.glow.GlowCompositionTechnique")],c);export{c as GlowCompositionTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{lerp as t,smoothstep as i}from"../../../../../core/mathUtils.js";import{disposeMaybe as r}from"../../../../../core/maybe.js";import{watch as s,syncAndInitial as o}from"../../../../../core/reactiveUtils.js";import{subclass as a}from"../../../../../core/accessorSupport/decorators.js";import{set as n}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{length as m}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{earth as h}from"../../../../../geometry/support/Ellipsoid.js";import{InternalRenderCategory as c}from"../../../webgl.js";import{TransparentEnvironment as d}from"../TransparentEnvironment.js";import{H as p}from"../../../../../chunks/HazeCompositing.glsl.js";import{HazeCompositingTechnique as u}from"./HazeCompositingTechnique.js";import{HazePassParameters as f,HazeTechnique as l}from"./HazeTechnique.js";import{HazeTechniqueConfiguration as _}from"./HazeTechniqueConfiguration.js";import{createQuadVAO as g}from"../../lib/glUtil3D.js";import{applyTextureResizeModulo as b}from"../../lib/textureUtils.js";import{DepthStencilAttachment as w,PrimitiveType as P}from"../../../../webgl/enums.js";let v=class extends d{constructor(e){super(e),this._compositingPassParameters=new p,this._passParameters=new f,this._hazeConfiguration=new _,this._oldAmount=1,this._newAmount=1,this._amount=this._newAmount;const t=e.view.stage.renderView.techniques;t.precompile(l,new _);const i=new _;i.reduced=!0,t.precompile(l,i),t.precompile(u)}initialize(){this.addHandles([s(()=>this.view.environment.atmosphereEnabled,e=>e?this._enable():this._disable(),o),s(()=>this.view.stage?.renderer.renderContext.bind.clouds.fadeFactor??1,e=>this._fade(e),o),s(()=>this.view.environment.weather.type,e=>this._newAmount="rainy"===e?0:1,o),s(()=>this.view.stage.renderer?.highResolutionAtmosphere,e=>this._hazeConfiguration.reduced=!e,o)])}_fade(e){e>=1?(this._amount=this._newAmount,this._oldAmount=this._newAmount):this._amount=e<=0?this._oldAmount:t(this._oldAmount,this._newAmount,e)}destroy(){this._vao=r(this._vao)}render(e){const i=e.find(({name:e})=>e===c.TRANSPARENT_ENVIRONMENT);if(!this.bindParameters.mainDepth)return i;const r=this.techniques.get(l,this._hazeConfiguration);if(!r.compiled)return i;const s=this.renderingContext,o=i.getAttachment(w);if(this._update(),!this._hazeConfiguration.reduced)return i.detachDepth(),s.bindFramebuffer(i.fbo),s.bindTechnique(r,this.bindParameters,this._passParameters),this._renderCommon(s),i.attachDepth(o),i;const a=this.techniques.get(u);if(!a.compiled)return i;const n=s.getViewport(),d=this.camera,p=m(d.eye)-h.radius;let f;const _=h.atmosphereHeight;if(p<_){const e=Math.min(1,Math.max(0,p/_));f=t(.4,.5,e)}else{const e=Math.min(1,Math.max(0,(p-_)/(15*_)));f=t(.5,1,e)}const g=this.renderingContext.parameters.maxTextureSize,P=b(Math.round(f*d.fullViewport[2]),g),v=b(Math.round(f*d.fullViewport[3]),g);s.setViewport(0,0,P,v);const A=this.fboCache.acquire(P,v,"haze",5);return s.bindFramebuffer(A.fbo),s.clearFramebuffer([0,0,0,1],!0,!0),s.bindTechnique(r,this.bindParameters,this._passParameters),this._renderCommon(s),s.setViewport(n.x,n.y,n.width,n.height),this._compositingPassParameters.color=A.getTexture(),i.detachDepth(),s.bindFramebuffer(i.fbo),s.bindTechnique(a,this.bindParameters,this._compositingPassParameters),s.screen.draw(),i.attachDepth(o),A.release(),i}_renderCommon(e){this._vao??=g(e,1),e.bindVAO(this._vao),e.drawArrays(P.TRIANGLE_STRIP,0,4)}_update(){const e=this.view.basemapTerrain?.getLowerBoundRadius()??0;n(this._passParameters.radii,e,e+h.atmosphereHeight);const r=m(this.bindParameters.camera.eye);this._passParameters.hazeStrength=t(t(.6,1,i(9500,10500,r-h.radius)),1,this._amount)}};v=e([a("esri.views.3d.webgl-engine.effects.haze.Haze")],v);export{v as Haze};
2
+ import{__decorate as e}from"tslib";import{lerp as t,smoothstep as i}from"../../../../../core/mathUtils.js";import{disposeMaybe as r}from"../../../../../core/maybe.js";import{watch as s,syncAndInitial as o}from"../../../../../core/reactiveUtils.js";import{subclass as a}from"../../../../../core/accessorSupport/decorators.js";import{set as n}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{length as h}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{earth as m}from"../../../../../geometry/support/Ellipsoid.js";import{TransparentEnvironment as c}from"../TransparentEnvironment.js";import{H as u}from"../../../../../chunks/HazeCompositing.glsl.js";import{HazeCompositingTechnique as d}from"./HazeCompositingTechnique.js";import{HazePassParameters as p,HazeTechnique as f}from"./HazeTechnique.js";import{HazeTechniqueConfiguration as l}from"./HazeTechniqueConfiguration.js";import{createQuadVAO as _}from"../../lib/glUtil3D.js";import{applyTextureResizeModulo as g}from"../../lib/textureUtils.js";import{DepthStencilAttachment as b,PrimitiveType as w}from"../../../../webgl/enums.js";let P=class extends c{constructor(e){super(e),this._compositingPassParameters=new u,this._passParameters=new p,this._hazeConfiguration=new l,this._oldAmount=1,this._newAmount=1,this._amount=this._newAmount}initialize(){this.addHandles([s(()=>this.view.environment.atmosphereEnabled,e=>e?this._enable():this._disable(),o),s(()=>this.view.stage?.renderer.renderContext.bind.clouds.fadeFactor??1,e=>this._fade(e),o),s(()=>this.view.environment.weather.type,e=>this._newAmount="rainy"===e?0:1,o),s(()=>this.view.stage.renderer?.highResolutionAtmosphere,e=>this._hazeConfiguration.reduced=!e,o)])}_fade(e){e>=1?(this._amount=this._newAmount,this._oldAmount=this._newAmount):this._amount=e<=0?this._oldAmount:t(this._oldAmount,this._newAmount,e)}destroy(){this._vao=r(this._vao)}precompile(){this.techniques.precompile(f,this._hazeConfiguration),this.techniques.precompile(d)}render(e){const i=e.find(({name:e})=>e===this.produces);if(!this.bindParameters.mainDepth)return i;const r=this.techniques.get(f,this._hazeConfiguration);if(!r.compiled)return i;const s=this.renderingContext,o=i.getAttachment(b);if(this._update(),!this._hazeConfiguration.reduced)return i.detachDepth(),s.bindFramebuffer(i.fbo),s.bindTechnique(r,this.bindParameters,this._passParameters),this._renderCommon(s),i.attachDepth(o),i;const a=this.techniques.get(d);if(!a.compiled)return i;const n=s.getViewport(),c=this.camera,u=h(c.eye)-m.radius;let p;const l=m.atmosphereHeight;if(u<l){const e=Math.min(1,Math.max(0,u/l));p=t(.4,.5,e)}else{const e=Math.min(1,Math.max(0,(u-l)/(15*l)));p=t(.5,1,e)}const _=this.renderingContext.parameters.maxTextureSize,w=g(Math.round(p*c.fullViewport[2]),_),P=g(Math.round(p*c.fullViewport[3]),_);s.setViewport(0,0,w,P);const v=this.fboCache.acquire(w,P,"haze",5);return s.bindFramebuffer(v.fbo),s.clearFramebuffer([0,0,0,1],!0,!0),s.bindTechnique(r,this.bindParameters,this._passParameters),this._renderCommon(s),s.setViewport(n.x,n.y,n.width,n.height),this._compositingPassParameters.color=v.getTexture(),i.detachDepth(),s.bindFramebuffer(i.fbo),s.bindTechnique(a,this.bindParameters,this._compositingPassParameters),s.screen.draw(),i.attachDepth(o),v.release(),i}_renderCommon(e){this._vao??=_(e,1),e.bindVAO(this._vao),e.drawArrays(w.TRIANGLE_STRIP,0,4)}_update(){const e=this.view.basemapTerrain?.getLowerBoundRadius()??0;n(this._passParameters.radii,e,e+m.atmosphereHeight);const r=h(this.bindParameters.camera.eye);this._passParameters.hazeStrength=t(t(.6,1,i(9500,10500,r-m.radius)),1,this._amount)}};P=e([a("esri.views.3d.webgl-engine.effects.haze.Haze")],P);export{P as Haze};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as s}from"../../../../../chunks/HazeCompositing.glsl.js";import{makePipelineState as t,defaultColorWrite as n,separateBlendingParams as a}from"../../../../webgl/renderState.js";let c=class extends i{constructor(){super(...arguments),this.shader=new o(s,()=>import("./HazeCompositing.glsl.js"))}initializePipeline(){return t({blending:a(1,0,769,1),depthTest:{func:519},colorWrite:n})}};c=e([r("esri.views.3d.webgl-engine.effects.haze.HazeCompositingTechnique")],c);export{c as HazeCompositingTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as s}from"../../../../../chunks/HazeCompositing.glsl.js";import{makePipelineState as t,defaultColorWrite as n,separateBlendingParams as a}from"../../../../webgl/renderState.js";let c=class extends i{constructor(){super(...arguments),this.shader=new o(s,()=>import("./HazeCompositing.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({blending:a(1,0,769,1),depthTest:{func:519},colorWrite:n})}};c=e([r("esri.views.3d.webgl-engine.effects.haze.HazeCompositingTechnique")],c);export{c as HazeCompositingTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import"../../../../../core/has.js";import{releaseMaybe as t,disposeMaybe as i}from"../../../../../core/maybe.js";import{watch as r,initial as s}from"../../../../../core/reactiveUtils.js";import{property as o,subclass as h}from"../../../../../core/accessorSupport/decorators.js";import{set as n}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{InternalRenderCategory as l}from"../../../webgl.js";import a from"../../../webgl/RenderNode.js";import{HighlightApplyTechnique as g}from"./HighlightApplyTechnique.js";import{H as c}from"../../../../../chunks/HighlightBlur.glsl.js";import{HighlightBlurTechnique as u}from"./HighlightBlurTechnique.js";import{H as p,g as m}from"../../../../../chunks/HighlightDownsample.glsl.js";import{HighlightDownsampleTechnique as d}from"./HighlightDownsampleTechnique.js";import{HighlightPassParameters as f}from"./HighlightPassParameters.js";import{HighlightToSingleTechnique as b}from"./HighlightToSingleTechnique.js";import{NoVertex as w}from"../../lib/DefaultVertexBufferLayouts.js";import{VertexArrayObject as x}from"../../lib/VertexArrayObject.js";import{BufferObject as T}from"../../../../webgl/BufferObject.js";import{PrimitiveType as _,DataType as C}from"../../../../webgl/enums.js";import v from"../../../../webgl/Texture.js";import{TextureDescriptor as O}from"../../../../webgl/TextureDescriptor.js";import{VertexBuffer as H}from"../../../../webgl/VertexBuffer.js";let j=class extends a{constructor(){super(...arguments),this.produces=l.HIGHLIGHT_COLOR,this.consumes={required:[l.HIGHLIGHT_COLOR,"highlights"]},this._downsampleDrawParameters=new p,this._passParameters=new f,this._highlightBlurDrawParameters=new c,this._grid=new q}initialize(){this.addHandles([r(()=>this._updateOptionsTexture(),()=>{},s)])}destroy(){this._grid.coverage=t(this._grid.coverage),this._grid.vao=i(this._grid.vao),this._passParameters.highlightOptionsTexture=t(this._passParameters.highlightOptionsTexture)}_updateOptionsTexture(){if(null==this._passParameters.highlightOptionsTexture){const e=new O(16,2);e.internalFormat=6408,e.samplingMode=9728,this._passParameters.highlightOptionsTexture=new v(this.renderingContext,e,null)}this._passParameters.highlightOptionsTexture.setData(P(this.view.state.highlights)),this.requestRender(1)}precompile(){this.techniques.precompile(d),this.techniques.precompile(b),this.techniques.precompile(u),this.techniques.precompile(g)}render(e){const t=e.find(({name:e})=>e===l.HIGHLIGHT_COLOR),{techniques:i,bindParameters:r}=this;if(!r.decorations)return t;if(!i.get(d).compiled)return this.requestRender(1),t;const s=e.find(({name:e})=>"highlights"===e).getTexture();return this._renderHighlightPostprocess(s,t),t}_prepareAndDownSample(e){this._gridUpdateResources(e);const t=this.techniques.get(d),i=this._gridComputeCoverage(t,e),{horizontalCellCount:r,verticalCellCount:s}=i,o=this._passParameters;return o.horizontalCellCount=r,o.verticalCellCount=s,o.coverageTexture=i.coverage?.getTexture(),i}_renderGrid(e){const t=e.verticalCellCount*e.horizontalCellCount;this.renderingContext.bindVAO(e.vao),this.renderingContext.drawElementsInstanced(_.TRIANGLES,6,C.UNSIGNED_BYTE,0,t)}_renderHighlightPostprocess(e,t){const{fboCache:i,techniques:r,bindParameters:s,_passParameters:o,renderingContext:h}=this,l=r.get(b),a=r.get(u),c=r.get(g);if(!c.compiled||!a.compiled||!l.compiled)return void this.requestRender(1);o.highlightTexture=e;const p=this._prepareAndDownSample(e),{width:m,height:d}=e.descriptor;o.highlightTexture=e;const{camera:f}=s,{fullWidth:w,fullHeight:x,pixelRatio:T,fullViewport:_}=f,C=Math.ceil(w/T),v=Math.ceil(x/T),{_highlightBlurDrawParameters:O}=this,H=this.view.stage.renderView.renderer,{highlights:j}=s;for(let g=0;g<j.length;++g){const{name:e}=j[g];if(!H.hasHighlight(e))continue;o.highlightLevel=g,h.setClearColor(0,0,0,0);const r=i.acquire(m,d,"single highlight",2);h.bindFramebuffer(r.fbo),h.setViewport(0,0,m,d),h.clear(16384),h.bindTechnique(l,s,o),this._renderGrid(p),O.blurInput=r.getTexture(),n(O.blurSize,1/C,0);const u=i.acquire(C,v,"single highlight blur",2);h.unbindTexture(u.fbo?.colorTexture),h.bindFramebuffer(u.fbo),h.setViewport(0,0,C,v),h.clear(16384),h.bindTechnique(a,s,o,O),this._renderGrid(p),r.release(),n(O.blurSize,0,1/v),o.highlightBlurTexture=u.getTexture(),h.bindFramebuffer(t.fbo),h.setViewport4fv(_),h.bindTechnique(c,s,o,O),this._renderGrid(p),u.release()}o.coverageTexture=o.highlightTexture=null}_gridUpdateResources(e){const t=this._grid,{width:i,height:r}=e.descriptor;if(t.horizontalCellCount=Math.ceil(i/m),t.verticalCellCount=Math.ceil(r/m),t.vao)return;const s=this.renderingContext,o=T.createIndex(s,35044,R);t.vao=new x(s,new H(s,w),o)}_gridComputeCoverage(e,t){const i=this.renderingContext,r=this._grid,s=t.descriptor,o=Math.ceil(s.width/m),h=Math.ceil(s.height/m);this._downsampleDrawParameters.input=t;const{highlights:n}=this.bindParameters;r.coverage?.release();const l=this.fboCache.acquire(o,h,"highlight coverage",n.length>G?3:1);return r.coverage=l,i.bindFramebuffer(l.fbo),i.bindTechnique(e,this.bindParameters,this._passParameters,this._downsampleDrawParameters),i.setViewport(0,0,o,h),i.screen.draw(),r}get test(){}};e([o()],j.prototype,"produces",void 0),e([o()],j.prototype,"consumes",void 0),j=e([h("esri.views.3d.webgl-engine.effects.highlight.Highlight")],j);class q{constructor(){this.coverage=null,this.vao=null,this.verticalCellCount=0,this.horizontalCellCount=0,this.viewportWidth=0,this.viewportHeight=0}}function P(e){const t=new Uint8Array(128);let i=0;for(const r of e){const e=4*i,s=4*i+64;++i;const{color:o}=r,h=r.haloColor??o;t[e+0]=o.r,t[e+1]=o.g,t[e+2]=o.b,t[e+3]=r.fillOpacity*o.a*255,t[s+0]=h.r,t[s+1]=h.g,t[s+2]=h.b,t[s+3]=r.haloOpacity*h.a*255}return t}let D=0;function y(e){let t=0;for(const r of e){const{name:e}=r;t+=e.length;const{color:i,fillOpacity:s,haloColor:o,haloOpacity:h}=r;t+=i.r+i.g+i.b+i.a+s,t+=o?o.r+o.g+o.b+o.a+h:0}const i=e.at(0);if(i){const{shadowOpacity:e,shadowDifference:r,shadowColor:s}=i;t+=e+r+s.r+s.g+s.b+s.a}return D+++(t>=0?0:1)}const R=new Uint8Array([0,1,2,2,1,3]);function I(e,t,i,r,s,o,h=0){const{highlights:l}=s,a=l.length>1?t.acquire(i,r,"highlight mix",l.length>G?3:1):null,{gl:g}=e;if(a){const t=e.getBoundFramebufferObject();e.bindFramebuffer(a.fbo),g.clearBufferuiv(g.COLOR,0,[0,0,0,0]),e.bindFramebuffer(t)}const c=a?.getTexture();s.highlightMixTexture=c,n(s.highlightMixOrigin,h,0),l.forEach((t,n)=>{if(n>0){const t=v.TEXTURE_UNIT_FOR_UPDATES;e.bindTexture(c,t),e.setActiveTexture(t),g.copyTexSubImage2D(3553,0,0,0,h,0,i,r),e.bindTexture(null,t)}e.clear(256),s.highlightLevel=n,o()}),s.highlightLevel=null,s.highlightMixTexture=null,a?.release()}const G=4;export{j as Highlight,G as maxHighlightsPerChannel,I as renderHighlightBuffer,y as trackHighlightOptions};
2
+ import{__decorate as e}from"tslib";import"../../../../../core/has.js";import{releaseMaybe as t,disposeMaybe as i}from"../../../../../core/maybe.js";import{watch as r,initial as s}from"../../../../../core/reactiveUtils.js";import{property as o,subclass as h}from"../../../../../core/accessorSupport/decorators.js";import{set as n}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{InternalRenderCategory as l}from"../../../webgl.js";import a from"../../../webgl/RenderNode.js";import{HighlightApplyTechnique as g}from"./HighlightApplyTechnique.js";import{H as c}from"../../../../../chunks/HighlightBlur.glsl.js";import{HighlightBlurTechnique as u}from"./HighlightBlurTechnique.js";import{H as m,g as p}from"../../../../../chunks/HighlightDownsample.glsl.js";import{HighlightDownsampleTechnique as d}from"./HighlightDownsampleTechnique.js";import{HighlightPassParameters as f}from"./HighlightPassParameters.js";import{HighlightToSingleTechnique as b}from"./HighlightToSingleTechnique.js";import{NoVertex as w}from"../../lib/DefaultVertexBufferLayouts.js";import{VertexArrayObject as x}from"../../lib/VertexArrayObject.js";import{BufferObject as T}from"../../../../webgl/BufferObject.js";import{PrimitiveType as _,DataType as C}from"../../../../webgl/enums.js";import v from"../../../../webgl/Texture.js";import{TextureDescriptor as O}from"../../../../webgl/TextureDescriptor.js";import{VertexBuffer as H}from"../../../../webgl/VertexBuffer.js";let j=class extends a{constructor(){super(...arguments),this.produces=l.HIGHLIGHT_COLOR,this.consumes={required:[l.HIGHLIGHT_COLOR,"highlights"]},this._downsampleDrawParameters=new m,this._passParameters=new f,this._highlightBlurDrawParameters=new c,this._grid=new P}initialize(){this.addHandles([r(()=>this._updateOptionsTexture(),()=>{},s)])}destroy(){this._grid.coverage=t(this._grid.coverage),this._grid.vao=i(this._grid.vao),this._passParameters.highlightOptionsTexture=t(this._passParameters.highlightOptionsTexture)}_updateOptionsTexture(){if(null==this._passParameters.highlightOptionsTexture){const e=new O(16,2);e.internalFormat=6408,e.samplingMode=9728,this._passParameters.highlightOptionsTexture=new v(this.renderingContext,e,null)}this._passParameters.highlightOptionsTexture.setData(q(this.view.state.highlights)),this.requestRender(1)}precompile(){this.bindParameters.decorations&&(this.techniques.precompile(d),this.techniques.precompile(b),this.techniques.precompile(u),this.techniques.precompile(g))}render(e){const t=e.find(({name:e})=>e===l.HIGHLIGHT_COLOR),{techniques:i,bindParameters:r}=this;if(!r.decorations)return t;if(!i.get(d).compiled)return this.requestRender(1),t;const s=e.find(({name:e})=>"highlights"===e).getTexture();return this._renderHighlightPostprocess(s,t),t}_prepareAndDownSample(e){this._gridUpdateResources(e);const t=this.techniques.get(d),i=this._gridComputeCoverage(t,e),{horizontalCellCount:r,verticalCellCount:s}=i,o=this._passParameters;return o.horizontalCellCount=r,o.verticalCellCount=s,o.coverageTexture=i.coverage?.getTexture(),i}_renderGrid(e){const t=e.verticalCellCount*e.horizontalCellCount;this.renderingContext.bindVAO(e.vao),this.renderingContext.drawElementsInstanced(_.TRIANGLES,6,C.UNSIGNED_BYTE,0,t)}_renderHighlightPostprocess(e,t){const{fboCache:i,techniques:r,bindParameters:s,_passParameters:o,renderingContext:h}=this,l=r.get(b),a=r.get(u),c=r.get(g);if(!c.compiled||!a.compiled||!l.compiled)return void this.requestRender(1);o.highlightTexture=e;const m=this._prepareAndDownSample(e),{width:p,height:d}=e.descriptor;o.highlightTexture=e;const{camera:f}=s,{fullWidth:w,fullHeight:x,pixelRatio:T,fullViewport:_}=f,C=Math.ceil(w/T),v=Math.ceil(x/T),{_highlightBlurDrawParameters:O}=this,H=this.view.stage.renderView.renderer,{highlights:j}=s;for(let g=0;g<j.length;++g){const{name:e}=j[g];if(!H.hasHighlight(e))continue;o.highlightLevel=g,h.setClearColor(0,0,0,0);const r=i.acquire(p,d,"single highlight",2);h.bindFramebuffer(r.fbo),h.setViewport(0,0,p,d),h.clear(16384),h.bindTechnique(l,s,o),this._renderGrid(m),O.blurInput=r.getTexture(),n(O.blurSize,1/C,0);const u=i.acquire(C,v,"single highlight blur",2);h.unbindTexture(u.fbo?.colorTexture),h.bindFramebuffer(u.fbo),h.setViewport(0,0,C,v),h.clear(16384),h.bindTechnique(a,s,o,O),this._renderGrid(m),r.release(),n(O.blurSize,0,1/v),o.highlightBlurTexture=u.getTexture(),h.bindFramebuffer(t.fbo),h.setViewport4fv(_),h.bindTechnique(c,s,o,O),this._renderGrid(m),u.release()}o.coverageTexture=o.highlightTexture=null}_gridUpdateResources(e){const t=this._grid,{width:i,height:r}=e.descriptor;if(t.horizontalCellCount=Math.ceil(i/p),t.verticalCellCount=Math.ceil(r/p),t.vao)return;const s=this.renderingContext,o=T.createIndex(s,35044,R);t.vao=new x(s,new H(s,w),o)}_gridComputeCoverage(e,t){const i=this.renderingContext,r=this._grid,s=t.descriptor,o=Math.ceil(s.width/p),h=Math.ceil(s.height/p);this._downsampleDrawParameters.input=t;const{highlights:n}=this.bindParameters;r.coverage?.release();const l=this.fboCache.acquire(o,h,"highlight coverage",n.length>G?3:1);return r.coverage=l,i.bindFramebuffer(l.fbo),i.bindTechnique(e,this.bindParameters,this._passParameters,this._downsampleDrawParameters),i.setViewport(0,0,o,h),i.screen.draw(),r}get test(){}};e([o()],j.prototype,"produces",void 0),e([o()],j.prototype,"consumes",void 0),j=e([h("esri.views.3d.webgl-engine.effects.highlight.Highlight")],j);class P{constructor(){this.coverage=null,this.vao=null,this.verticalCellCount=0,this.horizontalCellCount=0,this.viewportWidth=0,this.viewportHeight=0}}function q(e){const t=new Uint8Array(128);let i=0;for(const r of e){const e=4*i,s=4*i+64;++i;const{color:o}=r,h=r.haloColor??o;t[e+0]=o.r,t[e+1]=o.g,t[e+2]=o.b,t[e+3]=r.fillOpacity*o.a*255,t[s+0]=h.r,t[s+1]=h.g,t[s+2]=h.b,t[s+3]=r.haloOpacity*h.a*255}return t}let D=0;function y(e){let t=0;for(const r of e){const{name:e}=r;t+=e.length;const{color:i,fillOpacity:s,haloColor:o,haloOpacity:h}=r;t+=i.r+i.g+i.b+i.a+s,t+=o?o.r+o.g+o.b+o.a+h:0}const i=e.at(0);if(i){const{shadowOpacity:e,shadowDifference:r,shadowColor:s}=i;t+=e+r+s.r+s.g+s.b+s.a}return D+++(t>=0?0:1)}const R=new Uint8Array([0,1,2,2,1,3]);function I(e,t,i,r,s,o,h=0){const{highlights:l}=s,a=l.length>1?t.acquire(i,r,"highlight mix",l.length>G?3:1):null,{gl:g}=e;if(a){const t=e.getBoundFramebufferObject();e.bindFramebuffer(a.fbo),g.clearBufferuiv(g.COLOR,0,[0,0,0,0]),e.bindFramebuffer(t)}const c=a?.getTexture();s.highlightMixTexture=c,n(s.highlightMixOrigin,h,0),l.forEach((t,n)=>{if(n>0){const t=v.TEXTURE_UNIT_FOR_UPDATES;e.bindTexture(c,t),e.setActiveTexture(t),g.copyTexSubImage2D(3553,0,0,0,h,0,i,r),e.bindTexture(null,t)}e.clear(256),s.highlightLevel=n,o()}),s.highlightLevel=null,s.highlightMixTexture=null,a?.release()}const G=4;export{j as Highlight,G as maxHighlightsPerChannel,I as renderHighlightBuffer,y as trackHighlightOptions};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../../core/shaderTechnique/ShaderTechnique.js";import{H as o}from"../../../../../chunks/HighlightApply.glsl.js";import{NoVertex as s}from"../../lib/DefaultVertexBufferLayouts.js";import{makePipelineState as l,defaultColorWrite as h,unpremultipliedAlphaToPremultipliedAlpha as p}from"../../../../webgl/renderState.js";let c=class extends t{constructor(e,r){super(e,r,s),this.shader=new i(o,()=>import("./HighlightApply.glsl.js"))}initializePipeline(){return l({blending:p,colorWrite:h})}};c=e([r("esri.views.3d.webgl-engine.effects.highlight.HighlightApplyTechnique")],c);export{c as HighlightApplyTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../../core/shaderTechnique/ShaderTechnique.js";import{H as o}from"../../../../../chunks/HighlightApply.glsl.js";import{NoVertex as s}from"../../lib/DefaultVertexBufferLayouts.js";import{makePipelineState as l,defaultColorWrite as h,unpremultipliedAlphaToPremultipliedAlpha as p}from"../../../../webgl/renderState.js";let n=class extends t{constructor(e,r){super(e,r,s),this.shader=new i(o,()=>import("./HighlightApply.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return l({blending:p,colorWrite:h})}};n=e([r("esri.views.3d.webgl-engine.effects.highlight.HighlightApplyTechnique")],n);export{n as HighlightApplyTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../../chunks/HighlightBlur.glsl.js";import{NoVertex as s}from"../../lib/DefaultVertexBufferLayouts.js";import{makePipelineState as l,defaultColorWrite as h}from"../../../../webgl/renderState.js";let a=class extends t{constructor(e,r){super(e,r,s),this.shader=new i(o,()=>import("./HighlightBlur.glsl.js"))}initializePipeline(){return l({colorWrite:h})}};a=e([r("esri.views.3d.webgl-engine.effects.highlight.HighlightBlurTechnique")],a);export{a as HighlightBlurTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../../chunks/HighlightBlur.glsl.js";import{NoVertex as s}from"../../lib/DefaultVertexBufferLayouts.js";import{makePipelineState as l,defaultColorWrite as h}from"../../../../webgl/renderState.js";let a=class extends t{constructor(e,r){super(e,r,s),this.shader=new i(o,()=>import("./HighlightBlur.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return l({colorWrite:h})}};a=e([r("esri.views.3d.webgl-engine.effects.highlight.HighlightBlurTechnique")],a);export{a as HighlightBlurTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as s}from"../../../../../chunks/HighlightDownsample.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../../webgl/renderState.js";let h=class extends o{constructor(){super(...arguments),this.shader=new i(s,()=>import("./HighlightDownsample.glsl.js"))}initializePipeline(){return t({colorWrite:l})}};h=e([r("esri.views.3d.webgl-engine.effects.highlight.HighlightDownsampleTechnique")],h);export{h as HighlightDownsampleTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../../chunks/HighlightDownsample.glsl.js";import{makePipelineState as t,defaultColorWrite as h}from"../../../../webgl/renderState.js";let l=class extends s{constructor(){super(...arguments),this.shader=new i(o,()=>import("./HighlightDownsample.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({colorWrite:h})}};l=e([r("esri.views.3d.webgl-engine.effects.highlight.HighlightDownsampleTechnique")],l);export{l as HighlightDownsampleTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../../core/shaderTechnique/ShaderTechnique.js";import{H as t}from"../../../../../chunks/HighlightToSingle.glsl.js";import{NoVertex as s}from"../../lib/DefaultVertexBufferLayouts.js";import{makePipelineState as l,defaultColorWrite as h}from"../../../../webgl/renderState.js";let n=class extends o{constructor(e,r){super(e,r,s),this.shader=new i(t,()=>import("./HighlightToSingle.glsl.js"))}initializePipeline(){return l({colorWrite:h})}};n=e([r("esri.views.3d.webgl-engine.effects.highlight.HighlightToSingleTechnique")],n);export{n as HighlightToSingleTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../../core/shaderTechnique/ShaderTechnique.js";import{H as t}from"../../../../../chunks/HighlightToSingle.glsl.js";import{NoVertex as s}from"../../lib/DefaultVertexBufferLayouts.js";import{makePipelineState as l,defaultColorWrite as h}from"../../../../webgl/renderState.js";let n=class extends o{constructor(e,r){super(e,r,s),this.shader=new i(t,()=>import("./HighlightToSingle.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return l({colorWrite:h})}};n=e([r("esri.views.3d.webgl-engine.effects.highlight.HighlightToSingleTechnique")],n);export{n as HighlightToSingleTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{smoothstep as t,clamp as i}from"../../../../../core/mathUtils.js";import{watch as s,syncAndInitial as a}from"../../../../../core/reactiveUtils.js";import{property as r,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{normalize as h,set as c,dot as d}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{RenderNodeOutput as n}from"../../../webgl.js";import m from"../../../webgl/RenderNode.js";import{ShadowHighlightPassParameters as l,ShadowHighlightTechnique as u}from"./ShadowHighlightTechnique.js";import{defaultShadowOpacity as g,defaultShadowDifference as f,defaultShadowColor as w}from"../../../../support/HighlightDefaults.js";const _=1/512,O=4e4,y=5e4;let P=class extends m{constructor(e){super(e),this.produces=n.COMPOSITE,this.consumes={required:[n.COMPOSITE,"highlights"]},this._passParameters=new l,this._maxOpacity=1,this._shadowDifference=.2}initialize(){this.addHandles([s(()=>this.view.defaultHighlight?.shadowOpacity,e=>{this._passParameters.shadowOpacity=e??g,this._updateOccludedShadowOpacity(),this._ensureMaxOpacity()},a),s(()=>this.view.defaultHighlight?.shadowDifference,e=>{this._shadowDifference=e??f,this._updateOccludedShadowOpacity(),this._ensureMaxOpacity()},a),s(()=>this.view.defaultHighlight?.shadowColor,e=>{this._passParameters.shadowColor=(e??w).toUnitRGBA(),this._ensureMaxOpacity()},a)])}_updateOccludedShadowOpacity(){this._passParameters.occludedShadowOpacity=this._passParameters.shadowOpacity*(1-this._shadowDifference)}_ensureMaxOpacity(){const e=Math.max(this._passParameters.shadowOpacity,this._passParameters.occludedShadowOpacity);this._maxOpacity=e*this._passParameters.shadowColor[3],this.requestRender(1)}precompile(){this.techniques.precompile(u)}render(e){const t=e.find(({name:e})=>e===n.COMPOSITE),i=this.bindParameters;if(!i.shadowHighlightsVisible||!i.depth||!this._ensureIfVisible(i.camera,i.lighting.mainLight.direction))return t;const s=this.techniques.get(u);if(!s.compiled)return this.requestRender(1),t;this._passParameters.highlightTexture=e.find(({name:e})=>"highlights"===e)?.getTexture(),this._passParameters.origin=i.camera.center;const a=this.renderingContext;return a.bindFramebuffer(t.fbo),a.bindTechnique(s,i,this._passParameters),a.screen.draw(),t}_ensureIfVisible(e,s){this._passParameters.opacityElevation=1-t(O,y,e.relativeElevation);const a=1===this.viewingMode?h(v,e.center):c(v,0,0,1),r=d(a,s);return this._passParameters.dayNightTerminator=t(0,1,i(30*r,0,1)),this._maxOpacity*this._passParameters.opacityElevation*this._passParameters.dayNightTerminator>=_}};e([r()],P.prototype,"produces",void 0),e([r()],P.prototype,"consumes",void 0),e([r({constructOnly:!0})],P.prototype,"viewingMode",void 0),P=e([o("esri.views.3d.webgl-engine.effects.highlight.ShadowHighlight")],P);const v=p();export{P as ShadowHighlight};
2
+ import{__decorate as e}from"tslib";import{smoothstep as t,clamp as i}from"../../../../../core/mathUtils.js";import{watch as s,syncAndInitial as r}from"../../../../../core/reactiveUtils.js";import{property as a,subclass as h}from"../../../../../core/accessorSupport/decorators.js";import{normalize as o,set as c,dot as n}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as d}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{RenderNodeOutput as p}from"../../../webgl.js";import m from"../../../webgl/RenderNode.js";import{ShadowHighlightPassParameters as l,ShadowHighlightTechnique as u}from"./ShadowHighlightTechnique.js";import{defaultShadowOpacity as g,defaultShadowDifference as f,defaultShadowColor as w}from"../../../../support/HighlightDefaults.js";const _=1/512,O=4e4,y=5e4;let P=class extends m{constructor(e){super(e),this.produces=p.COMPOSITE,this.consumes={required:[p.COMPOSITE,"highlights"]},this._passParameters=new l,this._maxOpacity=1,this._shadowDifference=.2}initialize(){this.addHandles([s(()=>this.view.defaultHighlight?.shadowOpacity,e=>{this._passParameters.shadowOpacity=e??g,this._updateOccludedShadowOpacity(),this._ensureMaxOpacity()},r),s(()=>this.view.defaultHighlight?.shadowDifference,e=>{this._shadowDifference=e??f,this._updateOccludedShadowOpacity(),this._ensureMaxOpacity()},r),s(()=>this.view.defaultHighlight?.shadowColor,e=>{this._passParameters.shadowColor=(e??w).toUnitRGBA(),this._ensureMaxOpacity()},r)])}_updateOccludedShadowOpacity(){this._passParameters.occludedShadowOpacity=this._passParameters.shadowOpacity*(1-this._shadowDifference)}_ensureMaxOpacity(){const e=Math.max(this._passParameters.shadowOpacity,this._passParameters.occludedShadowOpacity);this._maxOpacity=e*this._passParameters.shadowColor[3],this.requestRender(1)}precompile(){this._ensureIfVisible()&&this.techniques.precompile(u)}render(e){const t=e.find(({name:e})=>e===p.COMPOSITE),i=this.bindParameters;if(!i.shadowHighlightsVisible||!i.depth||!this._ensureIfVisible())return t;const s=this.techniques.get(u);if(!s.compiled)return this.requestRender(1),t;this._passParameters.highlightTexture=e.find(({name:e})=>"highlights"===e)?.getTexture(),this._passParameters.origin=i.camera.center;const r=this.renderingContext;return r.bindFramebuffer(t.fbo),r.bindTechnique(s,i,this._passParameters),r.screen.draw(),t}_ensureIfVisible(){const e=this.bindParameters;if(!e.shadowHighlightsVisible||!e.depth)return!1;const{camera:s,lighting:r}=e;this._passParameters.opacityElevation=1-t(O,y,s.relativeElevation);const a=1===this.viewingMode?o(b,s.center):c(b,0,0,1),h=n(a,r.mainLight.direction);return this._passParameters.dayNightTerminator=t(0,1,i(30*h,0,1)),this._maxOpacity*this._passParameters.opacityElevation*this._passParameters.dayNightTerminator>=_}};e([a()],P.prototype,"produces",void 0),e([a()],P.prototype,"consumes",void 0),e([a({constructOnly:!0})],P.prototype,"viewingMode",void 0),P=e([h("esri.views.3d.webgl-engine.effects.highlight.ShadowHighlight")],P);const b=d();export{P as ShadowHighlight};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{fromValues as i}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{ReadShadowMapPassParameters as t}from"../../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{ReloadableShader as o}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../../core/shaderTechnique/ShaderTechnique.js";import{S as h}from"../../../../../chunks/ShadowHighlight.glsl.js";import{PrimitiveType as a}from"../../../../webgl/enums.js";import{makePipelineState as l,defaultColorWrite as c,unpremultipliedAlphaToPremultipliedAlpha as d}from"../../../../webgl/renderState.js";class n extends t{constructor(){super(...arguments),this.shadowColor=i(1,0,1,1),this.shadowOpacity=.2,this.occludedShadowOpacity=.1,this.opacityElevation=1,this.dayNightTerminator=1}}let p=class extends s{constructor(){super(...arguments),this.shader=new o(h,()=>import("./ShadowHighlight.glsl.js")),this.primitiveType=a.TRIANGLE_STRIP}initializePipeline(){return l({blending:d,colorWrite:c,depthTest:null,depthWrite:null})}};p=e([r("esri.views.3d.webgl-engine.effects.highlight.ShadowHighlightTechnique")],p);export{n as ShadowHighlightPassParameters,p as ShadowHighlightTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as i}from"../../../../../core/accessorSupport/decorators.js";import{fromValues as r}from"../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{ReadShadowMapPassParameters as t}from"../../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{ReloadableShader as o}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../../core/shaderTechnique/ShaderTechnique.js";import{S as h}from"../../../../../chunks/ShadowHighlight.glsl.js";import{PrimitiveType as a}from"../../../../webgl/enums.js";import{makePipelineState as l,defaultColorWrite as c,unpremultipliedAlphaToPremultipliedAlpha as d}from"../../../../webgl/renderState.js";class n extends t{constructor(){super(...arguments),this.shadowColor=r(1,0,1,1),this.shadowOpacity=.2,this.occludedShadowOpacity=.1,this.opacityElevation=1,this.dayNightTerminator=1}}let p=class extends s{constructor(){super(...arguments),this.shader=new o(h,()=>import("./ShadowHighlight.glsl.js")),this.ignoreUnused=!0,this.primitiveType=a.TRIANGLE_STRIP}initializePipeline(){return l({blending:d,colorWrite:c,depthTest:null,depthWrite:null})}};p=e([i("esri.views.3d.webgl-engine.effects.highlight.ShadowHighlightTechnique")],p);export{n as ShadowHighlightPassParameters,p as ShadowHighlightTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import"../../../../../core/has.js";import{disposeMaybe as t}from"../../../../../core/maybe.js";import{property as i,subclass as n}from"../../../../../core/accessorSupport/decorators.js";import{copy as s,add as r}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{fromRay as a,getStart as l,getEnd as h,create as o}from"../../../../../geometry/support/clipRay.js";import{intersectClipRay as c}from"../../../../../geometry/support/frustum.js";import{copy as d}from"../../../../../geometry/support/lineSegment.js";import{wrap as p}from"../../../../../geometry/support/ray.js";import{InternalRenderCategory as u}from"../../../webgl.js";import m from"../../../webgl/RenderNode.js";import{Blit as g}from"../blit/Blit.js";import{LaserlinePathData as _}from"./LaserlinePathData.js";import{LaserlinePathPassParameters as b,LaserlinePathTechnique as f}from"./LaserlinePathTechnique.js";import{LaserlinePathTechniqueConfiguration as P}from"./LaserlinePathTechniqueConfiguration.js";import{LaserlineTechnique as E}from"./LaserlineTechnique.js";import{LaserlineTechniqueConfiguration as q}from"./LaserlineTechniqueConfiguration.js";import{updateParameters as V}from"../../materials/internal/MaterialUtil.js";let L=class extends m{constructor(e){super(e),this.isDecoration=!0,this.produces=u.LASERLINES,this.consumes={required:[u.LASERLINES,"normals"]},this.requireGeometryDepth=!0,this._configuration=new q,this._pathTechniqueConfiguration=new P,this._heightManifoldEnabled=!1,this._pointDistanceEnabled=!1,this._lineVerticalPlaneEnabled=!1,this._intersectsLineEnabled=!1,this._intersectsLineInfinite=!1,this._pathVerticalPlaneEnabled=!1,this._passParameters=new b;const t=e.view.stage.renderView.techniques,i=new P;i.contrastControlEnabled=e.contrastControlEnabled,t.precompile(f,i)}initialize(){this._passParameters.renderCoordsHelper=this.view.renderCoordsHelper,this._pathTechniqueConfiguration.spherical=1===this.view.state.viewingMode,this._pathTechniqueConfiguration.contrastControlEnabled=this.contrastControlEnabled,this._techniques.precompile(f,this._pathTechniqueConfiguration),this._blit=new g(this._techniques,2)}destroy(){this._pathVerticalPlaneData=t(this._pathVerticalPlaneData),this._blit=null}get _techniques(){return this.view.stage.renderView.techniques}get heightManifoldEnabled(){return this._heightManifoldEnabled}set heightManifoldEnabled(e){this._heightManifoldEnabled!==e&&(this._heightManifoldEnabled=e,this.requestRender(1))}get heightManifoldTarget(){return this._passParameters.heightManifoldTarget}set heightManifoldTarget(e){s(this._passParameters.heightManifoldTarget,e),this.requestRender(1)}get pointDistanceEnabled(){return this._pointDistanceEnabled}set pointDistanceEnabled(e){e!==this._pointDistanceEnabled&&(this._pointDistanceEnabled=e,this.requestRender(1))}get pointDistanceTarget(){return this._passParameters.pointDistanceTarget}set pointDistanceTarget(e){s(this._passParameters.pointDistanceTarget,e),this.requestRender(1)}get pointDistanceOrigin(){return this._passParameters.pointDistanceOrigin}set pointDistanceOrigin(e){s(this._passParameters.pointDistanceOrigin,e),this.requestRender(1)}get lineVerticalPlaneEnabled(){return this._lineVerticalPlaneEnabled}set lineVerticalPlaneEnabled(e){e!==this._lineVerticalPlaneEnabled&&(this._lineVerticalPlaneEnabled=e,this.requestRender(1))}get lineVerticalPlaneSegment(){return this._passParameters.lineVerticalPlaneSegment}set lineVerticalPlaneSegment(e){d(e,this._passParameters.lineVerticalPlaneSegment),this.requestRender(1)}get intersectsLineEnabled(){return this._intersectsLineEnabled}set intersectsLineEnabled(e){e!==this._intersectsLineEnabled&&(this._intersectsLineEnabled=e,this.requestRender(1))}get intersectsLineSegment(){return this._passParameters.intersectsLineSegment}set intersectsLineSegment(e){d(e,this._passParameters.intersectsLineSegment),this.requestRender(1)}get intersectsLineInfinite(){return this._intersectsLineInfinite}set intersectsLineInfinite(e){e!==this._intersectsLineInfinite&&(this._intersectsLineInfinite=e,this.requestRender(1))}get pathVerticalPlaneEnabled(){return this._pathVerticalPlaneEnabled}set pathVerticalPlaneEnabled(e){e!==this._pathVerticalPlaneEnabled&&(this._pathVerticalPlaneEnabled=e,null!=this._pathVerticalPlaneData&&this.requestRender(1))}set pathVerticalPlaneVertices(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new _(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.vertices=e,this.pathVerticalPlaneEnabled&&this.requestRender(1)}set pathVerticalPlaneBuffers(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new _(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.buffers=e,this.pathVerticalPlaneEnabled&&this.requestRender(1)}setParameters(e){V(this._passParameters,e)&&this.requestRender(1)}precompile(){this._acquireTechnique()}render(e){const t=e.find(({name:e})=>e===this.produces);if(this.isDecoration&&!this.bindParameters.decorations||null==this._blit)return t;const i=this.renderingContext,n=e.find(({name:e})=>"normals"===e);this._passParameters.normals=n?.getTexture();const s=()=>{(this.heightManifoldEnabled||this.pointDistanceEnabled||this.lineVerticalPlaneSegment||this.intersectsLineEnabled)&&this._renderUnified(),this.pathVerticalPlaneEnabled&&this._renderPath()};if(!this.contrastControlEnabled)return i.bindFramebuffer(t.fbo),s(),t;this._passParameters.colors=t.getTexture();const r=this.fboCache.acquire(t.fbo.width,t.fbo.height,"laser lines");return i.bindFramebuffer(r.fbo),i.setClearColor(0,0,0,0),i.clear(16640),s(),i.unbindTexture(t.getTexture()),this._blit.blend(i,r,t,this.bindParameters)||this.requestRender(1),r.release(),t}_acquireTechnique(){return this._configuration.heightManifoldEnabled=this.heightManifoldEnabled,this._configuration.lineVerticalPlaneEnabled=this.lineVerticalPlaneEnabled,this._configuration.pointDistanceEnabled=this.pointDistanceEnabled,this._configuration.intersectsLineEnabled=this.intersectsLineEnabled,this._configuration.contrastControlEnabled=this.contrastControlEnabled,this._configuration.spherical=1===this.view.state.viewingMode,this._techniques.get(E,this._configuration)}_renderUnified(){if(!this._updatePassParameters())return;const e=this._acquireTechnique();if(e.compiled){const t=this.renderingContext;t.bindTechnique(e,this.bindParameters,this._passParameters),t.screen.draw()}else this.requestRender(1)}_renderPath(){if(null==this._pathVerticalPlaneData)return;const e=this._techniques.get(f,this._pathTechniqueConfiguration);if(e.compiled){const t=this.renderingContext;this._passParameters.origin=this._pathVerticalPlaneData.origin,t.bindTechnique(e,this.bindParameters,this._passParameters),this._pathVerticalPlaneData.draw(t)}else this.requestRender(1)}_updatePassParameters(){if(!this._intersectsLineEnabled)return!0;const e=this.bindParameters.camera,t=this._passParameters;if(this._intersectsLineInfinite){if(a(p(t.intersectsLineSegment.origin,t.intersectsLineSegment.vector),D),D.c0=-Number.MAX_VALUE,!c(e.frustum,D))return!1;l(D,t.lineStartWorld),h(D,t.lineEndWorld)}else s(t.lineStartWorld,t.intersectsLineSegment.origin),r(t.lineEndWorld,t.intersectsLineSegment.origin,t.intersectsLineSegment.vector);return!0}get test(){}};e([i({constructOnly:!0})],L.prototype,"contrastControlEnabled",void 0),e([i()],L.prototype,"isDecoration",void 0),e([i()],L.prototype,"produces",void 0),e([i()],L.prototype,"consumes",void 0),L=e([n("esri.views.3d.webgl-engine.effects.laserlines.LaserLineRenderer")],L);const D=o();export{L as LaserLineRenderer};
2
+ import{__decorate as e}from"tslib";import"../../../../../core/has.js";import{disposeMaybe as t}from"../../../../../core/maybe.js";import{property as i,subclass as n}from"../../../../../core/accessorSupport/decorators.js";import{copy as s,add as r}from"../../../../../core/libs/gl-matrix-2/math/vec3.js";import{fromRay as a,getStart as l,getEnd as h,create as o}from"../../../../../geometry/support/clipRay.js";import{intersectClipRay as c}from"../../../../../geometry/support/frustum.js";import{copy as d}from"../../../../../geometry/support/lineSegment.js";import{wrap as p}from"../../../../../geometry/support/ray.js";import{InternalRenderCategory as u}from"../../../webgl.js";import m from"../../../webgl/RenderNode.js";import{Blit as g}from"../blit/Blit.js";import{LaserlinePathData as _}from"./LaserlinePathData.js";import{LaserlinePathPassParameters as b,LaserlinePathTechnique as f}from"./LaserlinePathTechnique.js";import{LaserlinePathTechniqueConfiguration as P}from"./LaserlinePathTechniqueConfiguration.js";import{LaserlineTechnique as E}from"./LaserlineTechnique.js";import{LaserlineTechniqueConfiguration as q}from"./LaserlineTechniqueConfiguration.js";import{updateParameters as V}from"../../materials/internal/MaterialUtil.js";let L=class extends m{constructor(e){super(e),this.isDecoration=!0,this.produces=u.LASERLINES,this.consumes={required:[u.LASERLINES,"normals"]},this.requireGeometryDepth=!0,this._configuration=new q,this._pathTechniqueConfiguration=new P,this._heightManifoldEnabled=!1,this._pointDistanceEnabled=!1,this._lineVerticalPlaneEnabled=!1,this._intersectsLineEnabled=!1,this._intersectsLineInfinite=!1,this._pathVerticalPlaneEnabled=!1,this._passParameters=new b;const t=e.view.stage.renderView.techniques,i=new P;i.contrastControlEnabled=e.contrastControlEnabled,t.precompile(f,i)}initialize(){this._passParameters.renderCoordsHelper=this.view.renderCoordsHelper,this._pathTechniqueConfiguration.spherical=1===this.view.state.viewingMode,this._pathTechniqueConfiguration.contrastControlEnabled=this.contrastControlEnabled,this._techniques.precompile(f,this._pathTechniqueConfiguration),this._blit=new g(this._techniques,2)}destroy(){this._pathVerticalPlaneData=t(this._pathVerticalPlaneData),this._blit=null}get _techniques(){return this.view.stage.renderView.techniques}get heightManifoldEnabled(){return this._heightManifoldEnabled}set heightManifoldEnabled(e){this._heightManifoldEnabled!==e&&(this._heightManifoldEnabled=e,this.requestRender(1))}get heightManifoldTarget(){return this._passParameters.heightManifoldTarget}set heightManifoldTarget(e){s(this._passParameters.heightManifoldTarget,e),this.requestRender(1)}get pointDistanceEnabled(){return this._pointDistanceEnabled}set pointDistanceEnabled(e){e!==this._pointDistanceEnabled&&(this._pointDistanceEnabled=e,this.requestRender(1))}get pointDistanceTarget(){return this._passParameters.pointDistanceTarget}set pointDistanceTarget(e){s(this._passParameters.pointDistanceTarget,e),this.requestRender(1)}get pointDistanceOrigin(){return this._passParameters.pointDistanceOrigin}set pointDistanceOrigin(e){s(this._passParameters.pointDistanceOrigin,e),this.requestRender(1)}get lineVerticalPlaneEnabled(){return this._lineVerticalPlaneEnabled}set lineVerticalPlaneEnabled(e){e!==this._lineVerticalPlaneEnabled&&(this._lineVerticalPlaneEnabled=e,this.requestRender(1))}get lineVerticalPlaneSegment(){return this._passParameters.lineVerticalPlaneSegment}set lineVerticalPlaneSegment(e){d(e,this._passParameters.lineVerticalPlaneSegment),this.requestRender(1)}get intersectsLineEnabled(){return this._intersectsLineEnabled}set intersectsLineEnabled(e){e!==this._intersectsLineEnabled&&(this._intersectsLineEnabled=e,this.requestRender(1))}get intersectsLineSegment(){return this._passParameters.intersectsLineSegment}set intersectsLineSegment(e){d(e,this._passParameters.intersectsLineSegment),this.requestRender(1)}get intersectsLineInfinite(){return this._intersectsLineInfinite}set intersectsLineInfinite(e){e!==this._intersectsLineInfinite&&(this._intersectsLineInfinite=e,this.requestRender(1))}get pathVerticalPlaneEnabled(){return this._pathVerticalPlaneEnabled}set pathVerticalPlaneEnabled(e){e!==this._pathVerticalPlaneEnabled&&(this._pathVerticalPlaneEnabled=e,null!=this._pathVerticalPlaneData&&this.requestRender(1))}set pathVerticalPlaneVertices(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new _(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.vertices=e,this.pathVerticalPlaneEnabled&&this.requestRender(1)}set pathVerticalPlaneBuffers(e){null==this._pathVerticalPlaneData&&(this._pathVerticalPlaneData=new _(this._passParameters.renderCoordsHelper)),this._pathVerticalPlaneData.buffers=e,this.pathVerticalPlaneEnabled&&this.requestRender(1)}setParameters(e){V(this._passParameters,e)&&this.requestRender(1)}precompile(){this._acquireTechnique(),this._blit?.precompile(),this.pathVerticalPlaneEnabled&&this._pathVerticalPlaneData&&this._techniques.precompile(f,this._pathTechniqueConfiguration)}render(e){const t=e.find(({name:e})=>e===this.produces);if(this.isDecoration&&!this.bindParameters.decorations||null==this._blit)return t;const i=this.renderingContext,n=e.find(({name:e})=>"normals"===e);this._passParameters.normals=n?.getTexture();const s=()=>{(this.heightManifoldEnabled||this.pointDistanceEnabled||this.lineVerticalPlaneSegment||this.intersectsLineEnabled)&&this._renderUnified(),this.pathVerticalPlaneEnabled&&this._renderPath()};if(!this.contrastControlEnabled)return i.bindFramebuffer(t.fbo),s(),t;this._passParameters.colors=t.getTexture();const r=this.fboCache.acquire(t.fbo.width,t.fbo.height,"laser lines");return i.bindFramebuffer(r.fbo),i.setClearColor(0,0,0,0),i.clear(16640),s(),i.unbindTexture(t.getTexture()),this._blit.blend(i,r,t,this.bindParameters)||this.requestRender(1),r.release(),t}_acquireTechnique(){return this._configuration.heightManifoldEnabled=this.heightManifoldEnabled,this._configuration.lineVerticalPlaneEnabled=this.lineVerticalPlaneEnabled,this._configuration.pointDistanceEnabled=this.pointDistanceEnabled,this._configuration.intersectsLineEnabled=this.intersectsLineEnabled,this._configuration.contrastControlEnabled=this.contrastControlEnabled,this._configuration.spherical=1===this.view.state.viewingMode,this._techniques.get(E,this._configuration)}_renderUnified(){if(!this._updatePassParameters())return;const e=this._acquireTechnique();if(e.compiled){const t=this.renderingContext;t.bindTechnique(e,this.bindParameters,this._passParameters),t.screen.draw()}else this.requestRender(1)}_renderPath(){if(null==this._pathVerticalPlaneData)return;const e=this._techniques.get(f,this._pathTechniqueConfiguration);if(e.compiled){const t=this.renderingContext;this._passParameters.origin=this._pathVerticalPlaneData.origin,t.bindTechnique(e,this.bindParameters,this._passParameters),this._pathVerticalPlaneData.draw(t)}else this.requestRender(1)}_updatePassParameters(){if(!this._intersectsLineEnabled)return!0;const e=this.bindParameters.camera,t=this._passParameters;if(this._intersectsLineInfinite){if(a(p(t.intersectsLineSegment.origin,t.intersectsLineSegment.vector),D),D.c0=-Number.MAX_VALUE,!c(e.frustum,D))return!1;l(D,t.lineStartWorld),h(D,t.lineEndWorld)}else s(t.lineStartWorld,t.intersectsLineSegment.origin),r(t.lineEndWorld,t.intersectsLineSegment.origin,t.intersectsLineSegment.vector);return!0}get test(){}};e([i({constructOnly:!0})],L.prototype,"contrastControlEnabled",void 0),e([i()],L.prototype,"isDecoration",void 0),e([i()],L.prototype,"produces",void 0),e([i()],L.prototype,"consumes",void 0),L=e([n("esri.views.3d.webgl-engine.effects.laserlines.LaserLineRenderer")],L);const D=o();export{L as LaserLineRenderer};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{create as s}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{glLayout as t}from"../../../support/buffer/glUtil.js";import{newLayout as o}from"../../../support/buffer/InterleavedLayout.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as c}from"../../core/shaderTechnique/ShaderTechnique.js";import{L as a}from"../../../../../chunks/LaserlinePath.glsl.js";import{LaserlinePassParameters as f}from"./LaserlineTechnique.js";class n extends f{constructor(){super(...arguments),this.origin=s()}}let l=class extends c{constructor(e,r){super(e,r,t(r.spherical?p:m)),this.shader=new i(a,()=>import("./LaserlinePath.glsl.js"))}};l=e([r("esri.views.3d.webgl-engine.effects.laserlines.LaserlinePathTechnique")],l);const p=o().vec3f("start").vec3f("end").vec2f("extrude").vec3f("startUp").vec3f("endUp"),m=o().vec3f("start").vec3f("end").vec2f("extrude");export{n as LaserlinePathPassParameters,l as LaserlinePathTechnique,m as layoutPlanar,p as layoutSpherical};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{create as s}from"../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{glLayout as t}from"../../../support/buffer/glUtil.js";import{newLayout as o}from"../../../support/buffer/InterleavedLayout.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as c}from"../../core/shaderTechnique/ShaderTechnique.js";import{L as a}from"../../../../../chunks/LaserlinePath.glsl.js";import{LaserlinePassParameters as n}from"./LaserlineTechnique.js";class f extends n{constructor(){super(...arguments),this.origin=s()}}let l=class extends c{constructor(e,r){super(e,r,t(r.spherical?p:m)),this.shader=new i(a,()=>import("./LaserlinePath.glsl.js")),this.ignoreUnused=!0}};l=e([r("esri.views.3d.webgl-engine.effects.laserlines.LaserlinePathTechnique")],l);const p=o().vec3f("start").vec3f("end").vec2f("extrude").vec3f("startUp").vec3f("endUp"),m=o().vec3f("start").vec3f("end").vec2f("extrude");export{f as LaserlinePathPassParameters,l as LaserlinePathTechnique,m as layoutPlanar,p as layoutSpherical};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import r from"../../../../../core/Logger.js";import{abortMaybe as t,disposeMaybe as s}from"../../../../../core/maybe.js";import{throwIfAborted as i,isAbortError as a}from"../../../../../core/promiseUtils.js";import{watch as o,syncAndInitial as n}from"../../../../../core/reactiveUtils.js";import{property as h,subclass as l}from"../../../../../core/accessorSupport/decorators.js";import{requestImage as c}from"../../../../../request/image.js";import{InternalRenderCategory as u}from"../../../webgl.js";import m from"../../../webgl/RenderNode.js";import{SMAABlendWeightsTechnique as d}from"./SMAABlendWeightsTechnique.js";import{SMAABlurTechnique as p}from"./SMAABlurTechnique.js";import{SMAAEdgeDetectTechnique as b}from"./SMAAEdgeDetectTechnique.js";import{SMAAPassParameters as f}from"./SMAAPassParameters.js";import T from"../../../../webgl/Texture.js";import{TextureDescriptor as x}from"../../../../webgl/TextureDescriptor.js";let _=class extends m{constructor(e){super(e),this.produces="disabled",this.consumes={required:[u.ANTIALIASING]},this._areaTexture=null,this._searchTexture=null,this._smaaParameters=new f}initialize(){this.addHandles([o(()=>this.isEnabled(),e=>e?this.view.addUpdatingPromise(this.enable()):this.disable(),n)])}async enable(){if(this.destroyed)return;if(this.produces=u.ANTIALIASING,this.requestRender(1),this._abortController||this._areaTexture&&this._searchTexture)return;this._abortController=new AbortController;const e=this._abortController.signal;try{const r=await import("./SMAAData.js");i(e),await this._loadTextures(r,e),i(e),this.requestRender(1)}catch(t){a(t)||r.getLogger(this).errorOnce(t)}this._abortController=null}async _loadTextures(e,r){i(r);const[t,s]=await Promise.allSettled([c(e.areaTexture,{signal:r}),c(e.searchTexure,{signal:r})]);if(i(r),"fulfilled"!==t.status||"fulfilled"!==s.status)return;const a=this.renderingContext;this._areaTexture=g(a,9729,6407,t.value),this._searchTexture=g(a,9728,6409,s.value)}disable(){this.produces="disabled",this.requestRender(1)}destroy(){this._abortController=t(this._abortController),this._searchTexture=s(this._searchTexture),this._areaTexture=s(this._areaTexture)}precompile(){this.techniques.precompile(b),this.techniques.precompile(d),this.techniques.precompile(p)}render(e){const r=e.find(({name:e})=>e===u.ANTIALIASING);if(!this._areaTexture||!this._searchTexture)return this.requestRender(1),r;const t=this.techniques.get(b),s=this.techniques.get(d),i=this.techniques.get(p);if(!t.compiled||!s.compiled||!i.compiled)return this.requestRender(1),r;const{width:a,height:o}=r.fbo,n=this.renderingContext;n.setViewport(0,0,a,o);const h=this.fboCache.acquire(a,o,"smaa edges",2);n.bindFramebuffer(h.fbo),n.setClearColor(0,0,0,1),n.clear(16384),this._smaaParameters.color=r.getTexture();const l=this.bindParameters;n.bindTechnique(t,l,this._smaaParameters),n.screen.draw();const c=this.fboCache.acquire(a,o,"smaa blend");n.bindFramebuffer(c.fbo),n.setClearColor(0,0,1,1),n.clear(16384),this._smaaParameters.inputTexture=h.getTexture(),this._smaaParameters.areaTexture=this._areaTexture,this._smaaParameters.searchTexture=this._searchTexture,n.bindTechnique(s,l,this._smaaParameters),n.screen.draw(),h.release();const m=this.fboCache.acquire(a,o,u.ANTIALIASING);return n.bindFramebuffer(m.fbo),n.setClearColor(0,1,0,1),n.clear(16384),this._smaaParameters.inputTexture=c.getTexture(),n.bindTechnique(i,l,this._smaaParameters),n.screen.draw(),c.release(),m}};function g(e,r,t,s){const i=new x(s.width,s.height);return i.pixelFormat=t,i.wrapMode=33071,i.samplingMode=r,new T(e,i,s)}e([h()],_.prototype,"produces",void 0),e([h()],_.prototype,"consumes",void 0),e([h({constructOnly:!0})],_.prototype,"isEnabled",void 0),e([h()],_.prototype,"_abortController",void 0),_=e([l("esri.views.3d.webgl-engine.effects.smaa.SMAA")],_);export{_ as SMAA};
2
+ import{__decorate as e}from"tslib";import r from"../../../../../core/Logger.js";import{abortMaybe as t,disposeMaybe as s}from"../../../../../core/maybe.js";import{throwIfAborted as i,isAbortError as a}from"../../../../../core/promiseUtils.js";import{watch as o,syncAndInitial as n}from"../../../../../core/reactiveUtils.js";import{property as h,subclass as c}from"../../../../../core/accessorSupport/decorators.js";import{requestImage as l}from"../../../../../request/image.js";import{InternalRenderCategory as u}from"../../../webgl.js";import m from"../../../webgl/RenderNode.js";import{SMAABlendWeightsTechnique as d}from"./SMAABlendWeightsTechnique.js";import{SMAABlurTechnique as p}from"./SMAABlurTechnique.js";import{SMAAEdgeDetectTechnique as b}from"./SMAAEdgeDetectTechnique.js";import{SMAAPassParameters as f}from"./SMAAPassParameters.js";import T from"../../../../webgl/Texture.js";import{TextureDescriptor as x}from"../../../../webgl/TextureDescriptor.js";let _=class extends m{constructor(e){super(e),this.produces="disabled",this.consumes={required:[u.ANTIALIASING]},this._areaTexture=null,this._searchTexture=null,this._smaaParameters=new f}initialize(){this.addHandles([o(()=>this.isEnabled(),e=>e?this.view.addUpdatingPromise(this.enable()):this.disable(),n)])}async enable(){if(this.destroyed)return;if(this.produces=u.ANTIALIASING,this.requestRender(1),this._abortController||this._areaTexture&&this._searchTexture)return;this.techniques.precompile(b),this.techniques.precompile(d),this.techniques.precompile(p),this._abortController=new AbortController;const e=this._abortController.signal;try{const r=await import("./SMAAData.js");i(e),await this._loadTextures(r,e),i(e),this.requestRender(1)}catch(t){a(t)||r.getLogger(this).errorOnce(t)}this._abortController=null}async _loadTextures(e,r){i(r);const[t,s]=await Promise.allSettled([l(e.areaTexture,{signal:r}),l(e.searchTexure,{signal:r})]);if(i(r),"fulfilled"!==t.status||"fulfilled"!==s.status)return;const a=this.renderingContext;this._areaTexture=g(a,9729,6407,t.value),this._searchTexture=g(a,9728,6409,s.value)}disable(){this.produces="disabled",this.requestRender(1)}destroy(){this._abortController=t(this._abortController),this._searchTexture=s(this._searchTexture),this._areaTexture=s(this._areaTexture)}precompile(){this.techniques.precompile(b),this.techniques.precompile(d),this.techniques.precompile(p)}render(e){const r=e.find(({name:e})=>e===u.ANTIALIASING);if(!this._areaTexture||!this._searchTexture)return this.requestRender(1),r;const t=this.techniques.get(b),s=this.techniques.get(d),i=this.techniques.get(p);if(!t.compiled||!s.compiled||!i.compiled)return this.requestRender(1),r;const{width:a,height:o}=r.fbo,n=this.renderingContext;n.setViewport(0,0,a,o);const h=this.fboCache.acquire(a,o,"smaa edges",2);n.bindFramebuffer(h.fbo),n.setClearColor(0,0,0,1),n.clear(16384),this._smaaParameters.color=r.getTexture();const c=this.bindParameters;n.bindTechnique(t,c,this._smaaParameters),n.screen.draw();const l=this.fboCache.acquire(a,o,"smaa blend");n.bindFramebuffer(l.fbo),n.setClearColor(0,0,1,1),n.clear(16384),this._smaaParameters.inputTexture=h.getTexture(),this._smaaParameters.areaTexture=this._areaTexture,this._smaaParameters.searchTexture=this._searchTexture,n.bindTechnique(s,c,this._smaaParameters),n.screen.draw(),h.release();const m=this.fboCache.acquire(a,o,u.ANTIALIASING);return n.bindFramebuffer(m.fbo),n.setClearColor(0,1,0,1),n.clear(16384),this._smaaParameters.inputTexture=l.getTexture(),n.bindTechnique(i,c,this._smaaParameters),n.screen.draw(),l.release(),m}};function g(e,r,t,s){const i=new x(s.width,s.height);return i.pixelFormat=t,i.wrapMode=33071,i.samplingMode=r,new T(e,i,s)}e([h()],_.prototype,"produces",void 0),e([h()],_.prototype,"consumes",void 0),e([h({constructOnly:!0})],_.prototype,"isEnabled",void 0),e([h()],_.prototype,"_abortController",void 0),_=e([c("esri.views.3d.webgl-engine.effects.smaa.SMAA")],_);export{_ as SMAA};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../../core/shaderTechnique/ShaderTechnique.js";import{B as o}from"../../../../../chunks/BlendWeights.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../../webgl/renderState.js";let n=class extends i{constructor(){super(...arguments),this.shader=new s(o,()=>import("./BlendWeights.glsl.js"))}initializePipeline(){return t({colorWrite:l})}};n=e([r("esri.views.3d.webgl-engine.effects.smaa.SMAABlendWeightsTechnique")],n);export{n as SMAABlendWeightsTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../../core/shaderTechnique/ShaderTechnique.js";import{B as o}from"../../../../../chunks/BlendWeights.glsl.js";import{makePipelineState as t,defaultColorWrite as n}from"../../../../webgl/renderState.js";let l=class extends i{constructor(){super(...arguments),this.shader=new s(o,()=>import("./BlendWeights.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({colorWrite:n})}};l=e([r("esri.views.3d.webgl-engine.effects.smaa.SMAABlendWeightsTechnique")],l);export{l as SMAABlendWeightsTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../../core/shaderTechnique/ShaderTechnique.js";import{B as i}from"../../../../../chunks/Blur.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../../webgl/renderState.js";let c=class extends o{constructor(){super(...arguments),this.shader=new s(i,()=>import("./Blur.glsl.js"))}initializePipeline(){return t({colorWrite:l})}};c=e([r("esri.views.3d.webgl-engine.effects.smaa.SMAABlurTechnique")],c);export{c as SMAABlurTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../../core/shaderTechnique/ShaderTechnique.js";import{B as i}from"../../../../../chunks/Blur.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../../webgl/renderState.js";let c=class extends o{constructor(){super(...arguments),this.shader=new s(i,()=>import("./Blur.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({colorWrite:l})}};c=e([r("esri.views.3d.webgl-engine.effects.smaa.SMAABlurTechnique")],c);export{c as SMAABlurTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as t}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../../core/shaderTechnique/ShaderTechnique.js";import{E as o}from"../../../../../chunks/EdgeDetect.glsl.js";import{makePipelineState as i,defaultColorWrite as c}from"../../../../webgl/renderState.js";let a=class extends s{constructor(){super(...arguments),this.shader=new t(o,()=>import("./EdgeDetect.glsl.js"))}initializePipeline(){return i({colorWrite:c})}};a=e([r("esri.views.3d.webgl-engine.effects.smaa.SMAAEdgeDetectTechnique")],a);export{a as SMAAEdgeDetectTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../../core/shaderTechnique/ShaderTechnique.js";import{E as o}from"../../../../../chunks/EdgeDetect.glsl.js";import{makePipelineState as i,defaultColorWrite as c}from"../../../../webgl/renderState.js";let n=class extends t{constructor(){super(...arguments),this.shader=new s(o,()=>import("./EdgeDetect.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return i({colorWrite:c})}};n=e([r("esri.views.3d.webgl-engine.effects.smaa.SMAAEdgeDetectTechnique")],n);export{n as SMAAEdgeDetectTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{clamp as r}from"../../../../../core/mathUtils.js";import{disposeMaybe as t}from"../../../../../core/maybe.js";import{watch as s}from"../../../../../core/reactiveUtils.js";import{Milliseconds as i}from"../../../../../core/time.js";import{property as a,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{set as n}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{InternalRenderCategory as m}from"../../../webgl.js";import p from"../../../webgl/RenderNode.js";import{distanceFadeEnd as c,distanceFadeStart as h}from"../../core/shaderLibrary/shading/ScreenSpaceConstants.js";import{g as l}from"../../../../../chunks/SSAO.glsl.js";import{SSAOBlurTechnique as u}from"./SSAOBlurTechnique.js";import{noiseData as d}from"./SSAONoiseData.js";import{SSAOPassParameters as f,BlurDrawParameters as b}from"./SSAOParameters.js";import{SSAOTechnique as w}from"./SSAOTechnique.js";import{DepthStencilAttachment as S}from"../../../../webgl/enums.js";import _ from"../../../../webgl/Texture.js";import{TextureDescriptor as T}from"../../../../webgl/TextureDescriptor.js";const P=2;let g=class extends p{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=m.SSAO,this.isEnabled=()=>!1,this._enableTime=i(0),this._passParameters=new f,this._drawParameters=new b}initialize(){const e=Uint8Array.from(atob(d),e=>e.charCodeAt(0)),r=new T(32);r.wrapMode=33071,r.pixelFormat=6407,r.wrapMode=10497,r.hasMipmap=!0,this._passParameters.noiseTexture=new _(this.renderingContext,r,e),this.techniques.precompile(w),this.techniques.precompile(u),this.addHandles(s(()=>this.isEnabled(),()=>this._enableTime=i(0)))}destroy(){this._passParameters.noiseTexture=t(this._passParameters.noiseTexture)}render(e){const t=e.find(({name:e})=>"normals"===e),s=t?.getTexture(),a=t?.getTexture(S);if(!s||!a)return;const o=this.techniques.get(w),p=this.techniques.get(u);if(!o.compiled||!p.compiled)return this._enableTime=i(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=i(performance.now()));const d=this.renderingContext,f=this.view.qualitySettings.fadeDuration,b=this.bindParameters,_=b.camera,T=_.relativeElevation,g=r((c-T)/(c-h),0,1),j=f>0?Math.min(f,performance.now()-this._enableTime)/f:1,q=j*g;this._passParameters.normalTexture=s,this._passParameters.depthTexture=a,this._passParameters.projScale=1/_.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*x/l(_)**6*q;const v=_.fullViewport[2],A=_.fullViewport[3],y=this.fboCache.acquire(v,A,"ssao input",2);d.bindFramebuffer(y.fbo),d.setViewport(0,0,v,A),d.bindTechnique(o,b,this._passParameters,this._drawParameters),d.screen.draw();const C=Math.round(v/P),O=Math.round(A/P),V=this.fboCache.acquire(C,O,"ssao blur",0);d.bindFramebuffer(V.fbo),this._drawParameters.colorTexture=y.getTexture(),n(this._drawParameters.blurSize,0,P/A),d.bindTechnique(p,b,this._passParameters,this._drawParameters),d.setViewport(0,0,C,O),d.screen.draw(),y.release();const M=this.fboCache.acquire(C,O,m.SSAO,0);return d.bindFramebuffer(M.fbo),d.setViewport(0,0,v,A),d.setClearColor(1,1,1,0),d.clear(16384),this._drawParameters.colorTexture=V.getTexture(),n(this._drawParameters.blurSize,P/v,0),d.bindTechnique(p,b,this._passParameters,this._drawParameters),d.setViewport(0,0,C,O),d.screen.draw(),d.setViewport4fv(_.fullViewport),V.release(),j<1&&this.requestRender(2),M}};e([a()],g.prototype,"consumes",void 0),e([a()],g.prototype,"produces",void 0),e([a({constructOnly:!0})],g.prototype,"isEnabled",void 0),g=e([o("esri.views.3d.webgl-engine.effects.ssao.SSAO")],g);const x=.5;export{g as SSAO,P as blurSizePixels};
2
+ import{__decorate as e}from"tslib";import{clamp as r}from"../../../../../core/mathUtils.js";import{disposeMaybe as t}from"../../../../../core/maybe.js";import{watch as s}from"../../../../../core/reactiveUtils.js";import{Milliseconds as i}from"../../../../../core/time.js";import{property as a,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{set as n}from"../../../../../core/libs/gl-matrix-2/math/vec2.js";import{InternalRenderCategory as m}from"../../../webgl.js";import p from"../../../webgl/RenderNode.js";import{distanceFadeEnd as c,distanceFadeStart as h}from"../../core/shaderLibrary/shading/ScreenSpaceConstants.js";import{g as l}from"../../../../../chunks/SSAO.glsl.js";import{SSAOBlurTechnique as u}from"./SSAOBlurTechnique.js";import{noiseData as d}from"./SSAONoiseData.js";import{SSAOPassParameters as f,BlurDrawParameters as b}from"./SSAOParameters.js";import{SSAOTechnique as w}from"./SSAOTechnique.js";import{DepthStencilAttachment as S}from"../../../../webgl/enums.js";import _ from"../../../../webgl/Texture.js";import{TextureDescriptor as T}from"../../../../webgl/TextureDescriptor.js";const P=2;let g=class extends p{constructor(e){super(e),this.consumes={required:["normals"]},this.produces=m.SSAO,this.isEnabled=()=>!1,this._enableTime=i(0),this._passParameters=new f,this._drawParameters=new b}initialize(){const e=Uint8Array.from(atob(d),e=>e.charCodeAt(0)),r=new T(32);r.wrapMode=33071,r.pixelFormat=6407,r.wrapMode=10497,r.hasMipmap=!0,this._passParameters.noiseTexture=new _(this.renderingContext,r,e),this.addHandles(s(()=>this.isEnabled(),()=>this._enableTime=i(0)))}destroy(){this._passParameters.noiseTexture=t(this._passParameters.noiseTexture)}precompile(){this.techniques.precompile(w),this.techniques.precompile(u)}render(e){const t=e.find(({name:e})=>"normals"===e),s=t?.getTexture(),a=t?.getTexture(S);if(!s||!a)return;const o=this.techniques.get(w),p=this.techniques.get(u);if(!o.compiled||!p.compiled)return this._enableTime=i(performance.now()),void this.requestRender(1);0===this._enableTime&&(this._enableTime=i(performance.now()));const d=this.renderingContext,f=this.view.qualitySettings.fadeDuration,b=this.bindParameters,_=b.camera,T=_.relativeElevation,g=r((c-T)/(c-h),0,1),j=f>0?Math.min(f,performance.now()-this._enableTime)/f:1,q=j*g;this._passParameters.normalTexture=s,this._passParameters.depthTexture=a,this._passParameters.projScale=1/_.computeScreenPixelSizeAtDist(1),this._passParameters.intensity=4*x/l(_)**6*q;const v=_.fullViewport[2],A=_.fullViewport[3],y=this.fboCache.acquire(v,A,"ssao input",2);d.bindFramebuffer(y.fbo),d.setViewport(0,0,v,A),d.bindTechnique(o,b,this._passParameters,this._drawParameters),d.screen.draw();const C=Math.round(v/P),O=Math.round(A/P),V=this.fboCache.acquire(C,O,"ssao blur",0);d.bindFramebuffer(V.fbo),this._drawParameters.colorTexture=y.getTexture(),n(this._drawParameters.blurSize,0,P/A),d.bindTechnique(p,b,this._passParameters,this._drawParameters),d.setViewport(0,0,C,O),d.screen.draw(),y.release();const M=this.fboCache.acquire(C,O,m.SSAO,0);return d.bindFramebuffer(M.fbo),d.setViewport(0,0,v,A),d.setClearColor(1,1,1,0),d.clear(16384),this._drawParameters.colorTexture=V.getTexture(),n(this._drawParameters.blurSize,P/v,0),d.bindTechnique(p,b,this._passParameters,this._drawParameters),d.setViewport(0,0,C,O),d.screen.draw(),d.setViewport4fv(_.fullViewport),V.release(),j<1&&this.requestRender(2),M}};e([a()],g.prototype,"consumes",void 0),e([a()],g.prototype,"produces",void 0),e([a({constructOnly:!0})],g.prototype,"isEnabled",void 0),g=e([o("esri.views.3d.webgl-engine.effects.ssao.SSAO")],g);const x=.5;export{g as SSAO,P as blurSizePixels};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../../core/shaderTechnique/ShaderTechnique.js";import{S as i}from"../../../../../chunks/SSAOBlur.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../../webgl/renderState.js";let c=class extends o{constructor(){super(...arguments),this.shader=new s(i,()=>import("./SSAOBlur.glsl.js"))}initializePipeline(){return t({colorWrite:l})}};c=e([r("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],c);export{c as SSAOBlurTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../../core/shaderTechnique/ShaderTechnique.js";import{S as i}from"../../../../../chunks/SSAOBlur.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../../webgl/renderState.js";let c=class extends o{constructor(){super(...arguments),this.shader=new s(i,()=>import("./SSAOBlur.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({colorWrite:l})}};c=e([r("esri.views.3d.webgl-engine.effects.ssao.SSAOBlurTechnique")],c);export{c as SSAOBlurTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{create as s}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{glLayout as t}from"../../../support/buffer/glUtil.js";import{newLayout as o}from"../../../support/buffer/InterleavedLayout.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as m}from"../../core/shaderTechnique/ShaderTechnique.js";import{S as a}from"../../../../../chunks/Stars.glsl.js";import{PrimitiveType as c}from"../../../../webgl/enums.js";import{NoParameters as p}from"../../../../webgl/NoParameters.js";import{makePipelineState as l,defaultColorWrite as f,unpremultipliedAlphaToPremultipliedAlpha as n}from"../../../../webgl/renderState.js";class u extends p{constructor(){super(...arguments),this.modelMatrix=s()}}let d=class extends m{constructor(e,r){super(e,r,t(h)),this.shader=new i(a,()=>import("./Stars.glsl.js")),this.primitiveType=c.POINTS}initializePipeline(){return l({blending:n,depthTest:{func:515},colorWrite:f})}};d=e([r("esri.views.3d.webgl-engine.effects.stars.StarsTechnique")],d);const h=o().vec3f("position").vec4u8("color").f32("size").freeze();export{u as StarPassParameters,d as StarsTechnique,h as layout};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{create as s}from"../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{glLayout as t}from"../../../support/buffer/glUtil.js";import{newLayout as o}from"../../../support/buffer/InterleavedLayout.js";import{ReloadableShader as i}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as m}from"../../core/shaderTechnique/ShaderTechnique.js";import{S as a}from"../../../../../chunks/Stars.glsl.js";import{PrimitiveType as c}from"../../../../webgl/enums.js";import{NoParameters as p}from"../../../../webgl/NoParameters.js";import{makePipelineState as l,defaultColorWrite as n,unpremultipliedAlphaToPremultipliedAlpha as f}from"../../../../webgl/renderState.js";class u extends p{constructor(){super(...arguments),this.modelMatrix=s()}}let d=class extends m{constructor(e,r){super(e,r,t(h)),this.shader=new i(a,()=>import("./Stars.glsl.js")),this.ignoreUnused=!0,this.primitiveType=c.POINTS}initializePipeline(){return l({blending:f,depthTest:{func:515},colorWrite:n})}};d=e([r("esri.views.3d.webgl-engine.effects.stars.StarsTechnique")],d);const h=o().vec3f("position").vec4u8("color").f32("size").freeze();export{u as StarPassParameters,d as StarsTechnique,h as layout};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{O as e}from"../../../../../chunks/OITBlend.glsl.js";import{OITBlendTechnique as i}from"./OITBlendTechnique.js";import{OITBlendTechniqueConfiguration as t}from"./OITBlendTechniqueConfiguration.js";import{OITDimTechnique as r}from"./OITDimTechnique.js";import{ColorAttachment2 as o,ColorAttachment1 as s}from"../../../../webgl/enums.js";class n{constructor(o){this._techniques=o,this._parameters=new e,this._configuration=new t,o.precompile(i,this._configuration),this._configuration.computeHudOcclusion=!0,o.precompile(i,this._configuration),this._configuration.hasEmitters=!0,o.precompile(i,this._configuration),this._configuration.computeHudOcclusion=!1,o.precompile(i,this._configuration),this._configuration.frontFaceMask=!0,o.precompile(i,this._configuration),this._configuration.hasEmitters=!1,o.precompile(i,this._configuration),o.precompile(r)}blend(e,t,n,c,a,u,h){if(this._configuration.hasEmitters=a,this._configuration.computeHudOcclusion=u,this._configuration.frontFaceMask=1===h,this._parameters.colorTexture=t.getTexture(),this._parameters.alphaTexture=t.getTexture(a?o:s),this._parameters.frontFaceTexture=n.getTexture(),a){if(1!==h){const i=this._techniques.get(r);e.bindTechnique(i,c,this._parameters),e.screen.draw()}this._parameters.emissionTexture=t.getTexture(s),this._parameters.emissionFrontFaceTexture=n.getTexture(s)}const m=this._techniques.get(i,this._configuration);e.bindTechnique(m,c,this._parameters),e.screen.draw()}}export{n as OITBlend};
2
+ import{O as e}from"../../../../../chunks/OITBlend.glsl.js";import{OITBlendTechnique as i}from"./OITBlendTechnique.js";import{OITBlendTechniqueConfiguration as t}from"./OITBlendTechniqueConfiguration.js";import{OITDimTechnique as s}from"./OITDimTechnique.js";import{ColorAttachment2 as n,ColorAttachment1 as o}from"../../../../webgl/enums.js";class r{constructor(i){this._techniques=i,this._parameters=new e,this._configuration=new t}precompile(e,t,n){this._configuration.hasEmission=e,this._configuration.computeHudOcclusion=this._configuration.frontFaceMask=!1,this._techniques.precompile(i,this._configuration),t&&(this._configuration.computeHudOcclusion=!0,this._techniques.precompile(i,this._configuration)),n&&(this._configuration.frontFaceMask=!0,this._techniques.precompile(i,this._configuration),t&&(this._configuration.computeHudOcclusion=!1,this._techniques.precompile(i,this._configuration))),this._techniques.precompile(s)}blend(e,t,r,c,u,a,h){if(this._configuration.hasEmission=u,this._configuration.computeHudOcclusion=a,this._configuration.frontFaceMask=1===h,this._parameters.colorTexture=t.getTexture(),this._parameters.alphaTexture=t.getTexture(u?n:o),this._parameters.frontFaceTexture=r.getTexture(),u){if(1!==h){const i=this._techniques.get(s);e.bindTechnique(i,c,this._parameters),e.screen.draw()}this._parameters.emissionTexture=t.getTexture(o),this._parameters.emissionFrontFaceTexture=r.getTexture(o)}const m=this._techniques.get(i,this._configuration);e.bindTechnique(m,c,this._parameters),e.screen.draw()}}export{r as OITBlend};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as t}from"../../../../../chunks/OITBlend.glsl.js";import{ColorAttachment0 as i}from"../../../../webgl/enums.js";import{makePipelineState as n,defaultColorWrite as c,unpremultipliedAlphaToPremultipliedAlpha as l}from"../../../../webgl/renderState.js";let u=class extends o{constructor(){super(...arguments),this.shader=new s(t,()=>import("./OITBlend.glsl.js"))}initializePipeline(e){let r=i;const s={buffers:[r++]};return e.hasEmitters&&s.buffers.push(r++),e.computeHudOcclusion&&s.buffers.push(r++),n({blending:l,colorWrite:c,drawBuffers:s})}};u=e([r("esri.views.3d.webgl-engine.effects.transparency.OITBlendTechnique")],u);export{u as OITBlendTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../../chunks/OITBlend.glsl.js";import{ColorAttachment0 as t}from"../../../../webgl/enums.js";import{makePipelineState as n,defaultColorWrite as c,unpremultipliedAlphaToPremultipliedAlpha as l}from"../../../../webgl/renderState.js";let u=class extends o{constructor(){super(...arguments),this.shader=new s(i,()=>import("./OITBlend.glsl.js")),this.ignoreUnused=!0}initializePipeline(e){let r=t;const s={buffers:[r++]};return e.hasEmission&&s.buffers.push(r++),e.computeHudOcclusion&&s.buffers.push(r++),n({blending:l,colorWrite:c,drawBuffers:s})}};u=e([r("esri.views.3d.webgl-engine.effects.transparency.OITBlendTechnique")],u);export{u as OITBlendTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as o}from"tslib";import{parameter as t,ShaderTechniqueConfiguration as e}from"../../core/shaderTechnique/ShaderTechniqueConfiguration.js";class r extends e{constructor(){super(...arguments),this.hasEmitters=!1,this.computeHudOcclusion=!1,this.frontFaceMask=!1}}o([t()],r.prototype,"hasEmitters",void 0),o([t()],r.prototype,"computeHudOcclusion",void 0),o([t()],r.prototype,"frontFaceMask",void 0);export{r as OITBlendTechniqueConfiguration};
2
+ import{__decorate as o}from"tslib";import{parameter as s,ShaderTechniqueConfiguration as t}from"../../core/shaderTechnique/ShaderTechniqueConfiguration.js";class i extends t{constructor(){super(...arguments),this.hasEmission=!1,this.computeHudOcclusion=!1,this.frontFaceMask=!1}}o([s()],i.prototype,"hasEmission",void 0),o([s()],i.prototype,"computeHudOcclusion",void 0),o([s()],i.prototype,"frontFaceMask",void 0);export{i as OITBlendTechniqueConfiguration};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../../chunks/OITDim.glsl.js";import{DrawBufferNone as t,ColorAttachment1 as m}from"../../../../webgl/enums.js";import{makePipelineState as n,defaultColorWrite as a,modulateDestination as c}from"../../../../webgl/renderState.js";let l=class extends i{constructor(){super(...arguments),this.shader=new s(o,()=>import("./OITDim.glsl.js"))}initializePipeline(){return n({blending:c,colorWrite:a,drawBuffers:{buffers:[t,m]}})}};l=e([r("esri.views.3d.webgl-engine.effects.transparency.OITDimTechnique")],l);export{l as OITDimTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../../chunks/OITDim.glsl.js";import{DrawBufferNone as t,ColorAttachment1 as n}from"../../../../webgl/enums.js";import{makePipelineState as m,defaultColorWrite as a,modulateDestination as c}from"../../../../webgl/renderState.js";let l=class extends i{constructor(){super(...arguments),this.shader=new s(o,()=>import("./OITDim.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return m({blending:c,colorWrite:a,drawBuffers:{buffers:[t,n]}})}};l=e([r("esri.views.3d.webgl-engine.effects.transparency.OITDimTechnique")],l);export{l as OITDimTechnique};
@@ -0,0 +1,2 @@
1
+ /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
+ import{C as i}from"../../../../chunks/Compositing.glsl.js";import{CompositingTechnique as t}from"../shaders/CompositingTechnique.js";import{CompositingTechniqueConfiguration as s}from"../shaders/CompositingTechniqueConfiguration.js";import{H as e}from"../../../../chunks/HUDCompositing.glsl.js";import{HUDCompositingTechnique as o}from"../shaders/HUDCompositingTechnique.js";class n{constructor(t,o){this._rctx=t,this._techniques=o,this._configuration=new s,this._passParameters=new i,this._hudParameters=new e}precompile(i,s,e,n){this._configuration.blendEmissive=n,i&&(this._configuration.blitMode=2,this._techniques.precompile(t,this._configuration)),s&&(this._configuration.blitMode=1,this._techniques.precompile(t,this._configuration)),this._configuration.blitMode=3,this._techniques.precompile(t,this._configuration),e&&this._techniques.precompile(o)}compositeHUD(i,t){this._hudParameters.texture=t;const s=this._techniques.get(o);this._rctx.bindTechnique(s,i,this._hudParameters),this._rctx.screen.draw()}compositePreMultipliedAlpha(i,t,s=i.hasEmission){this._composite(i,t,2,s)}composite(i,t){this._composite(i,t,1,i.hasEmission)}blitDepthToLinearDepth(i,t){this._composite(i,t,3)}_composite(i,s,e,o=!1){this._configuration.blitMode=e,this._configuration.blendEmissive=o,this._passParameters.texture=s;const n=this._techniques.get(t,this._configuration);this._rctx.bindTechnique(n,i,this._passParameters),this._rctx.screen.draw()}}export{n as Compositor};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import"../../../../core/has.js";import{disposeMaybe as e,destroyMaybe as i}from"../../../../core/maybe.js";import{property as r,subclass as o}from"../../../../core/accessorSupport/decorators.js";import{multiply as s,fromTranslation as n}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as h}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as u,sub as a}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{RenderNodeOutput as c}from"../../webgl.js";import{debugFlags as f}from"../../support/debugFlags.js";import{glLayout as d}from"../../support/buffer/glUtil.js";import{newLayout as l}from"../../support/buffer/InterleavedLayout.js";import m from"../../webgl/RenderNode.js";import{Pos2Locations as _}from"./DefaultVertexBufferLayouts.js";import{VertexArrayObject as g}from"./VertexArrayObject.js";import{TaskPriority as x}from"../../../support/Scheduler.js";import{Yield as b}from"../../../support/Yield.js";import{BufferObject as v}from"../../../webgl/BufferObject.js";import{PrimitiveType as w,DataType as y,PixelType as T}from"../../../webgl/enums.js";import{makePipelineState as j,defaultColorWrite as P}from"../../../webgl/renderState.js";import{Sync as C}from"../../../webgl/Sync.js";import D from"../../../webgl/Texture.js";import{TextureDescriptor as B}from"../../../webgl/TextureDescriptor.js";import{getFormatComponents as O}from"../../../webgl/Util.js";import{fromLayout as F}from"../../../webgl/VertexAttributeLocations.js";import{VertexBuffer as M}from"../../../webgl/VertexBuffer.js";let V=class extends m{constructor(t){super(t),this.category=c.COMPOSITE,this._debugVao=null,this._debugVaoLength=0,this.readyToRun=!1,this.done=!0,this._start=!1,this._origin=p(),this._textureWidth=256,this._uploadBuffer=new Float32Array(3*this._textureWidth),this._counter=0,this._width=0,this._height=0,this._pipeline=j({colorWrite:P})}initialize(){this.addHandles(this.view.resourceController.scheduler.registerTask(x.OCCLUSION_QUERY,this)),this.produces="disabled",this.consumes.required=[this.category]}destroy(){this._program=e(this._program),this._debugProgram=e(this._debugProgram),this._debugVao=e(this._debugVao),this._sync=i(this._sync),this._pixelBuffer=e(this._pixelBuffer),this._texture=e(this._texture)}precompile(){this._ensureProgram(this.renderingContext),this._debug&&this._ensureDebugProgram(this.renderingContext)}render(t){const e=t.find(({name:t})=>t===this.category),i=this.renderingContext;if(this._debug){const t=this._ensureDebugProgram(i);i.useProgram(t),I(t,this.camera,this._origin),i.bindTexture(this._texture,1),t.setUniform1i("positionTex",1),i.bindFramebuffer(e.fbo),i.bindVAO(this._ensureDebugVao(i,this._width*this._height)),i.setDepthWriteEnabled(!1),i.setDepthTestEnabled(!1),t.setUniform4f("color",1,0,0,1),i.drawArrays(w.POINTS,0,this._counter),i.setDepthTestEnabled(!0),t.setUniform4f("color",0,1,0,1),i.drawArrays(w.POINTS,0,this._counter)}const r=this.gl,o=e.getTexture(r.DEPTH_STENCIL_ATTACHMENT),s=this.view.stage?.renderer.fboCache;if(!o||!s||this._sync||!this._start)return e;this._start=!1,this.produces=f.OCCLUSION_QUERY_DEBUG_PIXEL?this.category:"disabled";const n=s.acquire(this._width,this._height,"hud visibility",10);i.bindFramebuffer(n.fbo),i.setPipelineState(this._pipeline);const h=this._ensureProgram(i);return i.useProgram(h),I(h,this.camera,this._origin),i.bindTexture(o,0),h.setUniform1i("depthTex",0),i.bindTexture(this._texture,1),h.setUniform1i("positionTex",1),h.setUniform1i("count",this._counter),i.screen.draw(),this.pixelFormat??=6403===r.getParameter(r.IMPLEMENTATION_COLOR_READ_FORMAT)&&r.getParameter(r.IMPLEMENTATION_COLOR_READ_TYPE)===y.FLOAT?6403:6408,this._pixelBuffer??=v.createPixelPack(i,r.STREAM_READ),this._pixelBuffer.setSize(this._width*this._height*this._formatComponents*4),i.bindBuffer(this._pixelBuffer),r.readPixels(0,0,this._width,this._height,this.pixelFormat,y.FLOAT,0),i.unbindBuffer(35051),i.bindFramebuffer(null),n.release(),this._sync=new C(r),setTimeout(()=>this.readyToRun=!0,0),e}get _debug(){return!1}get _formatComponents(){return this.pixelFormat?O(this.pixelFormat):1}runTask(){if(this._sync&&this._pixelBuffer){try{if(!this._sync.poll())return b}catch(t){return this.readyToRun=!1,void(this._sync=i(this._sync))}this.readyToRun=!1,this._sync=i(this._sync),this._cpuBuffer=new Float32Array(this._width*this._height*this._formatComponents),this._pixelBuffer.getSubData(this._cpuBuffer),this.done=!0}else this.readyToRun=!1}cancel(){this._start=!1,this._sync=i(this._sync)}init(t,e){this.cancel();const i=this._textureWidth;if(this._width=i,this._height=Math.ceil(t/i),this._counter=0,this._texture?.dispose(),0===this._height)return;const r=new B(this._width,this._height);r.pixelFormat=6407,r.dataType=T.FLOAT,r.samplingMode=9728,this._texture=new D(this.renderingContext,r),this.done=!1,u(this._origin,Math.fround(e[0]),Math.fround(e[1]),Math.fround(e[2]))}addPosition(t){const e=this._width;if(this._counter>=e*this._height)return-1;const i=this._counter%e;return a(L,t,this._origin),this._uploadBuffer[3*i+0]=L[0],this._uploadBuffer[3*i+1]=L[1],this._uploadBuffer[3*i+2]=L[2],i===e-1&&this._flush(),this._counter++}start(){if(0===this._width||0===this._height)return void(this.done=!0);const t=this._width;this._counter%t>0&&this._flush(),this.produces=this.category,this._start=!0,this.requestRender(1)}getOcclusion(t){return this._cpuBuffer?.[t*this._formatComponents]??-1}get usedMemory(){return(this._texture?.usedMemory??0)+(this._pixelBuffer?.usedMemory??0)+4*(this._uploadBuffer?.length??0)+4*(this._cpuBuffer?.length??0)}_flush(){const t=this._width,e=Math.floor(this._counter/t);this._texture?.updateData(0,0,e,t,1,this._uploadBuffer)}_ensureProgram(t){return this._program??=t.programCache.acquire(R,S,_),this._program}_ensureDebugProgram(t){return this._debugProgram??=t.programCache.acquire(A,E,z),this._debugProgram}_ensureDebugVao(t,i){if(!this._debugVao||this._debugVaoLength<i){const r=new Float32Array(i);for(let t=0;t<i;t++)r[t]=t;this._debugVao=e(this._debugVao),this._debugVao=new g(t,new M(t,N,r))}return this._debugVao}};t([r()],V.prototype,"category",void 0),t([r()],V.prototype,"pixelFormat",void 0),t([r()],V.prototype,"_formatComponents",null),t([r()],V.prototype,"readyToRun",void 0),t([r()],V.prototype,"done",void 0),V=t([o("esri.views.3d.webgl-engine.lib.GPUPointOcclusionQuery")],V);const A="#version 300 es\nprecision highp float;\nprecision highp int;\n\nin highp float componentIndex;\n\nuniform highp mat4 proj;\nuniform highp mat4 view;\n\nuniform highp sampler2D positionTex;\n\nvoid main() {\n int width = textureSize(positionTex, 0).x;\n int u = int(componentIndex) % width;\n int v = int(componentIndex) / width;\n\n vec4 posWorld = vec4(texelFetch(positionTex, ivec2(u, v), 0).rgb, 1.0);\n vec4 posView = view * posWorld;\n vec4 projected = proj * posView;\n\n gl_Position = projected;\n gl_PointSize = 1.0;\n}",E="#version 300 es\nout highp vec4 fragColor;\nuniform lowp vec4 color;\nvoid main() {\n fragColor = color;\n}\n",R="#version 300 es\nprecision highp float;\nin vec2 position;\n\nvoid main() {\n gl_Position = vec4(position, 0.0, 1.0);\n}",S="#version 300 es\nprecision highp float;\nout highp vec4 fragColor;\n\nuniform highp mat4 proj;\nuniform highp mat4 view;\n\nuniform highp int count;\n\nuniform highp sampler2D depthTex;\nuniform highp sampler2D positionTex;\n\nfloat linearizeDepth(float depth) {\n float depthNdc = depth * 2.0 - 1.0;\n float c1 = proj[3][2];\n float c2 = proj[2][2];\n return -c1 / (depthNdc + c2 + 1e-7);\n}\n\nvoid main() {\n int u = int(floor(gl_FragCoord.x));\n int v = int(floor(gl_FragCoord.y));\n if (u + v * textureSize(positionTex, 0).x >= count) {\n fragColor = vec4(-1);\n return;\n }\n vec4 posWorld = vec4(texelFetch(positionTex, ivec2(u, v), 0).rgb, 1.0);\n vec4 posView = view * posWorld;\n vec4 projected = proj * posView;\n\n vec3 clipPos = projected.xyz / projected.w;\n\n if (clipPos.x < -1.0 || clipPos.x > 1.0 || clipPos.y < -1.0 || clipPos.y > 1.0) {\n fragColor = vec4(-1);\n return;\n }\n\n vec3 uvDepth = 0.5 * clipPos + vec3(0.5);\n\n float depth = texture(depthTex, uvDepth.xy).r;\n\n if (uvDepth.z <= depth) {\n fragColor = vec4(0);\n return;\n }\n\n fragColor = vec4(linearizeDepth(depth) - linearizeDepth(uvDepth.z));\n}\n";function I(t,e,i){s(U,e.viewMatrix,n(U,i)),t.setUniformMatrix4fv("view",U),t.setUniformMatrix4fv("proj",e.projectionMatrix)}const L=p(),U=h(),N=d(l().f32("componentIndex")),z=F(N);export{V as GPUPointOcclusionQuery};
2
+ import{__decorate as t}from"tslib";import"../../../../core/has.js";import{disposeMaybe as e,destroyMaybe as i}from"../../../../core/maybe.js";import{property as r,subclass as o}from"../../../../core/accessorSupport/decorators.js";import{multiply as s,fromTranslation as n}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as h}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{set as u,sub as a}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{RenderNodeOutput as c}from"../../webgl.js";import{debugFlags as f}from"../../support/debugFlags.js";import{glLayout as d}from"../../support/buffer/glUtil.js";import{newLayout as l}from"../../support/buffer/InterleavedLayout.js";import m from"../../webgl/RenderNode.js";import{Pos2Locations as _}from"./DefaultVertexBufferLayouts.js";import{VertexArrayObject as g}from"./VertexArrayObject.js";import{TaskPriority as x}from"../../../support/Scheduler.js";import{Yield as b}from"../../../support/Yield.js";import{BufferObject as v}from"../../../webgl/BufferObject.js";import{PrimitiveType as w,DataType as y,PixelType as T}from"../../../webgl/enums.js";import{makePipelineState as j,defaultColorWrite as P}from"../../../webgl/renderState.js";import{Sync as C}from"../../../webgl/Sync.js";import D from"../../../webgl/Texture.js";import{TextureDescriptor as B}from"../../../webgl/TextureDescriptor.js";import{getFormatComponents as O}from"../../../webgl/Util.js";import{fromLayout as F}from"../../../webgl/VertexAttributeLocations.js";import{VertexBuffer as M}from"../../../webgl/VertexBuffer.js";let V=class extends m{constructor(t){super(t),this.category=c.COMPOSITE,this._debugVao=null,this._debugVaoLength=0,this.readyToRun=!1,this.done=!0,this._start=!1,this._origin=p(),this._textureWidth=256,this._uploadBuffer=new Float32Array(3*this._textureWidth),this._counter=0,this._width=0,this._height=0,this._pipeline=j({colorWrite:P})}initialize(){this.addHandles(this.view.resourceController.scheduler.registerTask(x.OCCLUSION_QUERY,this)),this.produces="disabled",this.consumes.required=[this.category]}destroy(){this._debugVao=e(this._debugVao),this._sync=i(this._sync),this._pixelBuffer=e(this._pixelBuffer),this._texture=e(this._texture)}precompile(){this._ensureProgram(this.renderingContext),this._debug&&this._ensureDebugProgram(this.renderingContext)}render(t){const e=t.find(({name:t})=>t===this.category),i=this.renderingContext;if(this._debug){const t=this._ensureDebugProgram(i);i.useProgram(t),I(t,this.camera,this._origin),i.bindTexture(this._texture,1),t.setUniform1i("positionTex",1),i.bindFramebuffer(e.fbo),i.bindVAO(this._ensureDebugVao(i,this._width*this._height)),i.setDepthWriteEnabled(!1),i.setDepthTestEnabled(!1),t.setUniform4f("color",1,0,0,1),i.drawArrays(w.POINTS,0,this._counter),i.setDepthTestEnabled(!0),t.setUniform4f("color",0,1,0,1),i.drawArrays(w.POINTS,0,this._counter)}const r=this.gl,o=e.getTexture(r.DEPTH_STENCIL_ATTACHMENT),s=this.view.stage?.renderer.fboCache;if(!o||!s||this._sync||!this._start)return e;this._start=!1,this.produces=f.OCCLUSION_QUERY_DEBUG_PIXEL?this.category:"disabled";const n=s.acquire(this._width,this._height,"hud visibility",10);i.bindFramebuffer(n.fbo),i.setPipelineState(this._pipeline);const h=this._ensureProgram(i);return i.useProgram(h),I(h,this.camera,this._origin),i.bindTexture(o,0),h.setUniform1i("depthTex",0),i.bindTexture(this._texture,1),h.setUniform1i("positionTex",1),h.setUniform1i("count",this._counter),i.screen.draw(),this.pixelFormat??=6403===r.getParameter(r.IMPLEMENTATION_COLOR_READ_FORMAT)&&r.getParameter(r.IMPLEMENTATION_COLOR_READ_TYPE)===y.FLOAT?6403:6408,this._pixelBuffer??=v.createPixelPack(i,r.STREAM_READ),this._pixelBuffer.setSize(this._width*this._height*this._formatComponents*4),i.bindBuffer(this._pixelBuffer),r.readPixels(0,0,this._width,this._height,this.pixelFormat,y.FLOAT,0),i.unbindBuffer(35051),i.bindFramebuffer(null),n.release(),this._sync=new C(r),setTimeout(()=>this.readyToRun=!0,0),e}get _debug(){return!1}get _formatComponents(){return this.pixelFormat?O(this.pixelFormat):1}runTask(){if(this._sync&&this._pixelBuffer){try{if(!this._sync.poll())return b}catch(t){return this.readyToRun=!1,void(this._sync=i(this._sync))}this.readyToRun=!1,this._sync=i(this._sync),this._cpuBuffer=new Float32Array(this._width*this._height*this._formatComponents),this._pixelBuffer.getSubData(this._cpuBuffer),this.done=!0}else this.readyToRun=!1}cancel(){this._start=!1,this._sync=i(this._sync)}init(t,e){this.cancel();const i=this._textureWidth;if(this._width=i,this._height=Math.ceil(t/i),this._counter=0,this._texture?.dispose(),0===this._height)return;const r=new B(this._width,this._height);r.pixelFormat=6407,r.dataType=T.FLOAT,r.samplingMode=9728,this._texture=new D(this.renderingContext,r),this.done=!1,u(this._origin,Math.fround(e[0]),Math.fround(e[1]),Math.fround(e[2]))}addPosition(t){const e=this._width;if(this._counter>=e*this._height)return-1;const i=this._counter%e;return a(L,t,this._origin),this._uploadBuffer[3*i+0]=L[0],this._uploadBuffer[3*i+1]=L[1],this._uploadBuffer[3*i+2]=L[2],i===e-1&&this._flush(),this._counter++}start(){if(0===this._width||0===this._height)return void(this.done=!0);const t=this._width;this._counter%t>0&&this._flush(),this.produces=this.category,this._start=!0,this.requestRender(1)}getOcclusion(t){return this._cpuBuffer?.[t*this._formatComponents]??-1}get usedMemory(){return(this._texture?.usedMemory??0)+(this._pixelBuffer?.usedMemory??0)+4*(this._uploadBuffer?.length??0)+4*(this._cpuBuffer?.length??0)}_flush(){const t=this._width,e=Math.floor(this._counter/t);this._texture?.updateData(0,0,e,t,1,this._uploadBuffer)}_ensureProgram(t){return this._program??=t.programCache.get(R,S,_),this._program}_ensureDebugProgram(t){return this._debugProgram??=t.programCache.get(A,E,z),this._debugProgram}_ensureDebugVao(t,i){if(!this._debugVao||this._debugVaoLength<i){const r=new Float32Array(i);for(let t=0;t<i;t++)r[t]=t;this._debugVao=e(this._debugVao),this._debugVao=new g(t,new M(t,N,r))}return this._debugVao}};t([r()],V.prototype,"category",void 0),t([r()],V.prototype,"pixelFormat",void 0),t([r()],V.prototype,"_formatComponents",null),t([r()],V.prototype,"readyToRun",void 0),t([r()],V.prototype,"done",void 0),V=t([o("esri.views.3d.webgl-engine.lib.GPUPointOcclusionQuery")],V);const A="#version 300 es\nprecision highp float;\nprecision highp int;\n\nin highp float componentIndex;\n\nuniform highp mat4 proj;\nuniform highp mat4 view;\n\nuniform highp sampler2D positionTex;\n\nvoid main() {\n int width = textureSize(positionTex, 0).x;\n int u = int(componentIndex) % width;\n int v = int(componentIndex) / width;\n\n vec4 posWorld = vec4(texelFetch(positionTex, ivec2(u, v), 0).rgb, 1.0);\n vec4 posView = view * posWorld;\n vec4 projected = proj * posView;\n\n gl_Position = projected;\n gl_PointSize = 1.0;\n}",E="#version 300 es\nout highp vec4 fragColor;\nuniform lowp vec4 color;\nvoid main() {\n fragColor = color;\n}\n",R="#version 300 es\nprecision highp float;\nin vec2 position;\n\nvoid main() {\n gl_Position = vec4(position, 0.0, 1.0);\n}",S="#version 300 es\nprecision highp float;\nout highp vec4 fragColor;\n\nuniform highp mat4 proj;\nuniform highp mat4 view;\n\nuniform highp int count;\n\nuniform highp sampler2D depthTex;\nuniform highp sampler2D positionTex;\n\nfloat linearizeDepth(float depth) {\n float depthNdc = depth * 2.0 - 1.0;\n float c1 = proj[3][2];\n float c2 = proj[2][2];\n return -c1 / (depthNdc + c2 + 1e-7);\n}\n\nvoid main() {\n int u = int(floor(gl_FragCoord.x));\n int v = int(floor(gl_FragCoord.y));\n if (u + v * textureSize(positionTex, 0).x >= count) {\n fragColor = vec4(-1);\n return;\n }\n vec4 posWorld = vec4(texelFetch(positionTex, ivec2(u, v), 0).rgb, 1.0);\n vec4 posView = view * posWorld;\n vec4 projected = proj * posView;\n\n vec3 clipPos = projected.xyz / projected.w;\n\n if (clipPos.x < -1.0 || clipPos.x > 1.0 || clipPos.y < -1.0 || clipPos.y > 1.0) {\n fragColor = vec4(-1);\n return;\n }\n\n vec3 uvDepth = 0.5 * clipPos + vec3(0.5);\n\n float depth = texture(depthTex, uvDepth.xy).r;\n\n if (uvDepth.z <= depth) {\n fragColor = vec4(0);\n return;\n }\n\n fragColor = vec4(linearizeDepth(depth) - linearizeDepth(uvDepth.z));\n}\n";function I(t,e,i){s(U,e.viewMatrix,n(U,i)),t.setUniformMatrix4fv("view",U),t.setUniformMatrix4fv("proj",e.projectionMatrix)}const L=p(),U=h(),N=d(l().f32("componentIndex")),z=F(N);export{V as GPUPointOcclusionQuery};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/has.js";import{webglDebugEnabled as t}from"../../../webgl/checkWebGLError.js";class r{constructor(r,e,i){this._context=r,this.locations=i,this._textures=new Map,this.source=t()?e:null,e.attributeNames.forEach(t=>{i.has(t)||console.error(`Missing VertexAttributeLocation for ${t} used in shader`)}),this._glProgram=r.programCache.acquire(e.generate("vertex",!0),e.generate("fragment",!0),i),this._glProgram.stop=()=>{throw new Error("Wrapped _glProgram used directly")},this.bind=e.generateBind(this),this.bindPass=e.generateBindPass(this),this.bindDraw=e.generateBindDraw(this)}dispose(){this._glProgram.dispose()}get glName(){return this._glProgram.glName}get hasTransformFeedbackVaryings(){return this._glProgram.hasTransformFeedbackVaryings}get compiled(){return this._glProgram.compiled}setUniform1b(t,r){this._glProgram.setUniform1i(t,r?1:0)}setUniform1i(t,r){this._glProgram.setUniform1i(t,r)}setUniform1f(t,r,e){this._glProgram.setUniform1f(t,r,e)}setUniform2fv(t,r,e){this._glProgram.setUniform2fv(t,r,e)}setUniform3fv(t,r,e){this._glProgram.setUniform3fv(t,r,e)}setUniform4fv(t,r,e){this._glProgram.setUniform4fv(t,r,e)}setUniformMatrix3fv(t,r,e){this._glProgram.setUniformMatrix3fv(t,r,!1,e)}setUniformMatrix4fv(t,r,e){this._glProgram.setUniformMatrix4fv(t,r,!1,e)}setUniformMatrices4fv(t,r,e){this._glProgram.setUniformMatrices4fv(t,r,!1,e)}setUniform1fv(t,r,e){this._glProgram.setUniform1fv(t,r,e)}setUniform1iv(t,r){this._glProgram.setUniform1iv(t,r)}setUniform2iv(t,r){this._glProgram.setUniform2iv(t,r)}setUniform3iv(t,r){this._glProgram.setUniform3iv(t,r)}setUniform4iv(t,r){this._glProgram.setUniform4iv(t,r)}assertCompatibleVertexAttributeLocations(t,r){let e=t.locations;if(r){const t=new Map(e);r.forEach((r,i)=>t.set(i,e.size+r)),e=t}e.size!==this.locations.size&&console.error(`VertexAttributeLocations are incompatible: ${e}, ${this.locations}`),this.locations.forEach((t,r)=>{e.get(r)!==t&&console.error(`VertexAttributeLocations are incompatible: Program has ${r} at position ${t}, VAO has it at position ${e.get(r)}.`)})}stop(){this._textures.clear()}bindTexture(r,e){if(!e?.glName){const i=`Texture sampler ${r} in ${this._context.debugBoundTechnique} has no given Texture in ${(new Error).stack}`;t()&&console.error(i),e=this._context.emptyTexture}const i=this._ensureTextureUnit(r,e);this._context.useProgram(this),this.setUniform1i(r,i.unit),this._context.bindTexture(e,i.unit)}_ensureTextureUnit(t,r){let e=this._textures.get(t);return null==e?(e={texture:r,unit:this._textures.size},this._textures.set(t,e)):e.texture=r,e}}export{r as Program};
2
+ import"../../../../core/has.js";import{webglDebugEnabled as t}from"../../../webgl/checkWebGLError.js";class r{constructor(r,e,i){this._context=r,this.locations=i,this._textures=new Map,this.source=t()?e:null,e.attributeNames.forEach(t=>{i.has(t)||console.error(`Missing VertexAttributeLocation for ${t} used in shader`)}),this._glProgram=r.programCache.get(e.generate("vertex",!0),e.generate("fragment",!0),i),this._glProgram.stop=()=>{throw new Error("Wrapped _glProgram used directly")},this.bind=e.generateBind(this),this.bindPass=e.generateBindPass(this),this.bindDraw=e.generateBindDraw(this)}get glName(){return this._glProgram.glName}get hasTransformFeedbackVaryings(){return this._glProgram.hasTransformFeedbackVaryings}get compiled(){return this._glProgram.compiled}setUniform1b(t,r){this._glProgram.setUniform1i(t,r?1:0)}setUniform1i(t,r){this._glProgram.setUniform1i(t,r)}setUniform1f(t,r,e){this._glProgram.setUniform1f(t,r,e)}setUniform2fv(t,r,e){this._glProgram.setUniform2fv(t,r,e)}setUniform3fv(t,r,e){this._glProgram.setUniform3fv(t,r,e)}setUniform4fv(t,r,e){this._glProgram.setUniform4fv(t,r,e)}setUniformMatrix3fv(t,r,e){this._glProgram.setUniformMatrix3fv(t,r,!1,e)}setUniformMatrix4fv(t,r,e){this._glProgram.setUniformMatrix4fv(t,r,!1,e)}setUniformMatrices4fv(t,r,e){this._glProgram.setUniformMatrices4fv(t,r,!1,e)}setUniform1fv(t,r,e){this._glProgram.setUniform1fv(t,r,e)}setUniform1iv(t,r){this._glProgram.setUniform1iv(t,r)}setUniform2iv(t,r){this._glProgram.setUniform2iv(t,r)}setUniform3iv(t,r){this._glProgram.setUniform3iv(t,r)}setUniform4iv(t,r){this._glProgram.setUniform4iv(t,r)}assertCompatibleVertexAttributeLocations(t,r){let e=t.locations;if(r){const t=new Map(e);r.forEach((r,i)=>t.set(i,e.size+r)),e=t}e.size!==this.locations.size&&console.error(`VertexAttributeLocations are incompatible: ${e}, ${this.locations}`),this.locations.forEach((t,r)=>{e.get(r)!==t&&console.error(`VertexAttributeLocations are incompatible: Program has ${r} at position ${t}, VAO has it at position ${e.get(r)}.`)})}stop(){this._textures.clear()}bindTexture(r,e){if(!e?.glName){const i=`Texture sampler ${r} in ${this._context.debugBoundTechnique} has no given Texture in ${(new Error).stack}`;t()&&console.error(i),e=this._context.emptyTexture}const i=this._ensureTextureUnit(r,e);this._context.useProgram(this),this.setUniform1i(r,i.unit),this._context.bindTexture(e,i.unit)}_ensureTextureUnit(t,r){let e=this._textures.get(t);return null==e?(e={texture:r,unit:this._textures.size},this._textures.set(t,e)):e.texture=r,e}}export{r as Program};