@arcgis/core 5.1.0-next.101 → 5.1.0-next.103

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 (736) hide show
  1. package/applications/Components/imageryUtils.d.ts +22 -1
  2. package/applications/Components/imageryUtils.js +1 -1
  3. package/arcade/Dictionary.js +1 -1
  4. package/arcade/Feature.js +1 -1
  5. package/arcade/Pixel.js +1 -1
  6. package/arcade/Voxel.js +1 -1
  7. package/arcade/arcade.js +1 -1
  8. package/arcade/arcadeAsyncRuntime.js +1 -1
  9. package/arcade/arcadeCompiler.js +1 -1
  10. package/arcade/arcadeRuntime.js +1 -1
  11. package/arcade/containerUtils.js +1 -1
  12. package/arcade/debug.js +1 -1
  13. package/arcade/deepClone.js +1 -1
  14. package/arcade/featureSetUtils.js +1 -1
  15. package/arcade/featureset/actions/GroupBy.js +1 -1
  16. package/arcade/featureset/actions/OrderBy.js +1 -1
  17. package/arcade/functions/convertdirection.js +1 -1
  18. package/arcade/functions/date.js +1 -1
  19. package/arcade/functions/feature.js +1 -1
  20. package/arcade/functions/featuresetbase.js +1 -1
  21. package/arcade/functions/featuresetgeom.js +1 -1
  22. package/arcade/functions/featuresetstats.js +1 -1
  23. package/arcade/functions/featuresetstring.js +1 -1
  24. package/arcade/functions/fieldStats.js +1 -1
  25. package/arcade/functions/geomasync.js +1 -1
  26. package/arcade/functions/geometry.js +1 -1
  27. package/arcade/functions/geomsync.js +1 -1
  28. package/arcade/functions/knowledgegraph.js +1 -1
  29. package/arcade/functions/maths.js +1 -1
  30. package/arcade/functions/stats.js +1 -1
  31. package/arcade/functions/string.js +1 -1
  32. package/arcade/functions/track.js +1 -1
  33. package/arcade/geometry/constructors.js +1 -1
  34. package/arcade/geometry/functions.js +1 -1
  35. package/arcade/geometry/operators.js +1 -1
  36. package/arcade/languageUtils.js +1 -1
  37. package/arcgisGlobal.d.ts +1449 -0
  38. package/assets/esri/core/workers/RemoteClient.js +1 -1
  39. package/assets/esri/core/workers/chunks/{92e7067960549733f8e6.js → 037b36d415ae27e987f9.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{58579c53be1a44bd08d2.js → 054ae729e7cefa2c7778.js} +1 -1
  41. package/assets/esri/core/workers/chunks/069459519477bb3dc91b.js +1 -0
  42. package/assets/esri/core/workers/chunks/{4301cb9670fa7c907460.js → 0881929a4a457f94f317.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{abdf146b35e179b5b245.js → 0cb8bc6dbbbe3b212712.js} +1 -1
  44. package/assets/esri/core/workers/chunks/{b811d62284be95f4beb6.js → 0cc74bc3772be51cabc1.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{0630ce1975c91ae362d9.js → 0e9804ece1fd2d59751b.js} +1 -1
  46. package/assets/esri/core/workers/chunks/{545c38789267e3487dbd.js → 10491b5b106bc5ad0b2b.js} +1 -1
  47. package/assets/esri/core/workers/chunks/12053c1213465d07d2f6.js +1 -0
  48. package/assets/esri/core/workers/chunks/{ca6c128940ddbebcaaab.js → 14b7b55c42af65ffa024.js} +1 -1
  49. package/assets/esri/core/workers/chunks/{702e8468836863abd81b.js → 15fa8b5b472131aaa68e.js} +1 -1
  50. package/assets/esri/core/workers/chunks/{852f4cd514008fee5a55.js → 176e676879666f784599.js} +1 -1
  51. package/assets/esri/core/workers/chunks/18201119828664373165.js +1 -0
  52. package/assets/esri/core/workers/chunks/1a3426276dc82a8a80f2.js +1 -0
  53. package/assets/esri/core/workers/chunks/{ce3e51c799a80648e46d.js → 1c0e8808d14d8e6dde2c.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{bafe489e54f34d1841e6.js → 1c83e61fd9a4f8fc8372.js} +1 -1
  55. package/assets/esri/core/workers/chunks/1cb0c4fc315bbc2bd00b.js +1 -0
  56. package/assets/esri/core/workers/chunks/{5afee66e182f79a0fc46.js → 1ff61d8a8ea060e78b83.js} +1 -1
  57. package/assets/esri/core/workers/chunks/{19a9a555365a8363d34b.js → 23119a1b1310b7dab2aa.js} +1 -1
  58. package/assets/esri/core/workers/chunks/{031ea31bbdb7f1be791e.js → 276cb6a1cdd26d0e1444.js} +1 -1
  59. package/assets/esri/core/workers/chunks/{fdb7851e98e8d2ba48d3.js → 286bf3be9f524bde9529.js} +1 -1
  60. package/assets/esri/core/workers/chunks/{53bf9b0c2b8da12820ea.js → 29b00d07d3e1d095c590.js} +2 -2
  61. package/assets/esri/core/workers/chunks/{9d8e7839772029d83c93.js → 29bbc0d6d847b065d10e.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{156efa014b6edd9ccce9.js → 2a5f6a8d282f2c391591.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{15a65aa6969c1b383ce2.js → 2f903bd3a2611e7f0946.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{b803e7b0d489bb628d72.js → 2f925a424b60b4a5e8e5.js} +1 -1
  65. package/assets/esri/core/workers/chunks/30e191d36aa95823c018.js +1 -0
  66. package/assets/esri/core/workers/chunks/{4b19acf8bde5b2e80692.js → 313a89b334e3518d30a4.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{390717f079def83a0d9c.js → 31a8bc25aa1441c70caa.js} +1 -1
  68. package/assets/esri/core/workers/chunks/31c01885ee6d70a2bde2.js +1 -0
  69. package/assets/esri/core/workers/chunks/3292b3883f203637b5a7.js +1 -0
  70. package/assets/esri/core/workers/chunks/{9bb2251ba58932f85d13.js → 33329f5d88e60b4ec568.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{8f9117d589de7caaa02d.js → 35bbd63319d8aa9f31cc.js} +1 -1
  72. package/assets/esri/core/workers/chunks/35fdd62277fd06468a29.js +2 -0
  73. package/assets/esri/core/workers/chunks/{3996149146dd1eca7cc5.js → 38d7430d2370b69334d7.js} +1 -1
  74. package/assets/esri/core/workers/chunks/3aebbed6d4fd1b993a35.js +1 -0
  75. package/assets/esri/core/workers/chunks/3f1d533efe4300d19e6a.js +1 -0
  76. package/assets/esri/core/workers/chunks/{7db09c5bf024242becfa.js → 40caf5e09e4382d81104.js} +5 -5
  77. package/assets/esri/core/workers/chunks/4213aa844900fcf95287.js +1 -0
  78. package/assets/esri/core/workers/chunks/{bc6a809a965355eb425f.js → 44636ef119c6a576470b.js} +1 -1
  79. package/assets/esri/core/workers/chunks/453c9e8d438d061e1736.js +1 -0
  80. package/assets/esri/core/workers/chunks/479e34b0abc10499bd3a.js +1 -0
  81. package/assets/esri/core/workers/chunks/{54dad475dc806a38c287.js → 48440a071a37590846ff.js} +1 -1
  82. package/assets/esri/core/workers/chunks/{38b1d2ffcc318ac0119d.js → 48fcc10768d93e95a04e.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{fa9ab152ea785b5e97e0.js → 4a41f98210f1da3b5041.js} +1 -1
  84. package/assets/esri/core/workers/chunks/4a65bc9091d7ea7e80df.js +1 -0
  85. package/assets/esri/core/workers/chunks/4cdf80e2e60501dd4756.js +1 -0
  86. package/assets/esri/core/workers/chunks/51edfe21d4c6ee22c83d.js +1 -0
  87. package/assets/esri/core/workers/chunks/52219561c144e5cb4442.js +1 -0
  88. package/assets/esri/core/workers/chunks/{312036c89a6a09bb06c2.js → 5570d47533efab56c732.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{5abe34bb0110694f7b42.js → 566c36032b456ec5b5d7.js} +1 -1
  90. package/assets/esri/core/workers/chunks/{34207774bc371e95ba3c.js → 56b6b68d9459b1edea43.js} +1 -1
  91. package/assets/esri/core/workers/chunks/593772bd8b19ac664b29.js +1 -0
  92. package/assets/esri/core/workers/chunks/{10ce083b38ccfa88f766.js → 594e1f633527749d92d7.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{ad329226c8b579d0964c.js → 5a6523c903b11dea77d4.js} +1 -1
  94. package/assets/esri/core/workers/chunks/5c44638670e40e092ce3.js +1 -0
  95. package/assets/esri/core/workers/chunks/{af8bc56cf1404afc3028.js → 5d60253ea3d247cdb3d1.js} +1 -1
  96. package/assets/esri/core/workers/chunks/5dc86a3a40d16b576bb5.js +1 -0
  97. package/assets/esri/core/workers/chunks/601edefd8da4eb2eda28.js +1 -0
  98. package/assets/esri/core/workers/chunks/6182d39e2095d4460b88.js +1 -0
  99. package/assets/esri/core/workers/chunks/{c798a40418e7ff38042a.js → 63513e706fe55a1def15.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{d8d338665fe00494c826.js → 660713adb5a845dfa2ef.js} +1 -1
  101. package/assets/esri/core/workers/chunks/694f9571e2723d3d4b02.js +1 -0
  102. package/assets/esri/core/workers/chunks/69ad5930ff6040c6c561.js +1 -0
  103. package/assets/esri/core/workers/chunks/{f563dd6cace047108b3c.js → 6b5d2df9123dfe7e00b3.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{5217d676749bca59d90f.js → 6c79e8e840c1d027fbb2.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{2ce845c990bb4d701362.js → 6ca81e34854ce7ec6f6e.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{11a99ee68409a641810e.js → 6f02681bcaa9bef501fc.js} +1 -1
  107. package/assets/esri/core/workers/chunks/77ac243d4dcd901c2eec.js +1 -0
  108. package/assets/esri/core/workers/chunks/78af4b7a379c40f497a7.js +1 -0
  109. package/assets/esri/core/workers/chunks/{bf706a5d065a357de51b.js → 79b64a52ff57c40c7800.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{475409026288f0981ce2.js → 7b3642195d6d3ea9b830.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{82b2acc6f181927de89c.js → 7bc746ea17f4e336e0b0.js} +1 -1
  112. package/assets/esri/core/workers/chunks/{19fcc74d34cbbaa56a41.js → 7c86099ed17f420b0489.js} +1 -1
  113. package/assets/esri/core/workers/chunks/{00a25dd4b057cc9f2a7e.js → 7d571845292b1b7769c2.js} +1 -1
  114. package/assets/esri/core/workers/chunks/7dafe608c224b9d48ffa.js +1 -0
  115. package/assets/esri/core/workers/chunks/7e203e947846d40f897e.js +1 -0
  116. package/assets/esri/core/workers/chunks/855bf811cd79b97c169a.js +1 -0
  117. package/assets/esri/core/workers/chunks/{7601278ebced0c0c31cf.js → 85bba0db8a7a5fc1be44.js} +1 -1
  118. package/assets/esri/core/workers/chunks/{a318cf6bb900e0ee268c.js → 881234f25c7814de8753.js} +1 -1
  119. package/assets/esri/core/workers/chunks/895114ccd2603830960f.js +1 -0
  120. package/assets/esri/core/workers/chunks/8a68884d40f6f6de1d12.js +1 -0
  121. package/assets/esri/core/workers/chunks/{0d81409721d29d8bc276.js → 8a7682071941c35f05c1.js} +1 -1
  122. package/assets/esri/core/workers/chunks/8aac1155b8ac071cd2ad.js +1 -0
  123. package/assets/esri/core/workers/chunks/{3e2953ea62817e75d840.js → 8cbaaea72f4ca2f023be.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{7bb17d0ab1cc2b89c035.js → 8e986167d4a393ee41ea.js} +1 -1
  125. package/assets/esri/core/workers/chunks/8fdd57e2a0af647f1e3e.js +1 -0
  126. package/assets/esri/core/workers/chunks/92db9a6d273ae2862883.js +1 -0
  127. package/assets/esri/core/workers/chunks/{9b23d999db902d25ba58.js → 9373daa677dc767d7cf0.js} +1 -1
  128. package/assets/esri/core/workers/chunks/{40ffb1aa17cbfae17b23.js → 9542ef3f6c2bc7c14d85.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{657268b3fde6da2dd735.js → 95798e3de3419fdda6ac.js} +1 -1
  130. package/assets/esri/core/workers/chunks/{aad02c7417648d881129.js → 958617c3a9854ea04e06.js} +1 -1
  131. package/assets/esri/core/workers/chunks/{a28124bba6b43efd74cc.js → 95df6d2ebacc43ac5fa3.js} +1 -1
  132. package/assets/esri/core/workers/chunks/{f618ee43581e8de6ad0c.js → 970e91de5dfbbc247afb.js} +1 -1
  133. package/assets/esri/core/workers/chunks/978b7d10054e17161145.js +1 -0
  134. package/assets/esri/core/workers/chunks/{8a48a6760c33ed50b650.js → 98b4408e12684e37b395.js} +1 -1
  135. package/assets/esri/core/workers/chunks/9d70247d820085a2c190.js +1 -0
  136. package/assets/esri/core/workers/chunks/9da2f2b67837b491cfa3.js +1 -0
  137. package/assets/esri/core/workers/chunks/{edee616b6f1b5be8fd39.js → a0296e6d6c37b861c5fb.js} +1 -1
  138. package/assets/esri/core/workers/chunks/{c19e3f6027b6526de359.js → a02ebdcb802d128c8eee.js} +1 -1
  139. package/assets/esri/core/workers/chunks/a0aaf14c8f9a007d88ac.js +1 -0
  140. package/assets/esri/core/workers/chunks/{1523883460874c352e36.js → a29cd1f5c7bb4f6a5a4f.js} +1 -1
  141. package/assets/esri/core/workers/chunks/{cf826787ab8d4b27ad80.js → a53a3e5548fef65a2710.js} +1 -1
  142. package/assets/esri/core/workers/chunks/{91f9e0e3662d4bf9f163.js → a913a1c83a667ed0e711.js} +1 -1
  143. package/assets/esri/core/workers/chunks/{359465b9726edcc70c83.js → a9c9c00432ee41ec91ba.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{a3a28c4887f802e8d96d.js → aa55923ca939a0d4606c.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{d3b086eb9aa8c7d09048.js → aea8e0577fb48d5c9577.js} +1 -1
  146. package/assets/esri/core/workers/chunks/af45110f07e4b5162bae.js +1 -0
  147. package/assets/esri/core/workers/chunks/{76589434d573111a8fb4.js → b09ae8eb5e97fb27382f.js} +1 -1
  148. package/assets/esri/core/workers/chunks/b0c647af49c9d563b852.js +1 -0
  149. package/assets/esri/core/workers/chunks/{a320998f18922a35899f.js → b32a13972cb3de652339.js} +1 -1
  150. package/assets/esri/core/workers/chunks/b432a5a829e309837db6.js +1 -0
  151. package/assets/esri/core/workers/chunks/{9103eb0b9078019d3a26.js → b5d0898406c7d6e6a717.js} +1 -1
  152. package/assets/esri/core/workers/chunks/b640651c7d86cfe654bf.js +1 -0
  153. package/assets/esri/core/workers/chunks/{503439246250d9e1cbd5.js → b75e090a7e935ff870a3.js} +1 -1
  154. package/assets/esri/core/workers/chunks/{c321bcda8e8893577948.js → b8dda9e55caba0e2b4c2.js} +1 -1
  155. package/assets/esri/core/workers/chunks/{59a64d72eed8c40c63cf.js → bacf0c9d5d3e084dea61.js} +1 -1
  156. package/assets/esri/core/workers/chunks/{48a0e7a32ebd44045c8f.js → bb04aff0b4947408592c.js} +1 -1
  157. package/assets/esri/core/workers/chunks/{17de1c251242b692cf45.js → bff0c4094c14cb97b18f.js} +1 -1
  158. package/assets/esri/core/workers/chunks/{47dd2bfecc5c4b5f10f0.js → c0d7e4afbad0b20e2502.js} +1 -1
  159. package/assets/esri/core/workers/chunks/c13c532fe38ddc5d7ca6.js +1 -0
  160. package/assets/esri/core/workers/chunks/{cc62e5095e328bed3e01.js → c1ffb879e0283fb2815f.js} +1 -1
  161. package/assets/esri/core/workers/chunks/{22fa4aa2b76573bafe21.js → c476f4979048e558baa7.js} +89 -76
  162. package/assets/esri/core/workers/chunks/c8b96104641cb4afd4df.js +1 -0
  163. package/assets/esri/core/workers/chunks/{4faaf61d20e20fcf6c18.js → c91d4f1b42cfe474df52.js} +1 -1
  164. package/assets/esri/core/workers/chunks/{6ae2408ac075b974e887.js → cb26966cc205bd338c76.js} +1 -1
  165. package/assets/esri/core/workers/chunks/{c452c74ba9de218c3e57.js → cb3004998eff7c60930e.js} +1 -1
  166. package/assets/esri/core/workers/chunks/cc48354c54358777e996.js +1 -0
  167. package/assets/esri/core/workers/chunks/{b1b8a7c00ec4d998ab84.js → cc8d55d1830d7542c3f5.js} +1 -1
  168. package/assets/esri/core/workers/chunks/ce0c7070eeb723a718e7.js +1 -0
  169. package/assets/esri/core/workers/chunks/ce3b5b83237cf37ff523.js +1 -0
  170. package/assets/esri/core/workers/chunks/cf3c0bee919bb509cd4f.js +1 -0
  171. package/assets/esri/core/workers/chunks/cf9b0ba30a75c030ca92.js +1 -0
  172. package/assets/esri/core/workers/chunks/d00b9c1fd0865bf8f317.js +1 -0
  173. package/assets/esri/core/workers/chunks/{9a29b7f9e6281ee40c37.js → d4749eb8a47869477037.js} +1 -1
  174. package/assets/esri/core/workers/chunks/d5423df247be82fa085a.js +1 -0
  175. package/assets/esri/core/workers/chunks/d610f517fb3c6cb24365.js +1 -0
  176. package/assets/esri/core/workers/chunks/{47656ec12401e53f4bd3.js → d9d716bfd0aab30b6caf.js} +1 -1
  177. package/assets/esri/core/workers/chunks/da4f7d7099ba88f31f45.js +1 -0
  178. package/assets/esri/core/workers/chunks/dbb1ac41fd5da4fd849b.js +1 -0
  179. package/assets/esri/core/workers/chunks/{176dd195f77b98cb0b0f.js → dd58bc675b85b4d90afa.js} +1 -1
  180. package/assets/esri/core/workers/chunks/e2bb95d601789bbda73b.js +1 -0
  181. package/assets/esri/core/workers/chunks/{f018ad451ee072253a1e.js → e4b2120d7ee1c998b1fc.js} +1 -1
  182. package/assets/esri/core/workers/chunks/e4c350dc65aae121171d.js +1 -0
  183. package/assets/esri/core/workers/chunks/e8518bd3596543b387f8.js +1 -0
  184. package/assets/esri/core/workers/chunks/{f948e4a80a7dbda70f2e.js → e973cab79ec2541cb81b.js} +1 -1
  185. package/assets/esri/core/workers/chunks/{7d6299ab7b0db23ab961.js → eb1d6614eeac6d26bb9c.js} +1 -1
  186. package/assets/esri/core/workers/chunks/f1bb426400dac02880f1.js +1 -0
  187. package/assets/esri/core/workers/chunks/{ffcd4fca7f67e1f943f1.js → f239a8ecad8b692d5eaa.js} +1 -1
  188. package/assets/esri/core/workers/chunks/{de11ebcea2b8f9dfe65d.js → f3161c47a572194f6017.js} +1 -1
  189. package/assets/esri/core/workers/chunks/{f66262f8582909157f01.js → f37be7e517f0892014e3.js} +1 -1
  190. package/assets/esri/core/workers/chunks/{99f726f05cf80b0330ed.js → f3a9100518b044e79501.js} +1 -1
  191. package/assets/esri/core/workers/chunks/f3f984c62311c20a9db8.js +1 -0
  192. package/assets/esri/core/workers/chunks/f5bd0a4f82df5e942b70.js +1 -0
  193. package/assets/esri/core/workers/chunks/{85e65ced3312bf9cf162.js → f7e386ece75afb6e4be5.js} +1 -1
  194. package/assets/esri/core/workers/chunks/f8b884b529064df4a30a.js +1 -0
  195. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +125 -0
  196. package/assets/esri/themes/base/widgets/_Directions.scss +5 -1
  197. package/assets/esri/themes/dark/main.css +1 -1
  198. package/assets/esri/themes/light/main.css +1 -1
  199. package/assets/esri/themes/light/view.css +1 -1
  200. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm.json +1 -1
  201. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ar.json +1 -1
  202. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bg.json +1 -1
  203. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_bs.json +1 -1
  204. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ca.json +1 -1
  205. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_cs.json +1 -1
  206. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_da.json +1 -1
  207. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_de.json +1 -1
  208. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_el.json +1 -1
  209. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_en.json +1 -1
  210. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_es.json +1 -1
  211. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_et.json +1 -1
  212. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fi.json +1 -1
  213. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_fr.json +1 -1
  214. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_he.json +1 -1
  215. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hr.json +1 -1
  216. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_hu.json +1 -1
  217. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_id.json +1 -1
  218. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_it.json +1 -1
  219. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ja.json +1 -1
  220. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ko.json +1 -1
  221. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lt.json +1 -1
  222. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_lv.json +1 -1
  223. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_nl.json +1 -1
  224. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_no.json +1 -1
  225. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pl.json +1 -1
  226. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-BR.json +1 -1
  227. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_pt-PT.json +1 -1
  228. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ro.json +1 -1
  229. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_ru.json +1 -1
  230. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sk.json +1 -1
  231. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sl.json +1 -1
  232. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sr.json +1 -1
  233. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_sv.json +1 -1
  234. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_th.json +1 -1
  235. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_tr.json +1 -1
  236. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_uk.json +1 -1
  237. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_vi.json +1 -1
  238. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-CN.json +1 -1
  239. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-HK.json +1 -1
  240. package/assets/esri/widgets/BatchAttributeForm/t9n/BatchAttributeForm_zh-TW.json +1 -1
  241. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer.json +1 -1
  242. package/assets/esri/widgets/OrientedImageryViewer/t9n/OrientedImageryViewer_en.json +1 -1
  243. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer.json +1 -1
  244. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ar.json +1 -1
  245. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bg.json +1 -1
  246. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_bs.json +1 -1
  247. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ca.json +1 -1
  248. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_cs.json +1 -1
  249. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_da.json +1 -1
  250. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_de.json +1 -1
  251. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_el.json +1 -1
  252. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_es.json +1 -1
  253. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_et.json +1 -1
  254. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fi.json +1 -1
  255. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_fr.json +1 -1
  256. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_he.json +1 -1
  257. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hr.json +1 -1
  258. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_hu.json +1 -1
  259. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_id.json +1 -1
  260. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_it.json +1 -1
  261. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ja.json +1 -1
  262. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ko.json +1 -1
  263. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lt.json +1 -1
  264. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_lv.json +1 -1
  265. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_nl.json +1 -1
  266. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_no.json +1 -1
  267. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pl.json +1 -1
  268. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-BR.json +1 -1
  269. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_pt-PT.json +1 -1
  270. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ro.json +1 -1
  271. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_ru.json +1 -1
  272. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sk.json +1 -1
  273. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sl.json +1 -1
  274. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sr.json +1 -1
  275. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_sv.json +1 -1
  276. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_th.json +1 -1
  277. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_tr.json +1 -1
  278. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_uk.json +1 -1
  279. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_vi.json +1 -1
  280. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-CN.json +1 -1
  281. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-HK.json +1 -1
  282. package/assets/esri/widgets/VideoPlayer/t9n/VideoPlayer_zh-TW.json +1 -1
  283. package/chunks/AtmosphereCompositing.glsl.js +1 -1
  284. package/chunks/Bufferer-Dw9Qi4T1.js +1 -1
  285. package/chunks/Centroid-DZi-eb9F.js +1 -1
  286. package/chunks/Clouds.glsl.js +1 -1
  287. package/chunks/Compositing.glsl.js +1 -1
  288. package/chunks/CutFillComposition.glsl.js +1 -1
  289. package/chunks/CutFillDepth.glsl.js +1 -1
  290. package/chunks/CutFillMask.glsl.js +1 -1
  291. package/chunks/CutFillReduction.glsl.js +1 -1
  292. package/chunks/CutFillTargetDepth.glsl.js +1 -1
  293. package/chunks/Distance2DCalculator-CXhBP-8I.js +1 -1
  294. package/chunks/Envelope.js +1 -1
  295. package/chunks/Envelope2D.js +1 -1
  296. package/chunks/FlatGeometry.js +1 -1
  297. package/chunks/FocusAreaColor.glsl.js +1 -1
  298. package/chunks/FocusAreaMask.glsl.js +1 -1
  299. package/chunks/Fog.glsl.js +1 -1
  300. package/chunks/GaussianSplat.glsl.js +1 -1
  301. package/chunks/GaussianSplatShadow.glsl.js +1 -1
  302. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
  303. package/chunks/GeodeticUtils.js +1 -1
  304. package/chunks/Geometry.js +1 -1
  305. package/chunks/GeometryCleaner-BEJM7I4l.js +1 -1
  306. package/chunks/GlobalIllumination.glsl.js +1 -1
  307. package/chunks/GlobalIlluminationBlur.glsl.js +1 -1
  308. package/chunks/GlobalIlluminationUpscale.glsl.js +80 -65
  309. package/chunks/GlowBlur.glsl.js +1 -1
  310. package/chunks/GlowComposition.glsl.js +1 -1
  311. package/chunks/HazeCompositing.glsl.js +1 -1
  312. package/chunks/HighlightBlur.glsl.js +1 -1
  313. package/chunks/HighlightDownsample.glsl.js +1 -1
  314. package/chunks/Magnifier.glsl.js +1 -1
  315. package/chunks/MultiPathImpl.js +1 -1
  316. package/chunks/NoiseTextureAtlas.glsl.js +1 -1
  317. package/chunks/OITBlend.glsl.js +2 -2
  318. package/chunks/OITBlendEmission.glsl.js +1 -1
  319. package/chunks/OITDimOpaque.glsl.js +1 -1
  320. package/chunks/OperatorClip.js +1 -1
  321. package/chunks/OperatorCrosses.js +1 -1
  322. package/chunks/OperatorCut.js +1 -1
  323. package/chunks/OperatorDensify.js +1 -1
  324. package/chunks/OperatorGeneralize.js +1 -1
  325. package/chunks/OperatorGeodesicBuffer.js +1 -1
  326. package/chunks/OperatorGeodeticArea.js +1 -1
  327. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  328. package/chunks/OperatorGeodeticDistance.js +1 -1
  329. package/chunks/OperatorGeodeticLength.js +1 -1
  330. package/chunks/OperatorIntegrate.js +1 -1
  331. package/chunks/OperatorIntersects.js +1 -1
  332. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  333. package/chunks/OperatorOverlaps.js +1 -1
  334. package/chunks/OperatorProject.js +1 -1
  335. package/chunks/OperatorProximity.js +1 -1
  336. package/chunks/OperatorProximityGeodesic.js +1 -1
  337. package/chunks/OperatorShapePreservingDensify.js +1 -1
  338. package/chunks/OperatorShapePreservingLength.js +1 -1
  339. package/chunks/OperatorShapePreservingProject.js +1 -1
  340. package/chunks/OperatorSimplifyOGC.js +1 -1
  341. package/chunks/OperatorTouches.js +1 -1
  342. package/chunks/OperatorWithin.js +1 -1
  343. package/chunks/OverlayCompositing.glsl.js +1 -1
  344. package/chunks/Point2D.js +1 -1
  345. package/chunks/PointRenderer.glsl.js +1 -1
  346. package/chunks/ProjectionTransformation.js +1 -1
  347. package/chunks/RasterColorizer.glsl.js +1 -1
  348. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  349. package/chunks/ShadowCastVisualize.glsl.js +2 -2
  350. package/chunks/SideCalculator2D-BNwb5gvz.js +1 -1
  351. package/chunks/SimpleAtmosphere.glsl.js +1 -1
  352. package/chunks/SpatialReference.js +1 -1
  353. package/chunks/Terrain.glsl.js +1 -1
  354. package/chunks/Texture.glsl.js +1 -1
  355. package/chunks/Transformation2D.js +1 -1
  356. package/chunks/Viewshed.glsl.js +1 -1
  357. package/chunks/aiServices.js +1 -1
  358. package/chunks/arcade.js +1 -1
  359. package/chunks/array.js +1 -1
  360. package/chunks/boundedPlane.js +1 -1
  361. package/chunks/constants.js +1 -1
  362. package/chunks/containsOperator.js +1 -1
  363. package/chunks/disjointOperator.js +1 -1
  364. package/chunks/distanceOperator.js +1 -1
  365. package/chunks/equalsOperator.js +1 -1
  366. package/chunks/languageUtils.js +1 -1
  367. package/chunks/pe.js +1 -1
  368. package/chunks/persistableUrlUtils.js +1 -1
  369. package/chunks/relateOperator.js +1 -1
  370. package/chunks/symmetricDifferenceOperator.js +1 -1
  371. package/chunks/unionOperator.js +1 -1
  372. package/chunks/vec2.js +1 -1
  373. package/chunks/vec3.js +1 -1
  374. package/chunks/vec4.js +1 -1
  375. package/config.js +1 -1
  376. package/core/accessorSupport/decorators/persistable.js +1 -1
  377. package/effects/FocusArea.js +1 -1
  378. package/form/elements/inputs/MultipleChoiceInput.d.ts +5 -5
  379. package/form/elements/inputs/MultipleChoiceInput.js +1 -1
  380. package/geometry/coordinateFormatter.js +1 -1
  381. package/geometry/operators/extendOperator.js +1 -1
  382. package/geometry/operators/gx/geodeticUtils.js +1 -1
  383. package/geometry/operators/gx/operatorAffineTransform.js +1 -1
  384. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  385. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  386. package/geometry/operators/gx/operatorBoundary.js +1 -1
  387. package/geometry/operators/gx/operatorBuffer.js +1 -1
  388. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  389. package/geometry/operators/gx/operatorDifference.js +1 -1
  390. package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
  391. package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
  392. package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
  393. package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
  394. package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
  395. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  396. package/geometry/operators/gx/operatorIntersection.js +1 -1
  397. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  398. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  399. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  400. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  401. package/geometry/operators/gx/operatorOffset.js +1 -1
  402. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  403. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  404. package/geometry/operators/gx/operatorProject.js +1 -1
  405. package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
  406. package/geometry/operators/gx/operatorShapePreservingProject.js +1 -1
  407. package/geometry/operators/gx/operatorSimplify.js +1 -1
  408. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  409. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  410. package/geometry/operators/gx/operatorUnion.js +1 -1
  411. package/geometry/operators/isNearOperator.js +1 -1
  412. package/geometry/operators/json/containsOperator.js +1 -1
  413. package/geometry/operators/json/disjointOperator.js +1 -1
  414. package/geometry/operators/locateBetweenOperator.js +1 -1
  415. package/geometry/operators/reshapeOperator.js +1 -1
  416. package/geometry/operators/support/apiConverter.js +1 -1
  417. package/geometry/operators/support/geographicTransformationUtils.js +1 -1
  418. package/geometry/operators/support/initNoPeFactory.js +1 -1
  419. package/geometry/operators/support/jsonConverter.js +1 -1
  420. package/geometry/operators/support/projectionTransformation.js +1 -1
  421. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  422. package/geometry/operators/unionOperator.js +1 -1
  423. package/geometry/pe.js +1 -1
  424. package/geometry/support/MeshTexture.js +1 -1
  425. package/geometry/support/boundedPlane.js +1 -1
  426. package/geometry/support/buffer/math/vec3.js +1 -1
  427. package/geometry/support/buffer/math/vec4.js +1 -1
  428. package/geometry/support/buffer/utils/vec2.js +1 -1
  429. package/geometry/support/coordinateSystem.js +1 -1
  430. package/geometry/support/meshUtils/extent.js +1 -1
  431. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  432. package/geometry/support/meshUtils/projection.js +1 -1
  433. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  434. package/geometry/support/spatialReferenceUtils.js +1 -1
  435. package/geometry/support/vcsData.js +1 -1
  436. package/interfaces.d.ts +3 -0
  437. package/kernel.js +1 -1
  438. package/layers/FeatureLayer.d.ts +29 -39
  439. package/layers/ImageryTileLayer.js +1 -1
  440. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  441. package/layers/IntegratedMeshLayer.js +1 -1
  442. package/layers/KnowledgeGraphLayer.js +1 -1
  443. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  444. package/layers/OrientedImageryLayer.d.ts +233 -0
  445. package/layers/OrientedImageryLayer.js +1 -1
  446. package/layers/VideoLayer.d.ts +35 -9
  447. package/layers/VideoLayer.js +1 -1
  448. package/layers/catalog/CatalogFootprintLayer.d.ts +147 -0
  449. package/layers/knowledgeGraph/KnowledgeGraphLayerDataManager.js +1 -1
  450. package/layers/knowledgeGraph/cypherUtils.js +1 -1
  451. package/layers/mixins/ArcGISImageService.js +1 -1
  452. package/layers/mixins/FeatureLayerBase.d.ts +12 -0
  453. package/layers/mixins/FeatureLayerBase.js +1 -1
  454. package/layers/orientedImagery/transformations/utils.js +1 -1
  455. package/layers/raster/datasets/ImageAuxRaster.js +1 -1
  456. package/layers/raster/formats/RasterCodec.js +1 -1
  457. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  458. package/layers/support/FeatureReductionBinning.d.ts +87 -9
  459. package/layers/support/FeatureReductionCluster.d.ts +87 -9
  460. package/layers/support/FieldConfiguration.d.ts +1 -1
  461. package/layers/support/ImageElement.js +1 -1
  462. package/layers/support/ParquetFilesData.js +1 -1
  463. package/layers/support/SceneFilter.js +1 -1
  464. package/layers/support/Sublayer.d.ts +25 -0
  465. package/layers/support/Sublayer.js +1 -1
  466. package/layers/support/SubtypeSublayer.d.ts +147 -0
  467. package/layers/support/TelemetryData.d.ts +5 -0
  468. package/layers/support/TelemetryData.js +1 -1
  469. package/layers/support/TelemetryDisplay.d.ts +10 -2
  470. package/layers/support/TelemetryDisplay.js +1 -1
  471. package/layers/video/VideoController.js +1 -1
  472. package/layers/video/types.d.ts +8 -1
  473. package/layers/video/videoUtils.js +1 -1
  474. package/linkChart/LinkChartProperties.js +1 -1
  475. package/linkChart/utils.js +1 -1
  476. package/package.json +2 -2
  477. package/portal/PortalItem.js +1 -1
  478. package/portal/jsonTypes.d.ts +7 -0
  479. package/renderers/UniqueValueRenderer.js +1 -1
  480. package/rest/knowledgeGraphService.js +1 -1
  481. package/rest/print.js +1 -1
  482. package/rest/support/PrintParameters.d.ts +8 -1
  483. package/rest/support/PrintParameters.js +1 -1
  484. package/support/arcadeUtils.js +1 -1
  485. package/support/persistableUrlUtils.js +1 -1
  486. package/support/revision.js +1 -1
  487. package/symbols/Symbol3D.js +1 -1
  488. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  489. package/symbols/support/urlUtils.js +1 -1
  490. package/symbols/support/webStyleSymbolUtils.js +1 -1
  491. package/third-party-notices.txt +188 -0
  492. package/views/2d/ViewStateManager.js +1 -1
  493. package/views/2d/engine/webgl/shaderGraph/graph/GlslGraphWriter.js +1 -1
  494. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphContext.js +1 -1
  495. package/views/2d/engine/webgl/shaderGraph/graph/ShaderGraphNode.js +1 -1
  496. package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
  497. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  498. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
  499. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/AspectShader.js +1 -1
  500. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/CurvatureShader.js +1 -1
  501. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MaskShader.js +1 -1
  502. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/RemapShader.js +1 -1
  503. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/SlopeShader.js +1 -1
  504. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/math.js +1 -1
  505. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/surface.js +1 -1
  506. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  507. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  508. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  509. package/views/2d/layers/VideoLayerView2D.js +1 -1
  510. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  511. package/views/3d/analysis/Slice/SliceController.js +1 -1
  512. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  513. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  514. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  515. package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
  516. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  517. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  518. package/views/3d/focusAreaUtils.js +1 -1
  519. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
  520. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  521. package/views/3d/interactive/editingTools/transform/extentTransform/extentUtils.js +1 -1
  522. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  523. package/views/3d/layers/SceneLayerWorker.js +1 -1
  524. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  525. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  526. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  527. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  528. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  529. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  530. package/views/3d/layers/i3s/meshUtils.js +1 -1
  531. package/views/3d/state/ScreenSizePerspective.js +1 -1
  532. package/views/3d/support/ViewSlice.js +1 -1
  533. package/views/3d/terrain/OverlayRenderer.js +1 -1
  534. package/views/3d/terrain/RasterColorizer.glsl.js +1 -1
  535. package/views/3d/terrain/RasterTile.js +1 -1
  536. package/views/3d/terrain/TerrainRenderer.js +1 -1
  537. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  538. package/views/3d/webgl-engine/core/shaderLibrary/shading/GlobalIlluminationWeights.glsl.js +3 -5
  539. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
  540. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  541. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  542. package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
  543. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  544. package/views/3d/webgl-engine/effects/clouds/Clouds.glsl.js +1 -1
  545. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  546. package/views/3d/webgl-engine/effects/clouds/CloudsTechnique.js +1 -1
  547. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.glsl.js +1 -1
  548. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
  549. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasTechnique.js +1 -1
  550. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColor.glsl.js +1 -1
  551. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  552. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  553. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMask.glsl.js +1 -1
  554. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  555. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  556. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  557. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  558. package/views/3d/webgl-engine/effects/fog/FogTechnique.js +1 -1
  559. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  560. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  561. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
  562. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlurTechnique.js +1 -1
  563. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechnique.js +1 -1
  564. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
  565. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscale.glsl.js +1 -1
  566. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscaleTechnique.js +1 -1
  567. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  568. package/views/3d/webgl-engine/effects/glow/GlowBlur.glsl.js +1 -1
  569. package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +1 -1
  570. package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
  571. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +1 -1
  572. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  573. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  574. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  575. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  576. package/views/3d/webgl-engine/effects/highlight/HighlightBlur.glsl.js +1 -1
  577. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  578. package/views/3d/webgl-engine/effects/highlight/HighlightDownsample.glsl.js +1 -1
  579. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  580. package/views/3d/webgl-engine/effects/magnifier/Magnifier.glsl.js +1 -1
  581. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  582. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  583. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  584. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  585. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  586. package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
  587. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
  588. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  589. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  590. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  591. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  592. package/views/3d/webgl-engine/lib/GaussianSplatShadowRenderNode.js +1 -1
  593. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  594. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  595. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  596. package/views/3d/webgl-engine/lib/SliceHelper.js +1 -1
  597. package/views/3d/webgl-engine/lib/Texture.glsl.js +1 -1
  598. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  599. package/views/3d/webgl-engine/lib/TriangleIntersectionData.js +1 -1
  600. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  601. package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
  602. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  603. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  604. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  605. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  606. package/views/3d/webgl-engine/shaders/CutFillComposition.glsl.js +1 -1
  607. package/views/3d/webgl-engine/shaders/CutFillCompositionTechnique.js +1 -1
  608. package/views/3d/webgl-engine/shaders/CutFillDepth.glsl.js +1 -1
  609. package/views/3d/webgl-engine/shaders/CutFillDepthTechnique.js +1 -1
  610. package/views/3d/webgl-engine/shaders/CutFillMask.glsl.js +1 -1
  611. package/views/3d/webgl-engine/shaders/CutFillMaskTechnique.js +1 -1
  612. package/views/3d/webgl-engine/shaders/CutFillReduction.glsl.js +1 -1
  613. package/views/3d/webgl-engine/shaders/CutFillReductionTechnique.js +1 -1
  614. package/views/3d/webgl-engine/shaders/CutFillTargetDepth.glsl.js +1 -1
  615. package/views/3d/webgl-engine/shaders/CutFillTargetDepthTechnique.js +1 -1
  616. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  617. package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
  618. package/views/3d/webgl-engine/shaders/GaussianSplatShadowTechnique.js +1 -1
  619. package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +1 -1
  620. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
  621. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  622. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  623. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  624. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  625. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  626. package/views/3d/webgl-engine/shaders/ShadowCastMaskTechnique.js +1 -1
  627. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  628. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  629. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  630. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  631. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  632. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  633. package/views/Viewport2DBaseMixin.js +1 -1
  634. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  635. package/views/interactive/snapping/featureSources/featureServiceSource/tileUtils.js +1 -1
  636. package/webdoc/support/webdocSaveUtils.js +1 -1
  637. package/widgets/Attachments/support/attachmentUtils.js +1 -1
  638. package/widgets/Attachments.d.ts +0 -1
  639. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +8 -1
  640. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  641. package/widgets/BatchAttributeForm/attachmentUtils.js +2 -0
  642. package/widgets/BatchAttributeForm/css.js +1 -1
  643. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  644. package/widgets/BatchAttributeForm/templates/RelationshipElementTemplate.js +1 -1
  645. package/widgets/BatchAttributeForm/templates/support/createBatchFormTemplate.js +1 -1
  646. package/widgets/BatchAttributeForm/templates/support/hashElementTemplate.js +1 -1
  647. package/widgets/BatchAttributeForm/types.d.ts +7 -0
  648. package/widgets/BatchAttributeForm.js +1 -1
  649. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  650. package/widgets/BuildingExplorer/BuildingLevelPicker/constants.js +1 -1
  651. package/widgets/FeatureForm/RelationshipInput.d.ts +1 -1
  652. package/widgets/FeatureTable.js +1 -1
  653. package/widgets/Features.d.ts +1 -1
  654. package/widgets/LayerList/LayerListItem.js +1 -1
  655. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  656. package/widgets/OrientedImageryViewer/components/OrientedImageryVideoViewModel.js +1 -1
  657. package/widgets/OrientedImageryViewer/constants.js +1 -1
  658. package/widgets/OrientedImageryViewer/services/SuperimposeService.js +1 -1
  659. package/widgets/OrientedImageryViewer/support/superimposeUtils.js +1 -1
  660. package/widgets/OrientedImageryViewer/types.js +1 -1
  661. package/widgets/OrientedImageryViewer/videoViewerUtils.js +1 -1
  662. package/widgets/OrientedImageryViewer.js +1 -1
  663. package/widgets/PanoramicViewer/PanoramicVideoViewerViewModel.js +1 -1
  664. package/widgets/Popup.d.ts +2 -24
  665. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  666. package/widgets/TableList/support/tableListUtils.js +1 -1
  667. package/widgets/TableList.js +1 -1
  668. package/widgets/VideoPlayer/VideoPlayerViewModel.d.ts +9 -0
  669. package/widgets/VideoPlayer/VideoPlayerViewModel.js +1 -1
  670. package/widgets/VideoPlayer/components/PlayerControlsGroup.js +1 -1
  671. package/widgets/support/ContingentValuesManager.js +1 -1
  672. package/widgets/support/forms/formUtils.js +1 -1
  673. package/assets/esri/core/workers/chunks/09630888267cde87654f.js +0 -1
  674. package/assets/esri/core/workers/chunks/0d9d33f29124d464a4cb.js +0 -1
  675. package/assets/esri/core/workers/chunks/0e333f1bce992508b68a.js +0 -1
  676. package/assets/esri/core/workers/chunks/0fa207c68dfd7ddee160.js +0 -1
  677. package/assets/esri/core/workers/chunks/13838b6c045425e73cf8.js +0 -1
  678. package/assets/esri/core/workers/chunks/177472a6a9beb1590934.js +0 -1
  679. package/assets/esri/core/workers/chunks/1d0f9f147bfa00b38d48.js +0 -1
  680. package/assets/esri/core/workers/chunks/1d54b71c43d9d6a5f713.js +0 -1
  681. package/assets/esri/core/workers/chunks/1f6b7626f333809837ef.js +0 -1
  682. package/assets/esri/core/workers/chunks/24646a1176ce34039155.js +0 -1
  683. package/assets/esri/core/workers/chunks/268ed861c882740c805b.js +0 -1
  684. package/assets/esri/core/workers/chunks/2b52c1c01cf568ba01fb.js +0 -1
  685. package/assets/esri/core/workers/chunks/3116a1c2b67a296ba86e.js +0 -1
  686. package/assets/esri/core/workers/chunks/32c17c299c7622ae0d71.js +0 -1
  687. package/assets/esri/core/workers/chunks/34f79355145c8e4c59dd.js +0 -1
  688. package/assets/esri/core/workers/chunks/3be111488365768fd917.js +0 -1
  689. package/assets/esri/core/workers/chunks/3f0483cbcd893acf240c.js +0 -1
  690. package/assets/esri/core/workers/chunks/40d251b6b42a41d68bd2.js +0 -1
  691. package/assets/esri/core/workers/chunks/43cc82373be791b7cb4c.js +0 -1
  692. package/assets/esri/core/workers/chunks/4a23b27bfbcfa08fd9a7.js +0 -1
  693. package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +0 -1
  694. package/assets/esri/core/workers/chunks/598271956c46e21e5c09.js +0 -1
  695. package/assets/esri/core/workers/chunks/5b07f3253403fe25ce5b.js +0 -1
  696. package/assets/esri/core/workers/chunks/5b6f2bfdcdd207d8ae42.js +0 -1
  697. package/assets/esri/core/workers/chunks/5c7ba4b8a9ec2e2e02b5.js +0 -1
  698. package/assets/esri/core/workers/chunks/60915a3708a34da1977e.js +0 -1
  699. package/assets/esri/core/workers/chunks/61c523dd9d8027922465.js +0 -1
  700. package/assets/esri/core/workers/chunks/65520a443e3811255bea.js +0 -1
  701. package/assets/esri/core/workers/chunks/671826fe25105aedcce4.js +0 -1
  702. package/assets/esri/core/workers/chunks/6b79c254897ece95b7a3.js +0 -1
  703. package/assets/esri/core/workers/chunks/6c35583707f5c339ee99.js +0 -1
  704. package/assets/esri/core/workers/chunks/6cb467a9517f024be72f.js +0 -1
  705. package/assets/esri/core/workers/chunks/71119398ec91f1b209d7.js +0 -1
  706. package/assets/esri/core/workers/chunks/8ac8ef856ed9592c433b.js +0 -1
  707. package/assets/esri/core/workers/chunks/8fedb32055ac7f771419.js +0 -1
  708. package/assets/esri/core/workers/chunks/9482a6d7baa24bbf5693.js +0 -1
  709. package/assets/esri/core/workers/chunks/9c11e1fe785e1385fdb1.js +0 -1
  710. package/assets/esri/core/workers/chunks/a567d001fcfa1f1cdeea.js +0 -1
  711. package/assets/esri/core/workers/chunks/a58662698c69190a12d8.js +0 -2
  712. package/assets/esri/core/workers/chunks/afdc6fc453157528cf9b.js +0 -1
  713. package/assets/esri/core/workers/chunks/b5ced451d331ca1ffb68.js +0 -1
  714. package/assets/esri/core/workers/chunks/b7f5d51ac26f37837b3b.js +0 -1
  715. package/assets/esri/core/workers/chunks/ba7fe21a78ea37a02b7c.js +0 -1
  716. package/assets/esri/core/workers/chunks/bb3ab2453ccde2f2611c.js +0 -1
  717. package/assets/esri/core/workers/chunks/beba9f2213d8a850ddb6.js +0 -1
  718. package/assets/esri/core/workers/chunks/c1189316d24fb4cdb2a0.js +0 -1
  719. package/assets/esri/core/workers/chunks/c9461568e1002ebac534.js +0 -1
  720. package/assets/esri/core/workers/chunks/d30790c69724258dab2b.js +0 -1
  721. package/assets/esri/core/workers/chunks/d35c475f004367e333eb.js +0 -1
  722. package/assets/esri/core/workers/chunks/d8c4fb66c733ab2f66d3.js +0 -1
  723. package/assets/esri/core/workers/chunks/d95ffd990b3a7df69e1e.js +0 -1
  724. package/assets/esri/core/workers/chunks/dd6efa0afe879bd11a2e.js +0 -1
  725. package/assets/esri/core/workers/chunks/dec51409372764e7093d.js +0 -1
  726. package/assets/esri/core/workers/chunks/e133840540abf20262a4.js +0 -1
  727. package/assets/esri/core/workers/chunks/e63e24101e7e92c62d98.js +0 -1
  728. package/assets/esri/core/workers/chunks/e785f76c1a75cb1d1e1f.js +0 -1
  729. package/assets/esri/core/workers/chunks/f27397379c6c88bc6ef4.js +0 -1
  730. package/assets/esri/core/workers/chunks/f53805c7a84203305b2c.js +0 -1
  731. package/assets/esri/core/workers/chunks/f60292d97bcdbf19165b.js +0 -1
  732. package/assets/esri/core/workers/chunks/f6ebec8d2248c719b89f.js +0 -1
  733. package/assets/esri/core/workers/chunks/fd2afff07aaac8203c18.js +0 -1
  734. package/assets/esri/core/workers/chunks/ff7708aaa2de720e3a47.js +0 -1
  735. /package/assets/esri/core/workers/chunks/{53bf9b0c2b8da12820ea.js.LICENSE.txt → 29b00d07d3e1d095c590.js.LICENSE.txt} +0 -0
  736. /package/assets/esri/core/workers/chunks/{a58662698c69190a12d8.js.LICENSE.txt → 35fdd62277fd06468a29.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{disposeMaybe as t}from"../../../../core/maybe.js";import{watch as i,syncAndInitial as s}from"../../../../core/reactiveUtils.js";import{property as o,subclass as r}from"../../../../core/accessorSupport/decorators.js";import{copy as a}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{InternalRenderCategory as l}from"../../webgl.js";import{glLayout as u}from"../../support/buffer/glUtil.js";import{newLayout as n}from"../../support/buffer/InterleavedLayout.js";import c from"../../webgl/RenderNode.js";import{VertexArrayObject as m}from"./VertexArrayObject.js";import{C as h}from"../../../../chunks/CutFillComposition.glsl.js";import{CutFillCompositionTechnique as d}from"../shaders/CutFillCompositionTechnique.js";import{C as f}from"../../../../chunks/CutFillMask.glsl.js";import{CutFillMaskTechnique as p}from"../shaders/CutFillMaskTechnique.js";import{DefaultMaterialPassParameters as C,DefaultMaterialDrawParameters as _,DefaultMaterialTechnique as b}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as g}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{DepthStencilAttachment as V,PrimitiveType as v}from"../../../webgl/enums.js";import{noParameters as T}from"../../../webgl/NoParameters.js";import{VertexBuffer as w}from"../../../webgl/VertexBuffer.js";let F=class extends c{constructor(e){super(e),this.consumes={required:[l.CUTFILL_COLOR,l.GROUND_DEPTH]},this.produces=l.CUTFILL_COLOR,this.measureType="cut-fill",this._vaoCut=null,this._vaoFill=null,this._maskParameters=new f,this._cutVolumeParameters=new C,this._fillVolumeParameters=new C,this._compositeParameters=new h,this._drawParameters=new _;const t=1===e.view.state.viewingMode;this._cutVolumeConfiguration=new g(t),this._cutVolumeConfiguration.customDepthTest=2,this._cutVolumeConfiguration.writeDepth=!1,this._cutVolumeConfiguration.cullFace=1,this._cutVolumeConfiguration.doubleSidedMode=2,this._fillVolumeConfiguration=new g(t),this._fillVolumeConfiguration.customDepthTest=1,this._fillVolumeConfiguration.cullFace=2}initialize(){this.addHandles([i(()=>[this.cutColor,this.fillColor],()=>this._updateColors(),s),i(()=>this.measureType,()=>this.requestRender(1),s)])}destroy(){this._disposeVaos()}render(e){"cut-fill"===this.measureType?(this._cutVolumeConfiguration.cullFace=1,this._cutVolumeConfiguration.doubleSidedMode=2):(this._cutVolumeConfiguration.cullFace=0,this._cutVolumeConfiguration.doubleSidedMode=0);const t=this.techniques.getCompiled(b,this._cutVolumeConfiguration),i=this.techniques.getCompiled(b,this._fillVolumeConfiguration),s=this.techniques.getCompiled(p),o=this.techniques.getCompiled(d),r=e.find(({name:e})=>e===this.produces);if(!this._vaoCut||!this._vaoFill)return r;const a=this._vaoCut.vertexCount("geometry"),u=this._vaoFill.vertexCount("geometry");if(!(t&&i&&s&&o))return this.requestRender(1),r;const n=this.bindParameters,c=n.camera,m=c.fullViewport[2],h=c.fullViewport[3],f=this.renderingContext,C=this.fboCache,_=e.find(({name:e})=>e===l.GROUND_DEPTH),g=C.acquire(m,h,"cutfill color mask",2);g.attachDepth(_.getAttachment(V)),f.bindFramebuffer(g.fbo),f.setClearColor(0,0,0,1),f.clear(17408),f.setViewport(0,0,m,h),f.bindTechnique(s,n,T,this._maskParameters),f.setFaceCullingEnabled(!1),f.setStencilTestEnabled(!0),f.setStencilOpSeparate(1028,7680,34055,7680),f.setStencilOpSeparate(1029,7680,34056,7680),f.setDepthWriteEnabled(!1),f.bindVAO(this._vaoCut),f.setDepthTestEnabled(!0),f.setStencilWriteMask(255),f.setStencilFunction(519,0,255),f.setColorMask(!1,!1,!1,!1),f.drawArrays(v.TRIANGLES,0,a),f.setDepthTestEnabled(!1),f.setStencilWriteMask(0),f.setStencilFunction(517,0,255),f.setColorMask(!0,!1,!1,!1),f.drawArrays(v.TRIANGLES,0,a),f.bindVAO(this._vaoFill),f.setDepthTestEnabled(!0),f.setStencilWriteMask(255),f.setStencilFunction(519,0,255),f.setColorMask(!1,!0,!1,!1),f.drawArrays(v.TRIANGLES,0,u);const w=C.acquire(m,h,"cutfill color cut volume",5);w.acquireDepth(14),f.blitFramebuffer(r.fbo,w.fbo,256),f.bindFramebuffer(w.fbo),f.setClearColor(0,0,0,0),f.clear(16384),f.setColorMask(!0,!0,!0,!0),f.bindTechnique(t,this.bindParameters,this._cutVolumeParameters,this._drawParameters),f.bindVAO(this._vaoCut),f.drawArrays(v.TRIANGLES,0,a);const F=C.acquire(m,h,"cutfill color fill volume",5);F.acquireDepth(14),f.blitFramebuffer(r.fbo,F.fbo,256),f.bindFramebuffer(F.fbo),f.setClearColor(0,0,0,0),f.clear(16384),f.setColorMask(!0,!0,!0,!0),f.bindTechnique(i,this.bindParameters,this._fillVolumeParameters,this._drawParameters),f.bindVAO(this._vaoFill),f.drawArrays(v.TRIANGLES,0,u);const P=this.fboCache.acquire(m,h,this.produces);return f.bindFramebuffer(P.fbo),this._compositeParameters.color=r.getTexture(),this._compositeParameters.cutVolume=w.getTexture(),this._compositeParameters.fillVolume=F.getTexture(),this._compositeParameters.cutFillMask=g.getTexture(),this._compositeParameters.sceneDepth=r.getTexture(V),this._compositeParameters.referenceDepth=_.getTexture(V),this.borderColor.toUnitRGBA(this._compositeParameters.borderColor),f.bindTechnique(o,n,this._compositeParameters),f.screen.draw(),g.release(),w.release(),F.release(),P.attachDepth(r.getAttachment(V)),P}enable(){this.produces=l.CUTFILL_COLOR,this.requestRender(1)}disable(){this.produces="disabled",this.requestRender(1)}updateGeometries(e,t,i){this._disposeVaos(),this._vaoCut=this._createVao(e),this._vaoFill=this._createVao(t),this._maskParameters.origin=i,a(this._drawParameters.origin,i),this.requestRender(1)}_updateColors(){this._cutVolumeParameters.diffuse=this.cutColor.toUnitRGB(),this._cutVolumeParameters.opacity=this.cutColor.a,this._fillVolumeParameters.diffuse=this.fillColor.toUnitRGB(),this._fillVolumeParameters.opacity=this.fillColor.a,this.requestRender(1)}_createVao(e){const{vertices:t,normals:i,indicesBottom:s,indicesExtruded:o}=e,r=s.length+o.length,a=this.renderingContext,l=P.createBuffer(r),{position:n,normal:c}=l;let h=0;for(let u=0;u<s.length;u++){const e=3*s[u];n.set(h,0,t[e]),n.set(h,1,t[e+1]),n.set(h,2,t[e+2]),c.set(h,0,i[e]),c.set(h,1,i[e+1]),c.set(h,2,i[e+2]),h++}for(let u=0;u<o.length;u++){const e=3*o[u];n.set(h,0,t[e]),n.set(h,1,t[e+1]),n.set(h,2,t[e+2]),c.set(h,0,i[e]),c.set(h,1,i[e+1]),c.set(h,2,i[e+2]),h++}const d=new w(a,u(P),l.buffer);return new m(a,d)}_disposeVaos(){this._vaoCut=t(this._vaoCut),this._vaoFill=t(this._vaoFill)}};e([o()],F.prototype,"consumes",void 0),e([o()],F.prototype,"produces",void 0),e([o()],F.prototype,"cutColor",void 0),e([o()],F.prototype,"fillColor",void 0),e([o()],F.prototype,"borderColor",void 0),e([o()],F.prototype,"measureType",void 0),F=e([r("esri.views.3d.webgl-engine.lib.CutFillVisualizationRenderNode")],F);const P=n().vec3f("position").vec3f("normal").freeze();class q{constructor(e,t,i,s){this.vertices=e,this.indicesBottom=t,this.indicesExtruded=i,this.normals=s}}export{F as CutFillVisualizationRenderNode,q as VolumeGeometry};
2
+ import{__decorate as e}from"tslib";import{disposeMaybe as t}from"../../../../core/maybe.js";import{watch as i,syncAndInitial as s}from"../../../../core/reactiveUtils.js";import{property as o,subclass as r}from"../../../../core/accessorSupport/decorators.js";import{copy as a}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{InternalRenderCategory as l}from"../../webgl.js";import{glLayout as u}from"../../support/buffer/glUtil.js";import{newLayout as n}from"../../support/buffer/InterleavedLayout.js";import c from"../../webgl/RenderNode.js";import{VertexArrayObject as m}from"./VertexArrayObject.js";import{a as h}from"../../../../chunks/CutFillComposition.glsl.js";import{CutFillCompositionTechnique as d}from"../shaders/CutFillCompositionTechnique.js";import{a as f}from"../../../../chunks/CutFillMask.glsl.js";import{CutFillMaskTechnique as p}from"../shaders/CutFillMaskTechnique.js";import{DefaultMaterialPassParameters as C,DefaultMaterialDrawParameters as _,DefaultMaterialTechnique as b}from"../shaders/DefaultMaterialTechnique.js";import{DefaultMaterialTechniqueConfiguration as g}from"../shaders/DefaultMaterialTechniqueConfiguration.js";import{DepthStencilAttachment as V,PrimitiveType as v}from"../../../webgl/enums.js";import{noParameters as T}from"../../../webgl/NoParameters.js";import{VertexBuffer as w}from"../../../webgl/VertexBuffer.js";let F=class extends c{constructor(e){super(e),this.consumes={required:[l.CUTFILL_COLOR,l.GROUND_DEPTH]},this.produces=l.CUTFILL_COLOR,this.measureType="cut-fill",this._vaoCut=null,this._vaoFill=null,this._maskParameters=new f,this._cutVolumeParameters=new C,this._fillVolumeParameters=new C,this._compositeParameters=new h,this._drawParameters=new _;const t=1===e.view.state.viewingMode;this._cutVolumeConfiguration=new g(t),this._cutVolumeConfiguration.customDepthTest=2,this._cutVolumeConfiguration.writeDepth=!1,this._cutVolumeConfiguration.cullFace=1,this._cutVolumeConfiguration.doubleSidedMode=2,this._fillVolumeConfiguration=new g(t),this._fillVolumeConfiguration.customDepthTest=1,this._fillVolumeConfiguration.cullFace=2}initialize(){this.addHandles([i(()=>[this.cutColor,this.fillColor],()=>this._updateColors(),s),i(()=>this.measureType,()=>this.requestRender(1),s)])}destroy(){this._disposeVaos()}render(e){"cut-fill"===this.measureType?(this._cutVolumeConfiguration.cullFace=1,this._cutVolumeConfiguration.doubleSidedMode=2):(this._cutVolumeConfiguration.cullFace=0,this._cutVolumeConfiguration.doubleSidedMode=0);const t=this.techniques.getCompiled(b,this._cutVolumeConfiguration),i=this.techniques.getCompiled(b,this._fillVolumeConfiguration),s=this.techniques.getCompiled(p),o=this.techniques.getCompiled(d),r=e.find(({name:e})=>e===this.produces);if(!this._vaoCut||!this._vaoFill)return r;const a=this._vaoCut.vertexCount("geometry"),u=this._vaoFill.vertexCount("geometry");if(!(t&&i&&s&&o))return this.requestRender(1),r;const n=this.bindParameters,c=n.camera,m=c.fullViewport[2],h=c.fullViewport[3],f=this.renderingContext,C=this.fboCache,_=e.find(({name:e})=>e===l.GROUND_DEPTH),g=C.acquire(m,h,"cutfill color mask",2);g.attachDepth(_.getAttachment(V)),f.bindFramebuffer(g.fbo),f.setClearColor(0,0,0,1),f.clear(17408),f.setViewport(0,0,m,h),f.bindTechnique(s,n,T,this._maskParameters),f.setFaceCullingEnabled(!1),f.setStencilTestEnabled(!0),f.setStencilOpSeparate(1028,7680,34055,7680),f.setStencilOpSeparate(1029,7680,34056,7680),f.setDepthWriteEnabled(!1),f.bindVAO(this._vaoCut),f.setDepthTestEnabled(!0),f.setStencilWriteMask(255),f.setStencilFunction(519,0,255),f.setColorMask(!1,!1,!1,!1),f.drawArrays(v.TRIANGLES,0,a),f.setDepthTestEnabled(!1),f.setStencilWriteMask(0),f.setStencilFunction(517,0,255),f.setColorMask(!0,!1,!1,!1),f.drawArrays(v.TRIANGLES,0,a),f.bindVAO(this._vaoFill),f.setDepthTestEnabled(!0),f.setStencilWriteMask(255),f.setStencilFunction(519,0,255),f.setColorMask(!1,!0,!1,!1),f.drawArrays(v.TRIANGLES,0,u);const w=C.acquire(m,h,"cutfill color cut volume",5);w.acquireDepth(14),f.blitFramebuffer(r.fbo,w.fbo,256),f.bindFramebuffer(w.fbo),f.setClearColor(0,0,0,0),f.clear(16384),f.setColorMask(!0,!0,!0,!0),f.bindTechnique(t,this.bindParameters,this._cutVolumeParameters,this._drawParameters),f.bindVAO(this._vaoCut),f.drawArrays(v.TRIANGLES,0,a);const F=C.acquire(m,h,"cutfill color fill volume",5);F.acquireDepth(14),f.blitFramebuffer(r.fbo,F.fbo,256),f.bindFramebuffer(F.fbo),f.setClearColor(0,0,0,0),f.clear(16384),f.setColorMask(!0,!0,!0,!0),f.bindTechnique(i,this.bindParameters,this._fillVolumeParameters,this._drawParameters),f.bindVAO(this._vaoFill),f.drawArrays(v.TRIANGLES,0,u);const P=this.fboCache.acquire(m,h,this.produces);return f.bindFramebuffer(P.fbo),this._compositeParameters.color=r.getTexture(),this._compositeParameters.cutVolume=w.getTexture(),this._compositeParameters.fillVolume=F.getTexture(),this._compositeParameters.cutFillMask=g.getTexture(),this._compositeParameters.sceneDepth=r.getTexture(V),this._compositeParameters.referenceDepth=_.getTexture(V),this.borderColor.toUnitRGBA(this._compositeParameters.borderColor),f.bindTechnique(o,n,this._compositeParameters),f.screen.draw(),g.release(),w.release(),F.release(),P.attachDepth(r.getAttachment(V)),P}enable(){this.produces=l.CUTFILL_COLOR,this.requestRender(1)}disable(){this.produces="disabled",this.requestRender(1)}updateGeometries(e,t,i){this._disposeVaos(),this._vaoCut=this._createVao(e),this._vaoFill=this._createVao(t),this._maskParameters.origin=i,a(this._drawParameters.origin,i),this.requestRender(1)}_updateColors(){this._cutVolumeParameters.diffuse=this.cutColor.toUnitRGB(),this._cutVolumeParameters.opacity=this.cutColor.a,this._fillVolumeParameters.diffuse=this.fillColor.toUnitRGB(),this._fillVolumeParameters.opacity=this.fillColor.a,this.requestRender(1)}_createVao(e){const{vertices:t,normals:i,indicesBottom:s,indicesExtruded:o}=e,r=s.length+o.length,a=this.renderingContext,l=P.createBuffer(r),{position:n,normal:c}=l;let h=0;for(let u=0;u<s.length;u++){const e=3*s[u];n.set(h,0,t[e]),n.set(h,1,t[e+1]),n.set(h,2,t[e+2]),c.set(h,0,i[e]),c.set(h,1,i[e+1]),c.set(h,2,i[e+2]),h++}for(let u=0;u<o.length;u++){const e=3*o[u];n.set(h,0,t[e]),n.set(h,1,t[e+1]),n.set(h,2,t[e+2]),c.set(h,0,i[e]),c.set(h,1,i[e+1]),c.set(h,2,i[e+2]),h++}const d=new w(a,u(P),l.buffer);return new m(a,d)}_disposeVaos(){this._vaoCut=t(this._vaoCut),this._vaoFill=t(this._vaoFill)}};e([o()],F.prototype,"consumes",void 0),e([o()],F.prototype,"produces",void 0),e([o()],F.prototype,"cutColor",void 0),e([o()],F.prototype,"fillColor",void 0),e([o()],F.prototype,"borderColor",void 0),e([o()],F.prototype,"measureType",void 0),F=e([r("esri.views.3d.webgl-engine.lib.CutFillVisualizationRenderNode")],F);const P=n().vec3f("position").vec3f("normal").freeze();class q{constructor(e,t,i,s){this.vertices=e,this.indicesBottom=t,this.indicesExtruded=i,this.normals=s}}export{F as CutFillVisualizationRenderNode,q as VolumeGeometry};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{watch as t}from"../../../../core/reactiveUtils.js";import{property as i,subclass as s}from"../../../../core/accessorSupport/decorators.js";import{set as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{copy as r,set as o,scale as n,floor as h,subtract as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as m,set as u,positiveInfinity as c,equals as d}from"../../../../geometry/support/aaBoundingBox.js";import{InternalRenderCategory as _}from"../../webgl.js";import g from"../../webgl/RenderNode.js";import{G as P}from"../../../../chunks/GaussianSplat.glsl.js";import{G as f}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as C}from"../shaders/GaussianSplatCompositionTechnique.js";import{GaussianSplatCompositionTechniqueConfiguration as b}from"../shaders/GaussianSplatCompositionTechniqueConfiguration.js";import{G as S}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as x}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatTechnique as v}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as q}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{ColorAttachment1 as w,DepthStencilAttachment as D,PrimitiveType as R}from"../../../webgl/enums.js";var E;let T=class extends g{static{E=this}constructor(e){super(e),this.produces=_.GAUSSIAN_SPLAT,this._slicePlaneEnabled=!1,this.layerView=null,this._passParameters=new P,this._compositionPassParameters=new f,this._depthCompositionPassParameters=new S,this._compositionConfiguration=new b,this._clipBox=m(),this._previousCameraDirection=p(),this._previousSortRequestCameraDirection=p(),this._sortRequestDirectionEpsilon=.01,this._directionChangeEpsilon=.001,this._configuration=new q(e.view.state.isGlobal),u(this._clipBox,c)}async initialize(){this.addHandles([t(()=>this.view.state.camera,()=>this._onCameraChange()),t(()=>2===this.view.state.mode,()=>this.requestRender(1))])}render(e){const t=e.find(({name:e})=>e===this.produces);if(this._updateConfigurations(),this._handleFading(),!this._data.visibleGaussians||!this._data.orderTexture.texture||!this._data.textureAtlas.texture)return t;const i=t.getAttachment(w);this._compositionConfiguration.hasEmission=null!=i;const s=this.techniques.getCompiled(v,this._configuration),a=this.techniques.getCompiled(C,this._compositionConfiguration),r=this.techniques.getCompiled(x);if(!s||!r||!a)return this.requestRender(1),t;const{fullWidth:o,fullHeight:n}=this.bindParameters.camera;this._prepareParameters(n,o);const h=this.renderingContext,l=this.fboCache,p=l.acquire(o,n,"gaussian color output"),m=t.getAttachment(D);p.attachDepth(m),this._renderGaussianColorAndDepth(p,s);const u=l.acquire(o,n,this.produces);return this._depthCompositionPassParameters.splatDepth=p.getTexture(w),u.attachDepth(t.getAttachment(D)),h.bindFramebuffer(u.fbo),h.bindTechnique(r,this.bindParameters,this._depthCompositionPassParameters),h.screen.draw(),this._compositionPassParameters.color=t.getTexture(),this._compositionPassParameters.splatColor=p.getTexture(),i?(u.acquireColor(w,8,"emissive"),this._compositionPassParameters.emission=t.getTexture(w)):this._compositionPassParameters.emission=null,h.bindFramebuffer(u.fbo),h.bindTechnique(a,this.bindParameters,this._compositionPassParameters),h.screen.draw(),p.release(),u}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this.requestRender(1))}set clippingBox(e){const t=e||c;this._hasSameClipBox(t)||(u(this._clipBox,t),this._data.requestSort(),this.requestRender(1))}get clippingBox(){return this._clippingEnabled?this._clipBox:null}get _clippingEnabled(){return!d(this._clipBox,c,(e,t)=>e===t)}get _isIdle(){return 2===this.view.state.mode}get _data(){return this.layerView.data}get _fadeHelper(){return this.layerView.fadeHelper}_updateConfigurations(){const{idleMinimumOpacity:e,nonIdleMinimumOpacity:t}=this.view.qualitySettings.gaussianSplat;this._configuration.alphaCutoff=this._isIdle?e:t,this._configuration.fadingEnabled=this._fadeHelper.fadingEnabled,this._configuration.receiveShadows=this.bindParameters.shadowMap.ready,this._configuration.hasShadowHighlights=this._configuration.receiveShadows&&this.bindParameters.hasShadowHighlights,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this._slicePlaneEnabled&&null!=this.bindParameters.slicePlane}_onCameraChange(){const e=this.view.state.camera.ray.direction;if(!this._directionChanged(e))return;if(r(this._previousCameraDirection,e),!this._shouldRequestSort(e))return;this._data.requestSort()&&r(this._previousSortRequestCameraDirection,e)}_directionChanged(e){return Math.abs(e[0]-this._previousCameraDirection[0])>this._directionChangeEpsilon||Math.abs(e[1]-this._previousCameraDirection[1])>this._directionChangeEpsilon||Math.abs(e[2]-this._previousCameraDirection[2])>this._directionChangeEpsilon}_shouldRequestSort(e){return Math.abs(e[0]-this._previousSortRequestCameraDirection[0])>this._sortRequestDirectionEpsilon||Math.abs(e[1]-this._previousSortRequestCameraDirection[1])>this._sortRequestDirectionEpsilon||Math.abs(e[2]-this._previousSortRequestCameraDirection[2])>this._sortRequestDirectionEpsilon}_prepareParameters(e,t){this._passParameters.splatOrder=this._data.orderTexture.texture,this._passParameters.splatFading=this._data.fadingTexture.texture,this._passParameters.splatAtlas=this._data.textureAtlas.texture;const i=Math.tan(.5*this.camera.fovY),s=i/e*t;a(this._passParameters.tanFov,s,i),this._passParameters.focalLength=e/(2*i);const o=this.view.qualitySettings.gaussianSplat,n=this._isIdle?o.idleMinimumSplatPixelRadius:o.nonIdleMinimumSplatPixelRadius;this._passParameters.minSplatRadius=n*Math.sqrt(t*e)/Math.sqrt(2073600),r(this._passParameters.origin,this.bindParameters.camera.eye),this._prepareHighPrecisionCameraPosition(),this._updateSlicePlaneLocalOrigin(),this._updateClipUniforms()}_updateClipUniforms(){const e=this.clippingBox||c,[t,i,s,a,r,n]=e,[h,l,p]=this.camera.eye,{clipMinCameraRelative:m,clipMaxCameraRelative:u}=this._passParameters;o(m,t-h,i-l,s-p),o(u,a-h,r-l,n-p)}_updateSlicePlaneLocalOrigin(){this._passParameters.slicePlaneLocalOrigin=this.camera.eye}_hasSameClipBox(e){return d(this._clipBox,e,(e,t)=>e===t)}_renderGaussianColorAndDepth(e,t){const i=this.renderingContext;e.acquireColor(w,5,"gaussian depth output"),i.bindFramebuffer(e.fbo),i.setClearColor(0,0,0,0),i.clear(16384),this.renderingContext.bindTechnique(t,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(R.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}_prepareHighPrecisionCameraPosition(){n(this._passParameters.tileCameraPosition,this.camera.eye,1/E.tileSize),h(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),n(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,E.tileSize),l(this._passParameters.cameraDelta,this.camera.eye,this._passParameters.cameraDelta)}_handleFading(){if(0===this._fadeHelper.numFadingTiles)return void(this._previousFrameStart=null);this._previousFrameStart??=this.view.stage.renderer.renderContext.time;const e=this.view.stage?.renderer.renderContext.time-this._previousFrameStart;this._fadeHelper.updateAllTileFading(e),this._previousFrameStart=this.view.stage.renderer.renderContext.time,this._data.fadingTexture.updateTexture(this._data.textureAtlas.pageAllocator.pageCount)}static{this.tileSize=2.048}};e([i()],T.prototype,"produces",void 0),e([i({constructOnly:!0})],T.prototype,"layerView",void 0),T=E=e([s("esri.views.3d.webgl-engine.lib.GaussianSplatRenderNode")],T);export{T as GaussianSplatRenderNode};
2
+ import{__decorate as e}from"tslib";import{watch as t}from"../../../../core/reactiveUtils.js";import{property as i,subclass as s}from"../../../../core/accessorSupport/decorators.js";import{set as a}from"../../../../core/libs/gl-matrix-2/math/vec2.js";import{copy as r,set as o,scale as n,floor as h,subtract as l}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as m,set as u,positiveInfinity as c,equals as d}from"../../../../geometry/support/aaBoundingBox.js";import{InternalRenderCategory as _}from"../../webgl.js";import g from"../../webgl/RenderNode.js";import{a as P}from"../../../../chunks/GaussianSplat.glsl.js";import{G as f}from"../../../../chunks/GaussianSplatComposition.glsl.js";import{GaussianSplatCompositionTechnique as C}from"../shaders/GaussianSplatCompositionTechnique.js";import{GaussianSplatCompositionTechniqueConfiguration as b}from"../shaders/GaussianSplatCompositionTechniqueConfiguration.js";import{G as S}from"../../../../chunks/GaussianSplatDepthComposition.glsl.js";import{GaussianSplatDepthCompositionTechnique as x}from"../shaders/GaussianSplatDepthCompositionTechnique.js";import{GaussianSplatTechnique as v}from"../shaders/GaussianSplatTechnique.js";import{GaussianSplatTechniqueConfiguration as q}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{ColorAttachment1 as w,DepthStencilAttachment as D,PrimitiveType as R}from"../../../webgl/enums.js";var E;let T=class extends g{static{E=this}constructor(e){super(e),this.produces=_.GAUSSIAN_SPLAT,this._slicePlaneEnabled=!1,this.layerView=null,this._passParameters=new P,this._compositionPassParameters=new f,this._depthCompositionPassParameters=new S,this._compositionConfiguration=new b,this._clipBox=m(),this._previousCameraDirection=p(),this._previousSortRequestCameraDirection=p(),this._sortRequestDirectionEpsilon=.01,this._directionChangeEpsilon=.001,this._configuration=new q(e.view.state.isGlobal),u(this._clipBox,c)}async initialize(){this.addHandles([t(()=>this.view.state.camera,()=>this._onCameraChange()),t(()=>2===this.view.state.mode,()=>this.requestRender(1))])}render(e){const t=e.find(({name:e})=>e===this.produces);if(this._updateConfigurations(),this._handleFading(),!this._data.visibleGaussians||!this._data.orderTexture.texture||!this._data.textureAtlas.texture)return t;const i=t.getAttachment(w);this._compositionConfiguration.hasEmission=null!=i;const s=this.techniques.getCompiled(v,this._configuration),a=this.techniques.getCompiled(C,this._compositionConfiguration),r=this.techniques.getCompiled(x);if(!s||!r||!a)return this.requestRender(1),t;const{fullWidth:o,fullHeight:n}=this.bindParameters.camera;this._prepareParameters(n,o);const h=this.renderingContext,l=this.fboCache,p=l.acquire(o,n,"gaussian color output"),m=t.getAttachment(D);p.attachDepth(m),this._renderGaussianColorAndDepth(p,s);const u=l.acquire(o,n,this.produces);return this._depthCompositionPassParameters.splatDepth=p.getTexture(w),u.attachDepth(t.getAttachment(D)),h.bindFramebuffer(u.fbo),h.bindTechnique(r,this.bindParameters,this._depthCompositionPassParameters),h.screen.draw(),this._compositionPassParameters.color=t.getTexture(),this._compositionPassParameters.splatColor=p.getTexture(),i?(u.acquireColor(w,8,"emissive"),this._compositionPassParameters.emission=t.getTexture(w)):this._compositionPassParameters.emission=null,h.bindFramebuffer(u.fbo),h.bindTechnique(a,this.bindParameters,this._compositionPassParameters),h.screen.draw(),p.release(),u}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this.requestRender(1))}set clippingBox(e){const t=e||c;this._hasSameClipBox(t)||(u(this._clipBox,t),this._data.requestSort(),this.requestRender(1))}get clippingBox(){return this._clippingEnabled?this._clipBox:null}get _clippingEnabled(){return!d(this._clipBox,c,(e,t)=>e===t)}get _isIdle(){return 2===this.view.state.mode}get _data(){return this.layerView.data}get _fadeHelper(){return this.layerView.fadeHelper}_updateConfigurations(){const{idleMinimumOpacity:e,nonIdleMinimumOpacity:t}=this.view.qualitySettings.gaussianSplat;this._configuration.alphaCutoff=this._isIdle?e:t,this._configuration.fadingEnabled=this._fadeHelper.fadingEnabled,this._configuration.receiveShadows=this.bindParameters.shadowMap.ready,this._configuration.hasShadowHighlights=this._configuration.receiveShadows&&this.bindParameters.hasShadowHighlights,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this._slicePlaneEnabled&&null!=this.bindParameters.slicePlane}_onCameraChange(){const e=this.view.state.camera.ray.direction;if(!this._directionChanged(e))return;if(r(this._previousCameraDirection,e),!this._shouldRequestSort(e))return;this._data.requestSort()&&r(this._previousSortRequestCameraDirection,e)}_directionChanged(e){return Math.abs(e[0]-this._previousCameraDirection[0])>this._directionChangeEpsilon||Math.abs(e[1]-this._previousCameraDirection[1])>this._directionChangeEpsilon||Math.abs(e[2]-this._previousCameraDirection[2])>this._directionChangeEpsilon}_shouldRequestSort(e){return Math.abs(e[0]-this._previousSortRequestCameraDirection[0])>this._sortRequestDirectionEpsilon||Math.abs(e[1]-this._previousSortRequestCameraDirection[1])>this._sortRequestDirectionEpsilon||Math.abs(e[2]-this._previousSortRequestCameraDirection[2])>this._sortRequestDirectionEpsilon}_prepareParameters(e,t){this._passParameters.splatOrder=this._data.orderTexture.texture,this._passParameters.splatFading=this._data.fadingTexture.texture,this._passParameters.splatAtlas=this._data.textureAtlas.texture;const i=Math.tan(.5*this.camera.fovY),s=i/e*t;a(this._passParameters.tanFov,s,i),this._passParameters.focalLength=e/(2*i);const o=this.view.qualitySettings.gaussianSplat,n=this._isIdle?o.idleMinimumSplatPixelRadius:o.nonIdleMinimumSplatPixelRadius;this._passParameters.minSplatRadius=n*Math.sqrt(t*e)/Math.sqrt(2073600),r(this._passParameters.origin,this.bindParameters.camera.eye),this._prepareHighPrecisionCameraPosition(),this._updateSlicePlaneLocalOrigin(),this._updateClipUniforms()}_updateClipUniforms(){const e=this.clippingBox||c,[t,i,s,a,r,n]=e,[h,l,p]=this.camera.eye,{clipMinCameraRelative:m,clipMaxCameraRelative:u}=this._passParameters;o(m,t-h,i-l,s-p),o(u,a-h,r-l,n-p)}_updateSlicePlaneLocalOrigin(){this._passParameters.slicePlaneLocalOrigin=this.camera.eye}_hasSameClipBox(e){return d(this._clipBox,e,(e,t)=>e===t)}_renderGaussianColorAndDepth(e,t){const i=this.renderingContext;e.acquireColor(w,5,"gaussian depth output"),i.bindFramebuffer(e.fbo),i.setClearColor(0,0,0,0),i.clear(16384),this.renderingContext.bindTechnique(t,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(R.TRIANGLE_STRIP,0,4,this._data.visibleGaussians)}_prepareHighPrecisionCameraPosition(){n(this._passParameters.tileCameraPosition,this.camera.eye,1/E.tileSize),h(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),n(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,E.tileSize),l(this._passParameters.cameraDelta,this.camera.eye,this._passParameters.cameraDelta)}_handleFading(){if(0===this._fadeHelper.numFadingTiles)return void(this._previousFrameStart=null);this._previousFrameStart??=this.view.stage.renderer.renderContext.time;const e=this.view.stage?.renderer.renderContext.time-this._previousFrameStart;this._fadeHelper.updateAllTileFading(e),this._previousFrameStart=this.view.stage.renderer.renderContext.time,this._data.fadingTexture.updateTexture(this._data.textureAtlas.pageAllocator.pageCount)}static{this.tileSize=2.048}};e([i()],T.prototype,"produces",void 0),e([i({constructOnly:!0})],T.prototype,"layerView",void 0),T=E=e([s("esri.views.3d.webgl-engine.lib.GaussianSplatRenderNode")],T);export{T as GaussianSplatRenderNode};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{property as i,subclass as t}from"../../../../core/accessorSupport/decorators.js";import{set as s,scale as a,floor as r,subtract as o}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{positiveInfinity as l}from"../../../../geometry/support/aaBoundingBox.js";import{InternalRenderCategory as p}from"../../webgl.js";import h from"../../webgl/RenderNode.js";import{GaussianSplatRenderNode as m}from"./GaussianSplatRenderNode.js";import{G as d}from"../../../../chunks/GaussianSplatShadow.glsl.js";import{GaussianSplatShadowTechnique as u}from"../shaders/GaussianSplatShadowTechnique.js";import{GaussianSplatTechniqueConfiguration as c}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{PrimitiveType as _}from"../../../webgl/enums.js";let P=class extends h{constructor(e){super(e),this.produces=p.SHADOW_CASTERS,this.layerView=null,this._passParameters=new d,this._cameraPosition=n(),this._configuration=new c(e.view.state.isGlobal)}render(){const e=this.bindRenderTarget();return this._render(),e}queryDepthRange(e){return this.layerView.suspended?null:this._data.queryVisibleTileDepthRange(e,this.layerView.clippingBox)}get _data(){return this.layerView.data}get _clippingEnabled(){return null!=this.layerView.clippingBox}get _isIdle(){return 2===this.view.state.mode}_render(){const e=this._data;if(this.layerView.suspended||0===e.visibleGaussians||!e.orderTexture.texture||!e.textureAtlas.texture)return;this._updateShadowConfigurations();const i=this.techniques.getCompiled(u,this._configuration);i?(this._prepareShadowParameters(this.bindParameters.camera),this.renderingContext.bindTechnique(i,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(_.TRIANGLE_STRIP,0,4,e.visibleGaussians)):this.requestRender(1)}_updateShadowConfigurations(){this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this.layerView.slicePlaneEnabled&&null!=this.bindParameters.slicePlane,this._configuration.output=this.bindParameters.output}_prepareShadowParameters(e){const i=this._data;this._passParameters.splatOrder=i.orderTexture.texture,this._passParameters.splatAtlas=i.textureAtlas.texture;const{fullHeight:t,fullWidth:s}=e,a=this.view.qualitySettings.gaussianSplat,r=this._isIdle?a.idleMinimumSplatPixelRadius:a.nonIdleMinimumSplatPixelRadius;this._passParameters.minSplatRadius=r*Math.sqrt(s*t)/Math.sqrt(2073600),this._updateShadowCameraPosition(e),this._prepareShadowHighPrecisionCameraPosition(),this._passParameters.slicePlaneLocalOrigin=this._cameraPosition,this._updateShadowClipUniforms()}_updateShadowClipUniforms(){const e=this.layerView.clippingBox||l,[i,t,a,r,o,n]=e,[p,h,m]=this._cameraPosition,{clipMinCameraRelative:d,clipMaxCameraRelative:u}=this._passParameters;s(d,i-p,t-h,a-m),s(u,r-p,o-h,n-m)}_prepareShadowHighPrecisionCameraPosition(){a(this._passParameters.tileCameraPosition,this._cameraPosition,1/m.tileSize),r(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),a(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,m.tileSize),o(this._passParameters.cameraDelta,this._cameraPosition,this._passParameters.cameraDelta)}_updateShadowCameraPosition(e){const i=e.viewInverseTransposeMatrix;s(this._cameraPosition,i[3],i[7],i[11])}};e([i()],P.prototype,"produces",void 0),e([i({constructOnly:!0})],P.prototype,"layerView",void 0),P=e([t("esri.views.3d.webgl-engine.lib.GaussianSplatShadowRenderNode")],P);export{P as GaussianSplatShadowRenderNode};
2
+ import{__decorate as e}from"tslib";import{property as i,subclass as t}from"../../../../core/accessorSupport/decorators.js";import{set as a,scale as s,floor as r,subtract as o}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{positiveInfinity as l}from"../../../../geometry/support/aaBoundingBox.js";import{InternalRenderCategory as p}from"../../webgl.js";import h from"../../webgl/RenderNode.js";import{GaussianSplatRenderNode as m}from"./GaussianSplatRenderNode.js";import{a as d}from"../../../../chunks/GaussianSplatShadow.glsl.js";import{GaussianSplatShadowTechnique as u}from"../shaders/GaussianSplatShadowTechnique.js";import{GaussianSplatTechniqueConfiguration as c}from"../shaders/GaussianSplatTechniqueConfiguration.js";import{PrimitiveType as _}from"../../../webgl/enums.js";let P=class extends h{constructor(e){super(e),this.produces=p.SHADOW_CASTERS,this.layerView=null,this._passParameters=new d,this._cameraPosition=n(),this._configuration=new c(e.view.state.isGlobal)}render(){const e=this.bindRenderTarget();return this._render(),e}queryDepthRange(e){return this.layerView.suspended?null:this._data.queryVisibleTileDepthRange(e,this.layerView.clippingBox)}get _data(){return this.layerView.data}get _clippingEnabled(){return null!=this.layerView.clippingBox}get _isIdle(){return 2===this.view.state.mode}_render(){const e=this._data;if(this.layerView.suspended||0===e.visibleGaussians||!e.orderTexture.texture||!e.textureAtlas.texture)return;this._updateShadowConfigurations();const i=this.techniques.getCompiled(u,this._configuration);i?(this._prepareShadowParameters(this.bindParameters.camera),this.renderingContext.bindTechnique(i,this.bindParameters,this._passParameters),this.renderingContext.drawArraysInstanced(_.TRIANGLE_STRIP,0,4,e.visibleGaussians)):this.requestRender(1)}_updateShadowConfigurations(){this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasSlicePlane=this.layerView.slicePlaneEnabled&&null!=this.bindParameters.slicePlane,this._configuration.output=this.bindParameters.output}_prepareShadowParameters(e){const i=this._data;this._passParameters.splatOrder=i.orderTexture.texture,this._passParameters.splatAtlas=i.textureAtlas.texture;const{fullHeight:t,fullWidth:a}=e,s=this.view.qualitySettings.gaussianSplat,r=this._isIdle?s.idleMinimumSplatPixelRadius:s.nonIdleMinimumSplatPixelRadius;this._passParameters.minSplatRadius=r*Math.sqrt(a*t)/Math.sqrt(2073600),this._updateShadowCameraPosition(e),this._prepareShadowHighPrecisionCameraPosition(),this._passParameters.slicePlaneLocalOrigin=this._cameraPosition,this._updateShadowClipUniforms()}_updateShadowClipUniforms(){const e=this.layerView.clippingBox||l,[i,t,s,r,o,n]=e,[p,h,m]=this._cameraPosition,{clipMinCameraRelative:d,clipMaxCameraRelative:u}=this._passParameters;a(d,i-p,t-h,s-m),a(u,r-p,o-h,n-m)}_prepareShadowHighPrecisionCameraPosition(){s(this._passParameters.tileCameraPosition,this._cameraPosition,1/m.tileSize),r(this._passParameters.tileCameraPosition,this._passParameters.tileCameraPosition),s(this._passParameters.cameraDelta,this._passParameters.tileCameraPosition,m.tileSize),o(this._passParameters.cameraDelta,this._cameraPosition,this._passParameters.cameraDelta)}_updateShadowCameraPosition(e){const i=e.viewInverseTransposeMatrix;a(this._cameraPosition,i[3],i[7],i[11])}};e([i()],P.prototype,"produces",void 0),e([i({constructOnly:!0})],P.prototype,"layerView",void 0),P=e([t("esri.views.3d.webgl-engine.lib.GaussianSplatShadowRenderNode")],P);export{P as GaussianSplatShadowRenderNode};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{sub as n,set as t,copy as i,cross as o,normalize as e}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{setMin as s,setMax as r,create as f}from"../../../../geometry/support/aaBoundingBox.js";import{assert as u}from"./Util.js";class a{constructor(n=0,t=!1,i=!0){this.tolerance=n,this.isVerticalRay=t,this.normalRequired=i}}const l=f();function h(t,i,o,e,c,s){if(!t.visible)return;const r=n(F,e,o),{tolerance:f}=i,l=new a(f,!1,i.options.normalRequired);if(t.boundingInfo)u(0===t.type),p(t.boundingInfo,o,r,f,c,l,s);else{const n=t.positionAttribute,i=t.primitivePositionIndices;T(o,r,0,i.length/3,i,n.data,n.stride,c,l,s)}}const m=c();function p(n,t,i,o,e,c,f){if(null==n)return;const u=C(i,m);if(s(l,n.bbMin),r(l,n.bbMax),null!=e&&e.applyToAabb(l),U(l,t,u,o)){const{primitiveIndices:s,position:r}=n,u=s?s.length:r.indices.length/3;if(u>z){const s=n.getChildren();if(void 0!==s){for(const n of s)p(n,t,i,o,e,c,f);return}}q(t,i,0,u,r.indices,r.data,r.stride,s,e,c,f)}}const b=c();function M(t,i,o,e,c,s,r,f,u){const{data:a,stride:l}=s;T(t,n(F,i,t),o,e,c,a,l,r,f,u)}function d(n,t,i,o){if(!i.visible)return;const{boundingInfo:e}=i;if(e){const{bbMin:i,bbMax:o}=e;if(n<i[0]||n>o[0]||t<i[1]||t>o[1])return}const c=i.positionAttribute,s=i.primitivePositionIndices;x(n,t,0,s.length/3,s,c,o)}function x(n,t,i,o,e,c,s){const{data:r,stride:f}=c;for(let u=i;u<o;++u){const i=3*u,o=f*e[i],c=f*e[i+1],a=f*e[i+2],l=r[o+0]-n,h=r[o+1]-t,m=r[c+0]-n,p=r[c+1]-t,b=r[a+0]-n,M=r[a+1]-t,d=b*p-M*m,x=l*M-h*b,g=m*h-p*l;(d<0||x<0||g<0)&&(d>0||x>0||g>0)||s(0,null,u)}}function g(n,t,i,o,e,c,s,r,f,u=null,a=0){const l=n[0],h=n[1],m=n[2],p=t[0],M=t[1],d=t[2];for(let x=i;x<o;++x){const n=a+(u?.[x]??x),t=3*n,i=s*e[t],o=c[i],g=c[i+1],y=c[i+2],v=s*e[t+1],q=c[v],T=c[v+1],V=c[v+2],I=s*e[t+2],R=q-o,A=T-g,B=V-y,P=c[I]-o,w=c[I+1]-g,C=c[I+2]-y,U=M*C-w*d,k=d*P-C*p,z=p*w-P*M,D=R*U+A*k+B*z,F=D*D;if(F<=E)continue;const G=l-o,H=h-g,J=m-y,K=(G*U+H*k+J*z)*D;if(K<0||K>F)continue;const L=H*B-A*J,N=J*R-B*G,O=G*A-R*H,Q=(p*L+M*N+d*O)*D;if(Q<0||K+Q>F)continue;const S=(P*L+w*N+C*O)/D;if(S>=0){f(S,r?j(R,A,B,P,w,C,b):null,n)}}}function y(n,t,i,o,e,c,s,r){const f=n[0],u=n[1],a=n[2],l=t[0],h=t[1],m=t[2];for(let p=i;p<o;++p){const n=3*p,t=n+1,i=n+2,o=c*n,M=e[o],d=e[o+1],x=e[o+2],g=c*t,y=c*i,v=e[g]-M,q=e[g+1]-d,T=e[g+2]-x,V=e[y]-M,I=e[y+1]-d,R=e[y+2]-x,A=h*R-I*m,B=m*V-R*l,P=l*I-V*h,w=v*A+q*B+T*P;if(Math.abs(w)<=D)continue;const C=f-M,U=u-d,k=a-x,z=C*A+U*B+k*P;if(w>0){if(z<0||z>w)continue}else if(z>0||z<w)continue;const E=U*T-q*k,F=k*v-T*C,G=C*q-v*U,H=l*E+h*F+m*G;if(w>0){if(H<0||z+H>w)continue}else if(H>0||z+H<w)continue;const J=(V*E+I*F+R*G)/w;if(J>=0){r(J,s?j(v,q,T,V,I,R,b):null,p)}}}function v(n,t,i,o,e,c,s,r,f,u,a,l=null,h=0){const m=n[0],p=n[1],M=n[2],d=t[0],x=t[1],g=t[2];for(let y=i;y<o;++y){const n=h+(l?.[y]??y),t=3*n,i=s*e[t],o=c[i],v=c[i+1],q=c[i+2],T=s*e[t+1],V=c[T],I=c[T+1],R=c[T+2],A=s*e[t+2],B=c[A],P=c[A+1],w=c[A+2],C=q-f,U=r/Math.sqrt(o*o+v*v+C*C),k=o+o*U,z=v+v*U,E=q+C*U,F=R-f,G=r/Math.sqrt(V*V+I*I+F*F),H=V+V*G,J=I+I*G,K=R+F*G,L=w-f,N=r/Math.sqrt(B*B+P*P+L*L),O=H-k,Q=J-z,S=K-E,W=B+B*N-k,X=P+P*N-z,Y=w+L*N-E,Z=x*Y-X*g,$=g*W-Y*d,_=d*X-W*x,nn=O*Z+Q*$+S*_;if(Math.abs(nn)<=D)continue;const tn=m-k,on=p-z,en=M-E,cn=tn*Z+on*$+en*_;if(nn>0){if(cn<0||cn>nn)continue}else if(cn>0||cn<nn)continue;const sn=on*S-Q*en,rn=en*O-S*tn,fn=tn*Q-O*on,un=d*sn+x*rn+g*fn;if(nn>0){if(un<0||cn+un>nn)continue}else if(un>0||cn+un<nn)continue;const an=(W*sn+X*rn+Y*fn)/nn;if(an>=0){a(an,u?j(O,Q,S,W,X,Y,b):null,n)}}}function q(n,t,i,o,e,c,s,r,f,u,a){const l=n[0],h=n[1],m=n[2],p=t[0],M=t[1],d=t[2],{normalRequired:x}=u;for(let g=i;g<o;++g){const n=r[g],t=3*n,i=s*e[t];let o=c[i],u=c[i+1],y=c[i+2];const v=s*e[t+1];let q=c[v],T=c[v+1],V=c[v+2];const I=s*e[t+2];let R=c[I],A=c[I+1],B=c[I+2];null!=f&&([o,u,y]=f.applyToVertex(o,u,y,g),[q,T,V]=f.applyToVertex(q,T,V,g),[R,A,B]=f.applyToVertex(R,A,B,g));const P=q-o,w=T-u,C=V-y,U=R-o,k=A-u,z=B-y,E=M*z-k*d,F=d*U-z*p,G=p*k-U*M,H=P*E+w*F+C*G;if(Math.abs(H)<=D)continue;const J=l-o,K=h-u,L=m-y,N=J*E+K*F+L*G;if(H>0){if(N<0||N>H)continue}else if(N>0||N<H)continue;const O=K*C-w*L,Q=L*P-C*J,S=J*w-P*K,W=p*O+M*Q+d*S;if(H>0){if(W<0||N+W>H)continue}else if(W>0||N+W<H)continue;const X=(U*O+k*Q+z*S)/H;if(X>=0){a(X,x?j(P,w,C,U,k,z,b):null,n)}}}function T(o,e,c,s,r,f,u,a,l,h){const m=e,p=G,b=Math.abs(m[0]),M=Math.abs(m[1]),d=Math.abs(m[2]),x=b>=M?b>=d?0:2:M>=d?1:2,g=x,y=m[g]<0?2:1,v=(x+y)%3,q=(x+(3-y))%3,T=m[v]/m[g],j=m[q]/m[g],B=1/m[g],P=V,w=I,C=R,{normalRequired:U}=l;for(let V=c;V<s;++V){const e=3*V,c=u*r[e];t(p[0],f[c+0],f[c+1],f[c+2]);const s=u*r[e+1];t(p[1],f[s+0],f[s+1],f[s+2]);const l=u*r[e+2];t(p[2],f[l+0],f[l+1],f[l+2]),a&&(i(p[0],a.applyToVertex(p[0][0],p[0][1],p[0][2],V)),i(p[1],a.applyToVertex(p[1][0],p[1][1],p[1][2],V)),i(p[2],a.applyToVertex(p[2][0],p[2][1],p[2][2],V))),n(P,p[0],o),n(w,p[1],o),n(C,p[2],o);const m=P[v]-T*P[g],b=P[q]-j*P[g],M=w[v]-T*w[g],d=w[q]-j*w[g],x=C[v]-T*C[g],y=C[q]-j*C[g],I=x*d-y*M,R=m*y-b*x,k=M*b-d*m;if((I<0||R<0||k<0)&&(I>0||R>0||k>0))continue;const z=I+R+k;if(0===z)continue;const D=I*(B*P[g])+R*(B*w[g])+k*(B*C[g]);if(D*Math.sign(z)<0)continue;const E=D/z;if(E>=0){h(E,U?A(p):null,V)}}}const V=c(),I=c(),R=c();function j(n,i,c,s,r,f,u){return t(B,n,i,c),t(P,s,r,f),o(u,B,P),e(u,u),u}function A(t){return n(B,t[1],t[0]),n(P,t[2],t[0]),o(b,B,P),e(b,b),b}const B=c(),P=c();function w(n,i,o){return t(o,1/(i[0]-n[0]),1/(i[1]-n[1]),1/(i[2]-n[2]))}function C(n,i){return t(i,1/n[0],1/n[1],1/n[2])}function U(n,t,i,o){return k(n,t,i,o,1/0)}function k(n,t,i,o,e){const c=(n[0]-o-t[0])*i[0],s=(n[3]+o-t[0])*i[0];let r=Math.min(c,s),f=Math.max(c,s);const u=(n[1]-o-t[1])*i[1],a=(n[4]+o-t[1])*i[1];if(f=Math.min(f,Math.max(u,a)),f<0)return!1;if(r=Math.max(r,Math.min(u,a)),r>f)return!1;const l=(n[2]-o-t[2])*i[2],h=(n[5]+o-t[2])*i[2];return f=Math.min(f,Math.max(l,h)),!(f<0)&&(r=Math.max(r,Math.min(l,h)),!(r>f)&&r<e)}const z=1e3,D=1e-7,E=D*D,F=c(),G=[c(),c(),c()];export{a as MeshIntersectionOptions,w as computeInvDir,C as computeInvDirFromDirection,j as computeNormalFromBarycentric,U as intersectAabbInvDir,k as intersectAabbInvDirBefore,g as intersectRayTriangles,T as intersectRayTrianglesWithDisplacementWatertight,v as intersectRayTrianglesWithVerticalOffsetENUGlobal,y as intersectRenderGeometryTriangles,h as intersectTriangleGeometry,d as intersectTriangleGeometry2D,M as intersectTriangles,x as intersectTriangles2d,D as triangleRayParallelTolerance};
2
+ import{sub as t,set as n,copy as o,cross as i,normalize as e}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{setMin as s,setMax as r,create as u}from"../../../../geometry/support/aaBoundingBox.js";import{assert as f}from"./Util.js";class a{constructor(t=0,n=!1,o=!0){this.tolerance=t,this.isVerticalRay=n,this.normalRequired=o}}const l=u();function m(n,o,i,e,c,s){if(!n.visible)return;const r=t(F,e,i),{tolerance:u}=o,l=new a(u,!1,o.options.normalRequired);if(n.boundingInfo)f(0===n.type),h(n.boundingInfo,i,r,u,c,l,s);else{const t=n.positionAttribute,o=n.primitivePositionIndices;T(i,r,0,o.length/3,o,t.data,t.stride,c,l,s)}}const p=c();function h(t,n,o,i,e,c,u){if(null==t)return;const f=C(o,p);if(s(l,t.bbMin),r(l,t.bbMax),null!=e&&e.applyToAabb(l),U(l,n,f,i)){const{primitiveIndices:s,position:r}=t,f=s?s.length:r.indices.length/3;if(f>z){const s=t.getChildren();if(void 0!==s){for(const t of s)h(t,n,o,i,e,c,u);return}}q(n,o,0,f,r.indices,r.data,r.stride,s,e,c,u)}}const d=c();function b(n,o,i,e,c,s,r,u,f){const{data:a,stride:l}=s;T(n,t(F,o,n),i,e,c,a,l,r,u,f)}function M(t,n,o,i){if(!o.visible)return;const{boundingInfo:e}=o;if(e){const{bbMin:o,bbMax:i}=e;if(t<o[0]||t>i[0]||n<o[1]||n>i[1])return}const c=o.positionAttribute,s=o.primitivePositionIndices;x(t,n,0,s.length/3,s,c,i)}function x(t,n,o,i,e,c,s){const{data:r,stride:u}=c;for(let f=o;f<i;++f){const o=3*f,i=u*e[o],c=u*e[o+1],a=u*e[o+2],l=r[i+0]-t,m=r[i+1]-n,p=r[c+0]-t,h=r[c+1]-n,d=r[a+0]-t,b=r[a+1]-n,M=d*h-b*p,x=l*b-m*d,g=p*m-h*l;(M<0||x<0||g<0)&&(M>0||x>0||g>0)||s(0,null,f)}}function g(t,n,o,i,e,c,s,r,u,f=null,a=0){const l=t[0],m=t[1],p=t[2],h=n[0],b=n[1],M=n[2];for(let x=o;x<i;++x){const t=a+(f?.[x]??x),n=3*t,o=s*e[n],i=c[o],g=c[o+1],y=c[o+2],v=s*e[n+1],q=c[v],T=c[v+1],V=c[v+2],I=s*e[n+2],R=q-i,A=T-g,B=V-y,P=c[I]-i,w=c[I+1]-g,C=c[I+2]-y,U=b*C-w*M,k=M*P-C*h,z=h*w-P*b,D=R*U+A*k+B*z,F=D*D;if(F<=E)continue;const G=l-i,H=m-g,J=p-y,K=(G*U+H*k+J*z)*D;if(K<0||K>F)continue;const L=H*B-A*J,N=J*R-B*G,O=G*A-R*H,Q=(h*L+b*N+M*O)*D;if(Q<0||K+Q>F)continue;const S=(P*L+w*N+C*O)/D;if(S>=0){u(S,r?j(R,A,B,P,w,C,d):null,t)}}}function y(t,n,o,i,e,c,s,r){const u=t[0],f=t[1],a=t[2],l=n[0],m=n[1],p=n[2];for(let h=o;h<i;++h){const t=3*h,n=t+1,o=t+2,i=c*t,b=e[i],M=e[i+1],x=e[i+2],g=c*n,y=c*o,v=e[g]-b,q=e[g+1]-M,T=e[g+2]-x,V=e[y]-b,I=e[y+1]-M,R=e[y+2]-x,A=m*R-I*p,B=p*V-R*l,P=l*I-V*m,w=v*A+q*B+T*P,C=w*w;if(C<=E)continue;const U=u-b,k=f-M,z=a-x,D=(U*A+k*B+z*P)*w;if(D<0||D>C)continue;const F=k*T-q*z,G=z*v-T*U,H=U*q-v*k,J=(l*F+m*G+p*H)*w;if(J<0||D+J>C)continue;const K=(V*F+I*G+R*H)/w;if(K>=0){r(K,s?j(v,q,T,V,I,R,d):null,h)}}}function v(t,n,o,i,e,c,s,r,u,f,a,l=null,m=0){const p=t[0],h=t[1],b=t[2],M=n[0],x=n[1],g=n[2];for(let y=o;y<i;++y){const t=m+(l?.[y]??y),n=3*t,o=s*e[n],i=c[o],v=c[o+1],q=c[o+2],T=s*e[n+1],V=c[T],I=c[T+1],R=c[T+2],A=s*e[n+2],B=c[A],P=c[A+1],w=c[A+2],C=q-u,U=r/Math.sqrt(i*i+v*v+C*C),k=i+i*U,z=v+v*U,D=q+C*U,F=R-u,G=r/Math.sqrt(V*V+I*I+F*F),H=V+V*G,J=I+I*G,K=R+F*G,L=w-u,N=r/Math.sqrt(B*B+P*P+L*L),O=H-k,Q=J-z,S=K-D,W=B+B*N-k,X=P+P*N-z,Y=w+L*N-D,Z=x*Y-X*g,$=g*W-Y*M,_=M*X-W*x,tt=O*Z+Q*$+S*_,nt=tt*tt;if(nt<=E)continue;const ot=p-k,it=h-z,et=b-D,ct=(ot*Z+it*$+et*_)*tt;if(ct<0||ct>nt)continue;const st=it*S-Q*et,rt=et*O-S*ot,ut=ot*Q-O*it,ft=(M*st+x*rt+g*ut)*tt;if(ft<0||ct+ft>nt)continue;const at=(W*st+X*rt+Y*ut)/tt;if(at>=0){a(at,f?j(O,Q,S,W,X,Y,d):null,t)}}}function q(t,n,o,i,e,c,s,r,u,f,a){const l=t[0],m=t[1],p=t[2],h=n[0],b=n[1],M=n[2],{normalRequired:x}=f;for(let g=o;g<i;++g){const t=r[g],n=3*t,o=s*e[n];let i=c[o],f=c[o+1],y=c[o+2];const v=s*e[n+1];let q=c[v],T=c[v+1],V=c[v+2];const I=s*e[n+2];let R=c[I],A=c[I+1],B=c[I+2];null!=u&&([i,f,y]=u.applyToVertex(i,f,y,g),[q,T,V]=u.applyToVertex(q,T,V,g),[R,A,B]=u.applyToVertex(R,A,B,g));const P=q-i,w=T-f,C=V-y,U=R-i,k=A-f,z=B-y,D=b*z-k*M,F=M*U-z*h,G=h*k-U*b,H=P*D+w*F+C*G,J=H*H;if(J<=E)continue;const K=l-i,L=m-f,N=p-y,O=(K*D+L*F+N*G)*H;if(O<0||O>J)continue;const Q=L*C-w*N,S=N*P-C*K,W=K*w-P*L,X=(h*Q+b*S+M*W)*H;if(X<0||O+X>J)continue;const Y=(U*Q+k*S+z*W)/H;if(Y>=0){a(Y,x?j(P,w,C,U,k,z,d):null,t)}}}function T(i,e,c,s,r,u,f,a,l,m){const p=e,h=G,d=Math.abs(p[0]),b=Math.abs(p[1]),M=Math.abs(p[2]),x=d>=b?d>=M?0:2:b>=M?1:2,g=x,y=p[g]<0?2:1,v=(x+y)%3,q=(x+(3-y))%3,T=p[v]/p[g],j=p[q]/p[g],B=1/p[g],P=V,w=I,C=R,{normalRequired:U}=l;for(let V=c;V<s;++V){const e=3*V,c=f*r[e];n(h[0],u[c+0],u[c+1],u[c+2]);const s=f*r[e+1];n(h[1],u[s+0],u[s+1],u[s+2]);const l=f*r[e+2];n(h[2],u[l+0],u[l+1],u[l+2]),a&&(o(h[0],a.applyToVertex(h[0][0],h[0][1],h[0][2],V)),o(h[1],a.applyToVertex(h[1][0],h[1][1],h[1][2],V)),o(h[2],a.applyToVertex(h[2][0],h[2][1],h[2][2],V))),t(P,h[0],i),t(w,h[1],i),t(C,h[2],i);const p=P[v]-T*P[g],d=P[q]-j*P[g],b=w[v]-T*w[g],M=w[q]-j*w[g],x=C[v]-T*C[g],y=C[q]-j*C[g],I=x*M-y*b,R=p*y-d*x,k=b*d-M*p;if((I<0||R<0||k<0)&&(I>0||R>0||k>0))continue;const z=I+R+k;if(0===z)continue;const D=I*(B*P[g])+R*(B*w[g])+k*(B*C[g]);if(D*Math.sign(z)<0)continue;const E=D/z;if(E>=0){m(E,U?A(h):null,V)}}}const V=c(),I=c(),R=c();function j(t,o,c,s,r,u,f){return n(B,t,o,c),n(P,s,r,u),i(f,B,P),e(f,f),f}function A(n){return t(B,n[1],n[0]),t(P,n[2],n[0]),i(d,B,P),e(d,d),d}const B=c(),P=c();function w(t,o,i){return n(i,1/(o[0]-t[0]),1/(o[1]-t[1]),1/(o[2]-t[2]))}function C(t,o){return n(o,1/t[0],1/t[1],1/t[2])}function U(t,n,o,i){return k(t,n,o,i,1/0)}function k(t,n,o,i,e){const c=(t[0]-i-n[0])*o[0],s=(t[3]+i-n[0])*o[0];let r=Math.min(c,s),u=Math.max(c,s);const f=(t[1]-i-n[1])*o[1],a=(t[4]+i-n[1])*o[1];if(u=Math.min(u,Math.max(f,a)),u<0)return!1;if(r=Math.max(r,Math.min(f,a)),r>u)return!1;const l=(t[2]-i-n[2])*o[2],m=(t[5]+i-n[2])*o[2];return u=Math.min(u,Math.max(l,m)),!(u<0)&&(r=Math.max(r,Math.min(l,m)),!(r>u)&&r<e)}const z=1e3,D=1e-7,E=D*D,F=c(),G=[c(),c(),c()];export{a as MeshIntersectionOptions,w as computeInvDir,C as computeInvDirFromDirection,j as computeNormalFromBarycentric,U as intersectAabbInvDir,k as intersectAabbInvDirBefore,g as intersectRayTriangles,T as intersectRayTrianglesWithDisplacementWatertight,v as intersectRayTrianglesWithVerticalOffsetENUGlobal,y as intersectRenderGeometryTriangles,m as intersectTriangleGeometry,M as intersectTriangleGeometry2D,b as intersectTriangles,x as intersectTriangles2d,D as triangleRayParallelTolerance};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{sliceEquals as i}from"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{smoothstep as r}from"../../../../core/mathUtils.js";import{releaseMaybe as s,disposeMaybe as a}from"../../../../core/maybe.js";import{watch as o,sync as n}from"../../../../core/reactiveUtils.js";import{signal as h}from"../../../../core/signal.js";import{property as c,subclass as u}from"../../../../core/accessorSupport/decorators.js";import{copy as l,equals as m}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as _}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadShadowMapPassParameters as d}from"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{F as p}from"../../../../chunks/FocusAreaMask.glsl.js";import{volumeToVao as f}from"../effects/focusArea/focusAreaMaskUtils.js";import{BindParameters as g}from"./BindParameters.js";import{DepthRange as b}from"./DepthRange.js";import{createQuadVAO as v}from"./glUtil3D.js";import{ShadowCastRenderer as y,shadowCastDisabledElevationThreshold as S,shadowCastDisableElevationMax as w,shadowCastDisableElevationMin as A}from"./ShadowCastRenderer.js";import{ShadowMap as F}from"./ShadowMap.js";import{S as C}from"../../../../chunks/ShadowCastAccumulate.glsl.js";import{ShadowCastAccumulateTechnique as R}from"../shaders/ShadowCastAccumulateTechnique.js";import{ShadowCastAccumulateTechniqueConfiguration as x}from"../shaders/ShadowCastAccumulateTechniqueConfiguration.js";import{ShadowCastClearTechnique as P}from"../shaders/ShadowCastClearTechnique.js";import{ShadowCastMaskTechnique as q}from"../shaders/ShadowCastMaskTechnique.js";import{TaskPriority as j}from"../../../support/Scheduler.js";import{PrimitiveType as H,DepthStencilAttachment as V,PixelType as T}from"../../../webgl/enums.js";import{DisposableFramebufferObject as D}from"../../../webgl/FramebufferObject.js";import{noParameters as M}from"../../../webgl/NoParameters.js";let E=class extends t{constructor(e,t,i,r,a,h){super({}),this._fbos=e,this._techniques=t,this._stage=i,this._prepareForShadowMapPass=r,this._renderToShadowMap=a,this._requestRender=h,this._analysisVolumeGeometry=null,this._primarySet=new U(new x(0),()=>this._requestRenderIfEnabled()),this._contextSet=new U(new x(1),()=>this._requestRenderIfEnabled()),this._passParameters=new d,this._maskParameters=new p,this._volumeVao=null,this._volumeVertexCount=0,this._depthRange=b.Zero,this._enabled=!1,this._previewing=!1,this._shadowAccumulatorKey=Symbol("shadowAccumulator"),this._bindParameters=new g(e.rctx,new F(e,i.viewingMode)),this._bindParameters.shadowMap.enabled=!0,this._vao=v(e.rctx),this._accumulationRenderer=new y(e,t,this,h),this._tmpReadFbo=new D(e.rctx);const c=this._stage.view.resourceController.scheduler;this.addHandles([c.registerTask(j.SHADOW_ACCUMULATOR,this),o(()=>this._previewing,e=>{e?this._invalidateAccumulationSets():this._requestRenderIfEnabled()},n),o(()=>this._numActive,()=>this._numActiveChanged(),n),o(()=>this._depthRange,()=>this._invalidateAccumulationSets(),n),o(()=>this.readyToRun,e=>{e||(this._bindParameters.depth=s(this._bindParameters.depth),this.notifyChange("canAccumulate"))})],this._shadowAccumulatorKey)}destroy(){this._disable(),this.removeHandles(this._shadowAccumulatorKey),this._accumulationRenderer=a(this._accumulationRenderer),this._fboHandle=a(this._fboHandle),this._vao=a(this._vao),this._volumeVao=a(this._volumeVao),this._tmpReadFbo=a(this._tmpReadFbo),this._bindParameters.destroy();for(const e of this._accumulationSets())e.destroy();this._contextSet=null,this._primarySet=null}*_accumulationSets(){yield this._primarySet,yield this._contextSet}get computedSamples(){return[this._primarySet.progress,this._contextSet.progress]}get shadowCastTexture(){return this._fboHandle?.getTexture()}get accumulating(){return this.active&&this._previewing||this._refining}get _refining(){return this.active&&!this._doneAccumulating&&!this._previewing}get active(){return this._enabled&&[...this._accumulationSets()].some(e=>e.active)}get canAccumulate(){return null!=this._bindParameters.depth&&this._depthRange!==b.Zero&&this._opacityFromElevation>S}get _doneAccumulating(){return[...this._accumulationSets()].every(e=>e.doneAccumulating)}get _opacityFromElevation(){return this._accumulationRenderer.opacityFromElevation}set _opacityFromElevation(e){this._accumulationRenderer.opacityFromElevation=e}get _numActive(){return[...this._accumulationSets()].reduce((e,t)=>e+(t.active?1:0),0)}get _colorFormat(){return 2===this._numActive?2:0}get readyToRun(){return this._refining&&this.canAccumulate&&[...this._accumulationSets()].some(e=>e.running)}get _analysisVolume(){return this._analysisVolumeGeometry}set _analysisVolume(e){if(this._analysisVolumeGeometry===e)return;this._invalidateAccumulationSets(),this._analysisVolumeGeometry=e,this._volumeVao=a(this._volumeVao),this._volumeVertexCount=0;const t=null!=e;for(const a of this._accumulationSets())a.configuration.useMask=t;if(!t)return;const i=e.geometryVolume,{vao:r,vertexCount:s}=f(this._rctx,i);this._volumeVao=r,this._volumeVertexCount=s}runTask(e){this._clearBuffersOnAccumulationStart(),this._prepareForShadowMapPass(this._bindParameters);let t=!1;for(const i of this._accumulationSets())this._runTaskForSet(i,e)&&(t=!0);t&&this._requestRender()}_runTaskForSet(e,t){let i=!1;for(;!t.done&&!e.doneAccumulating;)this._accumulateShadow(e),t.madeProgress(),i=!0;return i}renderAccumulation(e,t){return this._updateCamera(e.camera),this._bindParameters.contentCamera=e.contentCamera,e.depth?.retain(),this._bindParameters.depth?.release(),this._bindParameters.depth=e.depth,this._passParameters.origin=this._bindParameters.camera.center,this.notifyChange("canAccumulate"),!(!this.accumulating||!this.canAccumulate)&&(this._previewing||t?(this._clearFramebuffer(),this._reset()):this._clearBuffersOnAccumulationStart(),this._renderAreaMask(),this._accumulateSetsForRenderFrame(t))}_renderAreaMask(){const e=this._techniques.getCompiled(q),t=this._volumeVao,i=this._volumeVertexCount,r=this._fboHandle,s=this._analysisVolume;if(r?.detachDepth(),!e||!t||i<1||!r||!s)return;r.acquireDepth(14);const a=this._rctx,o=this._bindParameters,n=o.depth,h=this._tmpReadFbo;h.attachDepthStencil(n?.attachment),a.blitFramebuffer(h,r.fbo,256),h.detachDepthStencilTexture(),a.bindFramebuffer(r.fbo),a.setClearStencil(0),a.clear(1024),a.setViewport(0,0,o.camera.width,o.camera.height);const c=a.bindTechnique(e,o);this._maskParameters.origin=s.origin,c.bindDraw(o,M,this._maskParameters),a.bindVAO(t),a.drawArrays(H.TRIANGLES,0,i)}_clearBuffersOnAccumulationStart(){if([...this._accumulationSets()].every(e=>0===e.progress))this._clearFramebuffer();else for(const e of this._accumulationSets())0===e.progress&&this._clearFramebufferForSet(this._fboHandle,e)}_accumulateSetsForRenderFrame(e){let t=!1;for(const i of this._accumulationSets())this._accumulateSetForRenderFrame(i,e)&&(t=!0);return t&&this._requestRender(),t}_accumulateSetForRenderFrame(e,t){let i=t?e.sampleCount:Math.min(k,e.sampleCount);i-=e.progress;for(let r=0;r<i;++r)this._accumulateShadow(e);return i>0}precompilePrepass(){if(this.accumulating){for(const e of this._accumulationSets())this._techniques.precompile(R,e.configuration),this._techniques.precompile(P,e.configuration);this._techniques.precompile(q)}}precompile(){this._accumulationRenderer.precompile()}render(e){const t=this._fboHandle?.getAttachment(V);this._accumulationRenderer.render(e,t)}setParameters(e){void 0!==e.previewing&&(this._previewing=e.previewing),void 0!==e.lightDirections&&(this._primarySet.lightDirections=e.lightDirections),void 0!==e.lightDirectionsContext&&(this._contextSet.lightDirections=e.lightDirectionsContext),!0===e.enabled?this._enable():!1===e.enabled&&this._disable(),void 0!==e.analysisVolume&&(this._analysisVolume=e.analysisVolume),this._accumulationRenderer.setOptions(e)}readAccumulatedShadow(e,t){const i=this._primarySet.progress;return!this.active||!this._fboHandle||i<1||e<0||e>=this._fboHandle.fbo.width||t<0||t>=this._fboHandle.fbo.height?0:(this._fboHandle.fbo.readPixels(e,t,1,1,6408,T.UNSIGNED_BYTE,O),O[0]/i)}_numActiveChanged(){if(!this._enabled||!this._fboHandle)return;const e=2===this._numActive,{width:t,height:i}=this._fboHandle.fbo,r=this._createFBO(t,i);e&&(this._clearFramebuffer(r),this._contextSet.reset()),this._rctx.blitFramebuffer(this._fboHandle.fbo,r.fbo),this._fboHandle.dispose(),this._fboHandle=r,this._requestRender()}_enable(){this._enabled||(this._enabled=!0,this._invalidateAccumulationSets())}_disable(){this._enabled&&(this._fboHandle=a(this._fboHandle),this._enabled=!1,this._requestRender())}_createFBO(e,t){return this._fbos.acquire(e,t,"shadow accumulation",this._colorFormat)}_invalidateAccumulationSets(){for(const e of this._accumulationSets())e.reset();this._requestRenderIfEnabled()}_reset(){for(const e of this._accumulationSets())e.reset()}_clearFramebuffer(e=this._fboHandle){e&&(this._rctx.bindFramebuffer(e.fbo),this._rctx.setClearColor(0,0,0,0),this._rctx.clear(16384))}_clearFramebufferForSet(e,t){if(!e)return;const i=this._techniques.get(P,t.configuration);this._rctx.bindFramebuffer(e.fbo),this._rctx.bindTechnique(i,this._bindParameters,this._passParameters),this._rctx.bindVAO(this._vao),this._rctx.drawArrays(i.primitiveType,0,this._vao.vertexCount("geometry"))}_accumulateShadow(e){this._renderToShadowMap(this._bindParameters,e.lightDirections[e.progress++],this._depthRange);const t=this._techniques.get(R,e.configuration);this._rctx.bindFramebuffer(this._fboHandle?.fbo),this._rctx.bindTechnique(t,this._bindParameters,this._passParameters),this._rctx.bindVAO(this._vao),this._rctx.drawArrays(t.primitiveType,0,this._vao.vertexCount("geometry"))}_updateCamera(e){if(!this._enabled)return;const t=this._bindParameters.camera;e.equals(t)||t.copyFrom(e),this._fboHandle?.fbo.width===e.fullWidth&&this._fboHandle?.fbo.height===e.fullHeight||(this._fboHandle?.release(),this._fboHandle=this._createFBO(e.fullWidth,e.fullHeight)),this._opacityFromElevation=1-r(A,w,e.relativeElevation)}_requestRenderIfEnabled(){this._enabled&&this._requestRender()}get _rctx(){return this._fbos.rctx}updateDepthRange(e){this._depthRange.equals(e)||(this._depthRange=e)}get test(){}};e([c()],E.prototype,"_refining",null),e([c()],E.prototype,"active",null),e([c()],E.prototype,"canAccumulate",null),e([c()],E.prototype,"_doneAccumulating",null),e([c()],E.prototype,"_opacityFromElevation",null),e([c()],E.prototype,"_numActive",null),e([c()],E.prototype,"_colorFormat",null),e([c()],E.prototype,"readyToRun",null),e([c()],E.prototype,"_depthRange",void 0),e([c()],E.prototype,"_enabled",void 0),e([c()],E.prototype,"_previewing",void 0),e([c()],E.prototype,"_accumulationRenderer",void 0),E=e([u("esri.views.3d.webgl-engine.lib.ShadowAccumulator")],E);const k=6,O=new Uint8Array(4);class U{constructor(e,t){this.configuration=e,this._notifyChange=t,this._cachedLightDirections=[],this._progress=h(0),this._sampleCount=h(0)}get progress(){return this._progress.value}set progress(e){this._progress.value=e}get sampleCount(){return this._sampleCount.value}get doneAccumulating(){return this.progress>=this.sampleCount}get running(){return this.progress>0}get active(){return this.sampleCount>0}get lightDirections(){return this._cachedLightDirections}set lightDirections(e){const t=this._cachedLightDirections,r=Math.min(C,e.length);if(!i(t,0,t.length,e,0,r,m)){t.length=r,this._sampleCount.value=r;for(let i=0;i<r;++i)t[i]=l(t[i]??_(),e[i]);this.reset(),this._notifyChange()}}destroy(){this._cachedLightDirections.length=0,this._sampleCount.value=0}reset(){this.progress=0}precompile(e){e.precompile(R,this.configuration),e.precompile(P,this.configuration)}}export{E as ShadowAccumulator};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{sliceEquals as i}from"../../../../core/arrayUtils.js";import"../../../../core/has.js";import{smoothstep as r}from"../../../../core/mathUtils.js";import{releaseMaybe as s,disposeMaybe as a}from"../../../../core/maybe.js";import{watch as o,sync as n}from"../../../../core/reactiveUtils.js";import{signal as h}from"../../../../core/signal.js";import{property as c,subclass as u}from"../../../../core/accessorSupport/decorators.js";import{copy as l,equals as m}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as _}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ReadShadowMapPassParameters as d}from"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import{a as p}from"../../../../chunks/FocusAreaMask.glsl.js";import{volumeToVao as f}from"../effects/focusArea/focusAreaMaskUtils.js";import{BindParameters as g}from"./BindParameters.js";import{DepthRange as b}from"./DepthRange.js";import{createQuadVAO as v}from"./glUtil3D.js";import{ShadowCastRenderer as y,shadowCastDisabledElevationThreshold as S,shadowCastDisableElevationMax as w,shadowCastDisableElevationMin as A}from"./ShadowCastRenderer.js";import{ShadowMap as F}from"./ShadowMap.js";import{a as C}from"../../../../chunks/ShadowCastAccumulate.glsl.js";import{ShadowCastAccumulateTechnique as R}from"../shaders/ShadowCastAccumulateTechnique.js";import{ShadowCastAccumulateTechniqueConfiguration as x}from"../shaders/ShadowCastAccumulateTechniqueConfiguration.js";import{ShadowCastClearTechnique as P}from"../shaders/ShadowCastClearTechnique.js";import{ShadowCastMaskTechnique as q}from"../shaders/ShadowCastMaskTechnique.js";import{TaskPriority as j}from"../../../support/Scheduler.js";import{PrimitiveType as H,DepthStencilAttachment as V,PixelType as T}from"../../../webgl/enums.js";import{DisposableFramebufferObject as D}from"../../../webgl/FramebufferObject.js";import{noParameters as M}from"../../../webgl/NoParameters.js";let E=class extends t{constructor(e,t,i,r,a,h){super({}),this._fbos=e,this._techniques=t,this._stage=i,this._prepareForShadowMapPass=r,this._renderToShadowMap=a,this._requestRender=h,this._analysisVolumeGeometry=null,this._primarySet=new U(new x(0),()=>this._requestRenderIfEnabled()),this._contextSet=new U(new x(1),()=>this._requestRenderIfEnabled()),this._passParameters=new d,this._maskParameters=new p,this._volumeVao=null,this._volumeVertexCount=0,this._depthRange=b.Zero,this._enabled=!1,this._previewing=!1,this._shadowAccumulatorKey=Symbol("shadowAccumulator"),this._bindParameters=new g(e.rctx,new F(e,i.viewingMode)),this._bindParameters.shadowMap.enabled=!0,this._vao=v(e.rctx),this._accumulationRenderer=new y(e,t,this,h),this._tmpReadFbo=new D(e.rctx);const c=this._stage.view.resourceController.scheduler;this.addHandles([c.registerTask(j.SHADOW_ACCUMULATOR,this),o(()=>this._previewing,e=>{e?this._invalidateAccumulationSets():this._requestRenderIfEnabled()},n),o(()=>this._numActive,()=>this._numActiveChanged(),n),o(()=>this._depthRange,()=>this._invalidateAccumulationSets(),n),o(()=>this.readyToRun,e=>{e||(this._bindParameters.depth=s(this._bindParameters.depth),this.notifyChange("canAccumulate"))})],this._shadowAccumulatorKey)}destroy(){this._disable(),this.removeHandles(this._shadowAccumulatorKey),this._accumulationRenderer=a(this._accumulationRenderer),this._fboHandle=a(this._fboHandle),this._vao=a(this._vao),this._volumeVao=a(this._volumeVao),this._tmpReadFbo=a(this._tmpReadFbo),this._bindParameters.destroy();for(const e of this._accumulationSets())e.destroy();this._contextSet=null,this._primarySet=null}*_accumulationSets(){yield this._primarySet,yield this._contextSet}get computedSamples(){return[this._primarySet.progress,this._contextSet.progress]}get shadowCastTexture(){return this._fboHandle?.getTexture()}get accumulating(){return this.active&&this._previewing||this._refining}get _refining(){return this.active&&!this._doneAccumulating&&!this._previewing}get active(){return this._enabled&&[...this._accumulationSets()].some(e=>e.active)}get canAccumulate(){return null!=this._bindParameters.depth&&this._depthRange!==b.Zero&&this._opacityFromElevation>S}get _doneAccumulating(){return[...this._accumulationSets()].every(e=>e.doneAccumulating)}get _opacityFromElevation(){return this._accumulationRenderer.opacityFromElevation}set _opacityFromElevation(e){this._accumulationRenderer.opacityFromElevation=e}get _numActive(){return[...this._accumulationSets()].reduce((e,t)=>e+(t.active?1:0),0)}get _colorFormat(){return 2===this._numActive?2:0}get readyToRun(){return this._refining&&this.canAccumulate&&[...this._accumulationSets()].some(e=>e.running)}get _analysisVolume(){return this._analysisVolumeGeometry}set _analysisVolume(e){if(this._analysisVolumeGeometry===e)return;this._invalidateAccumulationSets(),this._analysisVolumeGeometry=e,this._volumeVao=a(this._volumeVao),this._volumeVertexCount=0;const t=null!=e;for(const a of this._accumulationSets())a.configuration.useMask=t;if(!t)return;const i=e.geometryVolume,{vao:r,vertexCount:s}=f(this._rctx,i);this._volumeVao=r,this._volumeVertexCount=s}runTask(e){this._clearBuffersOnAccumulationStart(),this._prepareForShadowMapPass(this._bindParameters);let t=!1;for(const i of this._accumulationSets())this._runTaskForSet(i,e)&&(t=!0);t&&this._requestRender()}_runTaskForSet(e,t){let i=!1;for(;!t.done&&!e.doneAccumulating;)this._accumulateShadow(e),t.madeProgress(),i=!0;return i}renderAccumulation(e,t){return this._updateCamera(e.camera),this._bindParameters.contentCamera=e.contentCamera,e.depth?.retain(),this._bindParameters.depth?.release(),this._bindParameters.depth=e.depth,this._passParameters.origin=this._bindParameters.camera.center,this.notifyChange("canAccumulate"),!(!this.accumulating||!this.canAccumulate)&&(this._previewing||t?(this._clearFramebuffer(),this._reset()):this._clearBuffersOnAccumulationStart(),this._renderAreaMask(),this._accumulateSetsForRenderFrame(t))}_renderAreaMask(){const e=this._techniques.getCompiled(q),t=this._volumeVao,i=this._volumeVertexCount,r=this._fboHandle,s=this._analysisVolume;if(r?.detachDepth(),!e||!t||i<1||!r||!s)return;r.acquireDepth(14);const a=this._rctx,o=this._bindParameters,n=o.depth,h=this._tmpReadFbo;h.attachDepthStencil(n?.attachment),a.blitFramebuffer(h,r.fbo,256),h.detachDepthStencilTexture(),a.bindFramebuffer(r.fbo),a.setClearStencil(0),a.clear(1024),a.setViewport(0,0,o.camera.width,o.camera.height);const c=a.bindTechnique(e,o);this._maskParameters.origin=s.origin,c.bindDraw(o,M,this._maskParameters),a.bindVAO(t),a.drawArrays(H.TRIANGLES,0,i)}_clearBuffersOnAccumulationStart(){if([...this._accumulationSets()].every(e=>0===e.progress))this._clearFramebuffer();else for(const e of this._accumulationSets())0===e.progress&&this._clearFramebufferForSet(this._fboHandle,e)}_accumulateSetsForRenderFrame(e){let t=!1;for(const i of this._accumulationSets())this._accumulateSetForRenderFrame(i,e)&&(t=!0);return t&&this._requestRender(),t}_accumulateSetForRenderFrame(e,t){let i=t?e.sampleCount:Math.min(k,e.sampleCount);i-=e.progress;for(let r=0;r<i;++r)this._accumulateShadow(e);return i>0}precompilePrepass(){if(this.accumulating){for(const e of this._accumulationSets())this._techniques.precompile(R,e.configuration),this._techniques.precompile(P,e.configuration);this._techniques.precompile(q)}}precompile(){this._accumulationRenderer.precompile()}render(e){const t=this._fboHandle?.getAttachment(V);this._accumulationRenderer.render(e,t)}setParameters(e){void 0!==e.previewing&&(this._previewing=e.previewing),void 0!==e.lightDirections&&(this._primarySet.lightDirections=e.lightDirections),void 0!==e.lightDirectionsContext&&(this._contextSet.lightDirections=e.lightDirectionsContext),!0===e.enabled?this._enable():!1===e.enabled&&this._disable(),void 0!==e.analysisVolume&&(this._analysisVolume=e.analysisVolume),this._accumulationRenderer.setOptions(e)}readAccumulatedShadow(e,t){const i=this._primarySet.progress;return!this.active||!this._fboHandle||i<1||e<0||e>=this._fboHandle.fbo.width||t<0||t>=this._fboHandle.fbo.height?0:(this._fboHandle.fbo.readPixels(e,t,1,1,6408,T.UNSIGNED_BYTE,O),O[0]/i)}_numActiveChanged(){if(!this._enabled||!this._fboHandle)return;const e=2===this._numActive,{width:t,height:i}=this._fboHandle.fbo,r=this._createFBO(t,i);e&&(this._clearFramebuffer(r),this._contextSet.reset()),this._rctx.blitFramebuffer(this._fboHandle.fbo,r.fbo),this._fboHandle.dispose(),this._fboHandle=r,this._requestRender()}_enable(){this._enabled||(this._enabled=!0,this._invalidateAccumulationSets())}_disable(){this._enabled&&(this._fboHandle=a(this._fboHandle),this._enabled=!1,this._requestRender())}_createFBO(e,t){return this._fbos.acquire(e,t,"shadow accumulation",this._colorFormat)}_invalidateAccumulationSets(){for(const e of this._accumulationSets())e.reset();this._requestRenderIfEnabled()}_reset(){for(const e of this._accumulationSets())e.reset()}_clearFramebuffer(e=this._fboHandle){e&&(this._rctx.bindFramebuffer(e.fbo),this._rctx.setClearColor(0,0,0,0),this._rctx.clear(16384))}_clearFramebufferForSet(e,t){if(!e)return;const i=this._techniques.get(P,t.configuration);this._rctx.bindFramebuffer(e.fbo),this._rctx.bindTechnique(i,this._bindParameters,this._passParameters),this._rctx.bindVAO(this._vao),this._rctx.drawArrays(i.primitiveType,0,this._vao.vertexCount("geometry"))}_accumulateShadow(e){this._renderToShadowMap(this._bindParameters,e.lightDirections[e.progress++],this._depthRange);const t=this._techniques.get(R,e.configuration);this._rctx.bindFramebuffer(this._fboHandle?.fbo),this._rctx.bindTechnique(t,this._bindParameters,this._passParameters),this._rctx.bindVAO(this._vao),this._rctx.drawArrays(t.primitiveType,0,this._vao.vertexCount("geometry"))}_updateCamera(e){if(!this._enabled)return;const t=this._bindParameters.camera;e.equals(t)||t.copyFrom(e),this._fboHandle?.fbo.width===e.fullWidth&&this._fboHandle?.fbo.height===e.fullHeight||(this._fboHandle?.release(),this._fboHandle=this._createFBO(e.fullWidth,e.fullHeight)),this._opacityFromElevation=1-r(A,w,e.relativeElevation)}_requestRenderIfEnabled(){this._enabled&&this._requestRender()}get _rctx(){return this._fbos.rctx}updateDepthRange(e){this._depthRange.equals(e)||(this._depthRange=e)}get test(){}};e([c()],E.prototype,"_refining",null),e([c()],E.prototype,"active",null),e([c()],E.prototype,"canAccumulate",null),e([c()],E.prototype,"_doneAccumulating",null),e([c()],E.prototype,"_opacityFromElevation",null),e([c()],E.prototype,"_numActive",null),e([c()],E.prototype,"_colorFormat",null),e([c()],E.prototype,"readyToRun",null),e([c()],E.prototype,"_depthRange",void 0),e([c()],E.prototype,"_enabled",void 0),e([c()],E.prototype,"_previewing",void 0),e([c()],E.prototype,"_accumulationRenderer",void 0),E=e([u("esri.views.3d.webgl-engine.lib.ShadowAccumulator")],E);const k=6,O=new Uint8Array(4);class U{constructor(e,t){this.configuration=e,this._notifyChange=t,this._cachedLightDirections=[],this._progress=h(0),this._sampleCount=h(0)}get progress(){return this._progress.value}set progress(e){this._progress.value=e}get sampleCount(){return this._sampleCount.value}get doneAccumulating(){return this.progress>=this.sampleCount}get running(){return this.progress>0}get active(){return this.sampleCount>0}get lightDirections(){return this._cachedLightDirections}set lightDirections(e){const t=this._cachedLightDirections,r=Math.min(C,e.length);if(!i(t,0,t.length,e,0,r,m)){t.length=r,this._sampleCount.value=r;for(let i=0;i<r;++i)t[i]=l(t[i]??_(),e[i]);this.reset(),this._notifyChange()}}destroy(){this._cachedLightDirections.length=0,this._sampleCount.value=0}reset(){this.progress=0}precompile(e){e.precompile(R,this.configuration),e.precompile(P,this.configuration)}}export{E as ShadowAccumulator};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{equals as s}from"../../../../core/arrayUtils.js";import{disposeMaybe as i}from"../../../../core/maybe.js";import{property as r,subclass as a}from"../../../../core/accessorSupport/decorators.js";import{exactEquals as o,copy as h,equals as n}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{createQuadVAO as l}from"./glUtil3D.js";import{vvColorNumber as d}from"../materials/VisualVariablePassParameters.js";import{S as _}from"../../../../chunks/ShadowCastVisualize.glsl.js";import{ShadowCastVisualizeTechnique as m}from"../shaders/ShadowCastVisualizeTechnique.js";import{ShadowCastVisualizeTechniqueConfiguration as u}from"../shaders/ShadowCastVisualizeTechniqueConfiguration.js";import{ColorAttachment0 as p}from"../../../webgl/enums.js";const c=4e4,b=5e4,f=1/512;let g=class extends t{constructor(e,t,s,i){super({}),this._fbos=e,this._techniques=t,this._data=s,this._requestRender=i,this._configuration=new u,this._enabled=!1,this._passParameters=new _(this._data),this._vao=l(e.rctx)}dispose(){this._stop(),this._vao=i(this._vao)}precompile(){this._showVisualization&&this._techniques.precompile(m,this._configuration)}render(e,t){if(!this._showVisualization)return;const[s,i]=this._data.computedSamples;this._passParameters.sampleScale=[s?1/s:0,i?1/i:0];const r=this._techniques.get(m,this._configuration),a=null!=t,o=this._rctx.boundFramebuffer;let h=null;a&&(h=this._fbos.acquire(e.camera.width,e.camera.height,"shadow cast masked draw"),h.attachDepth(t),this._rctx.bindFramebuffer(h.fbo),this._rctx.blitFramebuffer(o,h.fbo,16384)),this._rctx.bindVAO(this._vao),this._rctx.bindTechnique(r,e,this._passParameters),this._rctx.setDrawBuffers([p]),this._rctx.drawArrays(r.primitiveType,0,this._vao.vertexCount("geometry")),null!=h&&(this._rctx.bindFramebuffer(o),this._rctx.blitFramebuffer(h.fbo,o,16384),h.detachDepth(),h.release())}get _rctx(){return this._fbos.rctx}setOptions(e){void 0!==e.enabled&&this._setEnabled(e.enabled),void 0!==e.thresholdColor&&this._setThresholdColor(e.thresholdColor),void 0!==e.gradientColorRamp&&this._setGradientColorRamp(e.gradientColorRamp),void 0!==e.bandedGradientColorRamp&&this._setBandedGradientColorRamp(e.bandedGradientColorRamp),void 0!==e.threshold&&(this._threshold=e.threshold),void 0!==e.thresholdRendersSunlight&&(this._thresholdRendersSunlight=e.thresholdRendersSunlight),void 0!==e.visualization&&(this._visualization=e.visualization),void 0!==e.bandSize&&(this._bandSize=e.bandSize),void 0!==e.analysisVolume&&(this._configuration.useMask=null!==e.analysisVolume)}get opacityFromElevation(){return this._passParameters.opacityFromElevation}set opacityFromElevation(e){this._passParameters.opacityFromElevation!==e&&(this._passParameters.opacityFromElevation=e,this.notifyChange("opacityFromElevation"))}get _showVisualization(){return this._enabled&&(this._data.computedSamples[0]>0||this._data.computedSamples[1]>0)&&this.opacityFromElevation>f}get _threshold(){return this._passParameters.threshold}set _threshold(e){this._threshold!==e&&(this._passParameters.threshold=e,this._requestRenderIfEnabled())}get _thresholdRendersSunlight(){return this._configuration.thresholdRendersSunlight}set _thresholdRendersSunlight(e){this._thresholdRendersSunlight!==e&&(this._configuration.thresholdRendersSunlight=e,this._requestRenderIfEnabled())}get _visualization(){return this._configuration.visualization}set _visualization(e){e!==this._visualization&&(this._configuration.visualization=e,this._requestRenderIfEnabled())}get _bandSize(){return this._passParameters.bandSize}set _bandSize(e){e!==this._bandSize&&(this._passParameters.bandSize=e,this._requestRenderIfEnabled())}_setThresholdColor(e){const t=this._passParameters.thresholdColor;o(e,t)||(h(this._passParameters.thresholdColor,e),this._requestRenderIfEnabled())}_setGradientColorRamp(e){e.length>d&&(e=e.slice(0,d));v(this._passParameters.gradientColorRamp,e)||(this._passParameters.gradientColorRamp=e,this._requestRenderIfEnabled())}_setBandedGradientColorRamp(e){e.length>d&&(e=e.slice(0,d));v(this._passParameters.bandedGradientColorRamp,e)||(this._passParameters.bandedGradientColorRamp=e,this._requestRenderIfEnabled())}_setEnabled(e){e!==this._enabled&&(e?this._start():this._stop())}_requestRenderIfEnabled(){this._enabled&&this._requestRender()}_start(){this._enabled=!0,this._requestRender()}_stop(){this._enabled=!1,this._requestRender()}};function v(e,t){return s(e,t,([e,t],[s,i])=>e===s&&n(t,i))}e([r()],g.prototype,"opacityFromElevation",null),g=e([a("esri.views.3d.webgl-engine.lib.ShadowCastRenderer")],g);export{g as ShadowCastRenderer,b as shadowCastDisableElevationMax,c as shadowCastDisableElevationMin,f as shadowCastDisabledElevationThreshold};
2
+ import{__decorate as e}from"tslib";import t from"../../../../core/Accessor.js";import{equals as s}from"../../../../core/arrayUtils.js";import{disposeMaybe as i}from"../../../../core/maybe.js";import{property as r,subclass as a}from"../../../../core/accessorSupport/decorators.js";import{exactEquals as o,copy as h,equals as n}from"../../../../core/libs/gl-matrix-2/math/vec4.js";import{createQuadVAO as l}from"./glUtil3D.js";import{vvColorNumber as d}from"../materials/VisualVariablePassParameters.js";import{a as _}from"../../../../chunks/ShadowCastVisualize.glsl.js";import{ShadowCastVisualizeTechnique as m}from"../shaders/ShadowCastVisualizeTechnique.js";import{ShadowCastVisualizeTechniqueConfiguration as u}from"../shaders/ShadowCastVisualizeTechniqueConfiguration.js";import{ColorAttachment0 as p}from"../../../webgl/enums.js";const c=4e4,b=5e4,f=1/512;let g=class extends t{constructor(e,t,s,i){super({}),this._fbos=e,this._techniques=t,this._data=s,this._requestRender=i,this._configuration=new u,this._enabled=!1,this._passParameters=new _(this._data),this._vao=l(e.rctx)}dispose(){this._stop(),this._vao=i(this._vao)}precompile(){this._showVisualization&&this._techniques.precompile(m,this._configuration)}render(e,t){if(!this._showVisualization)return;const[s,i]=this._data.computedSamples;this._passParameters.sampleScale=[s?1/s:0,i?1/i:0];const r=this._techniques.get(m,this._configuration),a=null!=t,o=this._rctx.boundFramebuffer;let h=null;a&&(h=this._fbos.acquire(e.camera.width,e.camera.height,"shadow cast masked draw"),h.attachDepth(t),this._rctx.bindFramebuffer(h.fbo),this._rctx.blitFramebuffer(o,h.fbo,16384)),this._rctx.bindVAO(this._vao),this._rctx.bindTechnique(r,e,this._passParameters),this._rctx.setDrawBuffers([p]),this._rctx.drawArrays(r.primitiveType,0,this._vao.vertexCount("geometry")),null!=h&&(this._rctx.bindFramebuffer(o),this._rctx.blitFramebuffer(h.fbo,o,16384),h.detachDepth(),h.release())}get _rctx(){return this._fbos.rctx}setOptions(e){void 0!==e.enabled&&this._setEnabled(e.enabled),void 0!==e.thresholdColor&&this._setThresholdColor(e.thresholdColor),void 0!==e.gradientColorRamp&&this._setGradientColorRamp(e.gradientColorRamp),void 0!==e.bandedGradientColorRamp&&this._setBandedGradientColorRamp(e.bandedGradientColorRamp),void 0!==e.threshold&&(this._threshold=e.threshold),void 0!==e.thresholdRendersSunlight&&(this._thresholdRendersSunlight=e.thresholdRendersSunlight),void 0!==e.visualization&&(this._visualization=e.visualization),void 0!==e.bandSize&&(this._bandSize=e.bandSize),void 0!==e.analysisVolume&&(this._configuration.useMask=null!==e.analysisVolume)}get opacityFromElevation(){return this._passParameters.opacityFromElevation}set opacityFromElevation(e){this._passParameters.opacityFromElevation!==e&&(this._passParameters.opacityFromElevation=e,this.notifyChange("opacityFromElevation"))}get _showVisualization(){return this._enabled&&(this._data.computedSamples[0]>0||this._data.computedSamples[1]>0)&&this.opacityFromElevation>f}get _threshold(){return this._passParameters.threshold}set _threshold(e){this._threshold!==e&&(this._passParameters.threshold=e,this._requestRenderIfEnabled())}get _thresholdRendersSunlight(){return this._configuration.thresholdRendersSunlight}set _thresholdRendersSunlight(e){this._thresholdRendersSunlight!==e&&(this._configuration.thresholdRendersSunlight=e,this._requestRenderIfEnabled())}get _visualization(){return this._configuration.visualization}set _visualization(e){e!==this._visualization&&(this._configuration.visualization=e,this._requestRenderIfEnabled())}get _bandSize(){return this._passParameters.bandSize}set _bandSize(e){e!==this._bandSize&&(this._passParameters.bandSize=e,this._requestRenderIfEnabled())}_setThresholdColor(e){const t=this._passParameters.thresholdColor;o(e,t)||(h(this._passParameters.thresholdColor,e),this._requestRenderIfEnabled())}_setGradientColorRamp(e){e.length>d&&(e=e.slice(0,d));v(this._passParameters.gradientColorRamp,e)||(this._passParameters.gradientColorRamp=e,this._requestRenderIfEnabled())}_setBandedGradientColorRamp(e){e.length>d&&(e=e.slice(0,d));v(this._passParameters.bandedGradientColorRamp,e)||(this._passParameters.bandedGradientColorRamp=e,this._requestRenderIfEnabled())}_setEnabled(e){e!==this._enabled&&(e?this._start():this._stop())}_requestRenderIfEnabled(){this._enabled&&this._requestRender()}_start(){this._enabled=!0,this._requestRender()}_stop(){this._enabled=!1,this._requestRender()}};function v(e,t){return s(e,t,([e,t],[s,i])=>e===s&&n(t,i))}e([r()],g.prototype,"opacityFromElevation",null),g=e([a("esri.views.3d.webgl-engine.lib.ShadowCastRenderer")],g);export{g as ShadowCastRenderer,b as shadowCastDisableElevationMax,c as shadowCastDisableElevationMin,f as shadowCastDisabledElevationThreshold};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{d as t,g as s,c as e}from"../../../../chunks/boundedPlane.js";const i=t();class a{constructor(){this._plane=t(),this._isDecoration=!0}get plane(){return this._plane}get isDecoration(){return this._isDecoration}update({plane:t,isDecoration:a}){let n=!1;return this._isDecoration!==a&&(this._isDecoration=a,n=!0),t??=i,s(t,this._plane)?n:(e(t,this._plane),!0)}}export{a as default};
2
+ import{i as t,n as s,g as e}from"../../../../chunks/boundedPlane.js";const i=t();class n{constructor(){this._plane=t(),this._isDecoration=!0}get plane(){return this._plane}get isDecoration(){return this._isDecoration}update({plane:t,isDecoration:n}){let a=!1;return this._isDecoration!==n&&(this._isDecoration=n,a=!0),t??=i,s(t,this._plane)?a:(e(t,this._plane),!0)}}export{n as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{T as TexturePassParameters,b as build}from"../../../../chunks/Texture.glsl.js";
2
+ import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as TexturePassParameters,b as build}from"../../../../chunks/Texture.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{a as s}from"../../../../chunks/Texture.glsl.js";import{makePipelineState as t,defaultColorWrite as l,unpremultipliedAlphaToPremultipliedAlpha as a}from"../../../webgl/renderState.js";let c=class extends i{constructor(){super(...arguments),this.shader=new o(s,()=>import("./Texture.glsl.js"))}initializePipeline(e){return e.hasAlpha?t({blending:a,colorWrite:l}):t({colorWrite:l})}};c=e([r("esri.views.3d.webgl-engine.lib.TextureTechnique")],c);export{c as TextureTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{T as s}from"../../../../chunks/Texture.glsl.js";import{makePipelineState as t,defaultColorWrite as l,unpremultipliedAlphaToPremultipliedAlpha as c}from"../../../webgl/renderState.js";let n=class extends i{constructor(){super(...arguments),this.shader=new o(s,()=>import("./Texture.glsl.js"))}initializePipeline(e){return e.hasAlpha?t({blending:c,colorWrite:l}):t({colorWrite:l})}};n=e([r("esri.views.3d.webgl-engine.lib.TextureTechnique")],n);export{n as TextureTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{clamp as t}from"../../../../core/mathUtils.js";import{estimateNumberArrayMemory as e}from"../../../../core/memoryEstimations.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{nan as i,fromValues as r}from"../../../../geometry/support/aaBoundingBox.js";import{newContinuousIndexArray as s}from"../../../../geometry/support/Indices.js";import{MeshIntersectionOptions as a,intersectRayTriangles as o}from"./RayIntersections.js";const c=40,h=.8,d=10,l=1e-6;class m{constructor(e,i,r){this.globalTriangleVertexIndices=e,this.numTriangles=i,this.positions=r,this._rayDirection=n(),this._callback=I,this._intersectionOptions=M,this.bspNodeTree=new Array,this.triangleIndexMap=s(i);const a=x(e,i,r.data,r.stride),o=t(Math.log2(i/c),2,d),l=(t,e,n)=>{const i=u(this.triangleIndexMap,a,t,e),r=e-t;if(r<=c){const n=new g(i,void 0,0,t,e);return this.bspNodeTree.push(n),n}const{axis:s,midValue:d}=p(i),m=f(this.triangleIndexMap,a,t,e,s,d),x=(t,e)=>{if(n>o)return;const i=e-t;return i<c||i>=h*r?void 0:l(t,e,n+1)},y=new g(i,s,d,m.next,m.mid);return this.bspNodeTree.push(y),y.leftNode=x(t,m.next),y.rightNode=x(m.mid,e),y};l(0,i,0)}intersectRayTriangleRange(t,e){if(t>=e)return;const{data:n,stride:i}=this.positions;o(this._rayFrom,this._rayDirection,t,e,this.globalTriangleVertexIndices,n,i,this._intersectionOptions.normalRequired,this._callback,this.triangleIndexMap),m.numFacesTested+=e-t}intersectRay(t,e,n,i){m.numFacesTested=0;const r=t,s=e,a=s[0]-r[0],o=s[1]-r[1],c=s[2]-r[2];if(a*a+o*o+c*c<l)return;this._rayFrom=r;const h=this._rayDirection;h[0]=a,h[1]=o,h[2]=c;const d=this.triangleIndexMap.length;this._callback=i,this._intersectionOptions=n,this.intersectRayBSP(this.bspNodeTree[0],0,d),this._callback=I,this._intersectionOptions=M}intersectRayBSP(t,e,n){const i=this._rayFrom,r=this._rayDirection,s=[{node:t,rangeStart:e,rangeEnd:n}];for(;s.length>0;){const{node:t,rangeStart:e,rangeEnd:n}=s.pop();if(!y(t.aabb,i,r))continue;const a=t.axis,o=t.d;if(i[a]<o||r[a]<0){const n=e,i=t.midStartIndex;if(n<i){const e=t.leftNode;void 0!==e?s.push({node:e,rangeStart:n,rangeEnd:i}):this.intersectRayTriangleRange(n,i)}}if(this.intersectRayTriangleRange(t.midStartIndex,t.rightStartIndex),i[a]>o||r[a]>0){const e=t.rightStartIndex,i=n;if(e<i){const n=t.rightNode;void 0!==n?s.push({node:n,rangeStart:e,rangeEnd:i}):this.intersectRayTriangleRange(e,i)}}}}static{this.numFacesTested=0}get estimatedMemoryUsage(){return e(this.triangleIndexMap)}}class g{constructor(t,e,n,i,r){this.aabb=t,this.axis=e,this.d=n,this.midStartIndex=i,this.rightStartIndex=r}}function f(t,e,n,i,r,s){let a=n,o=i;for(;a<o;){const n=t[a];e[6*n+r+3]<=s?++a:(--o,t[a]=t[o],t[o]=n)}let c=a;for(o=i;c<o;){const n=t[o-1];e[6*n+r]>=s?--o:(t[o-1]=t[c],t[c]=n,++c)}return{next:a,mid:c}}function u(t,e,n,s){if(s<=n)return i;let a=6*t[n];const o=r(e[a++],e[a++],e[a++],e[a++],e[a++],e[a]);for(let i=n+1;i<s;++i){let n=6*t[i];o[0]=Math.min(o[0],e[n++]),o[1]=Math.min(o[1],e[n++]),o[2]=Math.min(o[2],e[n++]),o[3]=Math.max(o[3],e[n++]),o[4]=Math.max(o[4],e[n++]),o[5]=Math.max(o[5],e[n])}return o}function p(t){const e=t[3]-t[0],n=t[4]-t[1],i=t[5]-t[2],r=e>n?e>i?0:n>i?1:2:n>i?1:i>e?2:0;return{axis:r,midValue:(t[r]+t[r+3])/2}}function x(t,e,n,i){const r=new Array;for(let s=0;s<e;++s){const e=3*s,a=t[e]*i,o=t[e+1]*i,c=t[e+2]*i;for(let t=0;t<3;++t){const e=n[a+t],i=n[o+t],h=n[c+t];r[6*s+t]=Math.min(e,i,h),r[6*s+3+t]=Math.max(e,i,h)}}return r}function y(t,e,n){const i=e,r=n;let s=0,a=1/0;for(let o=0;o<3;++o){{const e=t[o];if(i[o]<e){if(r[o]<=l)return!1;const t=(e-i[o])/r[o];s=Math.max(s,t)}else if(r[o]<=-l){const t=(e-i[o])/r[o];a=Math.min(a,t)}if(s>a)return!1}{const e=t[o+3];if(i[o]>e){if(r[o]>=-l)return!1;const t=(e-i[o])/r[o];s=Math.max(s,t)}else if(r[o]>=l){const t=(e-i[o])/r[o];a=Math.min(a,t)}if(s>a)return!1}}return!0}const M=new a,I=()=>{};export{m as TriangleIntersectionData};
2
+ import{clamp as t}from"../../../../core/mathUtils.js";import{estimateNumberArrayMemory as e}from"../../../../core/memoryEstimations.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{nan as i,fromValues as r}from"../../../../geometry/support/aaBoundingBox.js";import{newContinuousIndexArray as s}from"../../../../geometry/support/Indices.js";import{MeshIntersectionOptions as a,intersectRayTriangles as o}from"./RayIntersections.js";const c=40,h=.8,d=10,m=1e-6;class l{constructor(e,i,r){this.globalTriangleVertexIndices=e,this.numTriangles=i,this.positions=r,this._rayDirection=n(),this._callback=I,this._intersectionOptions=M,this.bspNodeTree=new Array,this.triangleIndexMap=s(i);const a=x(e,i,r.data,r.stride),o=t(Math.log2(i/c),2,d),m=(t,e,n)=>{const i=u(this.triangleIndexMap,a,t,e),r=e-t;if(r<=c){const n=new g(i,void 0,0,t,e);return this.bspNodeTree.push(n),n}const{axis:s,midValue:d}=p(i),l=f(this.triangleIndexMap,a,t,e,s,d),x=(t,e)=>{if(n>o)return;const i=e-t;return i<c||i>=h*r?void 0:m(t,e,n+1)},y=new g(i,s,d,l.next,l.mid);return this.bspNodeTree.push(y),y.leftNode=x(t,l.next),y.rightNode=x(l.mid,e),y};m(0,i,0)}intersectRayTriangleRange(t,e){if(t>=e)return;const{data:n,stride:i}=this.positions;o(this._rayFrom,this._rayDirection,t,e,this.globalTriangleVertexIndices,n,i,this._intersectionOptions.normalRequired,this._callback,this.triangleIndexMap),l.numFacesTested+=e-t}intersectRay(t,e,n,i){l.numFacesTested=0;const r=t,s=e,a=s[0]-r[0],o=s[1]-r[1],c=s[2]-r[2];if(a*a+o*o+c*c<m)return;this._rayFrom=r;const h=this._rayDirection;h[0]=a,h[1]=o,h[2]=c;const d=this.triangleIndexMap.length;this._callback=i,this._intersectionOptions=n,this.intersectRayBSP(this.bspNodeTree[0],0,d),this._callback=I,this._intersectionOptions=M}intersectRayBSP(t,e,n){const i=this._rayFrom,r=this._rayDirection,s=[{node:t,rangeStart:e,rangeEnd:n}];for(;s.length>0;){const{node:t,rangeStart:e,rangeEnd:n}=s.pop();if(!y(t.aabb,i,r))continue;const a=t.axis,o=t.d;if(i[a]<o||r[a]<0){const n=e,i=t.midStartIndex;if(n<i){const e=t.leftNode;void 0!==e?s.push({node:e,rangeStart:n,rangeEnd:i}):this.intersectRayTriangleRange(n,i)}}if(this.intersectRayTriangleRange(t.midStartIndex,t.rightStartIndex),i[a]>o||r[a]>0){const e=t.rightStartIndex,i=n;if(e<i){const n=t.rightNode;void 0!==n?s.push({node:n,rangeStart:e,rangeEnd:i}):this.intersectRayTriangleRange(e,i)}}}}static{this.numFacesTested=0}get estimatedMemoryUsage(){return e(this.triangleIndexMap)}}class g{constructor(t,e,n,i,r){this.aabb=t,this.axis=e,this.d=n,this.midStartIndex=i,this.rightStartIndex=r}}function f(t,e,n,i,r,s){const a=r+3;let o=n,c=n,h=i;for(;c<h;){const n=t[c],i=6*n;e[i+a]<=s?(t[c]=t[o],t[o]=n,++o,++c):e[i+r]>=s?(--h,t[c]=t[h],t[h]=n):++c}return{next:o,mid:h}}function u(t,e,n,s){if(s<=n)return i;let a=6*t[n],o=e[a++],c=e[a++],h=e[a++],d=e[a++],m=e[a++],l=e[a];for(let i=n+1;i<s;++i)a=6*t[i],o=Math.min(o,e[a++]),c=Math.min(c,e[a++]),h=Math.min(h,e[a++]),d=Math.max(d,e[a++]),m=Math.max(m,e[a++]),l=Math.max(l,e[a]);return r(o,c,h,d,m,l)}function p(t){const e=t[3]-t[0],n=t[4]-t[1],i=t[5]-t[2],r=e>n?e>i?0:n>i?1:2:n>i?1:i>e?2:0;return{axis:r,midValue:(t[r]+t[r+3])/2}}function x(t,e,n,i){const r=new Float64Array(6*e);for(let s=0;s<e;++s){const e=3*s,a=t[e]*i,o=t[e+1]*i,c=t[e+2]*i;for(let t=0;t<3;++t){const e=n[a+t],i=n[o+t],h=n[c+t];r[6*s+t]=Math.min(e,i,h),r[6*s+3+t]=Math.max(e,i,h)}}return r}function y(t,e,n){const i=e,r=n;let s=0,a=1/0;for(let o=0;o<3;++o){{const e=t[o];if(i[o]<e){if(r[o]<=m)return!1;const t=(e-i[o])/r[o];s=Math.max(s,t)}else if(r[o]<=-m){const t=(e-i[o])/r[o];a=Math.min(a,t)}if(s>a)return!1}{const e=t[o+3];if(i[o]>e){if(r[o]>=-m)return!1;const t=(e-i[o])/r[o];s=Math.max(s,t)}else if(r[o]>=m){const t=(e-i[o])/r[o];a=Math.min(a,t)}if(s>a)return!1}}return!0}const M=new a,I=()=>{};export{l as TriangleIntersectionData};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import s from"../../../../core/Collection.js";import{deg2rad as t}from"../../../../core/mathUtils.js";import{disposeMaybe as i}from"../../../../core/maybe.js";import{watch as r,initial as a,when as o,sync as n}from"../../../../core/reactiveUtils.js";import{property as h,subclass as d}from"../../../../core/accessorSupport/decorators.js";import{translate as c,fromTranslation as p,scale as l,mul as w}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{sub as f,distance as u}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as v,fromValues as g}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Sphere as _}from"../../../../geometry/support/sphere.js";import{InternalRenderCategory as V}from"../../webgl.js";import b from"../../webgl/RenderNode.js";import{ViewshedShadowMap as M}from"./ViewshedShadowMap.js";import{V as S}from"../../../../chunks/Viewshed.glsl.js";import{ViewshedTechnique as y}from"../shaders/ViewshedTechnique.js";import{ColorAttachment0 as j}from"../../../webgl/enums.js";let x=class extends b{get shadowMap(){return this._shadowMap}get hasViewsheds(){return this._viewsheds.length>0}get _contentPixelRatio(){return this.view.state.contentPixelRatio}get _viewshedsInView(){return this._viewsheds.items.filter(e=>P(this.view,e))}constructor(e){super(e),this.isDecoration=!1,this._passParameters=new S,this._viewsheds=new s,this._shadowMap=null,this.consumes={required:[V.VIEWSHED,"normals"]},this.produces=V.VIEWSHED}initialize(){this._shadowMap=new M(this.fboCache),this.addHandles([r(()=>this.view.resolutionScale,e=>{const s=this._shadowMap;s&&(s.settings.textureSizeQuality=e)},a),o(()=>!this.hasViewsheds,()=>this._shadowMap?.dispose()),r(()=>this._viewshedsInView.map(e=>[e.elevationAlignedObserverRenderSpace,e.heading,e.tilt,e.farDistance,e.horizontalFieldOfView,e.verticalFieldOfView]),()=>this.requestRender(1),n)])}destroy(){this._shadowMap=i(this._shadowMap)}precompile(){if(this.hasViewsheds)for(const e of this._viewshedsInView)if(this._shadowMap?.isActive(e))return void this.view.stage.renderer.precompileViewshedShadowMap()}render(e){const s=this.bindParameters,t=this.renderingContext,i=e.find(({name:e})=>e===V.VIEWSHED);if(!this.hasViewsheds||this.isDecoration&&!s.decorations)return i;const r=this.techniques.getCompiled(y);if(!r)return this.requestRender(1),i;const a=this.view.stage.renderer.isFeatureEnabled(6);this._passParameters.shadowMap=this._shadowMap??this._passParameters.shadowMap,this._passParameters.normals=e.find(({name:e})=>"normals"===e)?.getTexture();const o=i.obtainDepthTexture();for(const n of this._viewshedsInView){if(!this._renderShadowCubeMap(s,n,a)||!this._shadowMap?.ready)continue;const e=this._setupViewshedParameters(n,s.camera);t.bindFramebuffer(i.fbo),t.bindTechnique(r,s,e),t.setDrawBuffers([j]),t.screen.draw()}return this.shadowMap?.dispose(),i.attachDepth(o),o?.release(),i}updateViewsheds(e){const s=this._viewsheds,{removes:t,adds:i}=e;if(t&&(Array.isArray(t)?s.removeMany(t):s.remove(t)),i)if(Array.isArray(i)){const e=i.filter(e=>!s.includes(e));s.addMany(e)}else s.includes(i)||s.add(i)}_renderShadowCubeMap(e,s,t){const i=this._shadowMap;if(!i)return!1;const r=this.view.basemapTerrain.hasStencilEnabledExtents,a=i.start(e.camera,s,t,this._contentPixelRatio,r);return a&&i.faces.forEach(e=>this.view.stage.renderer.renderViewshedShadowMap(e)),i.finish(),a}_setupViewshedParameters(e,s){const i=this._shadowMap;if(!i)return this._passParameters;const r=this._passParameters,a=e.effectiveObserverRenderSpace;r.localOrigin=a,r.observerOffset=f(D,e.elevationAlignedObserverRenderSpace,e.effectiveObserverRenderSpace),r.fovs=[t(e.horizontalFieldOfView),t(e.verticalFieldOfView)],r.headingAndTilt=[t(e.heading),t(e.tiltParallelToSurface)],r.upVector=e.tiltedUpVector;const o=A(e.elevationAlignedTargetRenderSpace,a);r.targetVector=o;const n=new Array,h=new Array;for(let t=0;t<i.numActiveFaces;t++)c(E,i.viewshedViewMatrices[t],a),n.push(...E),R(i.viewshedProjectionMatrices[t],E,I),h.push(...I);return r.viewMatrices=n,r.projectionMatrices=h,r.volumeOffset=this.selectedViewshed?.()===e.viewshed?O(e,this.view,s.eye):0,r}get test(){return{viewsheds:this._viewsheds,shadowMap:this._shadowMap,viewshedsInView:this._viewshedsInView}}};function A(e,s){const t=v();return f(t,e,s)}function R(e,s,t){const i=g(.5,.5,.5);return p(t,i),l(t,t,i),w(t,t,e),w(t,t,s),t}function P(e,s){const t=new _(s.elevationAlignedObserverRenderSpace,s.farDistanceRenderSpace);return!!e.ready&&e.frustum.intersectsSphere(t)}function O(e,s,t){if(null==e)return 0;const{elevationAlignedObserverRenderSpace:i,elevationAlignedTargetRenderSpace:r}=e,a=u(t,i)>u(t,r)?e.observer:e.target;return s.pixelSizeAt(a)}e([h()],x.prototype,"selectedViewshed",void 0),e([h()],x.prototype,"isDecoration",void 0),e([h()],x.prototype,"shadowMap",null),e([h()],x.prototype,"hasViewsheds",null),e([h()],x.prototype,"_contentPixelRatio",null),e([h()],x.prototype,"_viewshedsInView",null),e([h()],x.prototype,"consumes",void 0),e([h()],x.prototype,"produces",void 0),x=e([d("esri.views.3d.webgl-engine.lib.Viewshed")],x);const D=v(),E=m(),I=m();export{x as Viewshed,O as computeOffsetScale};
2
+ import{__decorate as e}from"tslib";import s from"../../../../core/Collection.js";import{deg2rad as t}from"../../../../core/mathUtils.js";import{disposeMaybe as i}from"../../../../core/maybe.js";import{watch as r,initial as a,when as o,sync as n}from"../../../../core/reactiveUtils.js";import{property as h,subclass as d}from"../../../../core/accessorSupport/decorators.js";import{translate as c,fromTranslation as p,scale as l,mul as w}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{sub as f,distance as u}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as v,fromValues as g}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{Sphere as _}from"../../../../geometry/support/sphere.js";import{InternalRenderCategory as V}from"../../webgl.js";import b from"../../webgl/RenderNode.js";import{ViewshedShadowMap as M}from"./ViewshedShadowMap.js";import{a as S}from"../../../../chunks/Viewshed.glsl.js";import{ViewshedTechnique as y}from"../shaders/ViewshedTechnique.js";import{ColorAttachment0 as j}from"../../../webgl/enums.js";let x=class extends b{get shadowMap(){return this._shadowMap}get hasViewsheds(){return this._viewsheds.length>0}get _contentPixelRatio(){return this.view.state.contentPixelRatio}get _viewshedsInView(){return this._viewsheds.items.filter(e=>P(this.view,e))}constructor(e){super(e),this.isDecoration=!1,this._passParameters=new S,this._viewsheds=new s,this._shadowMap=null,this.consumes={required:[V.VIEWSHED,"normals"]},this.produces=V.VIEWSHED}initialize(){this._shadowMap=new M(this.fboCache),this.addHandles([r(()=>this.view.resolutionScale,e=>{const s=this._shadowMap;s&&(s.settings.textureSizeQuality=e)},a),o(()=>!this.hasViewsheds,()=>this._shadowMap?.dispose()),r(()=>this._viewshedsInView.map(e=>[e.elevationAlignedObserverRenderSpace,e.heading,e.tilt,e.farDistance,e.horizontalFieldOfView,e.verticalFieldOfView]),()=>this.requestRender(1),n)])}destroy(){this._shadowMap=i(this._shadowMap)}precompile(){if(this.hasViewsheds)for(const e of this._viewshedsInView)if(this._shadowMap?.isActive(e))return void this.view.stage.renderer.precompileViewshedShadowMap()}render(e){const s=this.bindParameters,t=this.renderingContext,i=e.find(({name:e})=>e===V.VIEWSHED);if(!this.hasViewsheds||this.isDecoration&&!s.decorations)return i;const r=this.techniques.getCompiled(y);if(!r)return this.requestRender(1),i;const a=this.view.stage.renderer.isFeatureEnabled(6);this._passParameters.shadowMap=this._shadowMap??this._passParameters.shadowMap,this._passParameters.normals=e.find(({name:e})=>"normals"===e)?.getTexture();const o=i.obtainDepthTexture();for(const n of this._viewshedsInView){if(!this._renderShadowCubeMap(s,n,a)||!this._shadowMap?.ready)continue;const e=this._setupViewshedParameters(n,s.camera);t.bindFramebuffer(i.fbo),t.bindTechnique(r,s,e),t.setDrawBuffers([j]),t.screen.draw()}return this.shadowMap?.dispose(),i.attachDepth(o),o?.release(),i}updateViewsheds(e){const s=this._viewsheds,{removes:t,adds:i}=e;if(t&&(Array.isArray(t)?s.removeMany(t):s.remove(t)),i)if(Array.isArray(i)){const e=i.filter(e=>!s.includes(e));s.addMany(e)}else s.includes(i)||s.add(i)}_renderShadowCubeMap(e,s,t){const i=this._shadowMap;if(!i)return!1;const r=this.view.basemapTerrain.hasStencilEnabledExtents,a=i.start(e.camera,s,t,this._contentPixelRatio,r);return a&&i.faces.forEach(e=>this.view.stage.renderer.renderViewshedShadowMap(e)),i.finish(),a}_setupViewshedParameters(e,s){const i=this._shadowMap;if(!i)return this._passParameters;const r=this._passParameters,a=e.effectiveObserverRenderSpace;r.localOrigin=a,r.observerOffset=f(D,e.elevationAlignedObserverRenderSpace,e.effectiveObserverRenderSpace),r.fovs=[t(e.horizontalFieldOfView),t(e.verticalFieldOfView)],r.headingAndTilt=[t(e.heading),t(e.tiltParallelToSurface)],r.upVector=e.tiltedUpVector;const o=A(e.elevationAlignedTargetRenderSpace,a);r.targetVector=o;const n=new Array,h=new Array;for(let t=0;t<i.numActiveFaces;t++)c(E,i.viewshedViewMatrices[t],a),n.push(...E),R(i.viewshedProjectionMatrices[t],E,I),h.push(...I);return r.viewMatrices=n,r.projectionMatrices=h,r.volumeOffset=this.selectedViewshed?.()===e.viewshed?O(e,this.view,s.eye):0,r}get test(){return{viewsheds:this._viewsheds,shadowMap:this._shadowMap,viewshedsInView:this._viewshedsInView}}};function A(e,s){const t=v();return f(t,e,s)}function R(e,s,t){const i=g(.5,.5,.5);return p(t,i),l(t,t,i),w(t,t,e),w(t,t,s),t}function P(e,s){const t=new _(s.elevationAlignedObserverRenderSpace,s.farDistanceRenderSpace);return!!e.ready&&e.frustum.intersectsSphere(t)}function O(e,s,t){if(null==e)return 0;const{elevationAlignedObserverRenderSpace:i,elevationAlignedTargetRenderSpace:r}=e,a=u(t,i)>u(t,r)?e.observer:e.target;return s.pixelSizeAt(a)}e([h()],x.prototype,"selectedViewshed",void 0),e([h()],x.prototype,"isDecoration",void 0),e([h()],x.prototype,"shadowMap",null),e([h()],x.prototype,"hasViewsheds",null),e([h()],x.prototype,"_contentPixelRatio",null),e([h()],x.prototype,"_viewshedsInView",null),e([h()],x.prototype,"consumes",void 0),e([h()],x.prototype,"produces",void 0),x=e([d("esri.views.3d.webgl-engine.lib.Viewshed")],x);const D=v(),E=m(),I=m();export{x as Viewshed,O as computeOffsetScale};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{lerp as r}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as o}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{e as t}from"../../../../chunks/boundedPlane.js";function e(o){return(e,m,s)=>!t(o,r(i,e,m,s))}const i=o();export{e as sliceFilterPredicate};
2
+ import{lerp as o}from"../../../../core/libs/gl-matrix-2/math/vec3.js";import{create as r}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{o as t}from"../../../../chunks/boundedPlane.js";function e(r){return(e,m,s)=>!t(r,o(i,e,m,s))}const i=r();export{e as sliceFilterPredicate};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DBindUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{A as AtmosphereCompositingPassParameters,b as build}from"../../../../chunks/AtmosphereCompositing.glsl.js";
2
+ import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DBindUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as AtmosphereCompositingPassParameters,b as build}from"../../../../chunks/AtmosphereCompositing.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/AtmosphereCompositing.glsl.js";import{makePipelineState as t,defaultColorWrite as n,simpleBlendingParams as m}from"../../../webgl/renderState.js";let p=class extends s{constructor(){super(...arguments),this.shader=new o(i,()=>import("./AtmosphereCompositing.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({blending:m(770,771),depthTest:{func:519},colorWrite:n})}};p=e([r("esri.views.3d.webgl-engine.shaders.AtmosphereCompositingTechnique")],p);export{p as AtmosphereCompositingTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../core/shaderTechnique/ShaderTechnique.js";import{A as i}from"../../../../chunks/AtmosphereCompositing.glsl.js";import{makePipelineState as t,defaultColorWrite as n,simpleBlendingParams as m}from"../../../webgl/renderState.js";let p=class extends s{constructor(){super(...arguments),this.shader=new o(i,()=>import("./AtmosphereCompositing.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({blending:m(770,771),depthTest:{func:519},colorWrite:n})}};p=e([r("esri.views.3d.webgl-engine.shaders.AtmosphereCompositingTechnique")],p);export{p as AtmosphereCompositingTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderLibrary/output/ReadDepth.glsl.js";import"../core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{C as CompositingPassParameters,b as build}from"../../../../chunks/Compositing.glsl.js";
2
+ import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderLibrary/output/ReadDepth.glsl.js";import"../core/shaderLibrary/util/RgbaFloatEncoding.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as CompositingPassParameters,b as build}from"../../../../chunks/Compositing.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{a as s}from"../../../../chunks/Compositing.glsl.js";import{makePipelineState as t,defaultColorWrite as n,premultipliedAlpha as c,unpremultipliedAlphaToPremultipliedAlpha as l}from"../../../webgl/renderState.js";let a=class extends i{constructor(){super(...arguments),this.shader=new o(s,()=>import("./Compositing.glsl.js"))}initializePipeline(e){const{blitMode:r}=e;switch(r){case 0:case 3:return t({colorWrite:n});case 1:return t({blending:l,colorWrite:n});default:return t({blending:c,colorWrite:n})}}};a=e([r("esri.views.3d.webgl-engine.shaders.CompositingTechnique")],a);export{a as CompositingTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{C as s}from"../../../../chunks/Compositing.glsl.js";import{makePipelineState as t,defaultColorWrite as n,premultipliedAlpha as c,unpremultipliedAlphaToPremultipliedAlpha as l}from"../../../webgl/renderState.js";let a=class extends i{constructor(){super(...arguments),this.shader=new o(s,()=>import("./Compositing.glsl.js"))}initializePipeline(e){const{blitMode:r}=e;switch(r){case 0:case 3:return t({colorWrite:n});case 1:return t({blending:l,colorWrite:n});default:return t({blending:c,colorWrite:n})}}};a=e([r("esri.views.3d.webgl-engine.shaders.CompositingTechnique")],a);export{a as CompositingTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{C as CutFillCompositionPassParameters,b as build}from"../../../../chunks/CutFillComposition.glsl.js";
2
+ import"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/Float4PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as CutFillCompositionPassParameters,b as build}from"../../../../chunks/CutFillComposition.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{a as s}from"../../../../chunks/CutFillComposition.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../webgl/renderState.js";let n=class extends i{constructor(){super(...arguments),this.shader=new o(s,()=>import("./CutFillComposition.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({colorWrite:l})}};n=e([r("esri.views.3d.webgl-engine.shaders.CutFillCompositionTechnique")],n);export{n as CutFillCompositionTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as o}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{C as s}from"../../../../chunks/CutFillComposition.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../webgl/renderState.js";let n=class extends i{constructor(){super(...arguments),this.shader=new o(s,()=>import("./CutFillComposition.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return t({colorWrite:l})}};n=e([r("esri.views.3d.webgl-engine.shaders.CutFillCompositionTechnique")],n);export{n as CutFillCompositionTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderLibrary/output/ReadDepth.glsl.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{C as CutFillDepthParameters,b as build}from"../../../../chunks/CutFillDepth.glsl.js";
2
+ import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderLibrary/output/ReadDepth.glsl.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as CutFillDepthParameters,b as build}from"../../../../chunks/CutFillDepth.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{a as t}from"../../../../chunks/CutFillDepth.glsl.js";import{makePipelineState as o,defaultColorWrite as l}from"../../../webgl/renderState.js";let h=class extends i{constructor(){super(...arguments),this.shader=new s(t,()=>import("./CutFillDepth.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return o({colorWrite:l})}};h=e([r("esri.views.3d.webgl-engine.shaders.CutFillDepthTechnique")],h);export{h as CutFillDepthTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{C as t}from"../../../../chunks/CutFillDepth.glsl.js";import{makePipelineState as o,defaultColorWrite as l}from"../../../webgl/renderState.js";let h=class extends i{constructor(){super(...arguments),this.shader=new s(t,()=>import("./CutFillDepth.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return o({colorWrite:l})}};h=e([r("esri.views.3d.webgl-engine.shaders.CutFillDepthTechnique")],h);export{h as CutFillDepthTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Matrix4DrawUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{C as CutFillMaskDrawParameters,b as build}from"../../../../chunks/CutFillMask.glsl.js";
2
+ import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Matrix4DrawUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as CutFillMaskDrawParameters,b as build}from"../../../../chunks/CutFillMask.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{Pos3 as i}from"../lib/DefaultVertexBufferLayouts.js";import{a as o}from"../../../../chunks/CutFillMask.glsl.js";import{makePipelineState as l,defaultColorWrite as a}from"../../../webgl/renderState.js";let n=class extends t{constructor(e,r){super(e,r,i),this.shader=new s(o,()=>import("./CutFillMask.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return l({colorWrite:a,depthTest:{func:515}})}};n=e([r("esri.views.3d.webgl-engine.shaders.CutFillMaskTechnique")],n);export{n as CutFillMaskTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{Pos3 as i}from"../lib/DefaultVertexBufferLayouts.js";import{C as o}from"../../../../chunks/CutFillMask.glsl.js";import{makePipelineState as l,defaultColorWrite as a}from"../../../webgl/renderState.js";let n=class extends t{constructor(e,r){super(e,r,i),this.shader=new s(o,()=>import("./CutFillMask.glsl.js")),this.ignoreUnused=!0}initializePipeline(){return l({colorWrite:a,depthTest:{func:515}})}};n=e([r("esri.views.3d.webgl-engine.shaders.CutFillMaskTechnique")],n);export{n as CutFillMaskTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{C as CutFillReductionParameters,b as build}from"../../../../chunks/CutFillReduction.glsl.js";
2
+ import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as CutFillReductionParameters,b as build}from"../../../../chunks/CutFillReduction.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{a as s}from"../../../../chunks/CutFillReduction.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../webgl/renderState.js";let c=class extends o{constructor(){super(...arguments),this.shader=new i(s,()=>import("./CutFillReduction.glsl.js"))}initializePipeline(){return t({colorWrite:l})}};c=e([r("esri.views.3d.webgl-engine.shaders.CutFillReductionTechnique")],c);export{c as CutFillReductionTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as i}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{C as s}from"../../../../chunks/CutFillReduction.glsl.js";import{makePipelineState as t,defaultColorWrite as l}from"../../../webgl/renderState.js";let c=class extends o{constructor(){super(...arguments),this.shader=new i(s,()=>import("./CutFillReduction.glsl.js"))}initializePipeline(){return t({colorWrite:l})}};c=e([r("esri.views.3d.webgl-engine.shaders.CutFillReductionTechnique")],c);export{c as CutFillReductionTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/Transform.glsl.js";import"../core/shaderLibrary/output/OutputDepth.glsl.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4PassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{C as CutFillTargetDepthParameters,b as build}from"../../../../chunks/CutFillTargetDepth.glsl.js";
2
+ import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/Transform.glsl.js";import"../core/shaderLibrary/output/OutputDepth.glsl.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4PassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as CutFillTargetDepthParameters,b as build}from"../../../../chunks/CutFillTargetDepth.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as t}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../core/shaderTechnique/ShaderTechnique.js";import{Pos3 as i}from"../lib/DefaultVertexBufferLayouts.js";import{a as o}from"../../../../chunks/CutFillTargetDepth.glsl.js";import{makePipelineState as l,defaultDepthWrite as a,defaultColorWrite as p}from"../../../webgl/renderState.js";let h=class extends s{constructor(e,r){super(e,r,i),this.shader=new t(o,()=>import("./CutFillTargetDepth.glsl.js"))}initializePipeline(){return l({colorWrite:p,depthWrite:a,depthTest:{func:519}})}};h=e([r("esri.views.3d.webgl-engine.shaders.CutFillTargetDepthTechnique")],h);export{h as CutFillTargetDepthTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as t}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as s}from"../core/shaderTechnique/ShaderTechnique.js";import{Pos3 as i}from"../lib/DefaultVertexBufferLayouts.js";import{C as o}from"../../../../chunks/CutFillTargetDepth.glsl.js";import{makePipelineState as l,defaultDepthWrite as a,defaultColorWrite as p}from"../../../webgl/renderState.js";let h=class extends s{constructor(e,r){super(e,r,i),this.shader=new t(o,()=>import("./CutFillTargetDepth.glsl.js"))}initializePipeline(){return l({colorWrite:p,depthWrite:a,depthTest:{func:519}})}};h=e([r("esri.views.3d.webgl-engine.shaders.CutFillTargetDepthTechnique")],h);export{h as CutFillTargetDepthTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import"../core/shaderLibrary/shading/NormalUtils.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import"../core/shaderLibrary/util/GaussianSplatCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js";import"../core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3BindUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"./GaussianSplatTechniqueConfiguration.js";import"../../../webgl/ShaderBuilder.js";export{G as GaussianSplatPassParameters,b as build}from"../../../../chunks/GaussianSplat.glsl.js";
2
+ import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js";import"../core/shaderLibrary/shading/NormalUtils.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import"../core/shaderLibrary/util/GaussianSplatCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js";import"../core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderLibrary/util/RgbNormalizedDepthEncoding.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3BindUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"./GaussianSplatTechniqueConfiguration.js";import"../../../webgl/ShaderBuilder.js";export{a as GaussianSplatPassParameters,b as build}from"../../../../chunks/GaussianSplat.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/output/OutputDepth.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/util/GaussianSplatCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js";import"../core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"../../../webgl/ShaderBuilder.js";export{G as GaussianSplatShadowPassParameters,b as build}from"../../../../chunks/GaussianSplatShadow.glsl.js";
2
+ import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/output/OutputDepth.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderLibrary/util/GaussianSplatCovariance.glsl.js";import"../core/shaderLibrary/util/GaussianSplatEvaluation.glsl.js";import"../core/shaderLibrary/util/GaussianSplatTextureFetch.glsl.js";import"../core/shaderLibrary/util/GaussianSplatUnpacking.glsl.js";import"../core/shaderLibrary/util/QuaternionToRotationMatrix.glsl.js";import"../core/shaderModules/Float2BindUniform.js";import"../core/shaderModules/Float3PassUniform.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Texture2DUintPassUniform.js";import"../../../webgl/ShaderBuilder.js";export{a as GaussianSplatShadowPassParameters,b as build}from"../../../../chunks/GaussianSplatShadow.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{a as t}from"../../../../chunks/GaussianSplatShadow.glsl.js";import{makePipelineState as a,defaultDepthWrite as i}from"../../../webgl/renderState.js";let l=class extends o{constructor(){super(...arguments),this.shader=new s(t,()=>import("./GaussianSplatShadow.glsl.js"))}initializePipeline(){return a({colorWrite:null,depthTest:{func:515},depthWrite:i})}};l=e([r("esri.views.3d.webgl-engine.shaders.GaussianSplatShadowTechnique")],l);export{l as GaussianSplatShadowTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{G as t}from"../../../../chunks/GaussianSplatShadow.glsl.js";import{makePipelineState as i,defaultDepthWrite as a}from"../../../webgl/renderState.js";let l=class extends o{constructor(){super(...arguments),this.shader=new s(t,()=>import("./GaussianSplatShadow.glsl.js"))}initializePipeline(){return i({colorWrite:null,depthTest:{func:515},depthWrite:a})}};l=e([r("esri.views.3d.webgl-engine.shaders.GaussianSplatShadowTechnique")],l);export{l as GaussianSplatShadowTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{a as o}from"../../../../chunks/GaussianSplat.glsl.js";import{makePipelineState as t,defaultColorWrite as a,separateBlendingParams as n}from"../../../webgl/renderState.js";let l=class extends i{constructor(){super(...arguments),this.shader=new s(o,()=>import("./GaussianSplat.glsl.js"))}initializePipeline(){return t({blending:n(773,773,1,1,32774,32774),depthTest:{func:515},colorWrite:a})}};l=e([r("esri.views.3d.webgl-engine.shaders.GaussianSplatTechnique")],l);export{l as GaussianSplatTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as i}from"../core/shaderTechnique/ShaderTechnique.js";import{G as o}from"../../../../chunks/GaussianSplat.glsl.js";import{makePipelineState as t,defaultColorWrite as a,separateBlendingParams as n}from"../../../webgl/renderState.js";let l=class extends i{constructor(){super(...arguments),this.shader=new s(o,()=>import("./GaussianSplat.glsl.js"))}initializePipeline(){return t({blending:n(773,773,1,1,32774,32774),depthTest:{func:515},colorWrite:a})}};l=e([r("esri.views.3d.webgl-engine.shaders.GaussianSplatTechnique")],l);export{l as GaussianSplatTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/IntegerPassUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{O as OverlayCompositingPassParameters,b as build}from"../../../../chunks/OverlayCompositing.glsl.js";
2
+ import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderModules/FloatPassUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/IntegerPassUniform.js";import"../core/shaderModules/Texture2DPassUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as OverlayCompositingPassParameters,b as build}from"../../../../chunks/OverlayCompositing.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{a as i}from"../../../../chunks/OverlayCompositing.glsl.js";let t=class extends o{constructor(){super(...arguments),this.shader=new s(i,()=>import("./OverlayCompositing.glsl.js")),this.ignoreUnused=!0}};t=e([r("esri.views.3d.webgl-engine.shaders.OverlayCompositingTechnique")],t);export{t as OverlayCompositingTechnique};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as o}from"../core/shaderTechnique/ShaderTechnique.js";import{O as i}from"../../../../chunks/OverlayCompositing.glsl.js";let t=class extends o{constructor(){super(...arguments),this.shader=new s(i,()=>import("./OverlayCompositing.glsl.js")),this.ignoreUnused=!0}};t=e([r("esri.views.3d.webgl-engine.shaders.OverlayCompositingTechnique")],t);export{t as OverlayCompositingTechnique};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../../../../core/mathUtils.js";import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/math/vec3.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../../../../geometry/support/aaBoundingBox.js";import"../core/shaderLibrary/ShaderOutput.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderModules/Float2DrawUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3DrawUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Matrix4DrawUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as PointRendererDrawParameters,P as PointRendererPassParameters,c as build,g as getMaxPointSizeScreenspace}from"../../../../chunks/PointRenderer.glsl.js";
2
+ import"../../../../core/mathUtils.js";import"../../../../core/libs/gl-matrix-2/math/mat4.js";import"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import"../../../../core/libs/gl-matrix-2/math/vec2.js";import"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import"../../../../core/libs/gl-matrix-2/math/vec3.js";import"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import"../../../../geometry/support/aaBoundingBox.js";import"../core/shaderLibrary/ShaderOutput.js";import"../core/shaderLibrary/Slice.glsl.js";import"../core/shaderLibrary/output/OutputHighlight.glsl.js";import"../core/shaderLibrary/shading/PositionOutsideClipSpace.js";import"../core/shaderModules/Float2DrawUniform.js";import"../core/shaderModules/Float2PassUniform.js";import"../core/shaderModules/Float3DrawUniform.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Matrix4BindUniform.js";import"../core/shaderModules/Matrix4DrawUniform.js";import"../../../webgl/NoParameters.js";import"../../../webgl/ShaderBuilder.js";export{a as PointRendererDrawParameters,b as PointRendererPassParameters,c as build,g as getMaxPointSizeScreenspace}from"../../../../chunks/PointRenderer.glsl.js";
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{stencilBaseAllZeros as o,stencilWriteMaskOn as i}from"../lib/StencilUtils.js";import{b as n}from"../../../../chunks/PointRenderer.glsl.js";import{DataType as l}from"../../../webgl/enums.js";import{makePipelineState as c,defaultColorWrite as m,defaultDepthWrite as p}from"../../../webgl/renderState.js";import{VertexElementDescriptor as d}from"../../../webgl/VertexElementDescriptor.js";let a=class extends t{constructor(e,r){super(e,r,f),this.shader=new s(n,()=>import("./PointRenderer.glsl.js"))}initializePipeline(e){return c({depthTest:{func:513},depthWrite:p,colorWrite:m,stencilWrite:e.hasOccludees?i:null,stencilTest:e.hasOccludees?o:null})}};a=e([r("esri.views.3d.webgl-engine.shaders.PointRendererTechnique")],a);const h=[new d("position",3,l.FLOAT,0,12)],u=[new d("color",3,l.UNSIGNED_BYTE,0,3,!0)],f=h.concat(u);export{a as PointRendererTechnique,u as colorsLayout,h as positionsLayout};
2
+ import{__decorate as e}from"tslib";import{subclass as r}from"../../../../core/accessorSupport/decorators.js";import{ReloadableShader as s}from"../core/shaderTechnique/ReloadableShader.js";import{ShaderTechnique as t}from"../core/shaderTechnique/ShaderTechnique.js";import{stencilBaseAllZeros as o,stencilWriteMaskOn as i}from"../lib/StencilUtils.js";import{P as n}from"../../../../chunks/PointRenderer.glsl.js";import{DataType as l}from"../../../webgl/enums.js";import{makePipelineState as c,defaultColorWrite as m,defaultDepthWrite as p}from"../../../webgl/renderState.js";import{VertexElementDescriptor as d}from"../../../webgl/VertexElementDescriptor.js";let a=class extends t{constructor(e,r){super(e,r,f),this.shader=new s(n,()=>import("./PointRenderer.glsl.js"))}initializePipeline(e){return c({depthTest:{func:513},depthWrite:p,colorWrite:m,stencilWrite:e.hasOccludees?i:null,stencilTest:e.hasOccludees?o:null})}};a=e([r("esri.views.3d.webgl-engine.shaders.PointRendererTechnique")],a);const h=[new d("position",3,l.FLOAT,0,12)],u=[new d("color",3,l.UNSIGNED_BYTE,0,3,!0)],f=h.concat(u);export{a as PointRendererTechnique,u as colorsLayout,h as positionsLayout};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js";import"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DBindUniform.js";import"../../../webgl/ShaderBuilder.js";export{S as ShadowCastMaxSamples,b as build}from"../../../../chunks/ShadowCastAccumulate.glsl.js";
2
+ import"../core/shaderLibrary/ScreenSpacePass.glsl.js";import"../core/shaderLibrary/shading/calculateUVZShadowFromDepth.glsl.js";import"../core/shaderLibrary/shading/ReadShadowMap.glsl.js";import"../core/shaderModules/glsl.js";import"../core/shaderModules/Texture2DBindUniform.js";import"../../../webgl/ShaderBuilder.js";export{a as ShadowCastMaxSamples,b as build}from"../../../../chunks/ShadowCastAccumulate.glsl.js";