@arcgis/core 4.34.0-next.89 → 4.34.0-next.90

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 (380) hide show
  1. package/applications/Components/featureUtils.d.ts +2 -0
  2. package/applications/Components/featureUtils.js +1 -1
  3. package/assets/esri/core/workers/RemoteClient.js +1 -1
  4. package/assets/esri/core/workers/chunks/{eada3483116a5ea8baed.js → 004c2a1a37b99a184b13.js} +1 -1
  5. package/assets/esri/core/workers/chunks/{23f54b49742098def8ae.js → 00ee2a605c30744f415a.js} +1 -1
  6. package/assets/esri/core/workers/chunks/024063fe2bbb27899094.js +1 -0
  7. package/assets/esri/core/workers/chunks/0271a2ca4e9b1e4fd284.js +1 -0
  8. package/assets/esri/core/workers/chunks/0328eaea66c1db98da1c.js +1 -0
  9. package/assets/esri/core/workers/chunks/04bac7bb3f794b33e2e4.js +1 -0
  10. package/assets/esri/core/workers/chunks/{8380a092ffc8e92ede7a.js → 05072093e0209ef5db20.js} +1 -1
  11. package/assets/esri/core/workers/chunks/{b53008c1461dd6bacc63.js → 06221ebadab32111e2c6.js} +1 -1
  12. package/assets/esri/core/workers/chunks/06aed0a5464965be8d52.js +1 -0
  13. package/assets/esri/core/workers/chunks/{67fdc8074cdcf374af9a.js → 07a7ca89ef2ca4fc090b.js} +1 -1
  14. package/assets/esri/core/workers/chunks/0810dbbf348a927392e7.js +1 -0
  15. package/assets/esri/core/workers/chunks/08374e5805fcedc1cb57.js +1 -0
  16. package/assets/esri/core/workers/chunks/0856cd281efd71bfe3c4.js +1 -0
  17. package/assets/esri/core/workers/chunks/08957e462d06c4dc8ab5.js +1 -0
  18. package/assets/esri/core/workers/chunks/0aaaf4d1c4a5d284216e.js +1 -0
  19. package/assets/esri/core/workers/chunks/{3c0990c4be06a2fd51e9.js → 0ca5060c81a1a05b8be3.js} +1 -1
  20. package/assets/esri/core/workers/chunks/0ceb68ff73e5d39e837a.js +1 -0
  21. package/assets/esri/core/workers/chunks/{998d164b3e0b99a0ff1e.js → 0e5e565df6ec71445f2e.js} +1 -1
  22. package/assets/esri/core/workers/chunks/0f4e9846d074864b39c2.js +1 -0
  23. package/assets/esri/core/workers/chunks/100a0041ee42b0b2fa32.js +1 -0
  24. package/assets/esri/core/workers/chunks/1194c2432c31def87db1.js +1 -0
  25. package/assets/esri/core/workers/chunks/{2896ada406074f754b00.js → 1214c126af0de25a4b4a.js} +1 -1
  26. package/assets/esri/core/workers/chunks/{978ffde9ebebf5c83aea.js → 14114be3afd6d292f89c.js} +1 -1
  27. package/assets/esri/core/workers/chunks/{4dd4b19c410026233999.js → 142c45ad68eecaf3fc7c.js} +1 -1
  28. package/assets/esri/core/workers/chunks/{2b2f1fcd50dea017d891.js → 147f6e7b147beaa4ed29.js} +1 -1
  29. package/assets/esri/core/workers/chunks/155dcbd957f8787a45c3.js +1 -0
  30. package/assets/esri/core/workers/chunks/{d5363e5637d37e89a25f.js → 18e9cb71fa020e93d139.js} +1 -1
  31. package/assets/esri/core/workers/chunks/19bd0b56d82446dbb7c5.js +1 -0
  32. package/assets/esri/core/workers/chunks/{96de78f9994207aa7201.js → 1bbc0dfad4cd72a1c42b.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{914eaed113dda727eb47.js → 20988e116f3723228f36.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{831a69e5a87e92830fbe.js → 21f37a4b8d1857369203.js} +1 -1
  35. package/assets/esri/core/workers/chunks/22c3a21bc9f32c429c48.js +1 -0
  36. package/assets/esri/core/workers/chunks/282c4f3484c605ce7d5e.js +1 -0
  37. package/assets/esri/core/workers/chunks/2870723d57aa7b885896.js +1 -0
  38. package/assets/esri/core/workers/chunks/28bb6896c5fd353ca5e9.js +1 -0
  39. package/assets/esri/core/workers/chunks/2b867cec6ada339f1c8f.js +1 -0
  40. package/assets/esri/core/workers/chunks/{709dc98379f4ce18a0b5.js → 31186e83fe009aa0fd36.js} +1 -1
  41. package/assets/esri/core/workers/chunks/{c779c8b98e07fa881c1d.js → 348c871657b0af621c33.js} +1 -1
  42. package/assets/esri/core/workers/chunks/35ca317490540fae437c.js +1 -0
  43. package/assets/esri/core/workers/chunks/{c5fe356fc5b8b7be0d31.js → 375f20f2e91d6a7507e8.js} +1 -1
  44. package/assets/esri/core/workers/chunks/3807d0b9b1894731174d.js +1 -0
  45. package/assets/esri/core/workers/chunks/38d874d7f815f5329420.js +1 -0
  46. package/assets/esri/core/workers/chunks/393274af1804e5b6046a.js +1 -0
  47. package/assets/esri/core/workers/chunks/3c3b1dc95f03082e4d5b.js +1 -0
  48. package/assets/esri/core/workers/chunks/3dcdbba706a8034b6ba3.js +1 -0
  49. package/assets/esri/core/workers/chunks/{834985ec601623df34a1.js → 3e11a893271caa11a881.js} +1 -1
  50. package/assets/esri/core/workers/chunks/4133ab8720e7e4afa9a6.js +1 -0
  51. package/assets/esri/core/workers/chunks/{b246ed6d86c2c8df56fb.js → 41f275401e1cde7eee20.js} +1 -1
  52. package/assets/esri/core/workers/chunks/{595593dd03bcfba795c8.js → 4660798b3b45dcb5cecb.js} +2 -2
  53. package/assets/esri/core/workers/chunks/{69ae235423f0b1bdfcb4.js → 48c8ef4170e803a564d6.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{c90830ee562b5ddc4f8b.js → 49e6219dd08cb6c27023.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{00bbd37910c70989b54d.js → 4d0e099f34639cda3a9b.js} +1 -1
  56. package/assets/esri/core/workers/chunks/4d807bfe75108438db83.js +1 -0
  57. package/assets/esri/core/workers/chunks/{d1fc2c6e95fe2572d297.js → 50d9f69d5255af4b29bb.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{300b96f0f8e34b4a5d8b.js → 56de25a6fe659a5b5c2b.js} +1 -1
  59. package/assets/esri/core/workers/chunks/57c08ccb75e3135978d1.js +1 -0
  60. package/assets/esri/core/workers/chunks/5ad1985a9e66fb2232ae.js +1 -0
  61. package/assets/esri/core/workers/chunks/{d8494617cebc68e50d35.js → 5b7a2ee44883b1fb2a5f.js} +1 -1
  62. package/assets/esri/core/workers/chunks/5caf49e679ed0c27e0bd.js +1 -0
  63. package/assets/esri/core/workers/chunks/{f5c821ca2911a5103c9a.js → 5d15ca055071d7db6de8.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{59139347495988b19061.js → 61a9ffd4cf07d8bb7a9b.js} +1 -1
  65. package/assets/esri/core/workers/chunks/61e8e159f1f336569b27.js +1 -0
  66. package/assets/esri/core/workers/chunks/{88b8f33ce1cbf8a0f855.js → 633faa9cec8988ab06af.js} +4 -4
  67. package/assets/esri/core/workers/chunks/648c91a9822bc9d6ee47.js +1 -0
  68. package/assets/esri/core/workers/chunks/6aa349e1adf844df4b5b.js +1 -0
  69. package/assets/esri/core/workers/chunks/{d2371f5034b2a32e2523.js → 6cfa0967045068ce8a8b.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{28d30be414e59eabd963.js → 70c8f69eed14d55c5cf6.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{fdc8300b6374ef2b8b3e.js → 74881340e040bfd0580f.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{8be81e1530b952c97936.js → 768ae52b4e5c3e571ef5.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{b43473e84b3f7fa2634d.js → 77e611724a499d36eacc.js} +1 -1
  74. package/assets/esri/core/workers/chunks/7f8b85de079614b9c336.js +1 -0
  75. package/assets/esri/core/workers/chunks/{9280edff80fd87860a5e.js → 80a155496deef2c02a3e.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{7db105f6b688b6da8106.js → 82ba4140e30f083fbc87.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{672c04d48aa51f16e9b7.js → 8a6052b4d163d5088e11.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{5b35b30495145bf8dd5d.js → 8ff2daef892881ff2019.js} +1 -1
  79. package/assets/esri/core/workers/chunks/9a855a10798348a21bab.js +1 -0
  80. package/assets/esri/core/workers/chunks/9bb6984f24cd5461a754.js +1 -0
  81. package/assets/esri/core/workers/chunks/9d9a639f7388a29e7c96.js +1 -0
  82. package/assets/esri/core/workers/chunks/{813efde41e90e652b7db.js → 9f2a3f37fe9b19ef1209.js} +1 -1
  83. package/assets/esri/core/workers/chunks/a1a7b0e7ca488c895cb7.js +1 -0
  84. package/assets/esri/core/workers/chunks/a6a2d4602dfeb62e0ecc.js +1 -0
  85. package/assets/esri/core/workers/chunks/{d3fd11da3a823e148957.js → ab88577987cf2fe1cb32.js} +1 -1
  86. package/assets/esri/core/workers/chunks/{a6767d75e718f2e1e714.js → ad9606164c694af0c61f.js} +1 -1
  87. package/assets/esri/core/workers/chunks/b18887a6dc86f0c8324a.js +1 -0
  88. package/assets/esri/core/workers/chunks/b240298b8b643a323d34.js +1 -0
  89. package/assets/esri/core/workers/chunks/{481c2b01e2fe92249698.js → b265472ac3f949a7f40c.js} +1 -1
  90. package/assets/esri/core/workers/chunks/b47f26d6aa9a2848a677.js +1 -0
  91. package/assets/esri/core/workers/chunks/{4094cebc4b92c52f4e27.js → b48abbf877e26ed1a4f8.js} +1 -1
  92. package/assets/esri/core/workers/chunks/b510c07dfd0d31683b08.js +1 -0
  93. package/assets/esri/core/workers/chunks/b661ea374fe38c8e29ca.js +1 -0
  94. package/assets/esri/core/workers/chunks/b8f55ee77ab6ea4c289e.js +1 -0
  95. package/assets/esri/core/workers/chunks/{ccd157ede169b93eea65.js → bb0a1be03bb9d621432c.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{fdae43a97537093e4b97.js → bdf0ab95401c6d8fbc7d.js} +1 -1
  97. package/assets/esri/core/workers/chunks/c20862fe15295a294bbd.js +1 -0
  98. package/assets/esri/core/workers/chunks/{365d63c2aed3a49918f2.js → c27783ce7ea51a5e49c5.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{ce937ff0dd1147ea297e.js → c3020747f9001ca6a6e7.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{516864fb68025acc7db6.js → c547692862df95d22818.js} +1 -1
  101. package/assets/esri/core/workers/chunks/c5c6a32a24005478c976.js +1 -0
  102. package/assets/esri/core/workers/chunks/{e4acc3c2b6d865ed1940.js → c7c76a8a1c47eb62bef1.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{58422c616a824ab49218.js → c84665db250b05e2829d.js} +1 -1
  104. package/assets/esri/core/workers/chunks/cb6a9b43406f4fbe10b2.js +1 -0
  105. package/assets/esri/core/workers/chunks/{cef9ff811221a7c3812c.js → cb90cfa35d77ab561939.js} +1 -1
  106. package/assets/esri/core/workers/chunks/ced12ad98f8f48d0dc00.js +1 -0
  107. package/assets/esri/core/workers/chunks/{bd451668c4ce9f7d7128.js → d56548a994753b08403c.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{251b7f2e295ce191eb62.js → da4163b4f9b34e83c92d.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{43fba9d6be5971ec20a9.js → e0017c6739d2532793e6.js} +1 -1
  110. package/assets/esri/core/workers/chunks/e22b400636094fc7b6c0.js +1 -0
  111. package/assets/esri/core/workers/chunks/{0296ebe8e37e30af771c.js → e2fdc4dc1ab9decd731e.js} +1 -1
  112. package/assets/esri/core/workers/chunks/e34136ad9d620cb845fd.js +1 -0
  113. package/assets/esri/core/workers/chunks/e537e1d37f3fcb14fce2.js +1 -0
  114. package/assets/esri/core/workers/chunks/e5baa30944061418cb13.js +1 -0
  115. package/assets/esri/core/workers/chunks/edef1e2254c992459c63.js +1 -0
  116. package/assets/esri/core/workers/chunks/{109149c378aa4c5f8526.js → eea9d49d55c2d1355497.js} +1 -1
  117. package/assets/esri/core/workers/chunks/{3245663da75e168bf85c.js → ef75cad6570b14a42b62.js} +1 -1
  118. package/assets/esri/core/workers/chunks/{2a2a925c45d5fd58628b.js → f3284d4e0d41efb0b4a0.js} +1 -1
  119. package/assets/esri/core/workers/chunks/f62717338075df626eda.js +1 -0
  120. package/assets/esri/core/workers/chunks/{d07d3b0e06f12aee4a8b.js → f6ce485c082d0d640b01.js} +1 -1
  121. package/assets/esri/core/workers/chunks/fb6ebb780bb59e252887.js +1 -0
  122. package/assets/esri/core/workers/chunks/{69e6000044bfb03776ac.js → fd34c033ce7f16835368.js} +1 -1
  123. package/assets/esri/core/workers/chunks/fdadf11f31384c09db9f.js +1 -0
  124. package/assets/esri/core/workers/chunks/{80bd5988180f4618fd61.js → ff6d189ba78980d40bb5.js} +1 -1
  125. package/assets/esri/libs/lyr3d/lyr3DMain.wasm +0 -0
  126. package/assets/esri/widgets/Sketch/t9n/Sketch_ar.json +1 -1
  127. package/assets/esri/widgets/Sketch/t9n/Sketch_bg.json +1 -1
  128. package/assets/esri/widgets/Sketch/t9n/Sketch_bs.json +1 -1
  129. package/assets/esri/widgets/Sketch/t9n/Sketch_ca.json +1 -1
  130. package/assets/esri/widgets/Sketch/t9n/Sketch_cs.json +1 -1
  131. package/assets/esri/widgets/Sketch/t9n/Sketch_da.json +1 -1
  132. package/assets/esri/widgets/Sketch/t9n/Sketch_de.json +1 -1
  133. package/assets/esri/widgets/Sketch/t9n/Sketch_el.json +1 -1
  134. package/assets/esri/widgets/Sketch/t9n/Sketch_es.json +1 -1
  135. package/assets/esri/widgets/Sketch/t9n/Sketch_et.json +1 -1
  136. package/assets/esri/widgets/Sketch/t9n/Sketch_fi.json +1 -1
  137. package/assets/esri/widgets/Sketch/t9n/Sketch_fr.json +1 -1
  138. package/assets/esri/widgets/Sketch/t9n/Sketch_he.json +1 -1
  139. package/assets/esri/widgets/Sketch/t9n/Sketch_hr.json +1 -1
  140. package/assets/esri/widgets/Sketch/t9n/Sketch_hu.json +1 -1
  141. package/assets/esri/widgets/Sketch/t9n/Sketch_id.json +1 -1
  142. package/assets/esri/widgets/Sketch/t9n/Sketch_it.json +1 -1
  143. package/assets/esri/widgets/Sketch/t9n/Sketch_ja.json +1 -1
  144. package/assets/esri/widgets/Sketch/t9n/Sketch_ko.json +1 -1
  145. package/assets/esri/widgets/Sketch/t9n/Sketch_lt.json +1 -1
  146. package/assets/esri/widgets/Sketch/t9n/Sketch_lv.json +1 -1
  147. package/assets/esri/widgets/Sketch/t9n/Sketch_nl.json +1 -1
  148. package/assets/esri/widgets/Sketch/t9n/Sketch_no.json +1 -1
  149. package/assets/esri/widgets/Sketch/t9n/Sketch_pl.json +1 -1
  150. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-BR.json +1 -1
  151. package/assets/esri/widgets/Sketch/t9n/Sketch_pt-PT.json +1 -1
  152. package/assets/esri/widgets/Sketch/t9n/Sketch_ro.json +1 -1
  153. package/assets/esri/widgets/Sketch/t9n/Sketch_ru.json +1 -1
  154. package/assets/esri/widgets/Sketch/t9n/Sketch_sk.json +1 -1
  155. package/assets/esri/widgets/Sketch/t9n/Sketch_sl.json +1 -1
  156. package/assets/esri/widgets/Sketch/t9n/Sketch_sr.json +1 -1
  157. package/assets/esri/widgets/Sketch/t9n/Sketch_sv.json +1 -1
  158. package/assets/esri/widgets/Sketch/t9n/Sketch_th.json +1 -1
  159. package/assets/esri/widgets/Sketch/t9n/Sketch_tr.json +1 -1
  160. package/assets/esri/widgets/Sketch/t9n/Sketch_uk.json +1 -1
  161. package/assets/esri/widgets/Sketch/t9n/Sketch_vi.json +1 -1
  162. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-CN.json +1 -1
  163. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-HK.json +1 -1
  164. package/assets/esri/widgets/Sketch/t9n/Sketch_zh-TW.json +1 -1
  165. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_ar.json +1 -1
  166. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_bg.json +1 -1
  167. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_bs.json +1 -1
  168. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_ca.json +1 -1
  169. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_cs.json +1 -1
  170. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_da.json +1 -1
  171. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_de.json +1 -1
  172. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_el.json +1 -1
  173. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_es.json +1 -1
  174. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_et.json +1 -1
  175. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_fi.json +1 -1
  176. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_fr.json +1 -1
  177. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_he.json +1 -1
  178. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_hr.json +1 -1
  179. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_hu.json +1 -1
  180. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_id.json +1 -1
  181. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_it.json +1 -1
  182. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_ja.json +1 -1
  183. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_ko.json +1 -1
  184. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_lt.json +1 -1
  185. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_lv.json +1 -1
  186. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_nl.json +1 -1
  187. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_no.json +1 -1
  188. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_pl.json +1 -1
  189. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_pt-BR.json +1 -1
  190. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_pt-PT.json +1 -1
  191. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_ro.json +1 -1
  192. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_ru.json +1 -1
  193. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_sk.json +1 -1
  194. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_sl.json +1 -1
  195. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_sr.json +1 -1
  196. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_sv.json +1 -1
  197. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_th.json +1 -1
  198. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_tr.json +1 -1
  199. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_uk.json +1 -1
  200. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_vi.json +1 -1
  201. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_zh-CN.json +1 -1
  202. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_zh-HK.json +1 -1
  203. package/assets/esri/widgets/support/SelectionToolbar/t9n/SelectionToolbar_zh-TW.json +1 -1
  204. package/chunks/Bufferer-Dw9Qi4T1.js +1 -1
  205. package/chunks/Distance2DCalculator-CXhBP-8I.js +1 -1
  206. package/chunks/GaussianSplat.glsl.js +2 -2
  207. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
  208. package/chunks/GeodeticUtils.js +1 -1
  209. package/chunks/GlowBlur.glsl.js +5 -5
  210. package/chunks/MultiPathImpl.js +1 -1
  211. package/chunks/OITBlend.glsl.js +9 -7
  212. package/chunks/OperatorCrosses.js +1 -1
  213. package/chunks/OperatorCut.js +1 -1
  214. package/chunks/OperatorGeodesicBuffer.js +1 -1
  215. package/chunks/OperatorGeodeticArea.js +1 -1
  216. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  217. package/chunks/OperatorGeodeticLength.js +1 -1
  218. package/chunks/OperatorIntersects.js +1 -1
  219. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  220. package/chunks/OperatorOverlaps.js +1 -1
  221. package/chunks/OperatorProximity.js +1 -1
  222. package/chunks/OperatorProximityGeodesic.js +1 -1
  223. package/chunks/OperatorShapePreservingLength.js +1 -1
  224. package/chunks/OperatorShapePreservingProject.js +1 -1
  225. package/chunks/OperatorSimplifyOGC.js +1 -1
  226. package/chunks/OperatorTouches.js +1 -1
  227. package/chunks/OperatorWithin.js +1 -1
  228. package/chunks/Point2D.js +1 -1
  229. package/chunks/ProjectionTransformation.js +1 -1
  230. package/chunks/SideCalculator2D-BNwb5gvz.js +1 -1
  231. package/chunks/UnitFactory.js +1 -1
  232. package/chunks/containsOperator.js +1 -1
  233. package/chunks/disjointOperator.js +1 -1
  234. package/chunks/equalsOperator.js +1 -1
  235. package/chunks/relateOperator.js +1 -1
  236. package/config.js +1 -1
  237. package/geohash/geohashUtils.js +1 -1
  238. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  239. package/geometry/operators/gx/operatorBuffer.js +1 -1
  240. package/geometry/operators/gx/operatorDifference.js +1 -1
  241. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  242. package/geometry/operators/gx/operatorIntegrate.js +1 -1
  243. package/geometry/operators/gx/operatorIntersection.js +1 -1
  244. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  245. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  246. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  247. package/geometry/operators/gx/operatorSimplify.js +1 -1
  248. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  249. package/geometry/operators/gx/operatorUnion.js +1 -1
  250. package/geometry/operators/json/containsOperator.js +1 -1
  251. package/geometry/operators/json/disjointOperator.js +1 -1
  252. package/geometry/operators/json/projectOperator.js +5 -0
  253. package/geometry/operators/projectOperator.js +1 -1
  254. package/geometry/operators/reshapeOperator.js +1 -1
  255. package/geometry/operators/shapePreservingProjectOperator.js +1 -1
  256. package/geometry/operators/support/geographicTransformationUtils.js +1 -1
  257. package/geometry/operators/support/initNoPeFactory.js +1 -1
  258. package/geometry/operators/support/jsonConverter.js +1 -1
  259. package/geometry/operators/support/projectionTransformation.js +5 -0
  260. package/geometry/projectionUtils.js +1 -1
  261. package/geometry/support/GeographicTransformation.js +1 -1
  262. package/geometry/support/GeographicTransformationStep.js +1 -1
  263. package/interfaces.d.ts +359 -0
  264. package/intl/date.js +1 -1
  265. package/kernel.js +1 -1
  266. package/layers/graphics/data/QueryEngine.js +1 -1
  267. package/layers/graphics/data/projectionSupport.js +1 -1
  268. package/layers/graphics/data/queryUtils.js +1 -1
  269. package/layers/graphics/sources/support/CSVSourceWorker.js +1 -1
  270. package/layers/support/DateTimeFieldFormat.d.ts +4 -0
  271. package/layers/support/FieldConfiguration.d.ts +4 -0
  272. package/layers/support/NumberFieldFormat.d.ts +4 -0
  273. package/layers/support/vectorTileLayerLoader.js +1 -1
  274. package/package.json +2 -2
  275. package/support/revision.js +1 -1
  276. package/views/2d/engine/flow/dataUtils.js +1 -1
  277. package/views/2d/engine/flow/utils.js +1 -1
  278. package/views/2d/layers/MediaLayerView2D.js +1 -1
  279. package/views/2d/layers/TileLayerView2D.js +1 -1
  280. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementError.d.ts +4 -0
  281. package/views/3d/{support/flow/VisualQuery3D.js → analysis/VolumeMeasurement/VolumeMeasurementError.js} +1 -1
  282. package/views/3d/analysis/VolumeMeasurementAnalysisView3D.js +1 -1
  283. package/views/3d/layers/FlowSubView3D.js +1 -1
  284. package/views/3d/state/ViewState.js +1 -1
  285. package/views/3d/state/controllers/SurfaceCollisionCorrectionController.js +1 -1
  286. package/views/3d/support/DisplayQualityProfile.js +1 -1
  287. package/views/3d/support/QualitySettings.js +1 -1
  288. package/views/3d/support/flow/FlowQuery3D.js +5 -0
  289. package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
  290. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  291. package/views/3d/support/flow/FlowWorker.js +1 -1
  292. package/views/3d/support/flow/StreamlineResources3D.js +1 -1
  293. package/views/3d/support/flow/geometryUtils.js +1 -1
  294. package/views/3d/support/flow/loadUtils.js +1 -1
  295. package/views/3d/support/pointsOfInterest/StableSurfaceCenter.js +1 -1
  296. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +2 -2
  297. package/views/3d/webgl-engine/effects/glow/GlowRenderNode.js +1 -1
  298. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  299. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  300. package/views/3d/webgl-engine/effects/transparency/OITBlendTechniqueConfiguration.js +1 -1
  301. package/views/3d/webgl-engine/lib/CutFillColor.js +1 -1
  302. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  303. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  304. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  305. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  306. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  307. package/views/3d/webgl-engine/shaders/GaussianSplatTechniqueConfiguration.js +1 -1
  308. package/views/VideoView.js +1 -1
  309. package/views/webgl/enums.js +1 -1
  310. package/views/webgl/renderState.js +1 -1
  311. package/webmap/utils.js +1 -1
  312. package/widgets/Editor/Upload.js +1 -1
  313. package/widgets/FeatureTable/FieldColumn.js +1 -1
  314. package/widgets/FeatureTable/support/tableUtils.js +1 -1
  315. package/widgets/OrientedImageryViewer.js +1 -1
  316. package/assets/esri/core/workers/chunks/0103b70126bc5dffc55e.js +0 -1
  317. package/assets/esri/core/workers/chunks/03ef19f0753d68770444.js +0 -1
  318. package/assets/esri/core/workers/chunks/050429f516149ce3b517.js +0 -1
  319. package/assets/esri/core/workers/chunks/09f1a27442bdd52cdeb7.js +0 -1
  320. package/assets/esri/core/workers/chunks/0fadd1defbb6743dacdc.js +0 -1
  321. package/assets/esri/core/workers/chunks/124f8757ea18bfd158ec.js +0 -1
  322. package/assets/esri/core/workers/chunks/135142f3cbfaf24949bc.js +0 -1
  323. package/assets/esri/core/workers/chunks/138c11b5eca621e51396.js +0 -1
  324. package/assets/esri/core/workers/chunks/14743a962e661babe0a4.js +0 -1
  325. package/assets/esri/core/workers/chunks/1bf17c6548ac4cd5a166.js +0 -1
  326. package/assets/esri/core/workers/chunks/1d9212a70df68a508dca.js +0 -1
  327. package/assets/esri/core/workers/chunks/213e82a7e3fa5b253ec1.js +0 -1
  328. package/assets/esri/core/workers/chunks/3b23c37e5bc552dc81d4.js +0 -1
  329. package/assets/esri/core/workers/chunks/3d68a650a1f944ec5171.js +0 -1
  330. package/assets/esri/core/workers/chunks/451555af283b32a10fef.js +0 -1
  331. package/assets/esri/core/workers/chunks/48913b944c28343816ac.js +0 -1
  332. package/assets/esri/core/workers/chunks/4e6e8dda6c12f6fbed8e.js +0 -1
  333. package/assets/esri/core/workers/chunks/4e77b9cc1d9437bcbb0c.js +0 -1
  334. package/assets/esri/core/workers/chunks/5019f1b8186a65a0313b.js +0 -1
  335. package/assets/esri/core/workers/chunks/547af4ffbeeccba9d187.js +0 -1
  336. package/assets/esri/core/workers/chunks/589a0e244ef5f1b84ab6.js +0 -1
  337. package/assets/esri/core/workers/chunks/59e27818cb68f0285d54.js +0 -1
  338. package/assets/esri/core/workers/chunks/5e1d6704ee0aa41b1d06.js +0 -1
  339. package/assets/esri/core/workers/chunks/6b0baecbd35d26393dcf.js +0 -1
  340. package/assets/esri/core/workers/chunks/6dafb2b95bae552c1cc2.js +0 -1
  341. package/assets/esri/core/workers/chunks/71df48968d6cdc736458.js +0 -1
  342. package/assets/esri/core/workers/chunks/773d106f60f7dad1493d.js +0 -1
  343. package/assets/esri/core/workers/chunks/79c4f10da8360ee60cd2.js +0 -1
  344. package/assets/esri/core/workers/chunks/7aa7aff6d42be7c2d1d2.js +0 -1
  345. package/assets/esri/core/workers/chunks/82404ff7c298493ff6f4.js +0 -1
  346. package/assets/esri/core/workers/chunks/84a556dafd583635ad5e.js +0 -1
  347. package/assets/esri/core/workers/chunks/885a398de8a33d36c59e.js +0 -1
  348. package/assets/esri/core/workers/chunks/8bd6c27a93a697a7fa3d.js +0 -1
  349. package/assets/esri/core/workers/chunks/8be9fa12e854a83062c3.js +0 -1
  350. package/assets/esri/core/workers/chunks/9386a0ebff78b6303ed2.js +0 -1
  351. package/assets/esri/core/workers/chunks/9673e25114fc1897460d.js +0 -1
  352. package/assets/esri/core/workers/chunks/96a14689815bec741308.js +0 -1
  353. package/assets/esri/core/workers/chunks/977582cb3c8f17a2cb4c.js +0 -1
  354. package/assets/esri/core/workers/chunks/97d71459ad72b4b780a3.js +0 -1
  355. package/assets/esri/core/workers/chunks/a1abe9865d66789bd5af.js +0 -1
  356. package/assets/esri/core/workers/chunks/a7ea2e3895046e566bc6.js +0 -1
  357. package/assets/esri/core/workers/chunks/a96e58ed9a4a2329ee53.js +0 -1
  358. package/assets/esri/core/workers/chunks/aa778e5d7db40d9b9b4a.js +0 -1
  359. package/assets/esri/core/workers/chunks/acb49f3d2b783e81a215.js +0 -1
  360. package/assets/esri/core/workers/chunks/b0a03b6edbcf6e933431.js +0 -1
  361. package/assets/esri/core/workers/chunks/bc83bcfe123525d21884.js +0 -1
  362. package/assets/esri/core/workers/chunks/bd028badc07270eda3d0.js +0 -1
  363. package/assets/esri/core/workers/chunks/be8dd8e68c8805300ad1.js +0 -1
  364. package/assets/esri/core/workers/chunks/c1d75c48558ed23c5b2b.js +0 -1
  365. package/assets/esri/core/workers/chunks/c24214666d10cb648428.js +0 -1
  366. package/assets/esri/core/workers/chunks/c3010d783506f8410f99.js +0 -1
  367. package/assets/esri/core/workers/chunks/d0296368ae143de4d5ce.js +0 -1
  368. package/assets/esri/core/workers/chunks/d51aabb9b950f49df183.js +0 -1
  369. package/assets/esri/core/workers/chunks/d8a0eb143b2079d7b6b7.js +0 -1
  370. package/assets/esri/core/workers/chunks/dca2b487152cde45fb65.js +0 -1
  371. package/assets/esri/core/workers/chunks/e760b8ca64d67c04d98a.js +0 -1
  372. package/assets/esri/core/workers/chunks/ee78a38a0cacb19b2fd4.js +0 -1
  373. package/assets/esri/core/workers/chunks/f5710ced8d38f9a90fc5.js +0 -1
  374. package/assets/esri/core/workers/chunks/f592c4e5e1746d4619db.js +0 -1
  375. package/assets/esri/core/workers/chunks/f8d2c52cc51d5f1bbce2.js +0 -1
  376. package/assets/esri/core/workers/chunks/f9decc88561c03aca3c9.js +0 -1
  377. package/assets/esri/core/workers/chunks/fd1fdb97a294a1b7041d.js +0 -1
  378. package/assets/esri/core/workers/chunks/ffee8cc83d703c1dc0c0.js +0 -1
  379. package/chunks/CompositeGeographicTransformation.js +0 -5
  380. package/chunks/GeographicTransformation.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../../core/has.js";import{Milliseconds as e}from"../../../core/time.js";class a{static isValidProfile(e){return e in l}static getDefaultProfile(){return has("esri-iPhone")?"low":"medium"}static apply(e,a){const i=l[e];a.graphics3D.maxTotalNumberOfFeatures=i.graphics3D.maxTotalNumberOfFeatures,a.graphics3D.maxNumberOfDrawCalls=i.graphics3D.maxNumberOfDrawCalls,a.graphics3D.maxTotalNumberOfVertices=i.graphics3D.maxTotalNumberOfVertices,a.graphics3D.polygonLodFactor=i.graphics3D.polygonLodFactor,a.graphics3D.polylineLodFactor=i.graphics3D.polylineLodFactor,a.graphics3D.snapshotAvailable=i.graphics3D.snapshotAvailable,a.graphics3D.skipHighSymbolLods=i.graphics3D.skipHighSymbolLods;const t=a.sceneService.object,o=i.sceneService.object;t.lodFactor=o.lodFactor,a.sceneService.point.lodFactor=i.sceneService.point.lodFactor,a.sceneService.integratedMesh.lodFactor=i.sceneService.integratedMesh.lodFactor,a.sceneService.pointCloud.lodFactor=i.sceneService.pointCloud.lodFactor,a.tiledSurface.lodBias=i.tiledSurface.lodBias,a.tiledSurface.angledSplitBias=i.tiledSurface.angledSplitBias,a.tiledSurface.vtlContentZoom=i.tiledSurface.vtlContentZoom,a.tiledSurface.elevationLevelDelta=i.tiledSurface.elevationLevelDelta,a.tiledSurface.reduceTileLevelDifferences=i.tiledSurface.reduceTileLevelDifferences,a.gaussianSplat.minimumSplatPixelRadius=i.gaussianSplat.minimumSplatPixelRadius,a.gaussianSplat.minimumOpacity=i.gaussianSplat.minimumOpacity,a.gaussianSplat.maxAllowedVisibleGaussians=i.gaussianSplat.maxAllowedVisibleGaussians,a.heatmap.pixelRatio=i.heatmap.pixelRatio,a.heatmap.maxTotalNumberOfFeatures=i.heatmap.maxTotalNumberOfFeatures,a.fadeDuration=i.fadeDuration,a.antialiasingEnabled=i.antialiasingEnabled,a.physicallyBasedRenderingEnabled=i.physicalBasedRenderingEnabled,a.highQualityTransparency=i.highQualityTransparency,a.highResolutionAtmosphere=i.highResolutionAtmosphere,a.reflections=i.reflections,a.ambientOcclusion=i.ambientOcclusion,a.maxTexturePixels=i.maxTexturePixels,a.memoryLimit=i.memoryLimit,a.additionalCacheMemory=i.additionalCacheMemory,a.frameRate=i.frameRate,a.maximumPixelRatio=i.maximumPixelRatio}static{this.test={reset(){const e=t();for(const a of Object.keys(e))l[a]=e[a]}}}}const i={IPhone12Pro:120,GalaxyS20:200,FullHD:240,SurfacePro7:300,FullHDRetina:430},l=t();function t(){const a=!!has("esri-mobile"),l=!!has("ios"),t=e(400);return{low:{graphics3D:{maxTotalNumberOfFeatures:25e3,maxNumberOfDrawCalls:8e3,maxTotalNumberOfVertices:255e4,polygonLodFactor:.5,polylineLodFactor:1,snapshotAvailable:!1,skipHighSymbolLods:!0},heatmap:{pixelRatio:.125,maxTotalNumberOfFeatures:5e4},sceneService:{object:{lodFactor:.2},point:{lodFactor:1},integratedMesh:{lodFactor:.6},pointCloud:{lodFactor:.5}},gaussianSplat:{minimumSplatPixelRadius:3,minimumOpacity:.1,maxAllowedVisibleGaussians:4e6},tiledSurface:{lodBias:-1,angledSplitBias:.5,vtlContentZoom:.75,elevationLevelDelta:3,reduceTileLevelDifferences:!0},fadeDuration:e(0),antialiasingEnabled:!1,physicalBasedRenderingEnabled:!1,highQualityTransparency:!1,highResolutionAtmosphere:!1,reflections:!1,ambientOcclusion:!1,maxTexturePixels:a?1048576:4194304,memoryLimit:200+i.IPhone12Pro,additionalCacheMemory:0,frameRate:0,maximumPixelRatio:1},medium:{graphics3D:{maxTotalNumberOfFeatures:1e5,maxNumberOfDrawCalls:17e3,maxTotalNumberOfVertices:625e4,polygonLodFactor:a?.8:1,polylineLodFactor:a?1.2:1.5,snapshotAvailable:!l,skipHighSymbolLods:!1},heatmap:{pixelRatio:.25,maxTotalNumberOfFeatures:13e4},sceneService:{object:{lodFactor:1},point:{lodFactor:1},integratedMesh:{lodFactor:1},pointCloud:{lodFactor:1}},gaussianSplat:{minimumSplatPixelRadius:2,minimumOpacity:.05,maxAllowedVisibleGaussians:8e6},tiledSurface:{lodBias:0,angledSplitBias:1,vtlContentZoom:1.5,elevationLevelDelta:3,reduceTileLevelDifferences:!has("disable-feature:reduce-map-tile-levels")},fadeDuration:t,antialiasingEnabled:!1,physicalBasedRenderingEnabled:!0,highQualityTransparency:!0,highResolutionAtmosphere:!1,reflections:!1,ambientOcclusion:!1,maxTexturePixels:a?4194304:4096**2,memoryLimit:a?600+i.GalaxyS20:750+i.FullHD,additionalCacheMemory:a?-100:150,frameRate:0,maximumPixelRatio:1},high:{graphics3D:{maxTotalNumberOfFeatures:1e5,maxNumberOfDrawCalls:17e3,maxTotalNumberOfVertices:125e5,polygonLodFactor:a?1.2:2,polylineLodFactor:a?1.2:2,snapshotAvailable:!l,skipHighSymbolLods:!1},heatmap:{pixelRatio:.5,maxTotalNumberOfFeatures:23e4},sceneService:{object:{lodFactor:1},point:{lodFactor:1},integratedMesh:{lodFactor:1},pointCloud:{lodFactor:1}},gaussianSplat:{minimumSplatPixelRadius:.5,minimumOpacity:.005,maxAllowedVisibleGaussians:16e6},tiledSurface:{lodBias:0,angledSplitBias:1,vtlContentZoom:1.5,elevationLevelDelta:2,reduceTileLevelDifferences:!has("disable-feature:reduce-map-tile-levels")},fadeDuration:t,antialiasingEnabled:!0,physicalBasedRenderingEnabled:!0,highQualityTransparency:!0,highResolutionAtmosphere:!0,reflections:!0,ambientOcclusion:!0,maxTexturePixels:a?4096**2:1/0,memoryLimit:a?900+i.SurfacePro7:1500+i.FullHDRetina,additionalCacheMemory:a?-150:0,frameRate:0,maximumPixelRatio:a?1:1/0}}}export{a as default};
5
+ import has from"../../../core/has.js";import{Milliseconds as e}from"../../../core/time.js";class a{static isValidProfile(e){return e in l}static getDefaultProfile(){return has("esri-iPhone")?"low":"medium"}static apply(e,a){const i=l[e];a.graphics3D.maxTotalNumberOfFeatures=i.graphics3D.maxTotalNumberOfFeatures,a.graphics3D.maxNumberOfDrawCalls=i.graphics3D.maxNumberOfDrawCalls,a.graphics3D.maxTotalNumberOfVertices=i.graphics3D.maxTotalNumberOfVertices,a.graphics3D.polygonLodFactor=i.graphics3D.polygonLodFactor,a.graphics3D.polylineLodFactor=i.graphics3D.polylineLodFactor,a.graphics3D.snapshotAvailable=i.graphics3D.snapshotAvailable,a.graphics3D.skipHighSymbolLods=i.graphics3D.skipHighSymbolLods;const t=a.sceneService.object,o=i.sceneService.object;t.lodFactor=o.lodFactor,a.sceneService.point.lodFactor=i.sceneService.point.lodFactor,a.sceneService.integratedMesh.lodFactor=i.sceneService.integratedMesh.lodFactor,a.sceneService.pointCloud.lodFactor=i.sceneService.pointCloud.lodFactor,a.tiledSurface.lodBias=i.tiledSurface.lodBias,a.tiledSurface.angledSplitBias=i.tiledSurface.angledSplitBias,a.tiledSurface.vtlContentZoom=i.tiledSurface.vtlContentZoom,a.tiledSurface.elevationLevelDelta=i.tiledSurface.elevationLevelDelta,a.tiledSurface.reduceTileLevelDifferences=i.tiledSurface.reduceTileLevelDifferences,a.gaussianSplat.minimumSplatPixelRadius=i.gaussianSplat.minimumSplatPixelRadius,a.gaussianSplat.minimumOpacity=i.gaussianSplat.minimumOpacity,a.gaussianSplat.maxAllowedVisibleGaussians=i.gaussianSplat.maxAllowedVisibleGaussians,a.heatmap.pixelRatio=i.heatmap.pixelRatio,a.heatmap.maxTotalNumberOfFeatures=i.heatmap.maxTotalNumberOfFeatures,a.fadeDuration=i.fadeDuration,a.antialiasingEnabled=i.antialiasingEnabled,a.physicallyBasedRenderingEnabled=i.physicalBasedRenderingEnabled,a.highQualityTransparency=i.highQualityTransparency,a.highResolutionAtmosphere=i.highResolutionAtmosphere,a.reflections=i.reflections,a.ambientOcclusion=i.ambientOcclusion,a.maxTexturePixels=i.maxTexturePixels,a.memoryLimit=i.memoryLimit,a.additionalCacheMemory=i.additionalCacheMemory,a.frameRate=i.frameRate,a.maximumPixelRatio=i.maximumPixelRatio}static{this.test={reset(){const e=t();for(const a of Object.keys(e))l[a]=e[a]}}}}const i={IPhone12Pro:120,GalaxyS20:200,FullHD:240,SurfacePro7:300,FullHDRetina:430},l=t();function t(){const a=!!has("esri-mobile"),l=!!has("ios"),t=e(400);return{low:{graphics3D:{maxTotalNumberOfFeatures:25e3,maxNumberOfDrawCalls:8e3,maxTotalNumberOfVertices:255e4,polygonLodFactor:.5,polylineLodFactor:1,snapshotAvailable:!1,skipHighSymbolLods:!0},heatmap:{pixelRatio:.125,maxTotalNumberOfFeatures:5e4},sceneService:{object:{lodFactor:.2},point:{lodFactor:1},integratedMesh:{lodFactor:.6},pointCloud:{lodFactor:.5}},gaussianSplat:{minimumSplatPixelRadius:2,minimumOpacity:.1,maxAllowedVisibleGaussians:4e6},tiledSurface:{lodBias:-1,angledSplitBias:.5,vtlContentZoom:.75,elevationLevelDelta:3,reduceTileLevelDifferences:!0},fadeDuration:e(0),antialiasingEnabled:!1,physicalBasedRenderingEnabled:!1,highQualityTransparency:!1,highResolutionAtmosphere:!1,reflections:!1,ambientOcclusion:!1,maxTexturePixels:a?1048576:4194304,memoryLimit:200+i.IPhone12Pro,additionalCacheMemory:0,frameRate:0,maximumPixelRatio:1},medium:{graphics3D:{maxTotalNumberOfFeatures:1e5,maxNumberOfDrawCalls:17e3,maxTotalNumberOfVertices:625e4,polygonLodFactor:a?.8:1,polylineLodFactor:a?1.2:1.5,snapshotAvailable:!l,skipHighSymbolLods:!1},heatmap:{pixelRatio:.25,maxTotalNumberOfFeatures:13e4},sceneService:{object:{lodFactor:1},point:{lodFactor:1},integratedMesh:{lodFactor:1},pointCloud:{lodFactor:1}},gaussianSplat:{minimumSplatPixelRadius:1,minimumOpacity:.05,maxAllowedVisibleGaussians:8e6},tiledSurface:{lodBias:0,angledSplitBias:1,vtlContentZoom:1.5,elevationLevelDelta:3,reduceTileLevelDifferences:!has("disable-feature:reduce-map-tile-levels")},fadeDuration:t,antialiasingEnabled:!1,physicalBasedRenderingEnabled:!0,highQualityTransparency:!0,highResolutionAtmosphere:!1,reflections:!1,ambientOcclusion:!1,maxTexturePixels:a?4194304:4096**2,memoryLimit:a?600+i.GalaxyS20:750+i.FullHD,additionalCacheMemory:a?-100:150,frameRate:0,maximumPixelRatio:1},high:{graphics3D:{maxTotalNumberOfFeatures:1e5,maxNumberOfDrawCalls:17e3,maxTotalNumberOfVertices:125e5,polygonLodFactor:a?1.2:2,polylineLodFactor:a?1.2:2,snapshotAvailable:!l,skipHighSymbolLods:!1},heatmap:{pixelRatio:.5,maxTotalNumberOfFeatures:23e4},sceneService:{object:{lodFactor:1},point:{lodFactor:1},integratedMesh:{lodFactor:1},pointCloud:{lodFactor:1}},gaussianSplat:{minimumSplatPixelRadius:.5,minimumOpacity:.005,maxAllowedVisibleGaussians:16e6},tiledSurface:{lodBias:0,angledSplitBias:1,vtlContentZoom:1.5,elevationLevelDelta:2,reduceTileLevelDifferences:!has("disable-feature:reduce-map-tile-levels")},fadeDuration:t,antialiasingEnabled:!0,physicalBasedRenderingEnabled:!0,highQualityTransparency:!0,highResolutionAtmosphere:!0,reflections:!0,ambientOcclusion:!0,maxTexturePixels:a?4096**2:1/0,memoryLimit:a?900+i.SurfacePro7:1500+i.FullHDRetina,additionalCacheMemory:a?-150:0,frameRate:0,maximumPixelRatio:a?1:1/0}}}export{a as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import e from"../../../core/Accessor.js";import{Milliseconds as o}from"../../../core/time.js";import{property as i}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";let r=class extends e{constructor(){super(...arguments),this.minTotalNumberOfFeatures=2e3,this.maxTotalNumberOfFeatures=5e4,this.maxNumberOfDrawCalls=17e3,this.maxTotalNumberOfVertices=17e5,this.snapshotAvailable=!0,this.polygonLodFactor=1,this.polylineLodFactor=1,this.skipHighSymbolLods=!1}};t([i()],r.prototype,"minTotalNumberOfFeatures",void 0),t([i()],r.prototype,"maxTotalNumberOfFeatures",void 0),t([i()],r.prototype,"maxNumberOfDrawCalls",void 0),t([i()],r.prototype,"maxTotalNumberOfVertices",void 0),t([i()],r.prototype,"snapshotAvailable",void 0),t([i()],r.prototype,"polygonLodFactor",void 0),t([i()],r.prototype,"polylineLodFactor",void 0),t([i()],r.prototype,"skipHighSymbolLods",void 0),r=t([s("esri.views.3d.support.QualitySettings.Graphics3DSettings")],r);let p=class{constructor(){this.minimumSplatPixelRadius=2,this.minimumOpacity=.05,this.maxAllowedVisibleGaussians=1/0}};t([i()],p.prototype,"minimumSplatPixelRadius",void 0),t([i()],p.prototype,"minimumOpacity",void 0),t([i()],p.prototype,"maxAllowedVisibleGaussians",void 0),p=t([s("esri.views.3d.support.QualitySettings.GaussianSplatSettings")],p);let a=class extends e{constructor(){super(...arguments),this.lodFactor=1}};t([i()],a.prototype,"lodFactor",void 0),a=t([s("esri.views.3d.support.QualitySettings.LoDFactorSettings")],a);let l=class extends e{constructor(){super(...arguments),this.object=new a,this.point=new a,this.integratedMesh=new a,this.pointCloud=new a}};t([i({type:a})],l.prototype,"object",void 0),t([i({type:a})],l.prototype,"point",void 0),t([i({type:a})],l.prototype,"integratedMesh",void 0),t([i({type:a})],l.prototype,"pointCloud",void 0),l=t([s("esri.views.3d.support.QualitySettings.SceneServiceSettings")],l);let n=class extends e{constructor(){super(...arguments),this.lodBias=0,this.angledSplitBias=1,this.vtlContentZoom=1,this.elevationLevelDelta=3,this.reduceTileLevelDifferences=!0}};t([i()],n.prototype,"lodBias",void 0),t([i()],n.prototype,"angledSplitBias",void 0),t([i()],n.prototype,"vtlContentZoom",void 0),t([i()],n.prototype,"elevationLevelDelta",void 0),t([i()],n.prototype,"reduceTileLevelDifferences",void 0),n=t([s("esri.views.3d.support.QualitySettings.TiledSurfaceSettings")],n);let d=class extends e{constructor(){super(...arguments),this.pixelRatio=1,this.maxTotalNumberOfFeatures=5e4}};t([i()],d.prototype,"pixelRatio",void 0),t([i()],d.prototype,"maxTotalNumberOfFeatures",void 0),d=t([s("esri.views.3d.support.QualitySettings.HeatmapSettings")],d);let c=class extends e{constructor(){super(...arguments),this.graphics3D=new r,this.sceneService=new l,this.tiledSurface=new n,this.gaussianSplat=new p,this.heatmap=new d,this.fadeDuration=o(400),this.antialiasingEnabled=!0,this.physicallyBasedRenderingEnabled=!1,this.highQualityTransparency=!0,this.highResolutionAtmosphere=!1,this.reflections=!1,this.ambientOcclusion=!1,this.glow=!1,this.maxTexturePixels=1/0,this.memoryLimit=750,this.additionalCacheMemory=0,this.frameRate=void 0,this.maximumPixelRatio=1/0}};t([i({type:r})],c.prototype,"graphics3D",void 0),t([i({type:l})],c.prototype,"sceneService",void 0),t([i({type:n})],c.prototype,"tiledSurface",void 0),t([i({type:p})],c.prototype,"gaussianSplat",void 0),t([i({type:d})],c.prototype,"heatmap",void 0),t([i()],c.prototype,"fadeDuration",void 0),t([i()],c.prototype,"antialiasingEnabled",void 0),t([i()],c.prototype,"physicallyBasedRenderingEnabled",void 0),t([i()],c.prototype,"highQualityTransparency",void 0),t([i()],c.prototype,"highResolutionAtmosphere",void 0),t([i()],c.prototype,"reflections",void 0),t([i()],c.prototype,"ambientOcclusion",void 0),t([i()],c.prototype,"glow",void 0),t([i()],c.prototype,"maxTexturePixels",void 0),t([i()],c.prototype,"memoryLimit",void 0),t([i()],c.prototype,"additionalCacheMemory",void 0),t([i()],c.prototype,"frameRate",void 0),t([i()],c.prototype,"maximumPixelRatio",void 0),c=t([s("esri.views.3d.support.QualitySettings")],c);const m=c;export{m as default};
5
+ import{__decorate as t}from"tslib";import e from"../../../core/Accessor.js";import{Milliseconds as o}from"../../../core/time.js";import{property as i}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/has.js";import"../../../core/Logger.js";import"../../../core/RandomLCG.js";import{subclass as s}from"../../../core/accessorSupport/decorators/subclass.js";let r=class extends e{constructor(){super(...arguments),this.minTotalNumberOfFeatures=2e3,this.maxTotalNumberOfFeatures=5e4,this.maxNumberOfDrawCalls=17e3,this.maxTotalNumberOfVertices=17e5,this.snapshotAvailable=!0,this.polygonLodFactor=1,this.polylineLodFactor=1,this.skipHighSymbolLods=!1}};t([i()],r.prototype,"minTotalNumberOfFeatures",void 0),t([i()],r.prototype,"maxTotalNumberOfFeatures",void 0),t([i()],r.prototype,"maxNumberOfDrawCalls",void 0),t([i()],r.prototype,"maxTotalNumberOfVertices",void 0),t([i()],r.prototype,"snapshotAvailable",void 0),t([i()],r.prototype,"polygonLodFactor",void 0),t([i()],r.prototype,"polylineLodFactor",void 0),t([i()],r.prototype,"skipHighSymbolLods",void 0),r=t([s("esri.views.3d.support.QualitySettings.Graphics3DSettings")],r);let p=class{constructor(){this.minimumSplatPixelRadius=1,this.minimumOpacity=.05,this.maxAllowedVisibleGaussians=8e6}};t([i()],p.prototype,"minimumSplatPixelRadius",void 0),t([i()],p.prototype,"minimumOpacity",void 0),t([i()],p.prototype,"maxAllowedVisibleGaussians",void 0),p=t([s("esri.views.3d.support.QualitySettings.GaussianSplatSettings")],p);let a=class extends e{constructor(){super(...arguments),this.lodFactor=1}};t([i()],a.prototype,"lodFactor",void 0),a=t([s("esri.views.3d.support.QualitySettings.LoDFactorSettings")],a);let l=class extends e{constructor(){super(...arguments),this.object=new a,this.point=new a,this.integratedMesh=new a,this.pointCloud=new a}};t([i({type:a})],l.prototype,"object",void 0),t([i({type:a})],l.prototype,"point",void 0),t([i({type:a})],l.prototype,"integratedMesh",void 0),t([i({type:a})],l.prototype,"pointCloud",void 0),l=t([s("esri.views.3d.support.QualitySettings.SceneServiceSettings")],l);let n=class extends e{constructor(){super(...arguments),this.lodBias=0,this.angledSplitBias=1,this.vtlContentZoom=1,this.elevationLevelDelta=3,this.reduceTileLevelDifferences=!0}};t([i()],n.prototype,"lodBias",void 0),t([i()],n.prototype,"angledSplitBias",void 0),t([i()],n.prototype,"vtlContentZoom",void 0),t([i()],n.prototype,"elevationLevelDelta",void 0),t([i()],n.prototype,"reduceTileLevelDifferences",void 0),n=t([s("esri.views.3d.support.QualitySettings.TiledSurfaceSettings")],n);let d=class extends e{constructor(){super(...arguments),this.pixelRatio=1,this.maxTotalNumberOfFeatures=5e4}};t([i()],d.prototype,"pixelRatio",void 0),t([i()],d.prototype,"maxTotalNumberOfFeatures",void 0),d=t([s("esri.views.3d.support.QualitySettings.HeatmapSettings")],d);let c=class extends e{constructor(){super(...arguments),this.graphics3D=new r,this.sceneService=new l,this.tiledSurface=new n,this.gaussianSplat=new p,this.heatmap=new d,this.fadeDuration=o(400),this.antialiasingEnabled=!0,this.physicallyBasedRenderingEnabled=!1,this.highQualityTransparency=!0,this.highResolutionAtmosphere=!1,this.reflections=!1,this.ambientOcclusion=!1,this.glow=!1,this.maxTexturePixels=1/0,this.memoryLimit=750,this.additionalCacheMemory=0,this.frameRate=void 0,this.maximumPixelRatio=1/0}};t([i({type:r})],c.prototype,"graphics3D",void 0),t([i({type:l})],c.prototype,"sceneService",void 0),t([i({type:n})],c.prototype,"tiledSurface",void 0),t([i({type:p})],c.prototype,"gaussianSplat",void 0),t([i({type:d})],c.prototype,"heatmap",void 0),t([i()],c.prototype,"fadeDuration",void 0),t([i()],c.prototype,"antialiasingEnabled",void 0),t([i()],c.prototype,"physicallyBasedRenderingEnabled",void 0),t([i()],c.prototype,"highQualityTransparency",void 0),t([i()],c.prototype,"highResolutionAtmosphere",void 0),t([i()],c.prototype,"reflections",void 0),t([i()],c.prototype,"ambientOcclusion",void 0),t([i()],c.prototype,"glow",void 0),t([i()],c.prototype,"maxTexturePixels",void 0),t([i()],c.prototype,"memoryLimit",void 0),t([i()],c.prototype,"additionalCacheMemory",void 0),t([i()],c.prototype,"frameRate",void 0),t([i()],c.prototype,"maximumPixelRatio",void 0),c=t([s("esri.views.3d.support.QualitySettings")],c);const m=c;export{m as default};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{Cyclical as t}from"../../../../core/Cyclical.js";import{height as e,fromExtent as n}from"../../../../geometry/support/aaBoundingRect.js";import{getInfo as i}from"../../../../geometry/support/spatialReferenceUtils.js";class o{constructor(t,e,n,i,o){this.extent=t,this.timeExtent=e,this.size=n,this.pixelRatio=i,this.time=o}get flowExtentInfo(){return{modelSize:this.size,valid:i(this.extent.spatialReference)?.valid,extent:n(this.extent)}}insideMapExtent(t,e){return r(this.flowExtentInfo,t,e)}modelToMapSpace(t,e,n){return l(this.flowExtentInfo,t,e,n)}}function r(t,e,n){const{extent:i,valid:o}=t,[r,l,s,a]=i;return!(n<l||n>a)&&(null!=o&&r>s?e>=s||e<=r:e>=r&&e<=s)}function l(n,i,o,r){const{extent:l,modelSize:s,valid:u}=n,[c,f,x]=l,m=a(c,x,u);let p=i/s[0]*m+c;if(null!=u&&r){p=new t(u[0],u[1]).normalize(p)}return[p,(s[1]-o)/s[1]*e(l)+f]}function s(t,e,n){return null!=n&&Math.abs(t-n.valid[0])<n.dx&&Math.abs(e-n.valid[1])<n.dx}function a(t,e,n){if(null!=n&&t>e){const[i,o]=n;return o-t+(e-i)}return e-t}export{o as FlowQuery3D,r as insideMapExtent,s as isFullExtent,l as modelToMapSpace,a as wrappedWidth};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import{loadImagery as s}from"../../../2d/engine/flow/dataUtils.js";import r from"../../layers/FlowSubView3D.js";let i=class extends r{constructor(t){super(t)}initialize(){this.updatingHandles.add(()=>this.renderedTiles,()=>this.triggerLoad())}async fetchDataAndGenerateStreamlines(t,e){const{needsMagnitude:r,simulationSettings:i,workerHandle:o}=this,{size:n,extent:a,timeExtent:l}=t;if(null==i||null==o)return;const d=await s(this.layer,a,n[0],n[1],l,e);if(null==d)return null;const u={simulationSettings:i,size:n,flowData:d,needsMagnitude:r,startPositions:this.startPositions(t)},{streamlines:m}=await o.generateStreamlines(u,e);return m}};i=t([e("esri.views.3d.support.flow.FlowSubViewExtent3D")],i);export{i as default};
5
+ import{__decorate as t}from"tslib";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import{loadImagery as s}from"../../../2d/engine/flow/dataUtils.js";import r from"../../layers/FlowSubView3D.js";let i=class extends r{constructor(t){super(t)}initialize(){this.updatingHandles.add(()=>this.renderedTiles,()=>this.triggerLoad())}async fetchDataAndGenerateStreamlines(t,e){const{needsMagnitude:r,workerHandle:i}=this,o=this.getSimulationSettings(t),{size:n,extent:a,timeExtent:l}=t;if(null==o||null==i)return;const d=await s(this.layer,a,n[0],n[1],l,e);if(null==d)return null;const u={simulationSettings:o,flowExtentInfo:t.flowExtentInfo,flowData:d,needsMagnitude:r,startPositions:this.startPositions(t)},{streamlines:m}=await i.generateStreamlines(u,e);return m}};i=t([e("esri.views.3d.support.flow.FlowSubViewExtent3D")],i);export{i as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import{throttle as e}from"../../../../core/throttle.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as r}from"../../../../core/accessorSupport/decorators/subclass.js";import{fromExtent as i,clone as a}from"../../../../geometry/support/aaBoundingRect.js";import{toFlowData as o}from"../../../2d/engine/flow/dataUtils.js";import l from"../../layers/FlowSubView3D.js";import{tilesWaitingTime as n}from"./constants.js";import{tileToKey as d,FlowDataTile as h}from"./loadUtils.js";import{isRasterTile as u}from"../../terrain/TerrainData.js";let g=class extends l{constructor(t){super(t),this._flowDataTiles=c(),this._resetTileData=!0,this._throttledTriggerLoad=null,this._throttling=!1}initialize(){this.addHandles([this.surface.on("tile-data-changed",({tile:t,layerIndex:e,layerClass:s})=>{const{renderedTiles:r}=this;null!=r&&e===this._layerIndex&&1===s&&this._updateFlowDataTile(t)})]),this._throttledTriggerLoad=e(()=>{super.triggerLoad(),this._throttling=!1},()=>this._throttling=!0,n,this),this.addHandles(this._throttledTriggerLoad),this.updatingHandles.add(()=>this.renderedTiles,t=>{const e=c();t?.forEach(t=>{const s=this._flowDataTiles.get(d(t)),r=null==s||"delete"===s?this._getFlowDataCopy(t):s;null!=r&&e.set(d(t),r)}),this._flowDataTiles=e,this._resetTileData=!0,this.triggerLoad()})}abort(){super.abort(),this._throttling=!1}get _layerIndex(){return this.surface.getLayerIndexByUID(1,this.layerView.uid)}get updating(){return this.requireLoad||this.updatingHandles.updating||this._throttling}triggerLoad(){const t=this._numberLoadedTiles===this.renderedTiles?.size,{_throttledTriggerLoad:e}=this;t?(e.hasPendingUpdates()||e(),e.forceUpdate()):e()}async fetchDataAndGenerateStreamlines(t,e){const{needsMagnitude:s,simulationSettings:r,_flowDataTiles:a,workerHandle:o}=this,{size:l}=t;if(null==r||null==o)return;const n=i(t.extent),d=this._resetTileData;this._resetTileData=!1;const h=c();a.forEach((t,e)=>{"delete"===t?(h.set(e,"delete"),a.delete(e)):(d||"on-worker"!==t)&&(h.set(e,t),a.set(e,"on-worker"))});const u={simulationSettings:r,size:l,flowDataTiles:h,reset:d,extent:n,pixelSize:this.surface.tilingScheme.pixelSize,needsMagnitude:s,startPositions:this.startPositions(t)},{streamlines:g}=await o.generateTiledStreamlines(u,e);return g}_getFlowDataCopy(t){const{_layerIndex:e}=this,s=null==t.surface;if(null==e||s)return null;const r=t.getLayerInfo(e,1);if(null==r)return null;if(!t.visible&&null==r.requestAbort)return r.requestAbort=new AbortController,this.surface.requestTileData(t,e,1,r.requestAbort),null;if(r.dataMissing||!t.hasLayerData(e,1))return null;const{data:i}=r;if(!u(i))return null;const l=o(this.layer.serviceRasterInfo.dataType,i.source),n=new Uint8Array(l.width*l.height);for(let a=0;a<n.length;a++)n[a]=l.mask[a];return new h(l.data,n,l.width,l.height,t.lij,a(t.extent))}_updateFlowDataTile(t){const e=this.renderedTiles?.has(t)?this._getFlowDataCopy(t)??"delete":"delete";this._setTileData(t,e)&&this.triggerLoad()}_setTileData(t,e){const s=d(t);return(null!=this._flowDataTiles.get(s)||"delete"!==e)&&(this._flowDataTiles.set(s,e),!0)}get _numberLoadedTiles(){let t=0;for(const e of this._flowDataTiles.values())"delete"!==e&&t++;return t}get test(){return{...super.test,loadedTiles:this._flowDataTiles}}};function c(){return new Map}t([s()],g.prototype,"_throttling",void 0),t([s()],g.prototype,"updating",null),g=t([r("esri.views.3d.support.flow.FlowSubViewTiles3D")],g);export{g as default};
5
+ import{__decorate as t}from"tslib";import{throttle as e}from"../../../../core/throttle.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as s}from"../../../../core/accessorSupport/decorators/subclass.js";import{clone as i}from"../../../../geometry/support/aaBoundingRect.js";import{toFlowData as a}from"../../../2d/engine/flow/dataUtils.js";import o from"../../layers/FlowSubView3D.js";import{tilesWaitingTime as l}from"./constants.js";import{tileToKey as n,FlowDataTile as d}from"./loadUtils.js";import{isRasterTile as h}from"../../terrain/TerrainData.js";let u=class extends o{constructor(t){super(t),this._flowDataTiles=g(),this._resetTileData=!0,this._throttledTriggerLoad=null,this._throttling=!1}initialize(){this.addHandles([this.surface.on("tile-data-changed",({tile:t,layerIndex:e,layerClass:r})=>{const{renderedTiles:s}=this;null!=s&&e===this._layerIndex&&1===r&&this._updateFlowDataTile(t)})]),this._throttledTriggerLoad=e(()=>{super.triggerLoad(),this._throttling=!1},()=>this._throttling=!0,l,this),this.addHandles(this._throttledTriggerLoad),this.updatingHandles.add(()=>this.renderedTiles,t=>{const e=g();t?.forEach(t=>{const r=this._flowDataTiles.get(n(t)),s=null==r||"delete"===r?this._getFlowDataCopy(t):r;null!=s&&e.set(n(t),s)}),this._flowDataTiles=e,this._resetTileData=!0,this.triggerLoad()})}abort(){super.abort(),this._throttling=!1}get _layerIndex(){return this.surface.getLayerIndexByUID(1,this.layerView.uid)}get updating(){return this.requireLoad||this.updatingHandles.updating||this._throttling}triggerLoad(){const t=this._numberLoadedTiles===this.renderedTiles?.size,{_throttledTriggerLoad:e}=this;t?(e.hasPendingUpdates()||e(),e.forceUpdate()):e()}async fetchDataAndGenerateStreamlines(t,e){const{_flowDataTiles:r,needsMagnitude:s,workerHandle:i}=this,a=this.getSimulationSettings(t);if(null==a||null==i)return;const o=this._resetTileData;this._resetTileData=!1;const l=g();r.forEach((t,e)=>{"delete"===t?(l.set(e,"delete"),r.delete(e)):(o||"on-worker"!==t)&&(l.set(e,t),r.set(e,"on-worker"))});const n={simulationSettings:a,flowExtentInfo:t.flowExtentInfo,flowDataTiles:l,pixelSize:this.surface.tilingScheme.pixelSize,reset:o,needsMagnitude:s,startPositions:this.startPositions(t)},{streamlines:d}=await i.generateTiledStreamlines(n,e);return d}_getFlowDataCopy(t){const{_layerIndex:e}=this,r=null==t.surface;if(null==e||r)return null;const s=t.getLayerInfo(e,1);if(null==s)return null;if(!t.visible&&null==s.requestAbort)return s.requestAbort=new AbortController,this.surface.requestTileData(t,e,1,s.requestAbort),null;if(s.dataMissing||!t.hasLayerData(e,1))return null;const{data:o}=s;if(!h(o))return null;const l=a(this.layer.serviceRasterInfo.dataType,o.source),n=new Uint8Array(l.width*l.height);for(let i=0;i<n.length;i++)n[i]=l.mask[i];return new d(l.data,n,l.width,l.height,t.lij,i(t.extent))}_updateFlowDataTile(t){const e=this.renderedTiles?.has(t)?this._getFlowDataCopy(t)??"delete":"delete";this._setTileData(t,e)&&this.triggerLoad()}_setTileData(t,e){const r=n(t);return(null!=this._flowDataTiles.get(r)||"delete"!==e)&&(this._flowDataTiles.set(r,e),!0)}get _numberLoadedTiles(){let t=0;for(const e of this._flowDataTiles.values())"delete"!==e&&t++;return t}get test(){return{...super.test,loadedTiles:this._flowDataTiles}}};function g(){return new Map}t([r()],u.prototype,"_throttling",void 0),t([r()],u.prototype,"updating",null),u=t([s("esri.views.3d.support.flow.FlowSubViewTiles3D")],u);export{u as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import{createFlowFieldFromData as s,traceFlowPaths as r}from"../../../2d/engine/flow/dataUtils.js";import{createFlowFieldFromDataTiled as i,valuesPerFlowVertex as a}from"./loadUtils.js";let o=class{constructor(){this._tileData=new Map}async generateStreamlines(t){const{flowData:e,needsMagnitude:r,simulationSettings:i,size:a,startPositions:o}=t,n=l(s(i,e),i,a,r,o);return{result:{streamlines:n},transferList:n?.map(t=>t.vertices.buffer)}}async generateTiledStreamlines(t){const{extent:e,flowDataTiles:s,needsMagnitude:r,reset:a,pixelSize:o,simulationSettings:n,size:c,startPositions:u}=t;this._updateTileData(s,a);const f=l(i(n,this._tileData,c,e,o),n,c,r,u);return{result:{streamlines:f},transferList:f?.map(t=>t.vertices.buffer)??[]}}_updateTileData(t,e){e&&this._tileData.forEach((e,s)=>{null==t.get(s)&&this._tileData.delete(s)}),t.forEach((t,e)=>{"delete"===t?this._tileData.delete(e):"on-worker"!==t&&this._tileData.set(e,t)})}};o=t([e("esri.views.3d.support.flow.FlowWorker")],o);const n=o;function l(t,e,s,i,o){if(null==t)return;const n=r(e,t,s[0],s[1],{positions:o}),l=[],c=a(i);for(const{vertices:r,stage:a}of n){const t=new Float32Array(r.length*c);for(let e=0;e<r.length;e++)t[e*c]=r[e].x,t[e*c+1]=r[e].y,t[e*c+2]=r[e].t,i&&(t[e*c+3]=r[e].speed);l.push({vertices:t,stage:a,hasMagnitude:i})}return l}export{n as default};
5
+ import{__decorate as t}from"tslib";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import{createFlowFieldFromData as s,traceFlowPaths as r}from"../../../2d/engine/flow/dataUtils.js";import{createFlowFieldFromDataTiled as o,valuesPerFlowVertex as i}from"./loadUtils.js";let a=class{constructor(){this._tileData=new Map}async generateStreamlines(t){const{flowData:e,flowExtentInfo:r,needsMagnitude:o,simulationSettings:i,startPositions:a}=t,n=l(s(i,e),i,r.modelSize,o,a);return{result:{streamlines:n},transferList:n?.map(t=>t.vertices.buffer)}}async generateTiledStreamlines(t){const{flowDataTiles:e,flowExtentInfo:s,needsMagnitude:r,reset:i,pixelSize:a,simulationSettings:n,startPositions:c}=t;this._updateTileData(e,i);const f=l(o(n,this._tileData,s,a),n,s.modelSize,r,c);return{result:{streamlines:f},transferList:f?.map(t=>t.vertices.buffer)??[]}}_updateTileData(t,e){e&&this._tileData.forEach((e,s)=>{null==t.get(s)&&this._tileData.delete(s)}),t.forEach((t,e)=>{"delete"===t?this._tileData.delete(e):"on-worker"!==t&&this._tileData.set(e,t)})}};a=t([e("esri.views.3d.support.flow.FlowWorker")],a);const n=a;function l(t,e,s,o,a){if(null==t)return;const n=r(e,t,s[0],s[1],{positions:a}),l=[],c=i(o);for(const{vertices:r,stage:i}of n){const t=new Float32Array(r.length*c);for(let e=0;e<r.length;e++)t[e*c]=r[e].x,t[e*c+1]=r[e].y,t[e*c+2]=r[e].t,o&&(t[e*c+3]=r[e].speed);l.push({vertices:t,stage:i,hasMagnitude:o})}return l}export{n as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{Seconds as t}from"../../../../core/time.js";class e{constructor(t,e,i,s){this._query=t,this.streamlines=e,this._material=i,this.geometries=s,this._startTime=0,this._endTime=1/0,this.startTime=this._query.time}get startTime(){return this._startTime}set startTime(e){this._query.time!==e&&(this._query={...this.query,time:t(e)}),this._startTime=e,this.setMaterialParameters({startTime:e})}get endTime(){return this._endTime}set endTime(t){this._endTime=t,this.setMaterialParameters({endTime:t})}get query(){return this._query}setMaterialParameters(t){this._material.setParameters(t)}}export{e as StreamlineResources3D};
5
+ import{Seconds as t}from"../../../../core/time.js";import{FlowQuery3D as e}from"./FlowQuery3D.js";class i{constructor(t,e,i,s){this._query=t,this.streamlines=e,this._material=i,this.geometries=s,this._startTime=0,this._endTime=1/0,this.startTime=this._query.time}get startTime(){return this._startTime}set startTime(i){this._query.time!==i&&(this._query=new e(this._query.extent,this._query.timeExtent,this._query.size,this._query.pixelRatio,t(i))),this._startTime=i,this.setMaterialParameters({startTime:i})}get endTime(){return this._endTime}set endTime(t){this._endTime=t,this.setMaterialParameters({endTime:t})}get query(){return this._query}setMaterialParameters(t){this._material.setParameters(t)}}export{i as StreamlineResources3D};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import t from"../../../../Color.js";import{fromValues as o}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{newFloatArray as r}from"../../../../geometry/support/FloatArray.js";import{newHalfFloatArray as e}from"../../../../geometry/support/HalfFloatArray.js";import{zValueInAbsoluteHeightMode as i}from"../../../../support/elevationInfoUtils.js";import{convertVisualVariables as n,ConvertOptions as s}from"../../layers/support/FastSymbolUpdates.js";import{animatedLineStripsToParameters as a,createGeometry as l}from"../engineContent/line.js";import{valuesPerFlowVertex as p}from"./loadUtils.js";import{drapedZ as m}from"../../terrain/OverlayRenderer.js";function c(t,o,{vertices:i,stage:n,hasMagnitude:s},c,f,d){const{spatialReference:v}=o.extent,y=[],g=p(s);for(let r=0;r<i.length;r+=g){const e=[i[r],i[r+1]],[n,s]=u(e,o),a=d?[n,s,m]:h(n,s,v,t,c);y.push(a)}const j=Math.floor(i.length/g),V=e(j);for(let r=0;r<j;r++)V[r]=i[r*g+2];const{hasVVColor:S,hasVVOpacity:C,hasVVSize:b}=f.parameters;let x,z,w;if(s&&(S||C||b)){const t=r(j);for(let o=0;o<j;o++)t[o]=i[o*g+3];S&&(x=[t]),C&&(z=[t]),b&&(w=[t])}const R=a([y],void 0,[{timeStamps:V,streamlineType:n}],x,z,w);return l(f,R[0])}function f(o,r,e){if(null==o)return{};let i=null;if(o.visualVariables){const t=[],r=o.visualVariables,e=new s({supports:{size:!0,color:!0,rotation:!1,opacity:!0}});i=n(r,e,t)}const a=i?.color?[1,1,1,1]:t.toUnitRGBA(o.color);a[3]*=r;return{color:a,width:o.trailWidth,cap:2,animationSpeed:o.flowSpeed,trailLength:o.trailLength,animation:3,emissiveStrength:e,vvColor:i?.color,vvOpacity:i?.opacity,vvSize:i?.size}}function u([t,o],r){const{extent:e,size:[i,n]}=r;return[t/i*e.width+e.xmin,(n-o)/n*e.height+e.ymin]}function h(t,r,e,n,s){const{absoluteZ:a}=i(t,r,0,e,n,s),l=o(t,r,a);return n.renderCoordsHelper.toRenderCoords(l,e,l),l}export{c as createStreamlineGeometry,f as materialParametersFromRenderer};
5
+ import o from"../../../../Color.js";import{fromValues as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{newFloatArray as e}from"../../../../geometry/support/FloatArray.js";import{newHalfFloatArray as r}from"../../../../geometry/support/HalfFloatArray.js";import{zValueInAbsoluteHeightMode as i}from"../../../../support/elevationInfoUtils.js";import{convertVisualVariables as s,ConvertOptions as n}from"../../layers/support/FastSymbolUpdates.js";import{animatedLineStripsToParameters as a,createGeometry as l}from"../engineContent/line.js";import{valuesPerFlowVertex as p}from"./loadUtils.js";import{drapedZ as m}from"../../terrain/OverlayRenderer.js";function c(o,t,{vertices:i,stage:s,hasMagnitude:n},c,f,d){const{spatialReference:v}=t.extent,h=[],y=p(n),g=t.flowExtentInfo.modelSize[0];let j=0;for(let e=0;e<i.length;e+=y){if(d&&e>0){const o=i[e]-i[e-y];o>g/2?j-=g:-o>g/2&&(j+=g)}const[r,s]=t.modelToMapSpace(i[e]+j,i[e+1],!1),n=d?[r,s,m]:u(r,s,v,o,c);h.push(n)}const S=Math.floor(i.length/y),V=r(S);for(let e=0;e<S;e++)V[e]=i[e*y+2];const{hasVVColor:C,hasVVOpacity:b,hasVVSize:z}=f.parameters;let w,x,R;if(n&&(C||b||z)){const o=e(S);for(let t=0;t<S;t++)o[t]=i[t*y+3];C&&(w=[o]),b&&(x=[o]),z&&(R=[o])}const U=a([h],void 0,[{timeStamps:V,streamlineType:s}],w,x,R);return l(f,U[0])}function f(t,e,r){if(null==t)return{};let i=null;if(t.visualVariables){const o=[],e=t.visualVariables,r=new n({supports:{size:!0,color:!0,rotation:!1,opacity:!0}});i=s(e,r,o)}const a=i?.color?[1,1,1,1]:o.toUnitRGBA(t.color);a[3]*=e;return{color:a,width:t.trailWidth,cap:2,animationSpeed:t.flowSpeed,trailLength:t.trailLength,animation:3,emissiveStrength:r,vvColor:i?.color,vvOpacity:i?.opacity,vvSize:i?.size}}function u(o,e,r,s,n){const{absoluteZ:a}=i(o,e,0,r,s,n),l=t(o,e,a);return s.renderCoordsHelper.toRenderCoords(l,r,l),l}export{c as createStreamlineGeometry,f as materialParametersFromRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{width as t,height as n,containsXY as r,create as l}from"../../../../geometry/support/aaBoundingRect.js";import{createFlowFieldFromData as u}from"../../../2d/engine/flow/dataUtils.js";import{getFeatureTileId as e}from"../../layers/support/FeatureTileDescriptor.js";function o(t){return t?4:3}function i(t){return t[0].vertices instanceof Float32Array}class s{constructor(t,n,r,l,u,e){this.data=t,this.mask=n,this.width=r,this.height=l,this.lij=u,this.extent=e}}function c(t){return e(t.lij[0],t.lij[1],t.lij[2])}function a(t){let[n,r,u,e]=[null,null,null,null];for(const l of t){const t=l.extent;n=h(t[0],n),r=h(t[1],r),u=f(t[2],u),e=f(t[3],e)}return null==n||null==r||null==u||null==e?null:l([n,r,u,e])}function f(t,n){return null==n?t:Math.max(t,n)}function h(t,n){return null==n?t:Math.min(t,n)}function m(l,e,o,i,s){const[c,a]=o;let f=null;const h=new Map;e.forEach(t=>{h.set(t.lij,u(l,t))});const m=(t,n,l)=>r(t.extent,n,l);return(l,u)=>{const o=Math.round(l),p=Math.round(u);if(o<0||o>=c||p<0||p>=a)return[0,0];const j=l/c*t(i)+i[0],d=(a-u)/a*n(i)+i[1];if(!r(i,j,d))return[0,0];if(null==f||!m(f,j,d)){f=null;for(const[t,n]of e)if(m(n,j,d)){f=n;break}}if(null==f?.data)return[0,0];const x=h.get(f.lij);if(null==x)return[0,0];const g=f.extent;return x((j-g[0])/t(g)*s,s-(d-g[1])/n(g)*s)}}export{s as FlowDataTile,a as boundingRectOfTiles,m as createFlowFieldFromDataTiled,i as isFlowPathBuffer,c as tileToKey,o as valuesPerFlowVertex};
5
+ import{containsXY as t,width as n,height as r,create as e}from"../../../../geometry/support/aaBoundingRect.js";import{createFlowFieldFromData as l}from"../../../2d/engine/flow/dataUtils.js";import{getFeatureTileId as o}from"../../layers/support/FeatureTileDescriptor.js";import{modelToMapSpace as u,insideMapExtent as i,isFullExtent as s}from"./FlowQuery3D.js";function f(t){return t?4:3}function a(t){return t[0].vertices instanceof Float32Array}class c{constructor(t,n,r,e,l,o){this.data=t,this.mask=n,this.width=r,this.height=e,this.lij=l,this.extent=o}}function h(t){return o(t.lij[0],t.lij[1],t.lij[2])}function m(t,n){let[r,l,o,u]=[null,null,null,null];for(const e of t){const t=e.extent;r=d(t[0],r),l=d(t[1],l),o=p(t[2],o),u=p(t[3],u)}if(null==r||null==l||null==o||null==u)return null;if(s(r,o,n)){const n=[...t].toSorted((t,n)=>t.extent[0]-n.extent[0]);let e=n[0].extent[2],l=0,u=0,i=0;for(let t=1;t<n.length;t++){const[r,o,s]=n[t].extent;if(e<r&&(i++,l=e,u=r,i>1))break;e=Math.max(e,s)}1===i&&(r=u,o=l)}return e([r,l,o,u])}function p(t,n){return null==n?t:Math.max(t,n)}function d(t,n){return null==n?t:Math.min(t,n)}function x(e,o,s,f){const[a,c]=s.modelSize;let h=null;const m=new Map;o.forEach(t=>{m.set(t.lij,l(e,t))});const p=(n,r,e)=>t(n.extent,r,e);return(t,l)=>{const d=Math.round(t),x=Math.round(l);if(!e.wrapAround&&(d<0||d>=a||x<0||x>=c))return[0,0];const[j,g]=u(s,t,l,!0);if(!i(s,j,g))return[0,0];if(null==h||!p(h,j,g)){h=null;for(const[t,n]of o)if(p(n,j,g)){h=n;break}}if(null==h?.data)return[0,0];const M=m.get(h.lij);if(null==M)return[0,0];const w=h.extent;return M((j-w[0])/n(w)*f,f-(g-w[1])/r(w)*f)}}export{c as FlowDataTile,m as boundingRectOfTiles,x as createFlowFieldFromDataTiled,a as isFlowPathBuffer,h as tileToKey,f as valuesPerFlowVertex};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import"../../../../core/has.js";import"../../../../core/Error.js";import"../../../../core/Logger.js";import{watch as r,on as o}from"../../../../core/reactiveUtils.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/RandomLCG.js";import{subclass as i}from"../../../../core/accessorSupport/decorators/subclass.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import l from"../../../../geometry/Point.js";import{center as n}from"../../../../geometry/support/aaBoundingRect.js";import"../../../../core/asyncUtils.js";import"../../../../core/unitUtils.js";import"../../../../geometry/ellipsoidUtils.js";import"../../../../geometry/Extent.js";import"../../../../geometry/Multipoint.js";import"../../../../chunks/pe.js";import"../../../../geometry/Polygon.js";import"../../../../geometry/Polyline.js";import"../../../../geometry/SpatialReference.js";import"../../../../geometry/projection/projectors.js";import"../../../../geometry/support/spatialReferenceUtils.js";import"../../../../layers/support/ElevationSampler.js";let p=class extends t{get surface(){return this.view.map?.ground}get surfaceView(){return this.view.basemapTerrain}get renderLocation(){if(!this.location)return null;const e=a();return this.view.renderCoordsHelper.toRenderCoords(this.location,e),e}constructor(e){super(e),this.location=null,this._updateController=null}initialize(){this.view.state.isLocal&&(this.addHandles([r(()=>[this.surfaceView?.spatialReference,this.surfaceView?.extent],()=>this._update()),o(()=>this.surface?.layers,"change",()=>this._update())]),this._update())}_update(){if(this._updateController&&(this._updateController.abort(),this._updateController=null),null==this.surfaceView?.extent||null==this.surfaceView.spatialReference)return void this._set("location",null);const e=n(this.surfaceView.extent),t=new l({x:e[0],y:e[1],z:0,spatialReference:this.surfaceView.spatialReference});this.surface&&this.surface.layers.length>0?(this._set("location",null),this._updateController=new AbortController,this.surface.queryElevation(t,{noDataValue:0,signal:this._updateController.signal,cache:this.cache}).then(e=>{this._updateController=null,this._set("location",e.geometry)}).catch(e=>{})):this._set("location",t)}};e([s({constructOnly:!0})],p.prototype,"view",void 0),e([s({constructOnly:!0})],p.prototype,"cache",void 0),e([s()],p.prototype,"surface",null),e([s()],p.prototype,"surfaceView",null),e([s({readOnly:!0})],p.prototype,"location",void 0),e([s({readOnly:!0})],p.prototype,"renderLocation",null),p=e([i("esri.views.3d.support.pointsOfInterest.StableSurfaceCenter")],p);export{p as StableSurfaceCenter};
5
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import"../../../../core/has.js";import"../../../../core/Error.js";import"../../../../core/Logger.js";import{watch as r,on as o}from"../../../../core/reactiveUtils.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/RandomLCG.js";import{subclass as i}from"../../../../core/accessorSupport/decorators/subclass.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import l from"../../../../geometry/Point.js";import{center as n}from"../../../../geometry/support/aaBoundingRect.js";import"../../../../core/asyncUtils.js";import"../../../../core/unitUtils.js";import"../../../../geometry/ellipsoidUtils.js";import"../../../../geometry/Extent.js";import"../../../../geometry/Geometry.js";import"../../../../geometry/Multipoint.js";import"../../../../geometry/Polygon.js";import"../../../../geometry/Polyline.js";import"../../../../geometry/SpatialReference.js";import"../../../../geometry/operators/support/GeographicTransformation.js";import"../../../../geometry/projection/projectors.js";import"../../../../geometry/support/spatialReferenceUtils.js";import"../../../../layers/support/ElevationSampler.js";let p=class extends t{get surface(){return this.view.map?.ground}get surfaceView(){return this.view.basemapTerrain}get renderLocation(){if(!this.location)return null;const e=a();return this.view.renderCoordsHelper.toRenderCoords(this.location,e),e}constructor(e){super(e),this.location=null,this._updateController=null}initialize(){this.view.state.isLocal&&(this.addHandles([r(()=>[this.surfaceView?.spatialReference,this.surfaceView?.extent],()=>this._update()),o(()=>this.surface?.layers,"change",()=>this._update())]),this._update())}_update(){if(this._updateController&&(this._updateController.abort(),this._updateController=null),null==this.surfaceView?.extent||null==this.surfaceView.spatialReference)return void this._set("location",null);const e=n(this.surfaceView.extent),t=new l({x:e[0],y:e[1],z:0,spatialReference:this.surfaceView.spatialReference});this.surface&&this.surface.layers.length>0?(this._set("location",null),this._updateController=new AbortController,this.surface.queryElevation(t,{noDataValue:0,signal:this._updateController.signal,cache:this.cache}).then(e=>{this._updateController=null,this._set("location",e.geometry)}).catch(e=>{})):this._set("location",t)}};e([s({constructOnly:!0})],p.prototype,"view",void 0),e([s({constructOnly:!0})],p.prototype,"cache",void 0),e([s()],p.prototype,"surface",null),e([s()],p.prototype,"surfaceView",null),e([s({readOnly:!0})],p.prototype,"location",void 0),e([s({readOnly:!0})],p.prototype,"renderLocation",null),p=e([i("esri.views.3d.support.pointsOfInterest.StableSurfaceCenter")],p);export{p as StableSurfaceCenter};
@@ -2,10 +2,10 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{isColorOrColorEmission as e}from"../ShaderOutput.js";import{VertexTextureCoordinates as s}from"../attributes/VertexTextureCoordinates.glsl.js";import{Gamma as i}from"../shading/Gamma.glsl.js";import{Float3DrawUniform as o}from"../../shaderModules/Float3DrawUniform.js";import{Float3PassUniform as r}from"../../shaderModules/Float3PassUniform.js";import{FloatDrawUniform as m}from"../../shaderModules/FloatDrawUniform.js";import{FloatPassUniform as t}from"../../shaderModules/FloatPassUniform.js";import{If as n,glsl as a}from"../../shaderModules/glsl.js";import{Texture2DDrawUniform as v}from"../../shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as l}from"../../shaderModules/Texture2DPassUniform.js";import{GLEmissiveTexturePassParameters as u}from"../../../lib/GLTextureMaterial.js";const d=1,f=5;class c extends u{}function x(u,d){if(!e(d.output))return;u.fragment.include(i);const{emissionSource:c,hasEmissiveTextureTransform:x,bindType:g}=d,p=3===c||4===c||5===c;p&&(u.include(s,d),u.fragment.uniforms.add(1===g?new l("texEmission",e=>e.textureEmissive):new v("texEmission",e=>e.textureEmissive)));const h=2===c||p;h&&u.fragment.uniforms.add(1===g?new r("emissiveBaseColor",e=>e.emissiveBaseColor):new o("emissiveBaseColor",e=>e.emissiveBaseColor));const T=0!==c;T&&!(7===c||6===c||4===c||5===c)&&u.fragment.uniforms.add(1===g?new t("emissiveStrength",e=>e.emissiveStrength):new m("emissiveStrength",e=>e.emissiveStrength));const b=7===c,j=5===c,w=1===c||6===c||b;u.fragment.code.add(a`
5
+ import{isColorOrColorEmission as e}from"../ShaderOutput.js";import{VertexTextureCoordinates as s}from"../attributes/VertexTextureCoordinates.glsl.js";import{Gamma as i}from"../shading/Gamma.glsl.js";import{Float3DrawUniform as o}from"../../shaderModules/Float3DrawUniform.js";import{Float3PassUniform as r}from"../../shaderModules/Float3PassUniform.js";import{FloatDrawUniform as m}from"../../shaderModules/FloatDrawUniform.js";import{FloatPassUniform as t}from"../../shaderModules/FloatPassUniform.js";import{If as n,glsl as a}from"../../shaderModules/glsl.js";import{Texture2DDrawUniform as v}from"../../shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as l}from"../../shaderModules/Texture2DPassUniform.js";import{GLEmissiveTexturePassParameters as u}from"../../../lib/GLTextureMaterial.js";const d=1,f=1;class c extends u{}function x(u,d){if(!e(d.output))return;u.fragment.include(i);const{emissionSource:c,hasEmissiveTextureTransform:x,bindType:g}=d,p=3===c||4===c||5===c;p&&(u.include(s,d),u.fragment.uniforms.add(1===g?new l("texEmission",e=>e.textureEmissive):new v("texEmission",e=>e.textureEmissive)));const h=2===c||p;h&&u.fragment.uniforms.add(1===g?new r("emissiveBaseColor",e=>e.emissiveBaseColor):new o("emissiveBaseColor",e=>e.emissiveBaseColor));const T=0!==c;T&&!(7===c||6===c||4===c||5===c)&&u.fragment.uniforms.add(1===g?new t("emissiveStrength",e=>e.emissiveStrength):new m("emissiveStrength",e=>e.emissiveStrength));const b=7===c,j=5===c,w=1===c||6===c||b;u.fragment.code.add(a`
6
6
  vec4 getEmissions(vec3 symbolColor) {
7
7
  vec4 emissions = ${h?j?"emissiveSource == 0 ? vec4(emissiveBaseColor, 1.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(emissiveBaseColor, 1.0)":w?b?"emissiveSource == 0 ? vec4(0.0): vec4(linearizeGamma(symbolColor), 1.0)":"vec4(linearizeGamma(symbolColor), 1.0)":"vec4(0.0)"};
8
- ${n(p,`${n(j,`if(emissiveSource == 0) {\n vec4 emissiveFromTex = textureLookup(texEmission, ${x?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);\n }`,`vec4 emissiveFromTex = textureLookup(texEmission, ${x?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);`)}\n emissions.w = emissions.rgb == vec3(0.0) ? 0.0: emissions.w;`)}
8
+ ${n(p,`${n(j,`if(emissiveSource == 0) {\n vec4 emissiveFromTex = textureLookup(texEmission, ${x?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);\n }`,`vec4 emissiveFromTex = textureLookup(texEmission, ${x?"emissiveUV":"vuv0"});\n emissions *= vec4(linearizeGamma(emissiveFromTex.rgb), emissiveFromTex.a);`)}\n emissions.w = emissions.rgb == vec3(0.0) ? 0.0: emissions.w;`)}
9
9
  ${n(T,`emissions.rgb *= emissiveStrength * ${a.float(f)};`)}
10
10
  return emissions;
11
11
  }
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{lerp as t}from"../../../../../core/mathUtils.js";import{watch as i,syncAndInitial as r}from"../../../../../core/reactiveUtils.js";import{property as s}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{l as a}from"../../../../../chunks/vec32.js";import{ZEROS as n}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getReferenceEllipsoid as c}from"../../../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as h}from"../../../webgl.js";import{TransparentEnvironment as l}from"../TransparentEnvironment.js";import{G as m}from"../../../../../chunks/GlowBlur.glsl.js";import{GlowBlurTechnique as u}from"./GlowBlurTechnique.js";import{GlowBlurTechniqueConfiguration as p}from"./GlowBlurTechniqueConfiguration.js";import{G as d}from"../../../../../chunks/GlowComposition.glsl.js";import{GlowCompositionTechnique as g}from"./GlowCompositionTechnique.js";import{GlowCompositionTechniqueConfiguration as _}from"./GlowCompositionTechniqueConfiguration.js";import{blurRadiusPresets as f,lodFactorsPresets as b,normalizePreset as w}from"./GlowPresets.glsl.js";import{ColorAttachment1 as P,DepthStencilAttachment as R}from"../../../../webgl/enums.js";let T=class extends l{constructor(e){super(e),this.consumes={required:[h.TRANSPARENT_ENVIRONMENT,"emissive"]},this.produces=h.TRANSPARENT_ENVIRONMENT,this._blurHorizontalConfiguration=new p,this._blurVerticalConfiguration=new p,this._compositionConfiguration=new _,this._compositionParameters=new d,this._blurParameters=new m,this._blurScale=3.06,this._glowEnabled=!1,this._glowResults=new Array;const t=c(e.view.spatialReference);this._atmosphereRadius=t.radius+t.atmosphereHeight;e.view.stage.renderView.techniques.precompile(g,this._compositionConfiguration)}initialize(){this.addHandles([i(()=>this._updateFogParameters(),()=>{},r),i(()=>this.view.qualitySettings.glow,e=>{this._glowEnabled=e,this.precompile(),this.requestRender(1)},r)])}_updateFogParameters(){const e=this.view.environment.weather;if("sunny"===e.type||"cloudy"===e.type)this._blurParameters.blurRadius=f[e.type],this._compositionParameters.distanceModifier=0;else{const i="foggy"===e.type?e.fogStrength:e.precipitation;this._blurParameters.blurRadius=t(f.cloudy,f[e.type],i),this._compositionParameters.distanceModifier="foggy"===e.type?t(3e-5,.005,e.fogStrength**3):t(4e-6,2e-4,(e.precipitation??0)**3)}this._computeLodFactors(),this.requestRender(1)}_computeLodFactors(e=b.minDisperse.presets,i=b.maxDisperse.presets){e.forEach((e,r)=>{this._compositionParameters.lodFactors[r]=t(e,i[r],this._compositionParameters.dispersionWeight)})}precompile(){this._glowEnabled&&(this.techniques.precompile(u,this._blurHorizontalConfiguration),this._blurVerticalConfiguration.glowStage=1,this.techniques.precompile(u,this._blurVerticalConfiguration)),this._compositionConfiguration.blurEnabled=this._glowEnabled,this.techniques.precompile(g,this._compositionConfiguration)}render(e){const t=e.find(({name:e})=>e===h.TRANSPARENT_ENVIRONMENT),i=t.getAttachment(P)?.attachment;if(!i)return t;const r=t.getAttachment(R);if(!this._glowEnabled){const e=this.techniques.get(g,this._compositionConfiguration);if(!e.compiled)return this.requestRender(1),t;const s=t.getTexture(),o=this.fboCache,{fullWidth:a,fullHeight:n}=this.bindParameters.camera,c=this.renderingContext,h=o.acquire(s.descriptor.width,s.descriptor.height,this.produces);return this._prepareFBO(h,a,n),this._compositionParameters.color=s,this._compositionParameters.emission=i,c.bindTechnique(e,this.bindParameters,this._compositionParameters),c.screen.draw(),h.attachDepth(r),h.attachColor(t.getAttachment(P),P),h}const s=this.techniques.get(u,this._blurHorizontalConfiguration),o=this.techniques.get(u,this._blurVerticalConfiguration),n=this.techniques.get(g,this._compositionConfiguration);if(!s.compiled||!o.compiled||!n.compiled)return this.requestRender(1),t;const c=t.getTexture(),l=this.fboCache,{fullWidth:m,fullHeight:p}=this.bindParameters.camera,d=this.renderingContext;let _=i,f=Math.ceil(m/2),b=Math.ceil(p/2);const w=5,T=this._blurParameters.blurRadius;for(let a=0;a<w;a++){const e=l.acquire(f,b,"glow horizontal",8);this._blurParameters.color=_,this._prepareFBO(e,f,b),d.bindTechnique(s,this.bindParameters,this._blurParameters),d.screen.draw();const t=l.acquire(f,b,"glow vertical",8);this._blurParameters.color=e.getTexture(),this._prepareFBO(t,f,b),d.bindTechnique(o,this.bindParameters,this._blurParameters),d.screen.draw(),e.release(),this._glowResults[a]=t,f=Math.ceil(f/2),b=Math.ceil(b/2),_=this._glowResults[a].getTexture(),this._blurParameters.blurRadius*=this._blurScale}this._blurParameters.blurRadius=T;const C=this.bindParameters.camera,q=a(C.eye);this._compositionParameters.atmosphereC=q**2-this._atmosphereRadius**2,this._compositionParameters.color=c,this._compositionParameters.emission=i,this._compositionParameters.lodTexture0=this._glowResults[0].getTexture(),this._compositionParameters.lodTexture1=this._glowResults[1].getTexture(),this._compositionParameters.lodTexture2=this._glowResults[2].getTexture(),this._compositionParameters.lodTexture3=this._glowResults[3].getTexture(),this._compositionParameters.lodTexture4=this._glowResults[4].getTexture();const x=l.acquire(c.descriptor.width,c.descriptor.height,this.produces);return x.acquireColor(P,8,"emissive glow"),this._prepareFBO(x,m,p,!0),d.bindTechnique(n,this.bindParameters,this._compositionParameters),d.screen.draw(),this._glowResults.forEach(e=>e.release()),x.attachDepth(r),x}_prepareFBO(e,t,i,r=!1){const s=this.renderingContext;s.bindFramebuffer(e.fbo),s.setViewport(0,0,t,i),s.setClearColor(0,0,0,0),s.clear(16384),r&&s.clearBuffer(1,n)}get test(){return{compositionParameters:this._compositionParameters,blurParameters:this._blurParameters,setBlurLodCombination:e=>{this._compositionParameters.dispersionWeight=e,this._computeLodFactors()},setLodFactors:e=>{this._computeLodFactors(w(e))},toggleTonemapping:e=>{this._compositionConfiguration.tonemappingEnabled=e,this.requestRender(1)}}}};e([s()],T.prototype,"consumes",void 0),e([s()],T.prototype,"produces",void 0),T=e([o("esri.views.3d.webgl-engine.effects.glow.GlowRenderNode")],T);export{T as GlowRenderNode};
5
+ import{__decorate as e}from"tslib";import{lerp as t}from"../../../../../core/mathUtils.js";import{watch as i,syncAndInitial as s}from"../../../../../core/reactiveUtils.js";import{property as r}from"../../../../../core/accessorSupport/decorators/property.js";import"../../../../../core/has.js";import"../../../../../core/Logger.js";import"../../../../../core/RandomLCG.js";import{subclass as o}from"../../../../../core/accessorSupport/decorators/subclass.js";import{l as a}from"../../../../../chunks/vec32.js";import{ZEROS as n}from"../../../../../core/libs/gl-matrix-2/factories/vec4f32.js";import{getReferenceEllipsoid as h}from"../../../../../geometry/ellipsoidUtils.js";import{InternalRenderCategory as c}from"../../../webgl.js";import{TransparentEnvironment as m}from"../TransparentEnvironment.js";import{G as l}from"../../../../../chunks/GlowBlur.glsl.js";import{GlowBlurTechnique as u}from"./GlowBlurTechnique.js";import{GlowBlurTechniqueConfiguration as p}from"./GlowBlurTechniqueConfiguration.js";import{G as d}from"../../../../../chunks/GlowComposition.glsl.js";import{GlowCompositionTechnique as g}from"./GlowCompositionTechnique.js";import{GlowCompositionTechniqueConfiguration as _}from"./GlowCompositionTechniqueConfiguration.js";import{blurRadiusPresets as f,lodFactorsPresets as b,normalizePreset as w}from"./GlowPresets.glsl.js";import{ColorAttachment1 as P,DepthStencilAttachment as T}from"../../../../webgl/enums.js";let R=class extends m{constructor(e){super(e),this.consumes={required:[c.TRANSPARENT_ENVIRONMENT,"emissive"]},this.produces=c.TRANSPARENT_ENVIRONMENT,this._blurHorizontalConfiguration=new p,this._blurVerticalConfiguration=new p,this._compositionConfiguration=new _,this._compositionParameters=new d,this._blurParameters=new l,this._blurScale=3.06,this._glowEnabled=!1,this._glowResults=new Array;const t=h(e.view.spatialReference);this._atmosphereRadius=t.radius+t.atmosphereHeight;e.view.stage.renderView.techniques.precompile(g,this._compositionConfiguration)}initialize(){this.addHandles([i(()=>this._updateFogParameters(),()=>{},s),i(()=>this.view.qualitySettings.glow,e=>{this._glowEnabled=e,this.precompile(),this.requestRender(1)},s)])}_updateFogParameters(){const e=this.view.environment.weather;if("sunny"===e.type||"cloudy"===e.type)this._blurParameters.blurRadius=f[e.type],this._compositionParameters.distanceModifier=0;else{const i="foggy"===e.type?e.fogStrength:e.precipitation;this._blurParameters.blurRadius=t(f.cloudy,f[e.type],i),this._compositionParameters.distanceModifier="foggy"===e.type?t(3e-5,.005,e.fogStrength**3):t(4e-6,2e-4,(e.precipitation??0)**3)}this._computeLodFactors(),this.requestRender(1)}_computeLodFactors(e=b.minDisperse.presets,i=b.maxDisperse.presets){e.forEach((e,s)=>{this._compositionParameters.lodFactors[s]=t(e,i[s],this._compositionParameters.dispersionWeight)})}precompile(){this._glowEnabled&&(this.techniques.precompile(u,this._blurHorizontalConfiguration),this._blurVerticalConfiguration.glowStage=1,this.techniques.precompile(u,this._blurVerticalConfiguration)),this._compositionConfiguration.blurEnabled=this._glowEnabled,this.techniques.precompile(g,this._compositionConfiguration)}render(e){const t=e.find(({name:e})=>e===c.TRANSPARENT_ENVIRONMENT),i=t.getAttachment(P)?.attachment;if(!i)return t;const s=t.getAttachment(T);if(!this._glowEnabled){const e=this.techniques.get(g,this._compositionConfiguration);if(!e.compiled)return this.requestRender(1),t;const r=t.getTexture(),o=this.fboCache,{fullWidth:a,fullHeight:n}=this.bindParameters.camera,h=this.renderingContext,c=o.acquire(r.descriptor.width,r.descriptor.height,this.produces);return this._prepareFBO(c,a,n),this._compositionParameters.color=r,this._compositionParameters.emission=i,h.bindTechnique(e,this.bindParameters,this._compositionParameters),h.screen.draw(),c.attachDepth(s),c.attachColor(t.getAttachment(P),P),c}const r=this.techniques.get(u,this._blurHorizontalConfiguration),o=this.techniques.get(u,this._blurVerticalConfiguration),n=this.techniques.get(g,this._compositionConfiguration);if(!r.compiled||!o.compiled||!n.compiled)return this.requestRender(1),t;const h=t.getTexture(),m=this.fboCache,{fullWidth:l,fullHeight:p}=this.bindParameters.camera,d=this.renderingContext;let _=i,f=Math.ceil(l/2),b=Math.ceil(p/2);const w=5,R=this._blurParameters.blurRadius;for(let a=0;a<w;a++){const e=m.acquire(f,b,"glow horizontal",8);this._blurParameters.emissionsToDownsample=_,this._prepareFBO(e,f,b),d.bindTechnique(r,this.bindParameters,this._blurParameters),d.screen.draw();const t=m.acquire(f,b,"glow vertical",8);this._blurParameters.emissionsToDownsample=e.getTexture(),this._prepareFBO(t,f,b),d.bindTechnique(o,this.bindParameters,this._blurParameters),d.screen.draw(),e.release(),this._glowResults[a]=t,f=Math.ceil(f/2),b=Math.ceil(b/2),_=this._glowResults[a].getTexture(),this._blurParameters.blurRadius*=this._blurScale}this._blurParameters.blurRadius=R;const C=this.bindParameters.camera,q=a(C.eye);this._compositionParameters.atmosphereC=q**2-this._atmosphereRadius**2,this._compositionParameters.color=h,this._compositionParameters.emission=i,this._compositionParameters.lodTexture0=this._glowResults[0].getTexture(),this._compositionParameters.lodTexture1=this._glowResults[1].getTexture(),this._compositionParameters.lodTexture2=this._glowResults[2].getTexture(),this._compositionParameters.lodTexture3=this._glowResults[3].getTexture(),this._compositionParameters.lodTexture4=this._glowResults[4].getTexture();const x=m.acquire(h.descriptor.width,h.descriptor.height,this.produces);return x.acquireColor(P,8,"emissive glow"),this._prepareFBO(x,l,p,!0),d.bindTechnique(n,this.bindParameters,this._compositionParameters),d.screen.draw(),this._glowResults.forEach(e=>e.release()),x.attachDepth(s),x}_prepareFBO(e,t,i,s=!1){const r=this.renderingContext;r.bindFramebuffer(e.fbo),r.setViewport(0,0,t,i),r.setClearColor(0,0,0,0),r.clear(16384),s&&r.clearBuffer(1,n)}get test(){return{compositionParameters:this._compositionParameters,blurParameters:this._blurParameters,setBlurLodCombination:e=>{this._compositionParameters.dispersionWeight=e,this._computeLodFactors()},setLodFactors:e=>{this._computeLodFactors(w(e))},toggleTonemapping:e=>{this._compositionConfiguration.tonemappingEnabled=e,this.requestRender(1)}}}};e([r()],R.prototype,"consumes",void 0),e([r()],R.prototype,"produces",void 0),R=e([o("esri.views.3d.webgl-engine.effects.glow.GlowRenderNode")],R);export{R as GlowRenderNode};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{O as e}from"../../../../../chunks/OITBlend.glsl.js";import{OITBlendTechnique as t}from"./OITBlendTechnique.js";import{OITBlendTechniqueConfiguration as i}from"./OITBlendTechniqueConfiguration.js";import{ColorAttachment1 as r,ColorAttachment2 as s}from"../../../../webgl/enums.js";class n{constructor(r){this._techniques=r,this._parameters=new e,this._configuration=new i,r.precompile(t,this._configuration),this._configuration.hasEmission=!0,r.precompile(t,this._configuration)}blend(e,i,n,o,a){this._parameters.colorTexture=i.getTexture(),a&&(this._parameters.emissionTexture=i.getTexture(r),this._parameters.emissionFrontFaceTexture=n.getTexture(r)),this._parameters.alphaTexture=i.getTexture(a?s:r),this._parameters.frontFaceTexture=n.getTexture(),this._configuration.hasEmission=a;const u=this._techniques.get(t,this._configuration);e.bindTechnique(u,o,this._parameters),e.screen.draw()}}export{n as OITBlend};
5
+ import{O as i}from"../../../../../chunks/OITBlend.glsl.js";import{OITBlendTechnique as e}from"./OITBlendTechnique.js";import{OITBlendTechniqueConfiguration as t}from"./OITBlendTechniqueConfiguration.js";import{ColorAttachment2 as s,ColorAttachment1 as r}from"../../../../webgl/enums.js";class n{constructor(s){this._techniques=s,this._parameters=new i,this._configuration=new t,s.precompile(e,this._configuration),this._configuration.hasEmitters=!0,s.precompile(e,this._configuration),this._configuration.dimEmissive=!0,s.precompile(e,this._configuration),this._configuration.dimEmissive=!1,this._configuration.hasEmitters=!1}blend(i,t,n,o,a,h){if(this._parameters.colorTexture=t.getTexture(),this._parameters.alphaTexture=t.getTexture(a?s:r),this._parameters.frontFaceTexture=n.getTexture(),this._configuration.hasEmitters=a,a&&h){this._configuration.dimEmissive=!0;const t=this._techniques.get(e,this._configuration);i.bindTechnique(t,o,this._parameters),i.screen.draw(),this._configuration.dimEmissive=!1}a&&(this._parameters.emissionTexture=t.getTexture(r),this._parameters.emissionFrontFaceTexture=n.getTexture(r));const c=this._techniques.get(e,this._configuration);i.bindTechnique(c,o,this._parameters),i.screen.draw()}}export{n as OITBlend};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{ReloadableShaderModule as e}from"../../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as s}from"../../../../../chunks/OITBlend.glsl.js";import{Pos2Locations as o}from"../../lib/DefaultVertexBufferLayouts.js";import{ColorAttachment0 as i,ColorAttachment1 as t}from"../../../../webgl/enums.js";import{makePipelineState as l,defaultColorWrite as n,unpremultipliedAlphaToPremultipliedAlpha as a}from"../../../../webgl/renderState.js";class f extends r{constructor(r,i){super(r,i,new e(s,()=>import("./OITBlend.glsl.js")),o)}initializePipeline(e){return l({blending:a,colorWrite:n,drawBuffers:e.hasEmission?{buffers:[i,t]}:{buffers:[i]}})}}export{f as OITBlendTechnique};
5
+ import{ReloadableShaderModule as e}from"../../core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as r}from"../../core/shaderTechnique/ShaderTechnique.js";import{a as s}from"../../../../../chunks/OITBlend.glsl.js";import{Pos2Locations as i}from"../../lib/DefaultVertexBufferLayouts.js";import{ColorAttachmentDisabled as o,ColorAttachment1 as t,ColorAttachment0 as m}from"../../../../webgl/enums.js";import{makePipelineState as l,defaultColorWrite as f,modulateDestination as n,unpremultipliedAlphaToPremultipliedAlpha as u}from"../../../../webgl/renderState.js";class a extends r{constructor(r,o){super(r,o,new e(s,()=>import("./OITBlend.glsl.js")),i)}initializePipeline(e){return l({blending:e.dimEmissive?n:u,colorWrite:f,drawBuffers:e.dimEmissive?{buffers:[o,t]}:e.hasEmitters?{buffers:[m,t]}:{buffers:[m]}})}}export{a as OITBlendTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as o}from"tslib";import{parameter as s,ShaderTechniqueConfiguration as i}from"../../core/shaderTechnique/ShaderTechniqueConfiguration.js";class r extends i{constructor(){super(...arguments),this.hasEmission=!1}}o([s()],r.prototype,"hasEmission",void 0);export{r as OITBlendTechniqueConfiguration};
5
+ import{__decorate as i}from"tslib";import{parameter as s,ShaderTechniqueConfiguration as t}from"../../core/shaderTechnique/ShaderTechniqueConfiguration.js";class e extends t{constructor(){super(...arguments),this.hasEmitters=!1,this.dimEmissive=!1}}i([s()],e.prototype,"hasEmitters",void 0),i([s()],e.prototype,"dimEmissive",void 0);export{e as OITBlendTechniqueConfiguration};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import t from"../../../../Color.js";import{disposeMaybe as i}from"../../../../core/maybe.js";import{watch as s,syncAndInitial as o}from"../../../../core/reactiveUtils.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as l}from"../../../../core/accessorSupport/decorators/subclass.js";import{RenderCategory as a,InternalRenderCategory as n}from"../../webgl.js";import{glLayout as u}from"../../support/buffer/glUtil.js";import{newLayout as c}from"../../support/buffer/InterleavedLayout.js";import h from"../../webgl/RenderNode.js";import{VertexArrayObject as m}from"./VertexArrayObject.js";import{C as d}from"../../../../chunks/CutFillComposition.glsl.js";import{CutFillCompositionTechnique as p}from"../shaders/CutFillCompositionTechnique.js";import{C as f}from"../../../../chunks/CutFillMask.glsl.js";import{CutFillMaskTechnique as C}from"../shaders/CutFillMaskTechnique.js";import{DefaultMaterialPassParameters as _,DefaultMaterialTechnique as b}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as g}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{DepthStencilAttachment as q,PrimitiveType as v}from"../../../webgl/enums.js";import{noParameters as F}from"../../../webgl/NoParameters.js";import{VertexBuffer as T}from"../../../webgl/VertexBuffer.js";let V=class extends h{constructor(e){super(e),this.consumes={required:[a.OPAQUE]},this.produces=n.CUTFILL_COLOR,this._vaoCut=null,this._vaoFill=null,this._countCut=0,this._countFill=0,this._maskParameters=new f,this._cutVolumeParameters=new _,this._fillVolumeParameters=new _,this._compositeParameters=new d;const t=1===e.view.state.viewingMode;this._cutVolumeTechniqueConfiguration=new g(t),this._cutVolumeTechniqueConfiguration.cullFace=1,this._cutVolumeTechniqueConfiguration.doubleSidedMode=1,this._fillVolumeTechniqueConfiguration=new g(t),this._fillVolumeTechniqueConfiguration.cullFace=2}initialize(){this.addHandles([s(()=>[this.cutColor,this.fillColor],()=>this._updateColors(),o)])}destroy(){this._vaoCut=i(this._vaoCut),this._vaoFill=i(this._vaoFill)}precompile(){this.techniques.precompile(b,this._cutVolumeTechniqueConfiguration),this.techniques.precompile(b,this._fillVolumeTechniqueConfiguration),this.techniques.precompile(C),this.techniques.precompile(p)}render(e){const t=this.techniques.get(b,this._cutVolumeTechniqueConfiguration),i=this.techniques.get(b,this._fillVolumeTechniqueConfiguration),s=this.techniques.get(C),o=this.techniques.get(p),r=e.find(({name:e})=>e===this.produces);if(!this._vaoCut||!this._vaoFill)return r;if(!(t&&i&&s.compiled&&o.compiled))return this.requestRender(1),r;const l=this.bindParameters,a=l.camera,n=a.fullViewport[2],u=a.fullViewport[3],c=this.renderingContext,h=this.fboCache,m=h.acquire(n,u,"cutfill color mask",2);m.attachDepth(r.getAttachment(q)),c.bindFramebuffer(m.fbo),c.setClearColor(0,0,0,1),c.clear(17408),c.setViewport(0,0,n,u);c.bindTechnique(s,l).bindDraw(l,F,this._maskParameters),c.setFaceCullingEnabled(!1),c.setStencilTestEnabled(!0),c.setStencilOpSeparate(1028,7680,34055,7680),c.setStencilOpSeparate(1029,7680,34056,7680),c.setDepthWriteEnabled(!1),c.bindVAO(this._vaoCut),c.setDepthTestEnabled(!0),c.setStencilWriteMask(255),c.setStencilFunction(519,0,255),c.setColorMask(!1,!1,!1,!1),c.drawArrays(v.TRIANGLES,0,this._countCut),c.setDepthTestEnabled(!1),c.setStencilWriteMask(0),c.setStencilFunction(517,0,255),c.setColorMask(!0,!0,!0,!0),c.drawArrays(v.TRIANGLES,0,this._countCut),c.bindVAO(this._vaoFill),c.setDepthTestEnabled(!0),c.setStencilWriteMask(255),c.setStencilFunction(519,0,255),c.setColorMask(!0,!0,!0,!0),c.drawArrays(v.TRIANGLES,0,this._countFill);const d=h.acquire(n,u,"cutfill color volumes",5);c.bindFramebuffer(d.fbo),c.setClearColor(0,0,0,0),c.clear(16384),c.bindTechnique(t,this.bindParameters,this._cutVolumeParameters,this._maskParameters),c.bindVAO(this._vaoCut),c.drawArrays(v.TRIANGLES,0,this._countCut),d.attachDepth(r.getAttachment(q)),c.bindTechnique(i,this.bindParameters,this._fillVolumeParameters,this._maskParameters),c.bindVAO(this._vaoFill),c.drawArrays(v.TRIANGLES,0,this._countFill);const f=this.fboCache.acquire(n,u,this.produces);return c.bindFramebuffer(f.fbo),this._compositeParameters.color=r.getTexture(),this._compositeParameters.cutFillVolumes=d.getTexture(),this._compositeParameters.cutFillMask=m.getTexture(),c.bindTechnique(o,l,this._compositeParameters),c.screen.draw(),m.release(),d.release(),f.attachDepth(r.getAttachment(q)),f}enable(){this.produces=n.CUTFILL_COLOR,this.requestRender(1)}disable(){this.produces="disabled",this.requestRender(1)}updateGeometries(e,t,s){this._vaoCut=i(this._vaoCut),this._vaoCut=this._createVao(e),this._countCut=e.indicesBottom.length+e.indicesExtruded.length,this._vaoFill=i(this._vaoFill),this._vaoFill=this._createVao(t),this._countFill=t.indicesBottom.length+t.indicesExtruded.length,this._maskParameters.origin=s,this.requestRender(1)}_updateColors(){this._cutVolumeParameters.diffuse=t.toUnitRGB(this.cutColor),this._cutVolumeParameters.opacity=this.cutColor.a,this._fillVolumeParameters.diffuse=t.toUnitRGB(this.fillColor),this._fillVolumeParameters.opacity=this.fillColor.a,this.requestRender(1)}_createVao(e){const t=this.renderingContext,{vertices:i,normals:s,indicesBottom:o,indicesExtruded:r}=e,l=w.createBuffer(o.length+r.length),{position:a,normal:n}=l;for(let u=0;u<o.length;u++){const e=3*o[u];a.set(u,0,i[e]),a.set(u,1,i[e+1]),a.set(u,2,i[e+2]),n.set(u,0,s[e]),n.set(u,1,s[e+1]),n.set(u,2,s[e+2])}for(let u=0;u<r.length;u++){const e=u+o.length,t=3*r[u];a.set(e,0,i[t]),a.set(e,1,i[t+1]),a.set(e,2,i[t+2]),n.set(e,0,s[t]),n.set(e,1,s[t+1]),n.set(e,2,s[t+2])}const c=new T(t,u(w),l.buffer);return new m(t,c)}};e([r()],V.prototype,"consumes",void 0),e([r()],V.prototype,"produces",void 0),e([r()],V.prototype,"cutColor",void 0),e([r()],V.prototype,"fillColor",void 0),V=e([l("esri.views.3d.webgl-engine.lib.CutFillColor")],V);const w=c().vec3f("position").vec3f("normal").freeze();class j{constructor(e,t,i,s){this.vertices=e,this.indicesBottom=t,this.indicesExtruded=i,this.normals=s}}export{V as CutFillColor,j as VolumeGeometry};
5
+ import{__decorate as e}from"tslib";import t from"../../../../Color.js";import{disposeMaybe as i}from"../../../../core/maybe.js";import{watch as s,syncAndInitial as o}from"../../../../core/reactiveUtils.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as l}from"../../../../core/accessorSupport/decorators/subclass.js";import{RenderCategory as a,InternalRenderCategory as n}from"../../webgl.js";import{glLayout as u}from"../../support/buffer/glUtil.js";import{newLayout as c}from"../../support/buffer/InterleavedLayout.js";import h from"../../webgl/RenderNode.js";import{VertexArrayObject as m}from"./VertexArrayObject.js";import{C as d}from"../../../../chunks/CutFillComposition.glsl.js";import{CutFillCompositionTechnique as f}from"../shaders/CutFillCompositionTechnique.js";import{C as p}from"../../../../chunks/CutFillMask.glsl.js";import{CutFillMaskTechnique as C}from"../shaders/CutFillMaskTechnique.js";import{DefaultMaterialPassParameters as _,DefaultMaterialTechnique as g}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as b}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{DepthStencilAttachment as q,PrimitiveType as T}from"../../../webgl/enums.js";import{noParameters as F}from"../../../webgl/NoParameters.js";import{VertexBuffer as v}from"../../../webgl/VertexBuffer.js";let V=class extends h{constructor(e){super(e),this.consumes={required:[a.OPAQUE]},this.produces=n.CUTFILL_COLOR,this._vaoCut=null,this._vaoFill=null,this._countCut=0,this._countFill=0,this._maskParameters=new p,this._cutVolumeParameters=new _,this._fillVolumeParameters=new _,this._compositeParameters=new d;const t=1===e.view.state.viewingMode;this._cutVolumeTechniqueConfiguration=new b(t),this._cutVolumeTechniqueConfiguration.customDepthTest=2,this._cutVolumeTechniqueConfiguration.writeDepth=!1,this._cutVolumeTechniqueConfiguration.cullFace=1,this._cutVolumeTechniqueConfiguration.doubleSidedMode=1,this._fillVolumeTechniqueConfiguration=new b(t),this._fillVolumeTechniqueConfiguration.cullFace=2}initialize(){this.addHandles([s(()=>[this.cutColor,this.fillColor],()=>this._updateColors(),o)])}destroy(){this._vaoCut=i(this._vaoCut),this._vaoFill=i(this._vaoFill)}precompile(){this.techniques.precompile(g,this._cutVolumeTechniqueConfiguration),this.techniques.precompile(g,this._fillVolumeTechniqueConfiguration),this.techniques.precompile(C),this.techniques.precompile(f)}render(e){const t=this.techniques.get(g,this._cutVolumeTechniqueConfiguration),i=this.techniques.get(g,this._fillVolumeTechniqueConfiguration),s=this.techniques.get(C),o=this.techniques.get(f),r=e.find(({name:e})=>e===this.produces);if(!this._vaoCut||!this._vaoFill)return r;if(!(t&&i&&s.compiled&&o.compiled))return this.requestRender(1),r;const l=this.bindParameters,a=l.camera,n=a.fullViewport[2],u=a.fullViewport[3],c=this.renderingContext,h=this.fboCache,m=h.acquire(n,u,"cutfill color mask",2);m.attachDepth(r.getAttachment(q)),c.bindFramebuffer(m.fbo),c.setClearColor(0,0,0,1),c.clear(17408),c.setViewport(0,0,n,u);c.bindTechnique(s,l).bindDraw(l,F,this._maskParameters),c.setFaceCullingEnabled(!1),c.setStencilTestEnabled(!0),c.setStencilOpSeparate(1028,7680,34055,7680),c.setStencilOpSeparate(1029,7680,34056,7680),c.setDepthWriteEnabled(!1),c.bindVAO(this._vaoCut),c.setDepthTestEnabled(!0),c.setStencilWriteMask(255),c.setStencilFunction(519,0,255),c.setColorMask(!1,!1,!1,!1),c.drawArrays(T.TRIANGLES,0,this._countCut),c.setDepthTestEnabled(!1),c.setStencilWriteMask(0),c.setStencilFunction(517,0,255),c.setColorMask(!0,!0,!0,!0),c.drawArrays(T.TRIANGLES,0,this._countCut),c.bindVAO(this._vaoFill),c.setDepthTestEnabled(!0),c.setStencilWriteMask(255),c.setStencilFunction(519,0,255),c.setColorMask(!0,!0,!0,!0),c.drawArrays(T.TRIANGLES,0,this._countFill);const d=h.acquire(n,u,"cutfill color volumes",5);d.attachDepth(r.getAttachment(q)),c.bindFramebuffer(d.fbo),c.setClearColor(0,0,0,0),c.clear(16384),c.bindTechnique(t,this.bindParameters,this._cutVolumeParameters,this._maskParameters),c.setPolygonOffset(1,1),c.setPolygonOffsetFillEnabled(!0),c.bindVAO(this._vaoCut),c.drawArrays(T.TRIANGLES,0,this._countCut),c.bindTechnique(i,this.bindParameters,this._fillVolumeParameters,this._maskParameters),c.setPolygonOffset(0,0),c.setPolygonOffsetFillEnabled(!1),c.bindVAO(this._vaoFill),c.drawArrays(T.TRIANGLES,0,this._countFill);const p=this.fboCache.acquire(n,u,this.produces);return c.bindFramebuffer(p.fbo),this._compositeParameters.color=r.getTexture(),this._compositeParameters.cutFillVolumes=d.getTexture(),this._compositeParameters.cutFillMask=m.getTexture(),c.bindTechnique(o,l,this._compositeParameters),c.screen.draw(),m.release(),d.release(),p.attachDepth(r.getAttachment(q)),p}enable(){this.produces=n.CUTFILL_COLOR,this.requestRender(1)}disable(){this.produces="disabled",this.requestRender(1)}updateGeometries(e,t,s){this._vaoCut=i(this._vaoCut),this._vaoCut=this._createVao(e),this._countCut=e.indicesBottom.length+e.indicesExtruded.length,this._vaoFill=i(this._vaoFill),this._vaoFill=this._createVao(t),this._countFill=t.indicesBottom.length+t.indicesExtruded.length,this._maskParameters.origin=s,this.requestRender(1)}_updateColors(){this._cutVolumeParameters.diffuse=t.toUnitRGB(this.cutColor),this._cutVolumeParameters.opacity=this.cutColor.a,this._fillVolumeParameters.diffuse=t.toUnitRGB(this.fillColor),this._fillVolumeParameters.opacity=this.fillColor.a,this.requestRender(1)}_createVao(e){const t=this.renderingContext,{vertices:i,normals:s,indicesBottom:o,indicesExtruded:r}=e,l=w.createBuffer(o.length+r.length),{position:a,normal:n}=l;for(let u=0;u<o.length;u++){const e=3*o[u];a.set(u,0,i[e]),a.set(u,1,i[e+1]),a.set(u,2,i[e+2]),n.set(u,0,s[e]),n.set(u,1,s[e+1]),n.set(u,2,s[e+2])}for(let u=0;u<r.length;u++){const e=u+o.length,t=3*r[u];a.set(e,0,i[t]),a.set(e,1,i[t+1]),a.set(e,2,i[t+2]),n.set(e,0,s[t]),n.set(e,1,s[t+1]),n.set(e,2,s[t+2])}const c=new v(t,u(w),l.buffer);return new m(t,c)}};e([r()],V.prototype,"consumes",void 0),e([r()],V.prototype,"produces",void 0),e([r()],V.prototype,"cutColor",void 0),e([r()],V.prototype,"fillColor",void 0),V=e([l("esri.views.3d.webgl-engine.lib.CutFillColor")],V);const w=c().vec3f("position").vec3f("normal").freeze();class P{constructor(e,t,i,s){this.vertices=e,this.indicesBottom=t,this.indicesExtruded=i,this.normals=s}}export{V as CutFillColor,P as VolumeGeometry};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import{watch as s}from"../../../../core/reactiveUtils.js";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import{set as i}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{d as r,l as n,g as o,u as l,e as h,k as c,J as m,c as p}from"../../../../chunks/vec32.js";import{create as u,clone as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as g}from"../../../../chunks/vec42.js";import{create as _}from"../../../../geometry/support/plane.js";import{fromPoints as f}from"../../../../geometry/support/ray.js";import{j as b,i as P}from"../../../../chunks/sphere.js";import{RenderCategory as S}from"../../webgl.js";import{GaussianSplatTarget as C}from"../../layers/i3s/Intersector.js";import{GaussianSplatDataStore as v}from"../../support/gaussianSplatting/GaussianSplatDataStore.js";import q from"../../webgl/RenderNode.js";import{IntersectorResult as w}from"./IntersectorResult.js";import{G as j}from"../../../../chunks/GaussianSplat.glsl.js";import{G as y}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as D}from"../shaders/GaussianSplatCompositionTechnique.js";import{G as x}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as G}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatDepthTechnique as T}from"../shaders/GaussianSplatDepthTechnique.js";import{GaussianSplatTechnique as R}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as A}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{DepthStencilAttachment as V,PrimitiveType as E}from"../../../webgl/enums.js";var I;let M=class extends q{constructor(){super(...arguments),this.gaussianPosition=u(),this.intersectionRayDir=u(),this.intersectionPlane=_(),this._slicePlaneEnabled=!1,this._data=null,this.produces=S.OPAQUE,this.type=0,this.isGround=!1,this.layerViewUid="",this._gaussianSplatParameters=new j,this._gaussianSplatCompositionParameters=new y,this._gaussianSplatDepthCompositionParameters=new x,this._splatDepthTechniqueConfiguration=new A(!0),this._previousCameraPosition=u(),this._previousCameraDirection=u(),this._tanFov=a(),this._tempVec=u(),this._cameraDelta=u(),this._coarseCameraPosition=u()}static{I=this}async initialize(){this._data=new v(this),this.view.sceneIntersectionHelper.addIntersectionHandler(this),this.addHandles([s(()=>this.view.state.camera,()=>this._onCameraChange())])}precompile(){this.techniques.precompile(R),this.techniques.precompile(T,this._splatDepthTechniqueConfiguration),this.techniques.precompile(D),this.techniques.precompile(G)}render(t){const s=t.find(({name:t})=>t===S.OPAQUE);if(!this._data.visibleGaussians||!this._data.orderTexture.texture||!this._data.textureAtlas.texture)return s;const e=this.techniques.get(R),a=this.techniques.get(T,this._splatDepthTechniqueConfiguration),r=this.techniques.get(D),n=this.techniques.get(G);if(!(e.compiled&&a.compiled&&n.compiled&&r.compiled))return this.requestRender(1),s;const{fullWidth:o,fullHeight:l}=this.bindParameters.camera,h=this.fboCache,c=h.acquire(o,l,"gaussian color output");c.attachDepth(s.getAttachment(V));const m=this.renderingContext;m.bindFramebuffer(c.fbo),m.setClearColor(0,0,0,0),m.clear(16384),this._gaussianSplatParameters.totalGaussians=this._data.visibleGaussians,this._gaussianSplatParameters.splatOrder=this._data.orderTexture.texture,this._gaussianSplatParameters.splatAtlas=this._data.textureAtlas.texture;const p=Math.tan(.5*this.camera.fovY),u=p/l*o;i(this._tanFov,u,p);const d=l/(2*p);this._gaussianSplatParameters.focalLength=d,this._gaussianSplatParameters.tanFov=this._tanFov;const g=this.view.qualitySettings.gaussianSplat,_=g.minimumSplatPixelRadius*Math.sqrt(o*l)/Math.sqrt(2073600);this._gaussianSplatParameters.minSplatRadius=_,this._gaussianSplatParameters.minSplatOpacity=g.minimumOpacity,this._prepareHighPrecisionCameraPosition(),this.renderingContext.bindTechnique(e,this.bindParameters,this._gaussianSplatParameters),this.renderingContext.drawArraysInstanced(E.TRIANGLE_STRIP,0,4,this._data.visibleGaussians);const f=h.acquire(o,l,"splat depth",8);f.attachDepth(s.getAttachment(V)),m.bindFramebuffer(f.fbo),m.setClearColor(0,0,0,0),m.clear(16384),this.renderingContext.bindTechnique(a,this.bindParameters,this._gaussianSplatParameters),this.renderingContext.drawArraysInstanced(E.TRIANGLE_STRIP,0,4,this._data.visibleGaussians);const b=h.acquire(o,l,this.produces);return this._gaussianSplatDepthCompositionParameters.splatDepth=f.getTexture(),b.attachDepth(s.getAttachment(V)),m.bindFramebuffer(b.fbo),m.bindTechnique(n,this.bindParameters,this._gaussianSplatDepthCompositionParameters),m.screen.draw(),this._gaussianSplatCompositionParameters.color=s.getTexture(),this._gaussianSplatCompositionParameters.splatColor=c.getTexture(),m.bindFramebuffer(b.fbo),m.bindTechnique(r,this.bindParameters,this._gaussianSplatCompositionParameters),m.screen.draw(),c.release(),f.release(),b}intersect(t,s,e,i){const{gaussianPosition:a,intersectionRayDir:m,intersectionPlane:p,layerViewUid:_}=this,S=f(e,i);r(m,i,e);const v=1/n(m);o(m,m,v);const q=u();l(q,m),g(p,m[0],m[1],m[2],-h(m,e));const j=new F,y=new F,D=new Array;this._data.visibleGaussianTiles.forEach(r=>{const{maxScale:n}=r,o=r.obb.minimumDistancePlane(p),l=r.obb.maximumDistancePlane(p),u=l<0,g=null!=j.dist&&null!=y.dist&&j.dist<o*v&&y.dist>l*v;if(u||g)return;const f=b(r.obb.center,r.obb.radius+n);if(!P(f,S,null))return;if(!r.obb.intersectRay(e,m,n))return;const{positions:C,squaredScales:w,gaussianAtlasIndices:x}=r,G=x.length;for(let p=0;p<G;p++){const r=3*p;a[0]=C[r]-e[0],a[1]=C[r+1]-e[1],a[2]=C[r+2]-e[2];const n=w[p],o=h(a,m),l=o*o;if(c(a)-l>n)continue;const u=o*v,g=t=>(t.point=t.point?t.point.fill(a[0],a[1],a[2]):d(a),t.dist=u,t.normal=q,t.layerViewUid=_,t);if((null==j.dist||u<j.dist)&&(null==s||s(e,i,u))&&g(j),0!==t.options.store&&(null==y.dist||u>y.dist)&&(null==s||s(e,i,u))&&g(y),2===t.options.store&&(null==s||s(e,i,u))){const t=new F;D.push(g(t))}}});const x=(t,s)=>{const{layerViewUid:e}=s,i=new C(s.point,e);t.set(0,i,s.dist,s.normal)};if(k(j)){const s=t.results.min;(null==s.distance||j.dist<s.distance)&&x(s,j)}if(k(y)&&0!==t.options.store){const s=t.results.max;(null==s.distance||y.dist>s.distance)&&x(s,y)}if(2===t.options.store)for(const r of D){const s=new w(S);x(s,r),t.results.all.push(s)}}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(t){this._slicePlaneEnabled!==t&&(this._slicePlaneEnabled=t,this.requestRender(1))}get data(){return this._data}destroy(){this._data.destroy(),super.destroy()}_onCameraChange(){const t=this.view.state.camera.eye,s=this.view.state.camera.ray.direction,e=.001;(Math.abs(t[0]-this._previousCameraPosition[0])>e||Math.abs(t[1]-this._previousCameraPosition[1])>e||Math.abs(t[2]-this._previousCameraPosition[2])>e||Math.abs(s[0]-this._previousCameraDirection[0])>e||Math.abs(s[1]-this._previousCameraDirection[1])>e||Math.abs(s[2]-this._previousCameraDirection[2])>e)&&this._data.requestSort()}_prepareHighPrecisionCameraPosition(){o(this._tempVec,this.camera.eye,1/I.tileSize),m(this._tempVec,this._tempVec),p(this._coarseCameraPosition,this._tempVec),this._gaussianSplatParameters.cameraPos8k=this._coarseCameraPosition,o(this._tempVec,this._tempVec,I.tileSize),r(this._cameraDelta,this.camera.eye,this._tempVec),this._gaussianSplatParameters.cameraDelta=this._cameraDelta}static{this.tileSize=2.048}};function k(t){return null!=t.dist&&null!=t.point}M=I=t([e("esri.views.3d.webgl-engine.lib.GaussianSplatRenderNode")],M);class F{constructor(){this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}export{M as GaussianSplatRenderNode};
5
+ import{__decorate as t}from"tslib";import{watch as s}from"../../../../core/reactiveUtils.js";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import{set as i}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{d as r,l as n,g as o,u as h,e as l,k as c,J as p,c as m}from"../../../../chunks/vec32.js";import{create as u,clone as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as g}from"../../../../chunks/vec42.js";import{create as _}from"../../../../geometry/support/plane.js";import{fromPoints as f}from"../../../../geometry/support/ray.js";import{j as b,i as P}from"../../../../chunks/sphere.js";import{RenderCategory as C}from"../../webgl.js";import{GaussianSplatTarget as S}from"../../layers/i3s/Intersector.js";import{GaussianSplatDataStore as q}from"../../support/gaussianSplatting/GaussianSplatDataStore.js";import v from"../../webgl/RenderNode.js";import{IntersectorResult as w}from"./IntersectorResult.js";import{G as D}from"../../../../chunks/GaussianSplat.glsl.js";import{G as T}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as j}from"../shaders/GaussianSplatCompositionTechnique.js";import{G as y}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as x}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatDepthTechnique as G}from"../shaders/GaussianSplatDepthTechnique.js";import{GaussianSplatTechnique as R}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as A}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{DepthStencilAttachment as V,PrimitiveType as E}from"../../../webgl/enums.js";var I;let M=class extends v{constructor(){super(...arguments),this.gaussianPosition=u(),this.intersectionRayDir=u(),this.intersectionPlane=_(),this._slicePlaneEnabled=!1,this._data=null,this.produces=C.OPAQUE,this.type=0,this.isGround=!1,this.layerViewUid="",this._gaussianSplatParameters=new D,this._gaussianSplatCompositionParameters=new T,this._gaussianSplatDepthCompositionParameters=new y,this._splatTechniqueConfiguration=new A,this._splatDepthTechniqueConfiguration=new A(!0),this._previousCameraPosition=u(),this._previousCameraDirection=u(),this._tanFov=a(),this._tempVec=u(),this._cameraDelta=u(),this._coarseCameraPosition=u()}static{I=this}async initialize(){this._data=new q(this),this.view.sceneIntersectionHelper.addIntersectionHandler(this),this.addHandles([s(()=>this.view.state.camera,()=>this._onCameraChange())])}precompile(){this._splatTechniqueConfiguration.terrainDepthTest=this.bindParameters.terrainDepthTest,this.techniques.precompile(R,this._splatTechniqueConfiguration),this._splatDepthTechniqueConfiguration.terrainDepthTest=this.bindParameters.terrainDepthTest,this.techniques.precompile(G,this._splatDepthTechniqueConfiguration),this.techniques.precompile(j),this.techniques.precompile(x)}render(t){const s=t.find(({name:t})=>t===C.OPAQUE);if(!this._data.visibleGaussians||!this._data.orderTexture.texture||!this._data.textureAtlas.texture)return s;const e=this.techniques.get(R,this._splatTechniqueConfiguration),a=this.techniques.get(G,this._splatDepthTechniqueConfiguration),r=this.techniques.get(j),n=this.techniques.get(x);if(!(e.compiled&&a.compiled&&n.compiled&&r.compiled))return this.requestRender(1),s;const{fullWidth:o,fullHeight:h}=this.bindParameters.camera,l=this.fboCache,c=l.acquire(o,h,"gaussian color output");c.attachDepth(s.getAttachment(V));const p=this.renderingContext;p.bindFramebuffer(c.fbo),p.setClearColor(0,0,0,0),p.clear(16384),this._gaussianSplatParameters.totalGaussians=this._data.visibleGaussians,this._gaussianSplatParameters.splatOrder=this._data.orderTexture.texture,this._gaussianSplatParameters.splatAtlas=this._data.textureAtlas.texture;const m=Math.tan(.5*this.camera.fovY),u=m/h*o;i(this._tanFov,u,m);const d=h/(2*m);this._gaussianSplatParameters.focalLength=d,this._gaussianSplatParameters.tanFov=this._tanFov;const g=this.view.qualitySettings.gaussianSplat,_=g.minimumSplatPixelRadius*Math.sqrt(o*h)/Math.sqrt(2073600);this._gaussianSplatParameters.minSplatRadius=_,this._gaussianSplatParameters.minSplatOpacity=g.minimumOpacity,this._prepareHighPrecisionCameraPosition(),this.renderingContext.bindTechnique(e,this.bindParameters,this._gaussianSplatParameters),this.renderingContext.drawArraysInstanced(E.TRIANGLE_STRIP,0,4,this._data.visibleGaussians);const f=l.acquire(o,h,"splat depth",8);f.attachDepth(s.getAttachment(V)),p.bindFramebuffer(f.fbo),p.setClearColor(0,0,0,0),p.clear(16384),this.renderingContext.bindTechnique(a,this.bindParameters,this._gaussianSplatParameters),this.renderingContext.drawArraysInstanced(E.TRIANGLE_STRIP,0,4,this._data.visibleGaussians);const b=l.acquire(o,h,this.produces);return this._gaussianSplatDepthCompositionParameters.splatDepth=f.getTexture(),b.attachDepth(s.getAttachment(V)),p.bindFramebuffer(b.fbo),p.bindTechnique(n,this.bindParameters,this._gaussianSplatDepthCompositionParameters),p.screen.draw(),this._gaussianSplatCompositionParameters.color=s.getTexture(),this._gaussianSplatCompositionParameters.splatColor=c.getTexture(),p.bindFramebuffer(b.fbo),p.bindTechnique(r,this.bindParameters,this._gaussianSplatCompositionParameters),p.screen.draw(),c.release(),f.release(),b}intersect(t,s,e,i){const{gaussianPosition:a,intersectionRayDir:p,intersectionPlane:m,layerViewUid:_}=this,C=f(e,i);r(p,i,e);const q=1/n(p);o(p,p,q);const v=u();h(v,p),g(m,p[0],p[1],p[2],-l(p,e));const D=new F,T=new F,j=new Array;this._data.visibleGaussianTiles.forEach(r=>{const{maxScale:n}=r,o=r.obb.minimumDistancePlane(m),h=r.obb.maximumDistancePlane(m),u=h<0,g=null!=D.dist&&null!=T.dist&&D.dist<o*q&&T.dist>h*q;if(u||g)return;const f=b(r.obb.center,r.obb.radius+n);if(!P(f,C,null))return;if(!r.obb.intersectRay(e,p,n))return;const{positions:S,squaredScales:w,gaussianAtlasIndices:y}=r,x=y.length;for(let m=0;m<x;m++){const r=3*m;a[0]=S[r]-e[0],a[1]=S[r+1]-e[1],a[2]=S[r+2]-e[2];const n=w[m],o=l(a,p),h=o*o;if(c(a)-h>n)continue;const u=o*q,g=t=>(t.point=t.point?t.point.fill(a[0],a[1],a[2]):d(a),t.dist=u,t.normal=v,t.layerViewUid=_,t);if((null==D.dist||u<D.dist)&&(null==s||s(e,i,u))&&g(D),0!==t.options.store&&(null==T.dist||u>T.dist)&&(null==s||s(e,i,u))&&g(T),2===t.options.store&&(null==s||s(e,i,u))){const t=new F;j.push(g(t))}}});const y=(t,s)=>{const{layerViewUid:e}=s,i=new S(s.point,e);t.set(0,i,s.dist,s.normal)};if(k(D)){const s=t.results.min;(null==s.distance||D.dist<s.distance)&&y(s,D)}if(k(T)&&0!==t.options.store){const s=t.results.max;(null==s.distance||T.dist>s.distance)&&y(s,T)}if(2===t.options.store)for(const r of j){const s=new w(C);y(s,r),t.results.all.push(s)}}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(t){this._slicePlaneEnabled!==t&&(this._slicePlaneEnabled=t,this.requestRender(1))}get data(){return this._data}destroy(){this._data.destroy(),super.destroy()}_onCameraChange(){const t=this.view.state.camera.eye,s=this.view.state.camera.ray.direction,e=.001;(Math.abs(t[0]-this._previousCameraPosition[0])>e||Math.abs(t[1]-this._previousCameraPosition[1])>e||Math.abs(t[2]-this._previousCameraPosition[2])>e||Math.abs(s[0]-this._previousCameraDirection[0])>e||Math.abs(s[1]-this._previousCameraDirection[1])>e||Math.abs(s[2]-this._previousCameraDirection[2])>e)&&this._data.requestSort()}_prepareHighPrecisionCameraPosition(){o(this._tempVec,this.camera.eye,1/I.tileSize),p(this._tempVec,this._tempVec),m(this._coarseCameraPosition,this._tempVec),this._gaussianSplatParameters.cameraPos8k=this._coarseCameraPosition,o(this._tempVec,this._tempVec,I.tileSize),r(this._cameraDelta,this.camera.eye,this._tempVec),this._gaussianSplatParameters.cameraDelta=this._cameraDelta}static{this.tileSize=2.048}};function k(t){return null!=t.dist&&null!=t.point}M=I=t([e("esri.views.3d.webgl-engine.lib.GaussianSplatRenderNode")],M);class F{constructor(){this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}export{M as GaussianSplatRenderNode};