@arcgis/core 5.2.0-next.5 → 5.2.0-next.6

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 (849) hide show
  1. package/analysis/SliceAnalysis.d.ts +1 -1
  2. package/applications/Components/analysisUtils.d.ts +24 -0
  3. package/applications/Components/analysisUtils.js +1 -1
  4. package/arcade/Dictionary.js +1 -1
  5. package/arcade/Feature.js +1 -1
  6. package/arcade/Pixel.js +1 -1
  7. package/arcade/Voxel.js +1 -1
  8. package/arcade/arcade.js +1 -1
  9. package/arcade/arcadeAsyncRuntime.js +1 -1
  10. package/arcade/arcadeCompiler.js +1 -1
  11. package/arcade/arcadeRuntime.js +1 -1
  12. package/arcade/containerUtils.js +1 -1
  13. package/arcade/debug.js +1 -1
  14. package/arcade/deepClone.js +1 -1
  15. package/arcade/featureSetUtils.js +1 -1
  16. package/arcade/featureset/actions/GroupBy.js +1 -1
  17. package/arcade/featureset/actions/OrderBy.js +1 -1
  18. package/arcade/functions/convertdirection.js +1 -1
  19. package/arcade/functions/date.js +1 -1
  20. package/arcade/functions/feature.js +1 -1
  21. package/arcade/functions/featuresetbase.js +1 -1
  22. package/arcade/functions/featuresetgeom.js +1 -1
  23. package/arcade/functions/featuresetstats.js +1 -1
  24. package/arcade/functions/featuresetstring.js +1 -1
  25. package/arcade/functions/fieldStats.js +1 -1
  26. package/arcade/functions/geomasync.js +1 -1
  27. package/arcade/functions/geometry.js +1 -1
  28. package/arcade/functions/geomsync.js +1 -1
  29. package/arcade/functions/knowledgegraph.js +1 -1
  30. package/arcade/functions/maths.js +1 -1
  31. package/arcade/functions/stats.js +1 -1
  32. package/arcade/functions/string.js +1 -1
  33. package/arcade/functions/track.js +1 -1
  34. package/arcade/geometry/constructors.js +1 -1
  35. package/arcade/geometry/functions.js +1 -1
  36. package/arcade/geometry/operators.js +1 -1
  37. package/arcade/languageUtils.js +1 -1
  38. package/assets/components/assets/icon/orientedImageryFullSuperimpose16.json +1 -0
  39. package/assets/components/assets/icon/orientedImageryFullSuperimpose24.json +1 -0
  40. package/assets/components/assets/icon/orientedImageryFullSuperimpose32.json +1 -0
  41. package/assets/components/assets/icon/orientedImageryHalfSuperimpose16.json +1 -0
  42. package/assets/components/assets/icon/orientedImageryHalfSuperimpose24.json +1 -0
  43. package/assets/components/assets/icon/orientedImageryHalfSuperimpose32.json +1 -0
  44. package/assets/components/assets/icon/orientedImagerySceneOnly16.json +1 -0
  45. package/assets/components/assets/icon/orientedImagerySceneOnly24.json +1 -0
  46. package/assets/components/assets/icon/orientedImagerySceneOnly32.json +1 -0
  47. package/assets/components/assets/icon/parquetFeatureLayer16.json +1 -0
  48. package/assets/components/assets/icon/parquetFeatureLayer24.json +1 -0
  49. package/assets/components/assets/icon/parquetFeatureLayer32.json +1 -0
  50. package/assets/esri/core/workers/RemoteClient.js +1 -1
  51. package/assets/esri/core/workers/chunks/013708f40f811158d42c.js +1 -0
  52. package/assets/esri/core/workers/chunks/{544174c33628846284a1.js → 07a242ea908aa8e2ba28.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{7e0daf0864005cdd63c5.js → 0a780a883abfcdf0b900.js} +1 -1
  54. package/assets/esri/core/workers/chunks/0d9d33f29124d464a4cb.js +1 -0
  55. package/assets/esri/core/workers/chunks/{325bfac7cfa28a6d568f.js → 0e774f14ba274832f390.js} +1 -1
  56. package/assets/esri/core/workers/chunks/119d352dd586f2bb61ec.js +1 -0
  57. package/assets/esri/core/workers/chunks/{8cbaaea72f4ca2f023be.js → 129fdd1636e67997337c.js} +1 -1
  58. package/assets/esri/core/workers/chunks/130784a27661de6b52a5.js +1 -0
  59. package/assets/esri/core/workers/chunks/{942e527b9b92999886c7.js → 145364aa20b4435294c2.js} +1 -1
  60. package/assets/esri/core/workers/chunks/14c6419568d8a7a15cd6.js +1 -0
  61. package/assets/esri/core/workers/chunks/153dc2a0b08a0e44a881.js +1 -0
  62. package/assets/esri/core/workers/chunks/{9a3344f1dd22c425b8cc.js → 1595dc499a06b23b6a96.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{6c97b5bc408f051606d2.js → 166a0df6e37627e18976.js} +1 -1
  64. package/assets/esri/core/workers/chunks/168be2eac0fa3c67ae27.js +1 -0
  65. package/assets/esri/core/workers/chunks/{cf3036711bbe6095eaed.js → 16b90d8f628a412ba4ba.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{aea8e0577fb48d5c9577.js → 181e948d076a9a7aae8a.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{176e676879666f784599.js → 18e7784f13a57a75585a.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{d66f68a811c90739951a.js → 1c029b03ed836f393a50.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{e6e15e9e890b864fb395.js → 1c1515e020e32e177b54.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{0aaee272520c6e5bb617.js → 1c64e10f966e26af6fed.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{b5d0898406c7d6e6a717.js → 1dacc0b64bd27ce2de3a.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{a0b6eef4890cc61609dc.js → 1ddbf5f507ac153234be.js} +1 -1
  73. package/assets/esri/core/workers/chunks/1eeb1edca0ad5db6917c.js +1 -0
  74. package/assets/esri/core/workers/chunks/1f55d60d3adc31283296.js +1 -0
  75. package/assets/esri/core/workers/chunks/{425c04b26a6ec6d04b08.js → 201007cf1a91e2b126fc.js} +1 -1
  76. package/assets/esri/core/workers/chunks/20d0adc678f11981059c.js +1 -0
  77. package/assets/esri/core/workers/chunks/20e2d11f6de438ee883e.js +1 -0
  78. package/assets/esri/core/workers/chunks/{696967c8c6f53b94f851.js → 227eff8aa4a6f5f03bc2.js} +1 -1
  79. package/assets/esri/core/workers/chunks/24646a1176ce34039155.js +1 -0
  80. package/assets/esri/core/workers/chunks/24647e7424798dccdaf5.js +1 -0
  81. package/assets/esri/core/workers/chunks/{7601408e242dca1d25bd.js → 249616ea2d90d40a8299.js} +1 -1
  82. package/assets/esri/core/workers/chunks/{55d168c13491fcdfb284.js → 24eaf1349ffe10e616e6.js} +1 -1
  83. package/assets/esri/core/workers/chunks/{9250615c78f8570a9cda.js → 29615df388a0df022d8c.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{a320c69bc7528ff0d0cf.js → 2c8584ec1c3c9fd5aba2.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{6ca81e34854ce7ec6f6e.js → 2ce845c990bb4d701362.js} +1 -1
  86. package/assets/esri/core/workers/chunks/2d374cc8c54a722a7afe.js +1 -0
  87. package/assets/esri/core/workers/chunks/{0bd2b035c6ee89c725f9.js → 31442f25d550ead58fc4.js} +1 -1
  88. package/assets/esri/core/workers/chunks/319ff04282dc8ae38b56.js +2 -0
  89. package/assets/esri/core/workers/chunks/{8b8b63be961eb73250a0.js → 32323b0e0fcecd8f640e.js} +1 -1
  90. package/assets/esri/core/workers/chunks/33b4f5dfe1a16b59b010.js +1 -0
  91. package/assets/esri/core/workers/chunks/3402fb9c596b582311c7.js +1 -0
  92. package/assets/esri/core/workers/chunks/359d3acb3953e64e5a78.js +1 -0
  93. package/assets/esri/core/workers/chunks/388e71e8f2ec41bfa5a9.js +1 -0
  94. package/assets/esri/core/workers/chunks/{dd58bc675b85b4d90afa.js → 39974d1e5d3820ef1680.js} +1 -1
  95. package/assets/esri/core/workers/chunks/3a6678ee9990d7e83e15.js +1 -0
  96. package/assets/esri/core/workers/chunks/3aacaa1be5efeac23a37.js +1 -0
  97. package/assets/esri/core/workers/chunks/{2562d8905bd05ef6fd07.js → 3b3986276e70297d573b.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{d19600336cb6023d3e34.js → 3b765a8cac9e92f644f2.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{b7a0a5b895ddd2d3d038.js → 3df5394b17e9659ecb8f.js} +1 -1
  100. package/assets/esri/core/workers/chunks/3e012cd3ca4451f89f59.js +1 -0
  101. package/assets/esri/core/workers/chunks/3e3134e4bc34d4e07179.js +30 -0
  102. package/assets/esri/core/workers/chunks/{c06ae3a6ecc4a4fc67b2.js → 40910c69307e2d2d3f28.js} +1 -1
  103. package/assets/esri/core/workers/chunks/428561df7ba6f02e2d80.js +1 -0
  104. package/assets/esri/core/workers/chunks/{0881929a4a457f94f317.js → 4301cb9670fa7c907460.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{299b4eecd0288348c971.js → 45323491f9005629c602.js} +1 -1
  106. package/assets/esri/core/workers/chunks/46d0a25d33b5b328cfce.js +1 -0
  107. package/assets/esri/core/workers/chunks/46d3ddf62fa7a76dd57d.js +1 -0
  108. package/assets/esri/core/workers/chunks/{51816d79c6be15e4bfcf.js → 46fbd519cc1a37923bfc.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{d9d716bfd0aab30b6caf.js → 47656ec12401e53f4bd3.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{c0d7e4afbad0b20e2502.js → 47dd2bfecc5c4b5f10f0.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{f7698c855800e0af3038.js → 4845df00f6ebcce6ea3e.js} +1 -1
  112. package/assets/esri/core/workers/chunks/49f6c9e9980b8c624fd7.js +1 -0
  113. package/assets/esri/core/workers/chunks/4a23b27bfbcfa08fd9a7.js +1 -0
  114. package/assets/esri/core/workers/chunks/{8b5ee6be52e892fbd325.js → 4a9dd9f8aa98882218f3.js} +1 -1
  115. package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +1 -0
  116. package/assets/esri/core/workers/chunks/{7c292f7b181f3b93352b.js → 4ef53455c8bc6efee80e.js} +1 -1
  117. package/assets/esri/core/workers/chunks/50dc9893e13396f5e35d.js +2 -0
  118. package/assets/esri/core/workers/chunks/{169c9eb6cd000e067c4b.js → 51ee6102f5f4840a5b47.js} +1 -1
  119. package/assets/esri/core/workers/chunks/{a0296e6d6c37b861c5fb.js → 5359ff9492383c5bd9b1.js} +1 -1
  120. package/assets/esri/core/workers/chunks/{728ad5bbbcbf88d6249f.js → 537c5dd4cd0a067199d1.js} +1 -1
  121. package/assets/esri/core/workers/chunks/54d7f07e3348ddb6d9a2.js +1 -0
  122. package/assets/esri/core/workers/chunks/{48440a071a37590846ff.js → 54dad475dc806a38c287.js} +1 -1
  123. package/assets/esri/core/workers/chunks/5500dc39e11a0057ae16.js +1 -0
  124. package/assets/esri/core/workers/chunks/{2b2a09ce14d00b4b1187.js → 58155f24f8ed6aca7a21.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{224a9f39876aa426a9bc.js → 5838f46d341d2fde42ee.js} +1 -1
  126. package/assets/esri/core/workers/chunks/{47d49777a3b3cd8e18bd.js → 58994b6bfcda5f2ada80.js} +1 -1
  127. package/assets/esri/core/workers/chunks/592a599f514de373dead.js +1 -0
  128. package/assets/esri/core/workers/chunks/{1ff61d8a8ea060e78b83.js → 5aba23584e0b230c75f5.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{566c36032b456ec5b5d7.js → 5abe34bb0110694f7b42.js} +1 -1
  130. package/assets/esri/core/workers/chunks/{7dc2c21d61ba66a3f461.js → 5b238f9c345f10c5c2fa.js} +1 -1
  131. package/assets/esri/core/workers/chunks/5f9bacee6fbf9ac1bca0.js +1 -0
  132. package/assets/esri/core/workers/chunks/60915a3708a34da1977e.js +1 -0
  133. package/assets/esri/core/workers/chunks/62206d5d497b95fc4caf.js +1 -0
  134. package/assets/esri/core/workers/chunks/{69a1cbf0af059548f96a.js → 64daa2a714e59d22bbd4.js} +1 -1
  135. package/assets/esri/core/workers/chunks/65520a443e3811255bea.js +1 -0
  136. package/assets/esri/core/workers/chunks/6637f19b82555738a1d5.js +1 -0
  137. package/assets/esri/core/workers/chunks/{7c86099ed17f420b0489.js → 67ebde34377f98d17cda.js} +1 -1
  138. package/assets/esri/core/workers/chunks/6af77529c977d034d287.js +1 -0
  139. package/assets/esri/core/workers/chunks/{cdef9c3f80588ae45a04.js → 6c9933f948efd7923aa1.js} +1 -1
  140. package/assets/esri/core/workers/chunks/{fe2325efd0d8ad8369ed.js → 6cab67fc7044ee9b863b.js} +1 -1
  141. package/assets/esri/core/workers/chunks/{f239a8ecad8b692d5eaa.js → 6db274f6767102a39021.js} +1 -1
  142. package/assets/esri/core/workers/chunks/{aea384f4d88121da8f54.js → 6f0341cfa4c68e6e60b3.js} +1 -1
  143. package/assets/esri/core/workers/chunks/737de87bfb9b5f5a9c6c.js +1 -0
  144. package/assets/esri/core/workers/chunks/{558606a1af22e4a0d536.js → 73c355b895fd6a34fcb8.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{85bba0db8a7a5fc1be44.js → 7601278ebced0c0c31cf.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{b09ae8eb5e97fb27382f.js → 76589434d573111a8fb4.js} +1 -1
  147. package/assets/esri/core/workers/chunks/{1f3a676e7a4eae5ad566.js → 767ea5b455b3823afd09.js} +1 -1
  148. package/assets/esri/core/workers/chunks/79f2d4b3af5776ec2045.js +1 -0
  149. package/assets/esri/core/workers/chunks/{c8dedc010fcc2382af24.js → 7b564226def99fcf79d8.js} +1 -1
  150. package/assets/esri/core/workers/chunks/7cadb872b9ca96eedca5.js +1 -0
  151. package/assets/esri/core/workers/chunks/7ed3d6c72f23c628df3b.js +1 -0
  152. package/assets/esri/core/workers/chunks/{ed939fd5d3827a3f70e0.js → 81e3bd1a0634ddc2b833.js} +1 -1
  153. package/assets/esri/core/workers/chunks/8244b74e9c3a30d8d2f6.js +2 -0
  154. package/assets/esri/core/workers/chunks/{062aadf426fe97a76bbb.js → 8351012ceb466f01b8fd.js} +1 -1
  155. package/assets/esri/core/workers/chunks/8407c91cce31e087b41b.js +1 -0
  156. package/assets/esri/core/workers/chunks/{24acf3dd541347c2b297.js → 882ee7ed8a3a0215f9b9.js} +1 -1
  157. package/assets/esri/core/workers/chunks/{98b4408e12684e37b395.js → 8a48a6760c33ed50b650.js} +1 -1
  158. package/assets/esri/core/workers/chunks/8bdca6f06c8b5fedd917.js +1 -0
  159. package/assets/esri/core/workers/chunks/8c5a41ae68775bac3446.js +1 -0
  160. package/assets/esri/core/workers/chunks/8e1865392681d390ab2e.js +1 -0
  161. package/assets/esri/core/workers/chunks/{7a823bb1b72764897dd5.js → 8f94c90fdb0333da2d0f.js} +1 -1
  162. package/assets/esri/core/workers/chunks/9482a6d7baa24bbf5693.js +1 -0
  163. package/assets/esri/core/workers/chunks/94fac056e14caed09682.js +1 -0
  164. package/assets/esri/core/workers/chunks/{f931d560f3f14598f454.js → 9dcfaca1f4fa8c8026ac.js} +1 -1
  165. package/assets/esri/core/workers/chunks/{5570d47533efab56c732.js → 9f4681713f03365a2a53.js} +1 -1
  166. package/assets/esri/core/workers/chunks/a0fa60a24e58f7a47e41.js +1 -0
  167. package/assets/esri/core/workers/chunks/{b32a13972cb3de652339.js → a320998f18922a35899f.js} +1 -1
  168. package/assets/esri/core/workers/chunks/{aa55923ca939a0d4606c.js → a3a28c4887f802e8d96d.js} +1 -1
  169. package/assets/esri/core/workers/chunks/a806ac351ef5da04c250.js +1 -0
  170. package/assets/esri/core/workers/chunks/{8795c4895df229cb471c.js → ab94c9f62462d7a98f6a.js} +1 -1
  171. package/assets/esri/core/workers/chunks/{2a8f198f6c272f92bad5.js → abdb05754c50776c3edd.js} +1 -1
  172. package/assets/esri/core/workers/chunks/{988e91cc6cf88c34c2de.js → ace1899a8e5162b4018d.js} +1 -1
  173. package/assets/esri/core/workers/chunks/ad488985824fbb830ed6.js +1 -0
  174. package/assets/esri/core/workers/chunks/af8ef6701631ed5e5b80.js +1 -0
  175. package/assets/esri/core/workers/chunks/{a95398214e530f896a2d.js → af96cbc4fb7bef726635.js} +1 -1
  176. package/assets/esri/core/workers/chunks/b08a1255dacf6cfcf139.js +640 -0
  177. package/assets/esri/core/workers/chunks/b098469e0010a6b44df9.js +1 -0
  178. package/assets/esri/core/workers/chunks/{170f8dc97614e9609443.js → b0ac4b0b7aec70cfe6eb.js} +1 -1
  179. package/assets/esri/core/workers/chunks/{4e97c01698ef36cc5e0e.js → b1f1271434af302938e8.js} +1 -1
  180. package/assets/esri/core/workers/chunks/{2f925a424b60b4a5e8e5.js → b803e7b0d489bb628d72.js} +1 -1
  181. package/assets/esri/core/workers/chunks/bb24972603fb35dd8dcf.js +1 -0
  182. package/assets/esri/core/workers/chunks/bca6abc185dedec0f41b.js +1 -0
  183. package/assets/esri/core/workers/chunks/{79b64a52ff57c40c7800.js → bf706a5d065a357de51b.js} +1 -1
  184. package/assets/esri/core/workers/chunks/bfbd1ca28ed2f263e58f.js +1 -0
  185. package/assets/esri/core/workers/chunks/c1189316d24fb4cdb2a0.js +1 -0
  186. package/assets/esri/core/workers/chunks/c216cd5d6b5d4fe4bab3.js +2 -0
  187. package/assets/esri/core/workers/chunks/{d21bf107698fef03125e.js → c27cb2a83a1d2e004501.js} +1 -1
  188. package/assets/esri/core/workers/chunks/c44be4aaba829e6d149d.js +1 -0
  189. package/assets/esri/core/workers/chunks/c83fea0d0ebd0d8e43fd.js +1 -0
  190. package/assets/esri/core/workers/chunks/ca4245414d8ecd217f9d.js +1 -0
  191. package/assets/esri/core/workers/chunks/ca7d4d76a6bf5a3046cd.js +1 -0
  192. package/assets/esri/core/workers/chunks/cb8c4d8334fab9bd9a04.js +1 -0
  193. package/assets/esri/core/workers/chunks/{7a3b05e25de2ff150f38.js → cc479daacd2cf715baa8.js} +1 -1
  194. package/assets/esri/core/workers/chunks/{c1ffb879e0283fb2815f.js → cc62e5095e328bed3e01.js} +1 -1
  195. package/assets/esri/core/workers/chunks/{8d4881c879c86b353e08.js → cda99b543a0e1979346c.js} +1 -1
  196. package/assets/esri/core/workers/chunks/{a53a3e5548fef65a2710.js → cf826787ab8d4b27ad80.js} +1 -1
  197. package/assets/esri/core/workers/chunks/{d6d87bfa9e6d233385a9.js → d1ac98f48bb6d43d97c8.js} +2 -2
  198. package/assets/esri/core/workers/chunks/{1252da05832e576d4def.js → d1ccc5f2d8892328ab01.js} +2 -2
  199. package/assets/esri/core/workers/chunks/d1d135a54233092ad637.js +1 -0
  200. package/assets/esri/core/workers/chunks/d35c475f004367e333eb.js +1 -0
  201. package/assets/esri/core/workers/chunks/{b44f1d08784f2e50c853.js → d3af51a6d9014ff46170.js} +1 -1
  202. package/assets/esri/core/workers/chunks/d561dc933d8fe1672d85.js +1 -0
  203. package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +1 -0
  204. package/assets/esri/core/workers/chunks/{bbaf8baa3ca6195467e4.js → d64613209a9eb1eafb11.js} +1 -1
  205. package/assets/esri/core/workers/chunks/{cb26966cc205bd338c76.js → d81291dac1932350eccd.js} +1 -1
  206. package/assets/esri/core/workers/chunks/dddb57ff637643ccfc87.js +1 -0
  207. package/assets/esri/core/workers/chunks/{0ded5c114cbb7574f2f4.js → dfeddb7b17fa9eaae64c.js} +1 -1
  208. package/assets/esri/core/workers/chunks/e178cd0e9178d6716410.js +1 -0
  209. package/assets/esri/core/workers/chunks/{7f54d3835c0ce573a942.js → e25bcfdd8f20f8a08b19.js} +1 -1
  210. package/assets/esri/core/workers/chunks/{e0bd550b10dd402c48f1.js → e38836bfcc7a15a2fd1f.js} +1 -1
  211. package/assets/esri/core/workers/chunks/e3b713a590cce6245ee2.js +1 -0
  212. package/assets/esri/core/workers/chunks/{a40003dfe3c081d1a1d2.js → e638391801ad83fe4a68.js} +1 -1
  213. package/assets/esri/core/workers/chunks/{0b76534b60014d74ecb9.js → e7712467db46e1385cf4.js} +1 -1
  214. package/assets/esri/core/workers/chunks/e785f76c1a75cb1d1e1f.js +1 -0
  215. package/assets/esri/core/workers/chunks/{76a9b64fd573775bf6cd.js → e82488b9b3bb0c1dedb4.js} +1 -1
  216. package/assets/esri/core/workers/chunks/{15fa8b5b472131aaa68e.js → e92698f50089484c4901.js} +1 -1
  217. package/assets/esri/core/workers/chunks/e9dcc3e9dbafe9bbed84.js +1 -0
  218. package/assets/esri/core/workers/chunks/ed2cb60e4f17f46fb78d.js +1 -0
  219. package/assets/esri/core/workers/chunks/edcde00495727d506c46.js +1 -0
  220. package/assets/esri/core/workers/chunks/{86a767c2b0b1e37ff493.js → eedee0af459e6b8a6116.js} +1 -1
  221. package/assets/esri/core/workers/chunks/{009250a7bded12099dd1.js → f1fb2f12371f4c562079.js} +1 -1
  222. package/assets/esri/core/workers/chunks/{466c250537415f12eb59.js → f31a8e76f1dde23c0900.js} +1 -1
  223. package/assets/esri/core/workers/chunks/f3dfe1bd1146a6927407.js +1 -0
  224. package/assets/esri/core/workers/chunks/{6b5d2df9123dfe7e00b3.js → f563dd6cace047108b3c.js} +1 -1
  225. package/assets/esri/core/workers/chunks/{6a53c8db554be55c5885.js → f5a2c28dc26c065ea355.js} +31 -21
  226. package/assets/esri/core/workers/chunks/f60292d97bcdbf19165b.js +1 -0
  227. package/assets/esri/core/workers/chunks/f79bd469b25099a31274.js +1 -0
  228. package/assets/esri/core/workers/chunks/f9e22cf59e2e2782d70f.js +1 -0
  229. package/assets/esri/core/workers/chunks/fce7995c26953bfd8d3d.js +1 -0
  230. package/assets/esri/core/workers/chunks/{e227ae2c1a63e30e62d9.js → ff48334528d2554db4fe.js} +1 -1
  231. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +18 -14
  232. package/assets/esri/themes/base/widgets/_Grid.scss +3 -3
  233. package/assets/esri/themes/dark/main.css +1 -1
  234. package/assets/esri/themes/light/main.css +1 -1
  235. package/assets/esri/themes/light/view.css +1 -1
  236. package/chunks/AtmosphereCompositing.glsl.js +1 -1
  237. package/chunks/Bufferer-Dw9Qi4T1.js +1 -1
  238. package/chunks/Centroid-DZi-eb9F.js +1 -1
  239. package/chunks/Clouds.glsl.js +1 -1
  240. package/chunks/Compositing.glsl.js +1 -1
  241. package/chunks/CutFillComposition.glsl.js +1 -1
  242. package/chunks/CutFillDepth.glsl.js +1 -1
  243. package/chunks/CutFillMask.glsl.js +1 -1
  244. package/chunks/CutFillReduction.glsl.js +1 -1
  245. package/chunks/CutFillTargetDepth.glsl.js +1 -1
  246. package/chunks/Distance2DCalculator-CXhBP-8I.js +1 -1
  247. package/chunks/Envelope.js +1 -1
  248. package/chunks/Envelope2D.js +1 -1
  249. package/chunks/FlatGeometry.js +1 -1
  250. package/chunks/FocusAreaColor.glsl.js +1 -1
  251. package/chunks/FocusAreaMask.glsl.js +1 -1
  252. package/chunks/Fog.glsl.js +1 -1
  253. package/chunks/GaussianSplat.glsl.js +1 -1
  254. package/chunks/GaussianSplatShadow.glsl.js +1 -1
  255. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
  256. package/chunks/GeodeticUtils.js +1 -1
  257. package/chunks/Geometry.js +1 -1
  258. package/chunks/GeometryCleaner-BEJM7I4l.js +1 -1
  259. package/chunks/GlobalIllumination.glsl.js +20 -19
  260. package/chunks/GlobalIlluminationBlur.glsl.js +15 -12
  261. package/chunks/GlobalIlluminationUpscale.glsl.js +4 -3
  262. package/chunks/GlowBlur.glsl.js +1 -1
  263. package/chunks/GlowComposition.glsl.js +1 -1
  264. package/chunks/HazeCompositing.glsl.js +1 -1
  265. package/chunks/HighlightBlur.glsl.js +1 -1
  266. package/chunks/HighlightDownsample.glsl.js +1 -1
  267. package/chunks/Magnifier.glsl.js +1 -1
  268. package/chunks/MultiPathImpl.js +1 -1
  269. package/chunks/NoiseTextureAtlas.glsl.js +1 -1
  270. package/chunks/OITBlend.glsl.js +2 -2
  271. package/chunks/OITBlendEmission.glsl.js +1 -1
  272. package/chunks/OITDimOpaque.glsl.js +1 -1
  273. package/chunks/OperatorClip.js +1 -1
  274. package/chunks/OperatorCrosses.js +1 -1
  275. package/chunks/OperatorCut.js +1 -1
  276. package/chunks/OperatorDensify.js +1 -1
  277. package/chunks/OperatorGeneralize.js +1 -1
  278. package/chunks/OperatorGeodesicBuffer.js +1 -1
  279. package/chunks/OperatorGeodeticArea.js +1 -1
  280. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  281. package/chunks/OperatorGeodeticDistance.js +1 -1
  282. package/chunks/OperatorGeodeticLength.js +1 -1
  283. package/chunks/OperatorIntegrate.js +1 -1
  284. package/chunks/OperatorIntersects.js +1 -1
  285. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  286. package/chunks/OperatorOverlaps.js +1 -1
  287. package/chunks/OperatorProject.js +1 -1
  288. package/chunks/OperatorProximity.js +1 -1
  289. package/chunks/OperatorProximityGeodesic.js +1 -1
  290. package/chunks/OperatorShapePreservingDensify.js +1 -1
  291. package/chunks/OperatorShapePreservingLength.js +1 -1
  292. package/chunks/OperatorShapePreservingProject.js +1 -1
  293. package/chunks/OperatorSimplifyOGC.js +1 -1
  294. package/chunks/OperatorTouches.js +1 -1
  295. package/chunks/OperatorWithin.js +1 -1
  296. package/chunks/OverlayCompositing.glsl.js +1 -1
  297. package/chunks/Point2D.js +1 -1
  298. package/chunks/PointRenderer.glsl.js +1 -1
  299. package/chunks/ProjectionTransformation.js +1 -1
  300. package/chunks/RasterColorizer.glsl.js +1 -1
  301. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  302. package/chunks/ShadowCastVisualize.glsl.js +2 -2
  303. package/chunks/SideCalculator2D-BNwb5gvz.js +1 -1
  304. package/chunks/SimpleAtmosphere.glsl.js +1 -1
  305. package/chunks/SpatialReference.js +1 -1
  306. package/chunks/Terrain.glsl.js +1 -1
  307. package/chunks/Texture.glsl.js +1 -1
  308. package/chunks/Transformation2D.js +1 -1
  309. package/chunks/Viewshed.glsl.js +1 -1
  310. package/chunks/aiServices.js +1 -1
  311. package/chunks/arcade.js +1 -1
  312. package/chunks/array.js +1 -1
  313. package/chunks/boundedPlane.js +1 -1
  314. package/chunks/bundle.js +1 -1
  315. package/chunks/bundle2.js +1 -1
  316. package/chunks/constants.js +1 -1
  317. package/chunks/containsOperator.js +1 -1
  318. package/chunks/disjointOperator.js +1 -1
  319. package/chunks/distanceOperator.js +1 -1
  320. package/chunks/equalsOperator.js +1 -1
  321. package/chunks/languageUtils.js +1 -1
  322. package/chunks/pe.js +1 -1
  323. package/chunks/persistableUrlUtils.js +1 -1
  324. package/chunks/relateOperator.js +1 -1
  325. package/chunks/symmetricDifferenceOperator.js +1 -1
  326. package/chunks/unionOperator.js +1 -1
  327. package/chunks/vec2.js +1 -1
  328. package/chunks/vec3.js +1 -1
  329. package/chunks/vec4.js +1 -1
  330. package/config.js +1 -1
  331. package/core/accessorSupport/decorators/persistable.js +1 -1
  332. package/core/mapCollectionUtils.js +1 -1
  333. package/core/quantityFormatUtils.js +1 -1
  334. package/core/unitFormatUtils.js +1 -1
  335. package/editing/sharedTemplates/templateDefinitions/FeatureTemplateDefinition.js +1 -1
  336. package/editing/sharedTemplates/templateDefinitions/GroupTemplateDefinition.js +1 -1
  337. package/editing/sharedTemplates/templateDefinitions/PresetTemplateDefinition.js +1 -1
  338. package/effects/FocusArea.js +1 -1
  339. package/geometry/Circle.js +1 -1
  340. package/geometry/coordinateFormatter.js +1 -1
  341. package/geometry/geodesicUtils.js +1 -1
  342. package/geometry/operators/extendOperator.js +1 -1
  343. package/geometry/operators/gx/geodeticUtils.js +1 -1
  344. package/geometry/operators/gx/operatorAffineTransform.js +1 -1
  345. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  346. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  347. package/geometry/operators/gx/operatorBoundary.js +1 -1
  348. package/geometry/operators/gx/operatorBuffer.js +1 -1
  349. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  350. package/geometry/operators/gx/operatorDifference.js +1 -1
  351. package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
  352. package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
  353. package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
  354. package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
  355. package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
  356. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  357. package/geometry/operators/gx/operatorIntersection.js +1 -1
  358. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  359. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  360. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  361. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  362. package/geometry/operators/gx/operatorOffset.js +1 -1
  363. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  364. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  365. package/geometry/operators/gx/operatorProject.js +1 -1
  366. package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
  367. package/geometry/operators/gx/operatorShapePreservingProject.js +1 -1
  368. package/geometry/operators/gx/operatorSimplify.js +1 -1
  369. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  370. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  371. package/geometry/operators/gx/operatorUnion.js +1 -1
  372. package/geometry/operators/isNearOperator.js +1 -1
  373. package/geometry/operators/json/containsOperator.js +1 -1
  374. package/geometry/operators/json/disjointOperator.js +1 -1
  375. package/geometry/operators/locateBetweenOperator.js +1 -1
  376. package/geometry/operators/offsetOperator.js +1 -1
  377. package/geometry/operators/reshapeOperator.js +1 -1
  378. package/geometry/operators/support/apiConverter.js +1 -1
  379. package/geometry/operators/support/geographicTransformationUtils.js +1 -1
  380. package/geometry/operators/support/initNoPeFactory.js +1 -1
  381. package/geometry/operators/support/jsonConverter.js +1 -1
  382. package/geometry/operators/support/projectionTransformation.js +1 -1
  383. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  384. package/geometry/operators/unionOperator.js +1 -1
  385. package/geometry/pe.js +1 -1
  386. package/geometry/support/MeshTexture.js +1 -1
  387. package/geometry/support/boundedPlane.js +1 -1
  388. package/geometry/support/buffer/math/vec3.js +1 -1
  389. package/geometry/support/buffer/math/vec4.js +1 -1
  390. package/geometry/support/buffer/utils/vec2.js +1 -1
  391. package/geometry/support/coordinateSystem.js +1 -1
  392. package/geometry/support/frustum.js +1 -1
  393. package/geometry/support/meshUtils/extent.js +1 -1
  394. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  395. package/geometry/support/meshUtils/projection.js +1 -1
  396. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  397. package/geometry/support/spatialReferenceUtils.js +1 -1
  398. package/kernel.js +1 -1
  399. package/layers/FeatureLayer.d.ts +1 -1
  400. package/layers/FeatureLayer.js +1 -1
  401. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  402. package/layers/IntegratedMeshLayer.js +1 -1
  403. package/layers/KnowledgeGraphLayer.js +1 -1
  404. package/layers/MediaLayer.d.ts +1 -1
  405. package/layers/SceneLayer.d.ts +2 -2
  406. package/layers/UnsupportedLayer.d.ts +10 -2
  407. package/layers/VectorTileLayer.d.ts +2 -2
  408. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  409. package/layers/mixins/ArcGISImageService.js +1 -1
  410. package/layers/mixins/BlendLayer.d.ts +1 -1
  411. package/layers/orientedImagery/transformations/utils.js +1 -1
  412. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  413. package/layers/save/featureLayerUtils.js +1 -1
  414. package/layers/support/FeatureFilter.d.ts +1 -1
  415. package/layers/support/FeatureReductionSelection.d.ts +1 -1
  416. package/layers/support/ImageElement.js +1 -1
  417. package/layers/support/ParquetFilesData.js +1 -1
  418. package/layers/support/RasterJobHandler.js +1 -1
  419. package/layers/support/RasterWorker.js +1 -1
  420. package/layers/support/SceneFilter.js +1 -1
  421. package/layers/support/arcgisLayers.js +1 -1
  422. package/layers/support/fetchService.js +1 -1
  423. package/layers/support/layerUtils.js +1 -1
  424. package/layers/support/layersLoader.js +1 -1
  425. package/libs/parquet/loadParquetModule.js +1 -1
  426. package/libs/text/loadTextModule.js +1 -1
  427. package/linkChart/LinkChartProperties.js +1 -1
  428. package/package.json +3 -3
  429. package/portal/PortalItem.js +1 -1
  430. package/renderers/FlowRenderer.d.ts +2 -2
  431. package/renderers/UniqueValueRenderer.js +1 -1
  432. package/rest/support/IdentifyParameters.js +1 -1
  433. package/rest/support/IdentifyResult.js +1 -1
  434. package/smartMapping/raster/renderers/flow.d.ts +2 -2
  435. package/smartMapping/renderers/type.js +1 -1
  436. package/smartMapping/renderers/univariateColorSize.js +1 -1
  437. package/smartMapping/symbology/flow.d.ts +2 -2
  438. package/smartMapping/symbology/types.d.ts +2 -2
  439. package/support/arcadeUtils.js +1 -1
  440. package/support/persistableUrlUtils.js +1 -1
  441. package/support/revision.js +1 -1
  442. package/symbols/Symbol3D.js +1 -1
  443. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  444. package/symbols/cim/CIMSymbolHelper.js +1 -1
  445. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  446. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  447. package/symbols/support/previewSymbol2D.js +1 -1
  448. package/symbols/support/urlUtils.js +1 -1
  449. package/symbols/support/webStyleSymbolUtils.js +1 -1
  450. package/views/2d/ViewStateManager.js +1 -1
  451. package/views/2d/engine/vectorTiles/shaders/VTLBackgroundMaterial.js +1 -1
  452. package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
  453. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  454. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  455. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  456. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
  457. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  458. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  459. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  460. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  461. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  462. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  463. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlitShader.js +1 -1
  464. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
  465. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlurShader.js +1 -1
  466. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ClipShader.js +1 -1
  467. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js +1 -1
  468. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  469. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
  470. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js +1 -1
  471. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  472. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
  473. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
  474. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js +1 -1
  475. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  476. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
  477. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  478. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
  479. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
  480. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  481. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
  482. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
  483. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternOutlineFillShader.js +1 -1
  484. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PostProcessingShader.js +1 -1
  485. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  486. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
  487. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js +1 -1
  488. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js +1 -1
  489. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowImageryShader.js +1 -1
  490. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowParticlesShader.js +1 -1
  491. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowStreamlinesShader.js +1 -1
  492. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowUtils.js +1 -1
  493. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  494. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
  495. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
  496. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vvUtils.js +1 -1
  497. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  498. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  499. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  500. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  501. package/views/2d/layers/BaseLayerView2D.d.ts +19 -3
  502. package/views/2d/layers/BaseLayerViewGL2D.d.ts +19 -3
  503. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  504. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  505. package/views/2d/layers/features/Processor.js +1 -1
  506. package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
  507. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  508. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  509. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  510. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  511. package/views/2d/navigation/ZoomBox.js +1 -1
  512. package/views/2d/navigation/actions/Pan.js +1 -1
  513. package/views/2d/navigation/actions/Pinch.js +1 -1
  514. package/views/2d/navigation/actions/Rotate.js +1 -1
  515. package/views/3d/analysis/AnalysisView3D.js +1 -1
  516. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  517. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  518. package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +1 -1
  519. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  520. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  521. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  522. package/views/3d/analysis/LineOfSightAnalysisResult.js +1 -1
  523. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  524. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  525. package/views/3d/analysis/Slice/SliceController.js +1 -1
  526. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  527. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  528. package/views/3d/analysis/Viewshed/ViewshedDrawToolRenderer.js +1 -1
  529. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  530. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  531. package/views/3d/analysis/Viewshed/ViewshedPlacementOperation.js +1 -1
  532. package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
  533. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  534. package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
  535. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  536. package/views/3d/analysis/Viewshed/ViewshedTool2.js +1 -1
  537. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  538. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  539. package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
  540. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  541. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  542. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  543. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementError.d.ts +1 -1
  544. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.js +1 -1
  545. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  546. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
  547. package/views/3d/focusAreaUtils.js +1 -1
  548. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
  549. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  550. package/views/3d/interactive/editingTools/transform/extentTransform/extentUtils.js +1 -1
  551. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  552. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  553. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  554. package/views/3d/layers/DrapedSubView3D.js +1 -1
  555. package/views/3d/layers/FlowSubView3D.js +1 -1
  556. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  557. package/views/3d/layers/I3SMeshView3D.js +1 -1
  558. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  559. package/views/3d/layers/ImagerySubView3D.js +1 -1
  560. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  561. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  562. package/views/3d/layers/PointCloudWorker.js +1 -1
  563. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  564. package/views/3d/layers/SceneLayerWorker.js +1 -1
  565. package/views/3d/layers/SubView3D.js +1 -1
  566. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  567. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  568. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  569. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  570. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  571. package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
  572. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  573. package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
  574. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  575. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  576. package/views/3d/layers/i3s/LoDUtil.js +1 -1
  577. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  578. package/views/3d/layers/i3s/meshUtils.js +1 -1
  579. package/views/3d/layers/support/FeatureTile.js +1 -1
  580. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  581. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  582. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  583. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  584. package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
  585. package/views/3d/layers/support/MediaLayerInteractionReshapeOptions.js +1 -1
  586. package/views/3d/layers/support/edgeUtils.js +1 -1
  587. package/views/3d/state/ScreenSizePerspective.js +1 -1
  588. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  589. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  590. package/views/3d/state/utils/navigationUtils.js +1 -1
  591. package/views/3d/support/ViewSlice.js +1 -1
  592. package/views/3d/support/dito.js +1 -1
  593. package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
  594. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  595. package/views/3d/support/gaussianSplatting/GaussianTile.js +1 -1
  596. package/views/3d/support/orientedBoundingBox.js +1 -1
  597. package/views/3d/support/sunUtils.js +1 -1
  598. package/views/3d/terrain/OverlayRenderer.js +1 -1
  599. package/views/3d/terrain/RasterColorizer.glsl.js +1 -1
  600. package/views/3d/terrain/RasterTile.js +1 -1
  601. package/views/3d/terrain/TerrainRenderer.js +1 -1
  602. package/views/3d/webgl/RenderCamera.js +1 -1
  603. package/views/3d/webgl/RenderNode.js +1 -1
  604. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  605. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  606. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
  607. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  608. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  609. package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
  610. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  611. package/views/3d/webgl-engine/effects/clouds/Clouds.glsl.js +1 -1
  612. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  613. package/views/3d/webgl-engine/effects/clouds/CloudsTechnique.js +1 -1
  614. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.glsl.js +1 -1
  615. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
  616. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasTechnique.js +1 -1
  617. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColor.glsl.js +1 -1
  618. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  619. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  620. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMask.glsl.js +1 -1
  621. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  622. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  623. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  624. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  625. package/views/3d/webgl-engine/effects/fog/FogTechnique.js +1 -1
  626. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  627. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  628. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
  629. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlurTechnique.js +1 -1
  630. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +7 -0
  631. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechnique.js +1 -1
  632. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
  633. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscale.glsl.js +1 -1
  634. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscaleTechnique.js +1 -1
  635. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  636. package/views/3d/webgl-engine/effects/glow/GlowBlur.glsl.js +1 -1
  637. package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +1 -1
  638. package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
  639. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +1 -1
  640. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  641. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  642. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  643. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  644. package/views/3d/webgl-engine/effects/highlight/HighlightBlur.glsl.js +1 -1
  645. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  646. package/views/3d/webgl-engine/effects/highlight/HighlightDownsample.glsl.js +1 -1
  647. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  648. package/views/3d/webgl-engine/effects/magnifier/Magnifier.glsl.js +1 -1
  649. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  650. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  651. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  652. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  653. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  654. package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
  655. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
  656. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  657. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  658. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  659. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  660. package/views/3d/webgl-engine/lib/GaussianSplatShadowRenderNode.js +1 -1
  661. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  662. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  663. package/views/3d/webgl-engine/lib/SliceHelper.js +1 -1
  664. package/views/3d/webgl-engine/lib/Texture.glsl.js +1 -1
  665. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  666. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  667. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  668. package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
  669. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  670. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  671. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  672. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  673. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  674. package/views/3d/webgl-engine/shaders/CutFillComposition.glsl.js +1 -1
  675. package/views/3d/webgl-engine/shaders/CutFillCompositionTechnique.js +1 -1
  676. package/views/3d/webgl-engine/shaders/CutFillDepth.glsl.js +1 -1
  677. package/views/3d/webgl-engine/shaders/CutFillDepthTechnique.js +1 -1
  678. package/views/3d/webgl-engine/shaders/CutFillDepthTechniqueConfiguration.js +1 -1
  679. package/views/3d/webgl-engine/shaders/CutFillMask.glsl.js +1 -1
  680. package/views/3d/webgl-engine/shaders/CutFillMaskTechnique.js +1 -1
  681. package/views/3d/webgl-engine/shaders/CutFillReduction.glsl.js +1 -1
  682. package/views/3d/webgl-engine/shaders/CutFillReductionTechnique.js +1 -1
  683. package/views/3d/webgl-engine/shaders/CutFillReductionTechniqueConfiguration.js +1 -1
  684. package/views/3d/webgl-engine/shaders/CutFillTargetDepth.glsl.js +1 -1
  685. package/views/3d/webgl-engine/shaders/CutFillTargetDepthTechnique.js +1 -1
  686. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  687. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +1 -1
  688. package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
  689. package/views/3d/webgl-engine/shaders/GaussianSplatShadowTechnique.js +1 -1
  690. package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +1 -1
  691. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
  692. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  693. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  694. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  695. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  696. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  697. package/views/3d/webgl-engine/shaders/ShadowCastMaskTechnique.js +1 -1
  698. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  699. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  700. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  701. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  702. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  703. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  704. package/views/SceneView.d.ts +1 -1
  705. package/views/Theme.js +1 -1
  706. package/views/View.js +1 -1
  707. package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
  708. package/views/analysis/ElevationProfile/ElevationProfileError.d.ts +1 -1
  709. package/views/analysis/LengthDimensionResult.js +1 -1
  710. package/views/draw/drawSurfaces.js +1 -1
  711. package/views/interactive/Tooltip.js +1 -1
  712. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  713. package/views/interactive/sketch/SketchLabelOptions.js +1 -1
  714. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  715. package/views/interactive/sketch/constraints.js +1 -1
  716. package/views/interactive/sketch/normalizedPoint.js +1 -1
  717. package/views/interactive/snapping/SnappingOptions.d.ts +3 -3
  718. package/views/interactive/snapping/featureSources/featureServiceSource/tileUtils.js +1 -1
  719. package/views/interactive/support/utils.js +1 -1
  720. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  721. package/views/interactive/tooltip/content/TooltipContent.js +1 -1
  722. package/views/interactive/tooltip/fields/fields.js +1 -1
  723. package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
  724. package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
  725. package/views/layers/BuildingComponentSublayerView.js +1 -1
  726. package/views/layers/FeatureLikeLayerView.d.ts +1 -1
  727. package/views/layers/FeatureLikeLayerView.js +1 -1
  728. package/views/layers/GroupLayerView.js +1 -1
  729. package/views/layers/SceneLayerView.js +1 -1
  730. package/views/overlay/CrosshairOverlayItem.js +1 -1
  731. package/views/overlay/LineOverlayItem.js +1 -1
  732. package/views/support/angularMeasurementUtils.js +1 -1
  733. package/views/support/euclideanLengthMeasurementUtils.js +1 -1
  734. package/views/support/flow/dataUtils.js +1 -1
  735. package/views/support/geometry2dUtils.js +1 -1
  736. package/views/support/geometry3dUtils.js +1 -1
  737. package/views/webgl/RenderingContext.js +1 -1
  738. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +30 -2
  739. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  740. package/widgets/BatchAttributeForm/css.js +1 -1
  741. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +0 -5
  742. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  743. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  744. package/widgets/BatchAttributeForm/rendered-content/RelationshipDetails.js +1 -1
  745. package/widgets/BatchAttributeForm/types.d.ts +68 -1
  746. package/widgets/BatchAttributeForm.js +1 -1
  747. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  748. package/widgets/BuildingExplorer/BuildingLevelPicker/constants.js +1 -1
  749. package/widgets/Daylight.d.ts +1 -1
  750. package/widgets/Directions/DirectionsViewModel.js +1 -1
  751. package/widgets/Editor/components/Settings.js +1 -1
  752. package/widgets/Editor.d.ts +8 -8
  753. package/widgets/ElevationProfile.d.ts +1 -1
  754. package/widgets/FeatureTable/ActionColumn.d.ts +1 -1
  755. package/widgets/FeatureTable/FieldColumn.d.ts +14 -1
  756. package/widgets/Histogram/HistogramViewModel.js +1 -1
  757. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  758. package/widgets/Sketch/SketchViewModel.d.ts +38 -38
  759. package/widgets/Sketch.d.ts +39 -39
  760. package/widgets/Sketch.js +1 -1
  761. package/widgets/Slice.d.ts +1 -1
  762. package/widgets/UtilityNetworkTrace.d.ts +1 -1
  763. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
  764. package/widgets/support/ContingentValuesManager.js +1 -1
  765. package/assets/esri/core/workers/chunks/069459519477bb3dc91b.js +0 -1
  766. package/assets/esri/core/workers/chunks/0b445c1cf281f158c1f1.js +0 -1
  767. package/assets/esri/core/workers/chunks/0e9804ece1fd2d59751b.js +0 -1
  768. package/assets/esri/core/workers/chunks/115664cb7d7b22a315bb.js +0 -1
  769. package/assets/esri/core/workers/chunks/123a67e84ed68b96ac59.js +0 -1
  770. package/assets/esri/core/workers/chunks/163ce1be8bfe20e77f97.js +0 -1
  771. package/assets/esri/core/workers/chunks/18201119828664373165.js +0 -1
  772. package/assets/esri/core/workers/chunks/18ebf1d3ed05c8057f7d.js +0 -1
  773. package/assets/esri/core/workers/chunks/19f07c8d0f32ec889861.js +0 -1
  774. package/assets/esri/core/workers/chunks/1bd8a7f92a428eedb22e.js +0 -1
  775. package/assets/esri/core/workers/chunks/1f537c05c2f643acb5e7.js +0 -1
  776. package/assets/esri/core/workers/chunks/241aeff6afd074ce105b.js +0 -1
  777. package/assets/esri/core/workers/chunks/2855357a2c1f2ab03fb7.js +0 -1
  778. package/assets/esri/core/workers/chunks/2e8db0f05df2e38a14e1.js +0 -2
  779. package/assets/esri/core/workers/chunks/30e191d36aa95823c018.js +0 -1
  780. package/assets/esri/core/workers/chunks/315bf08dff4757ffbed3.js +0 -1
  781. package/assets/esri/core/workers/chunks/31c01885ee6d70a2bde2.js +0 -1
  782. package/assets/esri/core/workers/chunks/3292b3883f203637b5a7.js +0 -1
  783. package/assets/esri/core/workers/chunks/32f24a66f684de3c243d.js +0 -1
  784. package/assets/esri/core/workers/chunks/35527a01d61cabbfd33e.js +0 -1
  785. package/assets/esri/core/workers/chunks/3aebbed6d4fd1b993a35.js +0 -1
  786. package/assets/esri/core/workers/chunks/3f1d533efe4300d19e6a.js +0 -1
  787. package/assets/esri/core/workers/chunks/413d2fa54508e6f42c74.js +0 -1
  788. package/assets/esri/core/workers/chunks/4325fa92dafca465ae26.js +0 -1
  789. package/assets/esri/core/workers/chunks/4364a3e706294bb6ae41.js +0 -1
  790. package/assets/esri/core/workers/chunks/438f35d41c6851736818.js +0 -30
  791. package/assets/esri/core/workers/chunks/453c9e8d438d061e1736.js +0 -1
  792. package/assets/esri/core/workers/chunks/479e34b0abc10499bd3a.js +0 -1
  793. package/assets/esri/core/workers/chunks/49675e77a351abda2728.js +0 -1
  794. package/assets/esri/core/workers/chunks/4cdf80e2e60501dd4756.js +0 -1
  795. package/assets/esri/core/workers/chunks/51edfe21d4c6ee22c83d.js +0 -1
  796. package/assets/esri/core/workers/chunks/5524a71d1abc9568ce26.js +0 -1
  797. package/assets/esri/core/workers/chunks/557e39e5156b313597f9.js +0 -1
  798. package/assets/esri/core/workers/chunks/55b765c72d13b3b911f9.js +0 -1
  799. package/assets/esri/core/workers/chunks/5dc86a3a40d16b576bb5.js +0 -1
  800. package/assets/esri/core/workers/chunks/6182d39e2095d4460b88.js +0 -1
  801. package/assets/esri/core/workers/chunks/621d71d26bd20e296138.js +0 -1
  802. package/assets/esri/core/workers/chunks/67dffb896b6ef4b2038b.js +0 -1
  803. package/assets/esri/core/workers/chunks/694f9571e2723d3d4b02.js +0 -1
  804. package/assets/esri/core/workers/chunks/69ad5930ff6040c6c561.js +0 -1
  805. package/assets/esri/core/workers/chunks/6af88bb722bbb37db198.js +0 -2
  806. package/assets/esri/core/workers/chunks/70d8f5bdb452cee41536.js +0 -2
  807. package/assets/esri/core/workers/chunks/728151d24334027af635.js +0 -1
  808. package/assets/esri/core/workers/chunks/78af4b7a379c40f497a7.js +0 -1
  809. package/assets/esri/core/workers/chunks/7f1fcddc8dd42a1b67d9.js +0 -1
  810. package/assets/esri/core/workers/chunks/86443e47ad99e555753a.js +0 -1
  811. package/assets/esri/core/workers/chunks/86f2de7dda7992ae706c.js +0 -1
  812. package/assets/esri/core/workers/chunks/895114ccd2603830960f.js +0 -1
  813. package/assets/esri/core/workers/chunks/927c8ca7fd385b28a1b7.js +0 -640
  814. package/assets/esri/core/workers/chunks/95d82c619dcbec2e1050.js +0 -1
  815. package/assets/esri/core/workers/chunks/979bab62cad788180770.js +0 -1
  816. package/assets/esri/core/workers/chunks/9d70247d820085a2c190.js +0 -1
  817. package/assets/esri/core/workers/chunks/a0aaf14c8f9a007d88ac.js +0 -1
  818. package/assets/esri/core/workers/chunks/a0fce639319d59becd01.js +0 -2
  819. package/assets/esri/core/workers/chunks/aa03f770178693167aa0.js +0 -1
  820. package/assets/esri/core/workers/chunks/aea439d4c2308f88b295.js +0 -1
  821. package/assets/esri/core/workers/chunks/af45110f07e4b5162bae.js +0 -1
  822. package/assets/esri/core/workers/chunks/b0c647af49c9d563b852.js +0 -1
  823. package/assets/esri/core/workers/chunks/b640651c7d86cfe654bf.js +0 -1
  824. package/assets/esri/core/workers/chunks/b78fb24b47d9f31f18c6.js +0 -1
  825. package/assets/esri/core/workers/chunks/b8dda9e55caba0e2b4c2.js +0 -1
  826. package/assets/esri/core/workers/chunks/ba693317ed3939587f30.js +0 -1
  827. package/assets/esri/core/workers/chunks/c13c532fe38ddc5d7ca6.js +0 -1
  828. package/assets/esri/core/workers/chunks/c4872cf3b71d00f450e1.js +0 -1
  829. package/assets/esri/core/workers/chunks/c5b7ff8650235c464dbf.js +0 -1
  830. package/assets/esri/core/workers/chunks/caf80facb0322be054ab.js +0 -1
  831. package/assets/esri/core/workers/chunks/cc48354c54358777e996.js +0 -1
  832. package/assets/esri/core/workers/chunks/d5423df247be82fa085a.js +0 -1
  833. package/assets/esri/core/workers/chunks/d598d08dbf2796742e8c.js +0 -1
  834. package/assets/esri/core/workers/chunks/da4f7d7099ba88f31f45.js +0 -1
  835. package/assets/esri/core/workers/chunks/dbb1ac41fd5da4fd849b.js +0 -1
  836. package/assets/esri/core/workers/chunks/dc259eed58fde3f5cb5c.js +0 -1
  837. package/assets/esri/core/workers/chunks/e0036fa0324a96a88248.js +0 -1
  838. package/assets/esri/core/workers/chunks/e29d182460564c2a52ad.js +0 -1
  839. package/assets/esri/core/workers/chunks/eda083e9d12e45da0a7b.js +0 -1
  840. package/assets/esri/core/workers/chunks/f0b5c140a5ba174572b6.js +0 -1
  841. package/assets/esri/core/workers/chunks/f286680e363eefdf27df.js +0 -1
  842. package/assets/esri/core/workers/chunks/fa3138dd8139008b430d.js +0 -1
  843. package/assets/esri/core/workers/chunks/fb0afb41a3d87d59f574.js +0 -1
  844. package/assets/esri/core/workers/chunks/fc9fbc8e4e459edf4e37.js +0 -1
  845. /package/assets/esri/core/workers/chunks/{6af88bb722bbb37db198.js.LICENSE.txt → 319ff04282dc8ae38b56.js.LICENSE.txt} +0 -0
  846. /package/assets/esri/core/workers/chunks/{70d8f5bdb452cee41536.js.LICENSE.txt → 50dc9893e13396f5e35d.js.LICENSE.txt} +0 -0
  847. /package/assets/esri/core/workers/chunks/{2e8db0f05df2e38a14e1.js.LICENSE.txt → 8244b74e9c3a30d8d2f6.js.LICENSE.txt} +0 -0
  848. /package/assets/esri/core/workers/chunks/{a0fce639319d59becd01.js.LICENSE.txt → c216cd5d6b5d4fe4bab3.js.LICENSE.txt} +0 -0
  849. /package/assets/esri/core/workers/chunks/{1252da05832e576d4def.js.LICENSE.txt → d1ccc5f2d8892328ab01.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{P as e,A as t,a as r,b as n}from"./Envelope.js";import{P as s,e as o,d as a}from"./MultiPathImpl.js";function i({type:s,vertexCount:o,vertexXY:i,vertexZ:f,vertexM:u,partCount:p,partOffsets:l,partFlags:c,segmentFlags:y,segmentIndices:A,segmentParams:g,segmentCountArc:w,segmentCountBezier:C}){const v=new m[s];if(v instanceof e)return v.setXYCoords(i[0],i[1]),f&&v.setZ(f[0]),u&&v.setM(u[0]),v;const z=new t({fromArray:i});if(v.setAttributeStreamRef(0,z),f){const e=new t({fromArray:f});v.setAttributeStreamRef(1,e)}if(u){const e=new t({fromArray:u});v.setAttributeStreamRef(2,e)}if(v instanceof a)return v.resizeNoInit(o),v;{const e=p+1,t=new r({fromArray:l,size:e}),s=new n({fromArray:c,size:e});v.setPathStreamRef(t),v.setPathFlagsStreamRef(s)}if(null==y)return v.resizeImpl(o),v;const P=new n({fromArray:y}),S=new r({fromArray:A}),x=new t({fromArray:g});return v.setSegmentData(S,x,P,g.length),v.incCurveType(4,w),v.incCurveType(2,C),v.modifyCurveCounter(w+C),v.resizeImpl(o),v}const m={point:e,multipoint:a,polyline:o,polygon:s};export{i as constructFromFlatGeometry};
2
+ import{P as e,A as t,a as r,b as n}from"./Envelope.js";import{P as s,a as o,M as a}from"./MultiPathImpl.js";function i({type:s,vertexCount:o,vertexXY:i,vertexZ:f,vertexM:u,partCount:p,partOffsets:l,partFlags:c,segmentFlags:y,segmentIndices:A,segmentParams:g,segmentCountArc:w,segmentCountBezier:C}){const v=new m[s];if(v instanceof e)return v.setXYCoords(i[0],i[1]),f&&v.setZ(f[0]),u&&v.setM(u[0]),v;const z=new t({fromArray:i});if(v.setAttributeStreamRef(0,z),f){const e=new t({fromArray:f});v.setAttributeStreamRef(1,e)}if(u){const e=new t({fromArray:u});v.setAttributeStreamRef(2,e)}if(v instanceof a)return v.resizeNoInit(o),v;{const e=p+1,t=new r({fromArray:l,size:e}),s=new n({fromArray:c,size:e});v.setPathStreamRef(t),v.setPathFlagsStreamRef(s)}if(null==y)return v.resizeImpl(o),v;const P=new n({fromArray:y}),S=new r({fromArray:A}),x=new t({fromArray:g});return v.setSegmentData(S,x,P,g.length),v.incCurveType(4,w),v.incCurveType(2,C),v.modifyCurveCounter(w+C),v.resizeImpl(o),v}const m={point:e,multipoint:a,polyline:o,polygon:s};export{i as constructFromFlatGeometry};
@@ -8,4 +8,4 @@ import{signal as e}from"../core/signal.js";import{ScreenSpacePass as o}from"../v
8
8
  } else {
9
9
  fragColor = mask > 0.0 ? color : mix(color, 0.33 * color, fadeFactor);
10
10
  }
11
- `),e}const n=Object.freeze(Object.defineProperty({__proto__:null,FocusAreaColorPassParameters:f,build:i},Symbol.toStringTag,{value:"Module"}));export{n as F,f as a,i as b};
11
+ `),e}const n=Object.freeze(Object.defineProperty({__proto__:null,FocusAreaColorPassParameters:f,build:i},Symbol.toStringTag,{value:"Module"}));export{f as F,n as a,i as b};
@@ -1,3 +1,3 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
2
  import{translate as r}from"../core/libs/gl-matrix-2/math/mat4.js";import{create as e}from"../core/libs/gl-matrix-2/factories/mat4f64.js";import{ZEROS as o}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as t}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Matrix4DrawUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js";import{NoParameters as a}from"../views/webgl/NoParameters.js";import{ShaderBuilder as n}from"../views/webgl/ShaderBuilder.js";class m extends a{constructor(){super(...arguments),this.origin=o}}function l(){const e=new n;return e.attributes.add("position","vec3"),e.outputs.add("fragColor","vec4",0),e.vertex.uniforms.add(new t("proj",r=>r.camera.projectionMatrix),new s("view",(e,o)=>r(d,o.camera.viewMatrix,e.origin))).main.add(i`gl_Position = proj * view * vec4(position, 1.0);
3
- gl_Position.z = min(gl_Position.z, gl_Position.w);`),e.fragment.main.add(i`fragColor = vec4(1., 0., 0., 0.);`),e}const d=e(),c=Object.freeze(Object.defineProperty({__proto__:null,FocusAreaMaskDrawParameters:m,build:l},Symbol.toStringTag,{value:"Module"}));export{c as F,m as a,l as b};
3
+ gl_Position.z = min(gl_Position.z, gl_Position.w);`),e.fragment.main.add(i`fragColor = vec4(1., 0., 0., 0.);`),e}const d=e(),c=Object.freeze(Object.defineProperty({__proto__:null,FocusAreaMaskDrawParameters:m,build:l},Symbol.toStringTag,{value:"Module"}));export{m as F,c as a,l as b};
@@ -18,4 +18,4 @@ import{create as e}from"../core/libs/gl-matrix-2/factories/vec3f64.js";import{Re
18
18
  vec3 finalFogColor = fogColor * fogAmount + emissionDistanceCorrected;
19
19
  vec4 fog = vec4(finalFogColor, fogAmount);`,a`vec4 fog = vec4(fogColor, 1.0) * fogAmount;`)}
20
20
  fragColor = delinearizeGamma(vec4(tonemapACES(fog.rgb), fog.a));
21
- `),m}const w=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:u,build:h},Symbol.toStringTag,{value:"Module"}));export{w as F,u as a,h as b};
21
+ `),m}const w=Object.freeze(Object.defineProperty({__proto__:null,FogPassParameters:u,build:h},Symbol.toStringTag,{value:"Module"}));export{u as F,w as a,h as b};
@@ -11,4 +11,4 @@ vec3 additionalLight = mainLightIntensity * additionalAmbientScale * ambientBoos
11
11
  ${T}
12
12
  float shadow = readShadow(additionalAmbientScale, fragmentPositionCameraRelative);
13
13
  shadedColor = evaluateSceneLighting(groundNormal, vColor.rgb, shadow, 0.0, additionalLight);
14
- `;return D.vertex.main.add(`\n uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));\n uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);\n uint pageNum = fetchGaussianPageIndex(gaussianIndex);\n\n // Unpack color first so very transparent splats can discard before fetching the page header.\n vColor = unpackColor(packedGaussian);\n\n // Apply per-page fading before the early alpha rejection.\n ${C(a.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n // Set default position outside clip space for early returns.\n gl_Position = ${l};\n\n if (vColor.a < ${A}) {\n return;\n }\n\n // Delay the page header fetch until the splat survives the opacity reject.\n vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);\n\n ${C(i,"\n if (cameraRelativePosition.x < clipMin.x || cameraRelativePosition.y < clipMin.y || cameraRelativePosition.z < clipMin.z ||\n cameraRelativePosition.x > clipMax.x || cameraRelativePosition.y > clipMax.y || cameraRelativePosition.z > clipMax.z) {\n return;\n }\n ")}\n\n ${C(m,"if (rejectBySlice(cameraRelativePosition)) {\n return;\n }")}\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n return;\n }\n\n vec3 covarianceA;\n vec3 covarianceB;\n computePackedGaussianCovariance3D(packedGaussian, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeGaussianCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n\n // Reject degenerate covariances before inverting them into conic coefficients.\n float determinant = computeGaussianCovarianceDeterminant(covariance2D);\n if (determinant <= 0.) {\n return;\n }\n\n vec2 eigenvalues = computeGaussianCovarianceEigenvalues(covariance2D);\n\n // Fold the per-splat opacity into the log cutoff so the vertex-side ellipse\n // bound matches the fragment alpha discard after fading.\n gaussianLogAlphaCutoff = ${B} - log(vColor.a);\n float gaussianEllipseThreshold = computeGaussianEllipseThreshold(gaussianLogAlphaCutoff);\n vec2 axisLengths = computeGaussianAxisLengths(eigenvalues, gaussianEllipseThreshold);\n float maxRadius = max(axisLengths.x, axisLengths.y);\n\n // Ignore Gaussians with very small contribution, with tolerance based on the quality profile.\n if (rejectGaussianByMinimumRadius(maxRadius, vColor.a, minSplatRadius)) {\n return;\n }\n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n vec2 clipSpacePixelScale = 2.0 * inverseScreenSize;\n\n // Cull splats whose screen-space ellipse cannot touch the viewport.\n if (rejectGaussianByScreenBounds(ndcPos.xy, maxRadius, clipSpacePixelScale)) {\n return;\n }\n\n offsetFromCenter = computeGaussianQuadOffset(covariance2D, eigenvalues, axisLengths, gl_VertexID);\n\n ${C(G(a),"float viewSpacePixelScale = -viewPos.z / focalLength;\n vec3 fragmentViewOffset = vec3(offsetFromCenter * viewSpacePixelScale, 0.0);\n fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * fragmentViewOffset;")}\n\n // Store conic coefficients with opacity for fragment-side falloff.\n vec3 conic = computeGaussianConic(covariance2D, determinant);\n conicOpacity = vec4(conic, vColor.a);\n\n // Handle environment lighting per vertex when no shadow map is active.\n // When shadows are received, defer lighting to the fragment shader for crisp shadow borders.\n ${C(L,"forwardLinearDepth(-viewPos.z);",$)}\n\n // Place this quad corner in clip space around the projected splat center.\n vec2 quadClipPosition = ndcPos.xy + offsetFromCenter * clipSpacePixelScale - inverseScreenSize;\n\n gl_Position = vec4(quadClipPosition, ndcPos.z, 1.0);\n\n `),D.fragment.include(v),D.fragment.include(g),D.fragment.include(n,a),D.fragment.main.add(`\n ${C(i,"if (fragmentPositionCameraRelative.x < clipMin.x || fragmentPositionCameraRelative.y < clipMin.y || fragmentPositionCameraRelative.z < clipMin.z ||\n fragmentPositionCameraRelative.x > clipMax.x || fragmentPositionCameraRelative.y > clipMax.y || fragmentPositionCameraRelative.z > clipMax.z) {\n discard;\n }")}\n ${C(m,"if (rejectBySlice(fragmentPositionCameraRelative)) { discard; }")}\n\n float gaussianExponent = evaluateGaussianExponent(conicOpacity.xyz, offsetFromCenter);\n\n // A positive exponent indicates alpha > 1, which should not happen.\n // We also early check the opacity-aware alpha cutoff to avoid unnecessary exp().\n if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogAlphaCutoff) {\n discard;\n }\n\n float gaussianFalloff = exp(gaussianExponent);\n\n // Cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians.\n float alpha = min(.99f, conicOpacity.w * gaussianFalloff);\n\n vec3 shadedColor = vColor.rgb;\n ${C(L,E)}\n fragColor = vec4(shadedColor * alpha, alpha);\n\n // We simulate first hit based depth using 0.25 as the opacity threshold.\n // This works because we render in front-to-back order,\n // i.e. the first hit that counts completely saturates the alpha channel\n // and further splats do not contribute.\n float depthHit = step(0.25, alpha);\n float normalizedDepth = gl_FragCoord.z;\n fragDepthColor = vec4(encodeNormalizedDepthToRGB(normalizedDepth) * depthHit, depthHit);\n `),D}function G(e){const{clippingEnabled:a,hasSlicePlane:i,receiveShadows:n}=e;return n||i||a}const z=a(),D=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:L,build:F},Symbol.toStringTag,{value:"Module"}));export{D as G,L as a,F as b};
14
+ `;return D.vertex.main.add(`\n uint gaussianIndex = fetchOrderedGaussianIndex(uint(gl_InstanceID));\n uvec4 packedGaussian = fetchPackedGaussian(gaussianIndex);\n uint pageNum = fetchGaussianPageIndex(gaussianIndex);\n\n // Unpack color first so very transparent splats can discard before fetching the page header.\n vColor = unpackColor(packedGaussian);\n\n // Apply per-page fading before the early alpha rejection.\n ${C(a.fadingEnabled,"\n uint fadingTextureWidth = uint(textureSize(splatFadingTexture, 0).x);\n uint fadeX = pageNum % fadingTextureWidth;\n uint fadeY = pageNum / fadingTextureWidth;\n uint opacityModifierByte = texelFetch(splatFadingTexture, ivec2(fadeX , fadeY), 0).r;\n float opacityModifier = float(opacityModifierByte) / 255.0;\n vColor.a *= opacityModifier;\n ")}\n\n // Set default position outside clip space for early returns.\n gl_Position = ${l};\n\n if (vColor.a < ${A}) {\n return;\n }\n\n // Delay the page header fetch until the splat survives the opacity reject.\n vec3 cameraRelativePosition = fetchGaussianCameraRelativePosition(gaussianIndex, packedGaussian);\n\n ${C(i,"\n if (cameraRelativePosition.x < clipMin.x || cameraRelativePosition.y < clipMin.y || cameraRelativePosition.z < clipMin.z ||\n cameraRelativePosition.x > clipMax.x || cameraRelativePosition.y > clipMax.y || cameraRelativePosition.z > clipMax.z) {\n return;\n }\n ")}\n\n ${C(m,"if (rejectBySlice(cameraRelativePosition)) {\n return;\n }")}\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1);\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n return;\n }\n\n vec3 covarianceA;\n vec3 covarianceB;\n computePackedGaussianCovariance3D(packedGaussian, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec3 covariance2D = computeGaussianCovariance2D(viewPos.xyz, focalLength, tanFov, covariance3D, view);\n\n // Reject degenerate covariances before inverting them into conic coefficients.\n float determinant = computeGaussianCovarianceDeterminant(covariance2D);\n if (determinant <= 0.) {\n return;\n }\n\n vec2 eigenvalues = computeGaussianCovarianceEigenvalues(covariance2D);\n\n // Fold the per-splat opacity into the log cutoff so the vertex-side ellipse\n // bound matches the fragment alpha discard after fading.\n gaussianLogAlphaCutoff = ${B} - log(vColor.a);\n float gaussianEllipseThreshold = computeGaussianEllipseThreshold(gaussianLogAlphaCutoff);\n vec2 axisLengths = computeGaussianAxisLengths(eigenvalues, gaussianEllipseThreshold);\n float maxRadius = max(axisLengths.x, axisLengths.y);\n\n // Ignore Gaussians with very small contribution, with tolerance based on the quality profile.\n if (rejectGaussianByMinimumRadius(maxRadius, vColor.a, minSplatRadius)) {\n return;\n }\n\n vec4 projPos = proj * viewPos;\n float invW = 1. / (projPos.w + 1e-7);\n vec3 ndcPos = projPos.xyz * invW;\n vec2 clipSpacePixelScale = 2.0 * inverseScreenSize;\n\n // Cull splats whose screen-space ellipse cannot touch the viewport.\n if (rejectGaussianByScreenBounds(ndcPos.xy, maxRadius, clipSpacePixelScale)) {\n return;\n }\n\n offsetFromCenter = computeGaussianQuadOffset(covariance2D, eigenvalues, axisLengths, gl_VertexID);\n\n ${C(G(a),"float viewSpacePixelScale = -viewPos.z / focalLength;\n vec3 fragmentViewOffset = vec3(offsetFromCenter * viewSpacePixelScale, 0.0);\n fragmentPositionCameraRelative = cameraRelativePosition + transpose(mat3(view)) * fragmentViewOffset;")}\n\n // Store conic coefficients with opacity for fragment-side falloff.\n vec3 conic = computeGaussianConic(covariance2D, determinant);\n conicOpacity = vec4(conic, vColor.a);\n\n // Handle environment lighting per vertex when no shadow map is active.\n // When shadows are received, defer lighting to the fragment shader for crisp shadow borders.\n ${C(L,"forwardLinearDepth(-viewPos.z);",$)}\n\n // Place this quad corner in clip space around the projected splat center.\n vec2 quadClipPosition = ndcPos.xy + offsetFromCenter * clipSpacePixelScale - inverseScreenSize;\n\n gl_Position = vec4(quadClipPosition, ndcPos.z, 1.0);\n\n `),D.fragment.include(v),D.fragment.include(g),D.fragment.include(n,a),D.fragment.main.add(`\n ${C(i,"if (fragmentPositionCameraRelative.x < clipMin.x || fragmentPositionCameraRelative.y < clipMin.y || fragmentPositionCameraRelative.z < clipMin.z ||\n fragmentPositionCameraRelative.x > clipMax.x || fragmentPositionCameraRelative.y > clipMax.y || fragmentPositionCameraRelative.z > clipMax.z) {\n discard;\n }")}\n ${C(m,"if (rejectBySlice(fragmentPositionCameraRelative)) { discard; }")}\n\n float gaussianExponent = evaluateGaussianExponent(conicOpacity.xyz, offsetFromCenter);\n\n // A positive exponent indicates alpha > 1, which should not happen.\n // We also early check the opacity-aware alpha cutoff to avoid unnecessary exp().\n if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogAlphaCutoff) {\n discard;\n }\n\n float gaussianFalloff = exp(gaussianExponent);\n\n // Cap at 0.99 to avoid blending issues, such as seams between overlapping Gaussians.\n float alpha = min(.99f, conicOpacity.w * gaussianFalloff);\n\n vec3 shadedColor = vColor.rgb;\n ${C(L,E)}\n fragColor = vec4(shadedColor * alpha, alpha);\n\n // We simulate first hit based depth using 0.25 as the opacity threshold.\n // This works because we render in front-to-back order,\n // i.e. the first hit that counts completely saturates the alpha channel\n // and further splats do not contribute.\n float depthHit = step(0.25, alpha);\n float normalizedDepth = gl_FragCoord.z;\n fragDepthColor = vec4(encodeNormalizedDepthToRGB(normalizedDepth) * depthHit, depthHit);\n `),D}function G(e){const{clippingEnabled:a,hasSlicePlane:i,receiveShadows:n}=e;return n||i||a}const z=a(),D=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatPassParameters:L,build:F},Symbol.toStringTag,{value:"Module"}));export{L as G,D as a,F as b};
@@ -38,4 +38,4 @@ return;
38
38
  }`)}\n\n vec4 viewPos = vec4(mat3(view) * cameraRelativePosition, 1.0);\n\n if (viewPos.z > -nearFar.x || viewPos.z < -nearFar.y) {\n return;\n }\n\n vec3 covarianceA;\n vec3 covarianceB;\n computePackedGaussianCovariance3D(packedGaussian, covarianceA, covarianceB);\n\n float covariance3D[6] = float[6](covarianceA.x, covarianceA.y, covarianceA.z, covarianceB.x, covarianceB.y, covarianceB.z);\n\n vec4 projPos = proj * viewPos;\n float safeW = safeClipW(projPos.w);\n float invWSquared = 1.0 / (safeW * safeW);\n vec2 halfScreenSize = 0.5 / inverseScreenSize;\n float maxShadowSplatRadius = max(halfScreenSize.x, halfScreenSize.y);\n\n // Projection matrix columns are the clip-space derivatives with respect to view-space xyz.\n vec3 clipWGradient = vec3(proj[0][3], proj[1][3], proj[2][3]);\n vec3 pixelXGradient = computeProjectivePixelGradient(\n vec3(proj[0][0], proj[1][0], proj[2][0]),\n clipWGradient,\n projPos.x,\n safeW,\n invWSquared,\n halfScreenSize.x\n );\n vec3 pixelYGradient = computeProjectivePixelGradient(\n vec3(proj[0][1], proj[1][1], proj[2][1]),\n clipWGradient,\n projPos.y,\n safeW,\n invWSquared,\n halfScreenSize.y\n );\n vec3 covariance2D = computeProjectiveCovariance2D(pixelXGradient, pixelYGradient, covariance3D, view);\n\n float determinant = computeGaussianCovarianceDeterminant(covariance2D);\n if (determinant <= 0.0) {\n return;\n }\n\n vec2 eigenvalues = computeGaussianCovarianceEigenvalues(covariance2D);\n\n gaussianLogAlphaCutoff = ${D} - log(opacity);\n float gaussianEllipseThreshold = computeGaussianEllipseThreshold(gaussianLogAlphaCutoff);\n vec2 axisLengths = computeGaussianAxisLengths(eigenvalues, gaussianEllipseThreshold);\n float maxRadius = max(axisLengths.x, axisLengths.y);\n\n // Avoid invalid/extremely large footprints.\n if (maxRadius < 0.0 || maxRadius > maxShadowSplatRadius) {\n return;\n }\n\n if (rejectGaussianByMinimumRadius(maxRadius, opacity, minSplatRadius)) {\n return;\n }\n\n vec3 ndcPos = projPos.xyz / safeW;\n vec2 clipSpacePixelScale = 2.0 * inverseScreenSize;\n\n if (rejectGaussianByScreenBounds(ndcPos.xy, maxRadius, clipSpacePixelScale)) {\n return;\n }\n\n offsetFromCenter = computeGaussianQuadOffset(covariance2D, eigenvalues, axisLengths, gl_VertexID);\n conic = computeGaussianConic(covariance2D, determinant);\n float linearDepth = (-viewPos.z - nearFar.x) / (nearFar.y - nearFar.x);\n float biasedDepth = biasDepth(linearDepth);\n\n vec2 clipPos = ndcPos.xy + offsetFromCenter * clipSpacePixelScale - inverseScreenSize;\n gl_Position = vec4(clipPos, biasedDepth * 2.0 - 1.0, 1.0);\n `),S.include(c),S.main.add(m`float gaussianExponent = evaluateGaussianExponent(conic, offsetFromCenter);
39
39
  if (gaussianExponent > 0.0 || gaussianExponent < gaussianLogAlphaCutoff) {
40
40
  discard;
41
- }`),w}const P=a(),j=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatShadowPassParameters:w,build:S},Symbol.toStringTag,{value:"Module"}));export{j as G,w as a,S as b};
41
+ }`),w}const P=a(),j=Object.freeze(Object.defineProperty({__proto__:null,GaussianSplatShadowPassParameters:w,build:S},Symbol.toStringTag,{value:"Module"}));export{w as G,j as a,S as b};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as t,__disposeResources as e}from"tslib";import{r as i,G as s,g as n,q as o,D as a,e as m}from"./Geometry.js";import{f as r,P as u}from"./MultiPathImpl.js";import{e as h,W as c,m as l,av as _,a1 as p,i as d,k as g,u as x,az as y,a8 as P,H as S,aN as f,B as D,ao as G,aw as v}from"./SpatialReference.js";import{h as T,r as b}from"./Envelope.js";import{Envelope2D as w}from"./Envelope2D.js";import{P as M,aG as E,ab as R,a as I,t as C}from"./Point2D.js";import{T as B}from"./Transformation2D.js";import{s as A,w as q,m as N}from"./Distance2DCalculator-CXhBP-8I.js";import{O as F}from"./OperatorShapePreservingDensify.js";import{O as X}from"./OperatorClip.js";function Y(){return new w}class k{[Symbol.dispose](){this.m_peR1.destroy(),this.m_peR2.destroy(),this.m_peR3.destroy(),this.m_peR1=null,this.m_peR2=null,this.m_peR3=null}constructor(t,e,i){this.m_peR1=new l,this.m_peR2=new l,this.m_peR3=new l,void 0!==t?this.reset(t,e,i):this.reset(1,0,1)}reset(t,e,i){this.m_a=t,this.m_e2=e,this.m_b=this.m_a*Math.sqrt(1-this.m_e2),this.m_unitToDegree=i,this.m_unitToRad=.017453292519943295*i,this.m_u180=180/this.m_unitToDegree,this.m_u360=360/this.m_unitToDegree}calculateBbox(t,e,i,s){const n=this.m_peR1,o=this.m_peR2,a=this.m_peR3;_.geodeticDistance(this.m_a,this.m_e2,t*this.m_unitToRad,e*this.m_unitToRad,i*this.m_unitToRad,s*this.m_unitToRad,a,n,o,0);const m=Math.cos(n.val),r=Math.cos(o.val+3.141592653589793),u=e*this.m_unitToRad,h=v.phiToEta(this.m_e2,u),c=Math.sin(n.val)*Math.cos(h);let l=e;if(m*r<0){const t=m<0?-1:1,e=Math.acos(Math.abs(c))*t;l=v.etaToPhi(this.m_e2,e)/this.m_unitToRad}let p=C((i-t)*this.m_unitToRad,2*Math.PI);Math.abs(p)>Math.PI&&(p=p>0?p-2*Math.PI:p+2*Math.PI),p/=this.m_unitToRad,i=t+p;const d=Y();return d.xmin=Math.min(t,i),d.xmax=Math.max(t,i),d.ymin=Math.min(e,s),d.ymin=Math.min(d.ymin,l),d.ymax=Math.max(e,s),d.ymax=Math.max(d.ymax,l),d}minDistanceGeodesic(t,e){const i=O(t),s=O(e);if(i&&s)return this.lowerDistanceGeodetic_(t.xmin,t.ymin,e.xmin,e.ymin);const n=this.normalizeGeodesic_(e,t);return U(t,n)?t.ymin>=n.ymax?this.minDistanceGeodesicUpDown_(t,n):n.ymin>=t.ymax?this.minDistanceGeodesicUpDown_(n,t):t.xmin>n.xmax?this.minDistanceGeodesicLeftRight_(n,t):this.minDistanceGeodesicLeftRight_(t,n):0}normalizeGeodesic_(t,e){const i=t.clone(),s=t.clone();let n=V(i,e);if(0===n)return i;for(;s.xmax>e.xmin;){s.xmin-=this.m_u360,s.xmax-=this.m_u360;const t=V(s,e);if(t<n&&(i.assign(s),n=t,0===n))return i}for(s.assign(t);s.xmin<e.xmax;){s.xmin+=this.m_u360,s.xmax+=this.m_u360;const t=V(s,e);if(t<n&&(i.assign(s),n=t,0===n))return i}return i}lowerDistanceGeodetic_(t,e,i,s){const n=this.m_peR1;{const o=this.m_b*this.m_b/this.m_a,a=v.phiToPhig(this.m_e2,this.m_unitToRad*e),m=v.phiToPhig(this.m_e2,this.m_unitToRad*s);_.geodeticDistance(o,0,this.m_unitToRad*t,a,this.m_unitToRad*i,m,n,null,null,0)}return n.val}minDistanceGeodesicUpDown_(t,e){if(e.xmin<=t.xmin?e.xmax>=t.xmin:t.xmax>=e.xmin)return this.lowerDistanceGeodetic_(0,t.ymin,0,e.ymax);if(e.xmin>t.xmax){const i=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);if(e.xmax-t.xmin<this.m_u180)return i;const s=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);return Math.min(i,s)}{const i=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);if(t.xmax-e.xmin<this.m_u180)return i;const s=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);return Math.min(i,s)}}minDistanceGeodesicLeftRight_(t,e){let i=Math.abs(t.xmax-e.xmin);for(;i>this.m_u180;)i-=this.m_u360;let s=Math.abs(t.xmin-e.xmax);for(;s>this.m_u180;)s-=this.m_u360;return Math.abs(i)<=Math.abs(s)?this.minDistanceGeodesicLeftRightNormalized_(t,e):this.minDistanceGeodesicLeftRightNormalized_(e,t)}minDistanceGeodesicLeftRightNormalized_(t,e){let i,s;return i=this.lowerDistanceGeodetic_(t.xmax,t.ymin,e.xmin,e.ymin),t.ymin>=e.ymin&&t.ymin<=e.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymin,e.xmin,e.ymin,e.ymax),i=Math.min(i,s)),e.ymin>=t.ymin&&e.ymin<=t.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymin,t.xmax,t.ymin,t.ymax),i=Math.min(i,s)),s=this.lowerDistanceGeodetic_(t.xmax,t.ymax,e.xmin,e.ymax),i=Math.min(i,s),t.ymax>=e.ymin&&t.ymax<=e.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymax,e.xmin,e.ymin,e.ymax),i=Math.min(i,s)),e.ymax>=t.ymin&&e.ymax<=t.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymax,t.xmax,t.ymin,t.ymax),i=Math.min(i,s)),i}lowerDistanceGeodeticSegMeridional_(t,e,i,s,n,o){let a=this.lowerDistanceGeodeticPtMeridional_(t,e,s,n,o);const m=this.lowerDistanceGeodeticPtMeridional_(t,i,s,n,o);let r=this.lowerDistanceGeodeticPtMeridional_(s,n,t,e,i);const u=this.lowerDistanceGeodeticPtMeridional_(s,o,t,e,i);return a=Math.min(a,m),r=Math.min(r,u),Math.min(a,r)}lowerDistanceGeodeticPtMeridional_(t,e,i,s,n){const o=this.m_b*this.m_b/this.m_a,a=v.phiToPhig(this.m_e2,this.m_unitToRad*e),m=v.phiToPhig(this.m_e2,this.m_unitToRad*s),r=v.phiToPhig(this.m_e2,this.m_unitToRad*n),u=this.m_peR1,h=this.m_peR2;_.geodeticDistance(o,0,this.m_unitToRad*i,m,this.m_unitToRad*t,a,u,null,null,0),_.geodeticDistance(o,0,this.m_unitToRad*i,r,this.m_unitToRad*t,a,h,null,null,0);const c=p(1,0,new M(this.m_unitToRad*t,a)),l=p(1,0,new M(this.m_unitToRad*i,m)),d=p(1,0,new M(this.m_unitToRad*i,r));let g=new T;g.setCrossProductVector(l,d);const x=l.dotProduct(d);if(g.length()<1.568e-10)return x>=0?Math.min(u.val,h.val):0;g=g.getUnitVector();let y=new T;if(y.setCrossProductVector(g,c),y.length()<1.568e-10){return Math.min(u.val,h.val)-1e-5*o}y=y.getUnitVector();let P=c.sub(g.mul(c.dotProduct(g)));{const e=new T;e.setCrossProductVector(l,P);const i=new T;i.setCrossProductVector(P,d);let s=g.dotProduct(e)>0&&g.dotProduct(i)>0;if(s||(P.negateThis(),e.setCrossProductVector(l,P),i.setCrossProductVector(P,d),s=g.dotProduct(e)>0&&g.dotProduct(i)>0),s){P=P.getUnitVector();const e=D(1,0,P),i=this.m_peR3;_.geodeticDistance(o,0,this.m_unitToRad*t,a,e.x,e.y,i,null,null,0);const s=Math.min(u.val,h.val);return Math.min(s,i.val)}}return Math.min(u.val,h.val)}}function O(t){return t.xmin===t.xmax&&t.ymin===t.ymax}function U(t,e){return e.xmax<t.xmin||e.xmin>t.xmax||e.ymax<t.ymin||e.ymin>t.ymax}function V(t,e){let i,s=0;return i=t.xmin-e.xmax,i>s&&(s=i),i=e.xmin-t.xmax,i>s&&(s=i),s}class L{}function j(t){return{outPoint:void 0===t?new M:t.clone()}}function z(t,e){t.outPoint.assign(e.outPoint)}function H(){return new w}class W{constructor(t,e,i,s,n=0,o=4){this.m_ptDistFrom=new M,this.m_segStartPt=new M,this.m_segEndPt=new M,this.m_geodeticLength=new l,this.m_az12=new l,this.m_minGeodeticDist=new l,this.m_segStartPt3d=new T,this.m_segEndPt3d=new T,this.m_sr=s,this.m_distCurveType=n,this.m_segCurveType=o,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=2===this.m_sr.getCoordinateSystemType()&&this.m_sr.isPannable();const a=G();this.m_inputGCS.querySpheroidData(a),this.m_a=a.majorSemiAxis,this.m_eSquared=a.e2,this.setPointDistFrom(t),this.setSegmentEndPoints(e,i)}setSegmentEndPoints(t,e){this.m_segStartPt.assign(t),this.m_segEndPt.assign(e),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),2===this.m_segCurveType&&(this.m_segStartPt3d.assign(p(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign(p(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(t){this.m_ptDistFrom.assign(t),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(t){this.m_segCurveType=t}setDistanceCurveType(t){this.m_distCurveType=t}makeFunctor(){return i=>{let s;switch(this.m_segCurveType){case 0:case 1:case 3:{const o={stack:[],error:void 0,hasError:!1};try{const e=t(o,new l,!1),n=t(o,new l,!1);_.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*i,this.m_az12.val,e,n,this.m_segCurveType),s=new M(e.val,n.val);break}catch(n){o.error=n,o.hasError=!0}finally{e(o)}}case 2:{const t=T.lerp(this.m_segStartPt3d,this.m_segEndPt3d,i);s=D(this.m_a,this.m_eSquared,t);break}case 4:s=M.lerp(this.m_segStartPt,this.m_segEndPt,i),this.m_bIsPannablePcs&&(g(this.m_sr,0,[s],1),s.mulThis(this.m_rpu));break;default:o("Invalid curve type")}return _.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,s.x,s.y,this.m_minGeodeticDist,null,null,this.m_distCurveType),this.m_minGeodeticDist.val}}calculateAndUpdateSegmentLength(){switch(this.m_segCurveType){case 0:case 2:case 1:case 3:_.geodeticDistance(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_segEndPt.x,this.m_segEndPt.y,this.m_geodeticLength,this.m_az12,null,this.m_segCurveType);break;case 4:this.m_geodeticLength.val=M.distance(this.m_segStartPt,this.m_segEndPt);break;default:o("Invalid curve type")}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}function J(){return new L}class K{[Symbol.dispose](){this.m_envHelper[Symbol.dispose]()}constructor(t,e,i,s,n){this.m_boxGeomA=H(),this.m_boxGeomB=H(),this.m_envGeomA=new w,this.m_envGeomB=new w,this.m_progressCounter=0,this.m_transformPCS2GCS=null,this.m_segmentBoxesA=new Map,this.m_segmentBoxesB=new Map,this.m_boundaryPtsA=[],this.m_boundaryPtsB=[],this.m_scaleToRadians=new B,this.m_scaleToDegrees=new B,this.m_inputSR=t,this.m_distCurveType=e,this.m_progressTracker=i,this.m_maxDistance=s,this.m_maxDeviation=n,this.m_inputGCS=t.getGCS(),this.m_peGeogcs=this.m_inputGCS.getPECoordSys(),this.m_tolerance=0;const o=G();this.m_inputGCS.querySpheroidData(o),this.m_a=o.majorSemiAxis,this.m_eSquared=o.e2,this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_envHelper=new k(this.m_a,this.m_eSquared,1),4===this.m_distCurveType&&(this.m_distCurveType=0),this.m_boxGeomA.setEmpty(),this.m_boxGeomB.setEmpty(),this.m_envGeomA.setEmpty(),this.m_envGeomB.setEmpty(),this.m_bIsPannablePcs=2===this.m_inputSR.getCoordinateSystemType()&&this.m_inputSR.isPannable()}progress(t=!1){}calculate(t,e,i,s){const n=j(),o=j();if(t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.checkGeometriesIntersect(t,e,n,o))return i&&z(i,n),s&&z(s,o),0;const a=this.prepareGeometry(t);if(a.isEmpty())return Number.NaN;const m=this.prepareGeometry(e);if(m.isEmpty())return Number.NaN;this.m_tolerance=this.computeTolerance(a,m);const r=this._ExecuteBruteForce(a,m,n,o);return r>=this.m_maxDistance?Number.NaN:(i&&(this.prepareOutput(n),z(i,n)),s&&(this.prepareOutput(o),z(s,o)),r)}createDistanceFunctor(t,e,i){const s=new W(t,e,i,this.m_inputSR,this.m_distCurveType);return this.m_bIsPannablePcs||1===this.m_inputSR.getCoordinateSystemType()||s.setSegmentCurveType(2),s}_NormalizeAndProject(t){if(this.m_inputSR.isPannable()&&(t=(new h).foldInto360Range(t,this.m_inputSR)),2===this.m_inputSR.getCoordinateSystemType()){const e=c(this.m_inputSR,this.m_inputGCS,null);t=(new h).execute(t,e,this.m_progressTracker)}return t}_ExecuteBruteForce(t,e,n,o){switch(t.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointGeometry(t,e,n,o);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointGeometry(t,e,n,o);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipathGeometry(t,e,n,o);default:i("")}}calculateDistanceGeodeticPointGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointPoint(t,e,n,o);case s.enumMultiPoint:return this.calculateDistanceGeodeticPointMultipoint(t,e,n,o);case s.enumPolyline:case s.enumPolygon:return this.calculateDistanceGeodeticPointMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticPointPoint(i,s,n,o){const a={stack:[],error:void 0,hasError:!1};try{const e=i.getXY();e.scale(this.m_rpu);const m=s.getXY();m.scale(this.m_rpu),n.outPoint.assign(e),o.outPoint.assign(m);const r=t(a,new l,!1);return _.geodeticDistance(this.m_a,this.m_eSquared,e.x,e.y,m.x,m.y,r,null,null,this.m_distCurveType),r.val}catch(m){a.error=m,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticPointMultipoint(i,s,n,o){const a={stack:[],error:void 0,hasError:!1};try{this.computeEnvelopesAndBoxes(i,s);const e=this.estimateMinimumDistance(n,o);let m=e<this.m_maxDistance?e:this.m_maxDistance;const r=i.getXY();r.scale(this.m_rpu),n.outPoint.assign(r);const u=p(this.m_a,this.m_eSquared,r),h=new M,c=s.getImpl(),d=t(a,new l,!1),g=c.getPointCount();for(let t=0;t<g;++t){c.queryXY(t,h),h.scale(this.m_rpu);const e=p(this.m_a,this.m_eSquared,h);if(!(T.distance(u,e)>m)&&(!(this.m_envHelper.minDistanceGeodesic(this.m_boxGeomA,this.m_boxGeomB)>m)&&(_.geodeticDistance(this.m_a,this.m_eSquared,r.x,r.y,h.x,h.y,d,null,null,this.m_distCurveType),d.val<m&&(m=d.val,o.outPoint=h,0===m))))return m}return m===this.m_maxDistance?Number.POSITIVE_INFINITY:m}catch(m){a.error=m,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticPointMultipath(i,s,o,a){const m={stack:[],error:void 0,hasError:!1};try{const e=new M,r=new M;e.assign(i.getXY()),r.assign(i.getXY()),o.outPoint.assign(r.mul(this.m_rpu)),this.m_bIsPannablePcs&&d(this.m_inputSR,[e],1,!1),this.computeEnvelopesAndBoxes(i,s);const u=this.estimateMinimumDistance(o,a);let h=u<this.m_maxDistance?u:this.m_maxDistance;const c=s.getImpl(),l=new M(0,0),_=new M(0,0),p=[1],g=this.canUseSpatialTree(i,s),x=J();g&&this.buildSpatialTree(x,s);const y=H();y.setCoords({xmin:r.x,ymin:r.y,xmax:r.x,ymax:r.y});const P=t(m,this.createDistanceFunctor(r,l,_),!1),S=c.querySegmentIterator();if(S.stripAttributes(),g)n(0);else for(;S.nextPath();)for(;S.hasNextSegment();){const t=S.nextSegment(),i=this.findOrComputeBoxSegment(S.getStartPointIndex(),t,this.m_segmentBoxesB);if(this.m_envHelper.minDistanceGeodesic(y,i)>h)continue;const s=this.calculateDistanceGeodeticPointSegment(e,r,t,p,P);if(s.second<h&&(this.updateOutputSegment(a,t,s.first),h=s.second,0===h))return 0}return h===this.m_maxDistance?Number.POSITIVE_INFINITY:h}catch(r){m.error=r,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticMultipointGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointMultipoint(e,t,o,n);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipoint(t,e,n,o);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipointMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticMultipointMultipoint(i,s,n,o){const a={stack:[],error:void 0,hasError:!1};try{const e=t(a,new l,!1);this.computeEnvelopesAndBoxes(i,s);const m=this.estimateMinimumDistance(n,o);let r=m<this.m_maxDistance?m:this.m_maxDistance;const u=new M,h=new M,c=i.getImpl(),d=s.getImpl(),g=H(),x=c.getPointCount(),y=d.getPointCount();for(let t=0;t<x;++t){if(u.assign(c.getXY(t)),g.setCoords({xmin:u.x,ymin:u.y,xmax:u.x,ymax:u.y}),this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>r)continue;u.scale(this.m_rpu);const i=p(this.m_a,this.m_eSquared,u);for(let t=0;t<y;++t){h.assign(d.getXY(t)),h.scale(this.m_rpu);const s=p(this.m_a,this.m_eSquared,h);if(!(T.distance(i,s)>=r)&&(_.geodeticDistance(this.m_a,this.m_eSquared,u.x,u.y,h.x,h.y,e,null,null,this.m_distCurveType),e.val<r&&(n.outPoint.assign(u),o.outPoint.assign(h),r=e.val,0===r)))return r}}return r===this.m_maxDistance?Number.POSITIVE_INFINITY:r}catch(m){a.error=m,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticMultipointMultipath(i,s,o,a){const m={stack:[],error:void 0,hasError:!1};try{const e=s.getImpl().querySegmentIterator();e.stripAttributes(),this.computeEnvelopesAndBoxes(i,s);const r=this.estimateMinimumDistance(o,a);let u=r<this.m_maxDistance?r:this.m_maxDistance;const h=new M,c=new M(0,0),l=new M(0,0),_=new M(0,0),p=[0],g=H(),x=t(m,this.createDistanceFunctor(c,l,_),!1),y=J(),P=this.canUseSpatialTree(i,s);P&&this.buildSpatialTree(y,s);const S=i.getPointCount();for(let t=0;t<S;++t)if(h.assign(i.getXY(t)),c.assign(i.getXY(t)),this.m_bIsPannablePcs&&d(this.m_inputSR,[h],1,!1),g.setCoords({xmin:c.x,ymin:c.y,xmax:c.x,ymax:c.y}),!(this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>u))if(x.setPointDistFrom(c),P)n(0);else{for(;e.nextPath();)for(;e.hasNextSegment();){const t=e.nextSegment();if(this.m_envHelper.minDistanceGeodesic(g,this.findOrComputeBoxSegment(e.getStartPointIndex(),t,this.m_segmentBoxesB))>u)continue;const i=this.calculateDistanceGeodeticPointSegment(h,c,t,p,x);if(i.second<u&&(o.outPoint.assign(c.mul(this.m_rpu)),this.updateOutputSegment(a,t,i.first),u=i.second,0===u))return 0}e.resetToFirstPath()}return u===this.m_maxDistance?Number.POSITIVE_INFINITY:u}catch(r){m.error=r,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticMultipathGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointMultipath(e,t,o,n);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipath(e,t,o,n);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipathMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticMultipathMultipath(t,e,i,s){const n=[t],o=[e],a=this.swapGeometries(n,o),m=n[0],r=o[0];this.computeEnvelopesAndBoxes(n[0],o[0]);const u=this.estimateMinimumDistance(i,s),h=this.calculateDistanceGeodeticMultipathMultipath_(m,r,i,s,u);return a&&(s.outPoint=E(i.outPoint,i.outPoint=s.outPoint)),h}calculateDistanceGeodeticMultipathMultipath_(i,s,o,a,m=Number.MAX_VALUE){const u={stack:[],error:void 0,hasError:!1};try{let e=m;const h=new M(0,0),c=new M,l=new M(0,0),_=new M,p=new M(0,0),d=new M,y=new M,P=new M,S=[new M],f=[0],D=[0],G=H(),v=H(),T=t(u,this.createDistanceFunctor(p,h,l),!1),b=J(),w=this.canUseSpatialTree(i,s);w&&this.buildSpatialTree(b,s);const E=s.querySegmentIterator();E.stripAttributes();const R=new r,I=A(i);for(let t=0;t<I.length;++t){const s=I[t];i.getSegmentBuffer(s,R,!0);const m=R.get();if(G.assign(this.findOrComputeBoxSegment(s,m,this.m_segmentBoxesA)),w)n(0);else{if(p.assign(m.getStartXY()),d.assign(m.getStartXY()),y.assign(m.getEndXY()),P.assign(m.getEndXY()),this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[d],1),g(this.m_inputSR,0,[P],1)),this.m_envHelper.minDistanceGeodesic(G,this.m_boxGeomB)>e)continue;for(;E.nextPath();){for(;E.hasNextSegment();){const t=E.nextSegment();if(h.assign(t.getStartXY()),c.assign(t.getStartXY()),l.assign(t.getEndXY()),_.assign(t.getEndXY()),m.intersect(t,S,f,D,this.m_tolerance))return this.updateOutputSegment(o,m,f[0]),this.updateOutputSegment(a,t,D[0]),0;if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[c],1),g(this.m_inputSR,0,[_],1)),v.assign(this.findOrComputeBoxPoint(E.getStartPointIndex(),c,_,this.m_segmentBoxesB)),this.m_envHelper.minDistanceGeodesic(G,v)>e)continue;T.setSegmentEndPoints(h,l),T.setPointDistFrom(d);let i=x(T.makeFunctor(),0,1,1e-10);if(i.second<e&&(o.outPoint.assign(d.mul(this.m_rpu)),this.updateOutputSegment(a,t,i.first),e=i.second,0===e))break;if(T.setPointDistFrom(P),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(o.outPoint.assign(P.mul(this.m_rpu)),this.updateOutputSegment(a,t,i.first),e=i.second,0===e))break;if(T.setSegmentEndPoints(p,y),T.setPointDistFrom(c),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(this.updateOutputSegment(o,m,i.first),a.outPoint.assign(c.mul(this.m_rpu)),e=i.second,0===e))break;if(T.setPointDistFrom(_),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(this.updateOutputSegment(o,m,i.first),a.outPoint.assign(_.mul(this.m_rpu)),e=i.second,0===e))break}if(0===e)return 0}E.resetToFirstPath()}}return e===this.m_maxDistance?Number.POSITIVE_INFINITY:e}catch(h){u.error=h,u.hasError=!0}finally{e(u)}}calculateDistanceGeodeticPointSegment(t,e,i,s,n){const o=i.getStartXY(),a=i.getEndXY();return i.intersectPoint(t,s,this.m_tolerance)?R(s[0],0):(n.setPointDistFrom(e),n.setSegmentEndPoints(o,a),x(n.makeFunctor(),0,1,1e-10))}prepareGeometry(t){let e=t.clone();const i=t.getGeometryType();if(i===s.enumPoint||i===s.enumMultiPoint)return this._NormalizeAndProject(e);if(i===s.enumEnvelope&&(e=this.envelopeToPolygon(e)),this.m_inputSR.isPannable())return this.prepareGeometryPannable(e,4);if(2===this.m_inputSR.getCoordinateSystemType()){if(e=y(e,this.m_inputSR,0,null),e.isEmpty())return e;e=(new F).execute(e,this.m_inputSR,5e4,this.m_maxDeviation/2,0,null);const t=this.m_inputSR.getSRToGCSTransform();return(new h).execute(e,t,this.m_progressTracker)}const n=new w;e.queryLooseEnvelope(n);const o=this.m_inputSR.getPannableExtent();if(n.ymin<o.ymin||n.ymax>o.ymax){const t=new w(n.xmin-1,o.ymin,n.xmax+1,o.ymax);if(e=(new X).execute(e,t,this.m_inputSR,this.m_progressTracker),e.isEmpty())return e}return n.width()>2*o.width()?(e=P(e,-2*o.width(),2*o.width(),this.m_inputSR,!0,0,!0,this.m_progressTracker),e):e}prepareGeometryPannable(t,e){const i=new w;t.queryEnvelope(i);const s=this.m_inputSR.getPannableExtent();if(s.containsEnvelope(i))return t;const n=new I;s.queryIntervalX(n);const o=new I;return i.queryIntervalX(o),t=n.contains(o)?S(t,this.m_inputSR):(new h).foldInto360RangeGeodetic(t,this.m_inputSR,e)}prepareOutput(t){t.outPoint.scale(1/this.m_rpu),2===this.m_inputSR.getCoordinateSystemType()&&d(this.m_inputSR,[t.outPoint],1,!1)}updateOutputSegment(t,e,i){e.queryCoord2D(i,t.outPoint),this.m_bIsPannablePcs&&g(this.m_inputSR,0,[t.outPoint],1),t.outPoint.mulThis(this.m_rpu)}computeTolerance(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB);const i=new w(this.m_envGeomA);return i.mergeEnvelope2D(this.m_envGeomB),b(null,i)}envelopeToPolygon(t){const e=new u;return e.addEnvelope(t,!1),e}computeEnvelopesAndBoxes(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.m_boxGeomA=this.computeBoxGeometry(t,this.m_boundaryPtsA,this.m_segmentBoxesA),this.m_boxGeomB=this.computeBoxGeometry(e,this.m_boundaryPtsB,this.m_segmentBoxesB)}computeBoxGeometry(t,e,i){switch(t.getGeometryType()){case s.enumPoint:return this.computeBoxPoint(t,e);case s.enumMultiPoint:return this.computeBoxMultiPoint(t,e);case s.enumPolyline:case s.enumPolygon:return this.computeBoxMultiPath(t,e,i);default:o("Invalid geometry type")}}computeBoxPoint(t,e){const i=t.getXY();e.length=0,e.push(i.mul(this.m_rpu));const s=H();return s.setCoords({xmin:i.x,ymin:i.y,xmax:i.x,ymax:i.y}),s}computeBoxMultiPoint(t,e){let i=!0;for(let n=0;n<t.getPointCount();++n){const s=t.getXY(n);if(i){e.length=0;for(let t=0;t<4;++t)e.push(s.clone());i=!1}s.x<e[0].x&&e[0].assign(s),s.y>e[1].y&&e[1].assign(s),s.x>e[2].x&&e[2].assign(s),s.y<e[3].y&&e[3].assign(s)}for(let n=0;n<e.length;++n)e[n].mulThis(this.m_rpu);const s=H();return t.queryEnvelope(s),s}computeBoxMultiPath(t,e,i){let s=!0;const n=H();n.setEmpty();const o=t.querySegmentIterator();for(o.stripAttributes();o.nextPath();)for(;o.hasNextSegment();){const t=o.nextSegment(),a=t.getStartXY(),m=t.getEndXY();if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[a],1),g(this.m_inputSR,0,[m],1)),s){for(let t=0;t<4;++t)e.push(a.clone());s=!1}a.x<e[0].x&&e[0].assign(a),a.y>e[1].y&&e[1].assign(a),a.x>e[2].x&&e[2].assign(a),a.y<e[3].y&&e[3].assign(a),m.x<e[0].x&&e[0].assign(m),m.y>e[1].y&&e[1].assign(m),m.x>e[2].x&&e[2].assign(m),m.y<e[3].y&&e[3].assign(m);const r=this.findOrComputeBoxPoint(o.getStartPointIndex(),a,m,i);n.mergeEnvelope2D(r)}for(let a=0;a<e.length;++a)e[a].mulThis(this.m_rpu);return n}findOrComputeBoxSegment(t,e,i){if(!i.has(t)){let s=H();if(e.queryEnvelope(s),this.m_bIsPannablePcs){const t=M.construct(s.xmin,s.ymin),e=M.construct(s.xmax,s.ymax);g(this.m_inputSR,0,[t],1),g(this.m_inputSR,0,[e],1),s=this.m_envHelper.calculateBbox(t.x,t.y,e.x,e.y)}return i.set(t,s),s}return i.get(t)}findOrComputeBoxPoint(t,e,i,s){if(!s.has(t)){let n=H();return n.setCoords({xmin:e.x,ymin:e.y,xmax:i.x,ymax:i.y}),this.m_bIsPannablePcs&&(n=this.m_envHelper.calculateBbox(n.xmin,n.ymin,n.xmax,n.ymax)),s.set(t,n),n}return s.get(t)}estimateMinimumDistance(i,s){const n={stack:[],error:void 0,hasError:!1};try{const e=t=>p(this.m_a,this.m_eSquared,t),o=this.m_boundaryPtsA.map(e),a=this.m_boundaryPtsB.map(e);let m=Number.MAX_VALUE,r=0,u=0;for(let t=0;t<o.length;++t)for(let e=0;e<a.length;++e){const i=T.distance(o[t],a[e]);i<m&&(m=i,r=t,u=e)}i.outPoint.assign(this.m_boundaryPtsA[r]),s.outPoint.assign(this.m_boundaryPtsB[u]);const h=t(n,new l,!1);return _.geodeticDistance(this.m_a,this.m_eSquared,this.m_boundaryPtsA[r].x,this.m_boundaryPtsA[r].y,this.m_boundaryPtsB[u].x,this.m_boundaryPtsB[u].y,h,null,null,this.m_distCurveType),h.val}catch(o){n.error=o,n.hasError=!0}finally{e(n)}}swapGeometries(t,e){return a(t[0])>a(e[0])&&(e[0]=E(t[0],t[0]=e[0]),this.m_envGeomB=E(this.m_envGeomA,this.m_envGeomA=this.m_envGeomB),!0)}canUseSpatialTree(t,e){return!1}checkGeometriesIntersect(t,e,i,n){let o=t.getGeometryType(),a=e.getGeometryType();if(this.m_envGeomA.isIntersecting(this.m_envGeomB)){if(o===s.enumPoint&&2===e.getDimension()){const s=[0],o=[t.getXY()];if(f(e,o,1,this.m_tolerance,s),0!==s[0])return i.outPoint.assign(o[0]),n.outPoint.assign(o[0]),!0}else if(a===s.enumPoint&&2===t.getDimension()){const s=[2],o=[e.getXY()];if(f(t,o,1,this.m_tolerance,s),0!==s[0])return i.outPoint.assign(o[0]),n.outPoint.assign(o[0]),!0}if(o===s.enumMultiPoint&&2===e.getDimension())return this.multipointIntersectsArea(t,e,i,n);if(a===s.enumMultiPoint&&2===t.getDimension())return this.multipointIntersectsArea(e,t,n,i);let r,u,h=t,c=e;if(o===s.enumEnvelope&&(r=this.envelopeToPolygon(t),h=r,o=s.enumPolygon),a===s.enumEnvelope&&(u=this.envelopeToPolygon(e),c=u,a=s.enumPolygon),m(o)&&m(a)){const t=h.querySegmentIterator(),e=c.querySegmentIterator(),s=N(),o=N();if(q(h,c,t,e,s,o))return i.outPoint.assign(s.outPoint),n.outPoint.assign(s.outPoint),!0}}return!1}multipointIntersectsArea(t,e,i,s){const n=t.getPointCount();for(let o=0;o<n;++o){const n=[2],a=t.getXY(o);if(f(e,[a],1,this.m_tolerance,n),0!==n[0])return i.outPoint.assign(a),s.outPoint.assign(a),!0}return!1}getNearestNeighbourVisitor(t,e,i,s,o,a,m){return n(0),{}}buildSpatialTree(t,e){n(0)}}export{K as G,W as a,j as m};
2
+ import{__addDisposableResource as t,__disposeResources as e}from"tslib";import{a as i,G as s,g as n,d as o,v as a,j as m}from"./Geometry.js";import{S as r,P as u}from"./MultiPathImpl.js";import{O as c,a as h,Z as l,_,a6 as p,a7 as d,a8 as g,a9 as x,aa as y,ab as P,Q as S,ac as f,ad as D,$ as G,M as v}from"./SpatialReference.js";import{k as T,d as b}from"./Envelope.js";import{Envelope2D as w}from"./Envelope2D.js";import{P as M,c as E,n as R,E as I,o as C}from"./Point2D.js";import{T as B}from"./Transformation2D.js";import{s as A,w as q,m as N}from"./Distance2DCalculator-CXhBP-8I.js";import{O as F}from"./OperatorShapePreservingDensify.js";import{O as X}from"./OperatorClip.js";function Y(){return new w}class k{[Symbol.dispose](){this.m_peR1.destroy(),this.m_peR2.destroy(),this.m_peR3.destroy(),this.m_peR1=null,this.m_peR2=null,this.m_peR3=null}constructor(t,e,i){this.m_peR1=new l,this.m_peR2=new l,this.m_peR3=new l,void 0!==t?this.reset(t,e,i):this.reset(1,0,1)}reset(t,e,i){this.m_a=t,this.m_e2=e,this.m_b=this.m_a*Math.sqrt(1-this.m_e2),this.m_unitToDegree=i,this.m_unitToRad=.017453292519943295*i,this.m_u180=180/this.m_unitToDegree,this.m_u360=360/this.m_unitToDegree}calculateBbox(t,e,i,s){const n=this.m_peR1,o=this.m_peR2,a=this.m_peR3;_.geodeticDistance(this.m_a,this.m_e2,t*this.m_unitToRad,e*this.m_unitToRad,i*this.m_unitToRad,s*this.m_unitToRad,a,n,o,0);const m=Math.cos(n.val),r=Math.cos(o.val+3.141592653589793),u=e*this.m_unitToRad,c=v.phiToEta(this.m_e2,u),h=Math.sin(n.val)*Math.cos(c);let l=e;if(m*r<0){const t=m<0?-1:1,e=Math.acos(Math.abs(h))*t;l=v.etaToPhi(this.m_e2,e)/this.m_unitToRad}let p=C((i-t)*this.m_unitToRad,2*Math.PI);Math.abs(p)>Math.PI&&(p=p>0?p-2*Math.PI:p+2*Math.PI),p/=this.m_unitToRad,i=t+p;const d=Y();return d.xmin=Math.min(t,i),d.xmax=Math.max(t,i),d.ymin=Math.min(e,s),d.ymin=Math.min(d.ymin,l),d.ymax=Math.max(e,s),d.ymax=Math.max(d.ymax,l),d}minDistanceGeodesic(t,e){const i=O(t),s=O(e);if(i&&s)return this.lowerDistanceGeodetic_(t.xmin,t.ymin,e.xmin,e.ymin);const n=this.normalizeGeodesic_(e,t);return U(t,n)?t.ymin>=n.ymax?this.minDistanceGeodesicUpDown_(t,n):n.ymin>=t.ymax?this.minDistanceGeodesicUpDown_(n,t):t.xmin>n.xmax?this.minDistanceGeodesicLeftRight_(n,t):this.minDistanceGeodesicLeftRight_(t,n):0}normalizeGeodesic_(t,e){const i=t.clone(),s=t.clone();let n=V(i,e);if(0===n)return i;for(;s.xmax>e.xmin;){s.xmin-=this.m_u360,s.xmax-=this.m_u360;const t=V(s,e);if(t<n&&(i.assign(s),n=t,0===n))return i}for(s.assign(t);s.xmin<e.xmax;){s.xmin+=this.m_u360,s.xmax+=this.m_u360;const t=V(s,e);if(t<n&&(i.assign(s),n=t,0===n))return i}return i}lowerDistanceGeodetic_(t,e,i,s){const n=this.m_peR1;{const o=this.m_b*this.m_b/this.m_a,a=v.phiToPhig(this.m_e2,this.m_unitToRad*e),m=v.phiToPhig(this.m_e2,this.m_unitToRad*s);_.geodeticDistance(o,0,this.m_unitToRad*t,a,this.m_unitToRad*i,m,n,null,null,0)}return n.val}minDistanceGeodesicUpDown_(t,e){if(e.xmin<=t.xmin?e.xmax>=t.xmin:t.xmax>=e.xmin)return this.lowerDistanceGeodetic_(0,t.ymin,0,e.ymax);if(e.xmin>t.xmax){const i=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);if(e.xmax-t.xmin<this.m_u180)return i;const s=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);return Math.min(i,s)}{const i=this.lowerDistanceGeodeticSegMeridional_(t.xmin,t.ymin,t.ymax,e.xmax,e.ymin,e.ymax);if(t.xmax-e.xmin<this.m_u180)return i;const s=this.lowerDistanceGeodeticSegMeridional_(t.xmax,t.ymin,t.ymax,e.xmin,e.ymin,e.ymax);return Math.min(i,s)}}minDistanceGeodesicLeftRight_(t,e){let i=Math.abs(t.xmax-e.xmin);for(;i>this.m_u180;)i-=this.m_u360;let s=Math.abs(t.xmin-e.xmax);for(;s>this.m_u180;)s-=this.m_u360;return Math.abs(i)<=Math.abs(s)?this.minDistanceGeodesicLeftRightNormalized_(t,e):this.minDistanceGeodesicLeftRightNormalized_(e,t)}minDistanceGeodesicLeftRightNormalized_(t,e){let i,s;return i=this.lowerDistanceGeodetic_(t.xmax,t.ymin,e.xmin,e.ymin),t.ymin>=e.ymin&&t.ymin<=e.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymin,e.xmin,e.ymin,e.ymax),i=Math.min(i,s)),e.ymin>=t.ymin&&e.ymin<=t.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymin,t.xmax,t.ymin,t.ymax),i=Math.min(i,s)),s=this.lowerDistanceGeodetic_(t.xmax,t.ymax,e.xmin,e.ymax),i=Math.min(i,s),t.ymax>=e.ymin&&t.ymax<=e.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(t.xmax,t.ymax,e.xmin,e.ymin,e.ymax),i=Math.min(i,s)),e.ymax>=t.ymin&&e.ymax<=t.ymax&&(s=this.lowerDistanceGeodeticPtMeridional_(e.xmin,e.ymax,t.xmax,t.ymin,t.ymax),i=Math.min(i,s)),i}lowerDistanceGeodeticSegMeridional_(t,e,i,s,n,o){let a=this.lowerDistanceGeodeticPtMeridional_(t,e,s,n,o);const m=this.lowerDistanceGeodeticPtMeridional_(t,i,s,n,o);let r=this.lowerDistanceGeodeticPtMeridional_(s,n,t,e,i);const u=this.lowerDistanceGeodeticPtMeridional_(s,o,t,e,i);return a=Math.min(a,m),r=Math.min(r,u),Math.min(a,r)}lowerDistanceGeodeticPtMeridional_(t,e,i,s,n){const o=this.m_b*this.m_b/this.m_a,a=v.phiToPhig(this.m_e2,this.m_unitToRad*e),m=v.phiToPhig(this.m_e2,this.m_unitToRad*s),r=v.phiToPhig(this.m_e2,this.m_unitToRad*n),u=this.m_peR1,c=this.m_peR2;_.geodeticDistance(o,0,this.m_unitToRad*i,m,this.m_unitToRad*t,a,u,null,null,0),_.geodeticDistance(o,0,this.m_unitToRad*i,r,this.m_unitToRad*t,a,c,null,null,0);const h=p(1,0,new M(this.m_unitToRad*t,a)),l=p(1,0,new M(this.m_unitToRad*i,m)),d=p(1,0,new M(this.m_unitToRad*i,r));let g=new T;g.setCrossProductVector(l,d);const x=l.dotProduct(d);if(g.length()<1.568e-10)return x>=0?Math.min(u.val,c.val):0;g=g.getUnitVector();let y=new T;if(y.setCrossProductVector(g,h),y.length()<1.568e-10){return Math.min(u.val,c.val)-1e-5*o}y=y.getUnitVector();let P=h.sub(g.mul(h.dotProduct(g)));{const e=new T;e.setCrossProductVector(l,P);const i=new T;i.setCrossProductVector(P,d);let s=g.dotProduct(e)>0&&g.dotProduct(i)>0;if(s||(P.negateThis(),e.setCrossProductVector(l,P),i.setCrossProductVector(P,d),s=g.dotProduct(e)>0&&g.dotProduct(i)>0),s){P=P.getUnitVector();const e=D(1,0,P),i=this.m_peR3;_.geodeticDistance(o,0,this.m_unitToRad*t,a,e.x,e.y,i,null,null,0);const s=Math.min(u.val,c.val);return Math.min(s,i.val)}}return Math.min(u.val,c.val)}}function O(t){return t.xmin===t.xmax&&t.ymin===t.ymax}function U(t,e){return e.xmax<t.xmin||e.xmin>t.xmax||e.ymax<t.ymin||e.ymin>t.ymax}function V(t,e){let i,s=0;return i=t.xmin-e.xmax,i>s&&(s=i),i=e.xmin-t.xmax,i>s&&(s=i),s}class L{}function j(t){return{outPoint:void 0===t?new M:t.clone()}}function z(t,e){t.outPoint.assign(e.outPoint)}function H(){return new w}class Q{constructor(t,e,i,s,n=0,o=4){this.m_ptDistFrom=new M,this.m_segStartPt=new M,this.m_segEndPt=new M,this.m_geodeticLength=new l,this.m_az12=new l,this.m_minGeodeticDist=new l,this.m_segStartPt3d=new T,this.m_segEndPt3d=new T,this.m_sr=s,this.m_distCurveType=n,this.m_segCurveType=o,this.m_inputGCS=this.m_sr.getGCS(),this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_bIsPannablePcs=2===this.m_sr.getCoordinateSystemType()&&this.m_sr.isPannable();const a=G();this.m_inputGCS.querySpheroidData(a),this.m_a=a.majorSemiAxis,this.m_eSquared=a.e2,this.setPointDistFrom(t),this.setSegmentEndPoints(e,i)}setSegmentEndPoints(t,e){this.m_segStartPt.assign(t),this.m_segEndPt.assign(e),this.m_bIsPannablePcs||(this.m_segStartPt.mulThis(this.m_rpu),this.m_segEndPt.mulThis(this.m_rpu)),2===this.m_segCurveType&&(this.m_segStartPt3d.assign(p(this.m_a,this.m_eSquared,this.m_segStartPt)),this.m_segEndPt3d.assign(p(this.m_a,this.m_eSquared,this.m_segEndPt))),this.calculateAndUpdateSegmentLength()}setPointDistFrom(t){this.m_ptDistFrom.assign(t),this.m_ptDistFrom.scale(this.m_rpu)}setSegmentCurveType(t){this.m_segCurveType=t}setDistanceCurveType(t){this.m_distCurveType=t}makeFunctor(){return i=>{let s;switch(this.m_segCurveType){case 0:case 1:case 3:{const o={stack:[],error:void 0,hasError:!1};try{const e=t(o,new l,!1),n=t(o,new l,!1);_.geodeticCoordinate(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_geodeticLength.val*i,this.m_az12.val,e,n,this.m_segCurveType),s=new M(e.val,n.val);break}catch(n){o.error=n,o.hasError=!0}finally{e(o)}}case 2:{const t=T.lerp(this.m_segStartPt3d,this.m_segEndPt3d,i);s=D(this.m_a,this.m_eSquared,t);break}case 4:s=M.lerp(this.m_segStartPt,this.m_segEndPt,i),this.m_bIsPannablePcs&&(g(this.m_sr,0,[s],1),s.mulThis(this.m_rpu));break;default:o("Invalid curve type")}return _.geodeticDistance(this.m_a,this.m_eSquared,this.m_ptDistFrom.x,this.m_ptDistFrom.y,s.x,s.y,this.m_minGeodeticDist,null,null,this.m_distCurveType),this.m_minGeodeticDist.val}}calculateAndUpdateSegmentLength(){switch(this.m_segCurveType){case 0:case 2:case 1:case 3:_.geodeticDistance(this.m_a,this.m_eSquared,this.m_segStartPt.x,this.m_segStartPt.y,this.m_segEndPt.x,this.m_segEndPt.y,this.m_geodeticLength,this.m_az12,null,this.m_segCurveType);break;case 4:this.m_geodeticLength.val=M.distance(this.m_segStartPt,this.m_segEndPt);break;default:o("Invalid curve type")}}[Symbol.dispose](){this.m_geodeticLength[Symbol.dispose](),this.m_az12[Symbol.dispose](),this.m_minGeodeticDist[Symbol.dispose]()}}function Z(){return new L}class ${[Symbol.dispose](){this.m_envHelper[Symbol.dispose]()}constructor(t,e,i,s,n){this.m_boxGeomA=H(),this.m_boxGeomB=H(),this.m_envGeomA=new w,this.m_envGeomB=new w,this.m_progressCounter=0,this.m_transformPCS2GCS=null,this.m_segmentBoxesA=new Map,this.m_segmentBoxesB=new Map,this.m_boundaryPtsA=[],this.m_boundaryPtsB=[],this.m_scaleToRadians=new B,this.m_scaleToDegrees=new B,this.m_inputSR=t,this.m_distCurveType=e,this.m_progressTracker=i,this.m_maxDistance=s,this.m_maxDeviation=n,this.m_inputGCS=t.getGCS(),this.m_peGeogcs=this.m_inputGCS.getPECoordSys(),this.m_tolerance=0;const o=G();this.m_inputGCS.querySpheroidData(o),this.m_a=o.majorSemiAxis,this.m_eSquared=o.e2,this.m_rpu=this.m_inputGCS.getUnit().getUnitToBaseFactor(),this.m_envHelper=new k(this.m_a,this.m_eSquared,1),4===this.m_distCurveType&&(this.m_distCurveType=0),this.m_boxGeomA.setEmpty(),this.m_boxGeomB.setEmpty(),this.m_envGeomA.setEmpty(),this.m_envGeomB.setEmpty(),this.m_bIsPannablePcs=2===this.m_inputSR.getCoordinateSystemType()&&this.m_inputSR.isPannable()}progress(t=!1){}calculate(t,e,i,s){const n=j(),o=j();if(t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.checkGeometriesIntersect(t,e,n,o))return i&&z(i,n),s&&z(s,o),0;const a=this.prepareGeometry(t);if(a.isEmpty())return Number.NaN;const m=this.prepareGeometry(e);if(m.isEmpty())return Number.NaN;this.m_tolerance=this.computeTolerance(a,m);const r=this._ExecuteBruteForce(a,m,n,o);return r>=this.m_maxDistance?Number.NaN:(i&&(this.prepareOutput(n),z(i,n)),s&&(this.prepareOutput(o),z(s,o)),r)}createDistanceFunctor(t,e,i){const s=new Q(t,e,i,this.m_inputSR,this.m_distCurveType);return this.m_bIsPannablePcs||1===this.m_inputSR.getCoordinateSystemType()||s.setSegmentCurveType(2),s}_NormalizeAndProject(t){if(this.m_inputSR.isPannable()&&(t=(new c).foldInto360Range(t,this.m_inputSR)),2===this.m_inputSR.getCoordinateSystemType()){const e=h(this.m_inputSR,this.m_inputGCS,null);t=(new c).execute(t,e,this.m_progressTracker)}return t}_ExecuteBruteForce(t,e,n,o){switch(t.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointGeometry(t,e,n,o);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointGeometry(t,e,n,o);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipathGeometry(t,e,n,o);default:i("")}}calculateDistanceGeodeticPointGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointPoint(t,e,n,o);case s.enumMultiPoint:return this.calculateDistanceGeodeticPointMultipoint(t,e,n,o);case s.enumPolyline:case s.enumPolygon:return this.calculateDistanceGeodeticPointMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticPointPoint(i,s,n,o){const a={stack:[],error:void 0,hasError:!1};try{const e=i.getXY();e.scale(this.m_rpu);const m=s.getXY();m.scale(this.m_rpu),n.outPoint.assign(e),o.outPoint.assign(m);const r=t(a,new l,!1);return _.geodeticDistance(this.m_a,this.m_eSquared,e.x,e.y,m.x,m.y,r,null,null,this.m_distCurveType),r.val}catch(m){a.error=m,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticPointMultipoint(i,s,n,o){const a={stack:[],error:void 0,hasError:!1};try{this.computeEnvelopesAndBoxes(i,s);const e=this.estimateMinimumDistance(n,o);let m=e<this.m_maxDistance?e:this.m_maxDistance;const r=i.getXY();r.scale(this.m_rpu),n.outPoint.assign(r);const u=p(this.m_a,this.m_eSquared,r),c=new M,h=s.getImpl(),d=t(a,new l,!1),g=h.getPointCount();for(let t=0;t<g;++t){h.queryXY(t,c),c.scale(this.m_rpu);const e=p(this.m_a,this.m_eSquared,c);if(!(T.distance(u,e)>m)&&(!(this.m_envHelper.minDistanceGeodesic(this.m_boxGeomA,this.m_boxGeomB)>m)&&(_.geodeticDistance(this.m_a,this.m_eSquared,r.x,r.y,c.x,c.y,d,null,null,this.m_distCurveType),d.val<m&&(m=d.val,o.outPoint=c,0===m))))return m}return m===this.m_maxDistance?Number.POSITIVE_INFINITY:m}catch(m){a.error=m,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticPointMultipath(i,s,o,a){const m={stack:[],error:void 0,hasError:!1};try{const e=new M,r=new M;e.assign(i.getXY()),r.assign(i.getXY()),o.outPoint.assign(r.mul(this.m_rpu)),this.m_bIsPannablePcs&&d(this.m_inputSR,[e],1,!1),this.computeEnvelopesAndBoxes(i,s);const u=this.estimateMinimumDistance(o,a);let c=u<this.m_maxDistance?u:this.m_maxDistance;const h=s.getImpl(),l=new M(0,0),_=new M(0,0),p=[1],g=this.canUseSpatialTree(i,s),x=Z();g&&this.buildSpatialTree(x,s);const y=H();y.setCoords({xmin:r.x,ymin:r.y,xmax:r.x,ymax:r.y});const P=t(m,this.createDistanceFunctor(r,l,_),!1),S=h.querySegmentIterator();if(S.stripAttributes(),g)n(0);else for(;S.nextPath();)for(;S.hasNextSegment();){const t=S.nextSegment(),i=this.findOrComputeBoxSegment(S.getStartPointIndex(),t,this.m_segmentBoxesB);if(this.m_envHelper.minDistanceGeodesic(y,i)>c)continue;const s=this.calculateDistanceGeodeticPointSegment(e,r,t,p,P);if(s.second<c&&(this.updateOutputSegment(a,t,s.first),c=s.second,0===c))return 0}return c===this.m_maxDistance?Number.POSITIVE_INFINITY:c}catch(r){m.error=r,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticMultipointGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointMultipoint(e,t,o,n);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipoint(t,e,n,o);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipointMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticMultipointMultipoint(i,s,n,o){const a={stack:[],error:void 0,hasError:!1};try{const e=t(a,new l,!1);this.computeEnvelopesAndBoxes(i,s);const m=this.estimateMinimumDistance(n,o);let r=m<this.m_maxDistance?m:this.m_maxDistance;const u=new M,c=new M,h=i.getImpl(),d=s.getImpl(),g=H(),x=h.getPointCount(),y=d.getPointCount();for(let t=0;t<x;++t){if(u.assign(h.getXY(t)),g.setCoords({xmin:u.x,ymin:u.y,xmax:u.x,ymax:u.y}),this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>r)continue;u.scale(this.m_rpu);const i=p(this.m_a,this.m_eSquared,u);for(let t=0;t<y;++t){c.assign(d.getXY(t)),c.scale(this.m_rpu);const s=p(this.m_a,this.m_eSquared,c);if(!(T.distance(i,s)>=r)&&(_.geodeticDistance(this.m_a,this.m_eSquared,u.x,u.y,c.x,c.y,e,null,null,this.m_distCurveType),e.val<r&&(n.outPoint.assign(u),o.outPoint.assign(c),r=e.val,0===r)))return r}}return r===this.m_maxDistance?Number.POSITIVE_INFINITY:r}catch(m){a.error=m,a.hasError=!0}finally{e(a)}}calculateDistanceGeodeticMultipointMultipath(i,s,o,a){const m={stack:[],error:void 0,hasError:!1};try{const e=s.getImpl().querySegmentIterator();e.stripAttributes(),this.computeEnvelopesAndBoxes(i,s);const r=this.estimateMinimumDistance(o,a);let u=r<this.m_maxDistance?r:this.m_maxDistance;const c=new M,h=new M(0,0),l=new M(0,0),_=new M(0,0),p=[0],g=H(),x=t(m,this.createDistanceFunctor(h,l,_),!1),y=Z(),P=this.canUseSpatialTree(i,s);P&&this.buildSpatialTree(y,s);const S=i.getPointCount();for(let t=0;t<S;++t)if(c.assign(i.getXY(t)),h.assign(i.getXY(t)),this.m_bIsPannablePcs&&d(this.m_inputSR,[c],1,!1),g.setCoords({xmin:h.x,ymin:h.y,xmax:h.x,ymax:h.y}),!(this.m_envHelper.minDistanceGeodesic(g,this.m_boxGeomB)>u))if(x.setPointDistFrom(h),P)n(0);else{for(;e.nextPath();)for(;e.hasNextSegment();){const t=e.nextSegment();if(this.m_envHelper.minDistanceGeodesic(g,this.findOrComputeBoxSegment(e.getStartPointIndex(),t,this.m_segmentBoxesB))>u)continue;const i=this.calculateDistanceGeodeticPointSegment(c,h,t,p,x);if(i.second<u&&(o.outPoint.assign(h.mul(this.m_rpu)),this.updateOutputSegment(a,t,i.first),u=i.second,0===u))return 0}e.resetToFirstPath()}return u===this.m_maxDistance?Number.POSITIVE_INFINITY:u}catch(r){m.error=r,m.hasError=!0}finally{e(m)}}calculateDistanceGeodeticMultipathGeometry(t,e,n,o){switch(e.getGeometryType()){case s.enumPoint:return this.calculateDistanceGeodeticPointMultipath(e,t,o,n);case s.enumMultiPoint:return this.calculateDistanceGeodeticMultipointMultipath(e,t,o,n);case s.enumPolyline:case s.enumPolygon:case s.enumEnvelope:return this.calculateDistanceGeodeticMultipathMultipath(t,e,n,o);default:i("")}}calculateDistanceGeodeticMultipathMultipath(t,e,i,s){const n=[t],o=[e],a=this.swapGeometries(n,o),m=n[0],r=o[0];this.computeEnvelopesAndBoxes(n[0],o[0]);const u=this.estimateMinimumDistance(i,s),c=this.calculateDistanceGeodeticMultipathMultipath_(m,r,i,s,u);return a&&(s.outPoint=E(i.outPoint,i.outPoint=s.outPoint)),c}calculateDistanceGeodeticMultipathMultipath_(i,s,o,a,m=Number.MAX_VALUE){const u={stack:[],error:void 0,hasError:!1};try{let e=m;const c=new M(0,0),h=new M,l=new M(0,0),_=new M,p=new M(0,0),d=new M,y=new M,P=new M,S=[new M],f=[0],D=[0],G=H(),v=H(),T=t(u,this.createDistanceFunctor(p,c,l),!1),b=Z(),w=this.canUseSpatialTree(i,s);w&&this.buildSpatialTree(b,s);const E=s.querySegmentIterator();E.stripAttributes();const R=new r,I=A(i);for(let t=0;t<I.length;++t){const s=I[t];i.getSegmentBuffer(s,R,!0);const m=R.get();if(G.assign(this.findOrComputeBoxSegment(s,m,this.m_segmentBoxesA)),w)n(0);else{if(p.assign(m.getStartXY()),d.assign(m.getStartXY()),y.assign(m.getEndXY()),P.assign(m.getEndXY()),this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[d],1),g(this.m_inputSR,0,[P],1)),this.m_envHelper.minDistanceGeodesic(G,this.m_boxGeomB)>e)continue;for(;E.nextPath();){for(;E.hasNextSegment();){const t=E.nextSegment();if(c.assign(t.getStartXY()),h.assign(t.getStartXY()),l.assign(t.getEndXY()),_.assign(t.getEndXY()),m.intersect(t,S,f,D,this.m_tolerance))return this.updateOutputSegment(o,m,f[0]),this.updateOutputSegment(a,t,D[0]),0;if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[h],1),g(this.m_inputSR,0,[_],1)),v.assign(this.findOrComputeBoxPoint(E.getStartPointIndex(),h,_,this.m_segmentBoxesB)),this.m_envHelper.minDistanceGeodesic(G,v)>e)continue;T.setSegmentEndPoints(c,l),T.setPointDistFrom(d);let i=x(T.makeFunctor(),0,1,1e-10);if(i.second<e&&(o.outPoint.assign(d.mul(this.m_rpu)),this.updateOutputSegment(a,t,i.first),e=i.second,0===e))break;if(T.setPointDistFrom(P),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(o.outPoint.assign(P.mul(this.m_rpu)),this.updateOutputSegment(a,t,i.first),e=i.second,0===e))break;if(T.setSegmentEndPoints(p,y),T.setPointDistFrom(h),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(this.updateOutputSegment(o,m,i.first),a.outPoint.assign(h.mul(this.m_rpu)),e=i.second,0===e))break;if(T.setPointDistFrom(_),i=x(T.makeFunctor(),0,1,1e-10),i.second<e&&(this.updateOutputSegment(o,m,i.first),a.outPoint.assign(_.mul(this.m_rpu)),e=i.second,0===e))break}if(0===e)return 0}E.resetToFirstPath()}}return e===this.m_maxDistance?Number.POSITIVE_INFINITY:e}catch(c){u.error=c,u.hasError=!0}finally{e(u)}}calculateDistanceGeodeticPointSegment(t,e,i,s,n){const o=i.getStartXY(),a=i.getEndXY();return i.intersectPoint(t,s,this.m_tolerance)?R(s[0],0):(n.setPointDistFrom(e),n.setSegmentEndPoints(o,a),x(n.makeFunctor(),0,1,1e-10))}prepareGeometry(t){let e=t.clone();const i=t.getGeometryType();if(i===s.enumPoint||i===s.enumMultiPoint)return this._NormalizeAndProject(e);if(i===s.enumEnvelope&&(e=this.envelopeToPolygon(e)),this.m_inputSR.isPannable())return this.prepareGeometryPannable(e,4);if(2===this.m_inputSR.getCoordinateSystemType()){if(e=y(e,this.m_inputSR,0,null),e.isEmpty())return e;e=(new F).execute(e,this.m_inputSR,5e4,this.m_maxDeviation/2,0,null);const t=this.m_inputSR.getSRToGCSTransform();return(new c).execute(e,t,this.m_progressTracker)}const n=new w;e.queryLooseEnvelope(n);const o=this.m_inputSR.getPannableExtent();if(n.ymin<o.ymin||n.ymax>o.ymax){const t=new w(n.xmin-1,o.ymin,n.xmax+1,o.ymax);if(e=(new X).execute(e,t,this.m_inputSR,this.m_progressTracker),e.isEmpty())return e}return n.width()>2*o.width()?(e=P(e,-2*o.width(),2*o.width(),this.m_inputSR,!0,0,!0,this.m_progressTracker),e):e}prepareGeometryPannable(t,e){const i=new w;t.queryEnvelope(i);const s=this.m_inputSR.getPannableExtent();if(s.containsEnvelope(i))return t;const n=new I;s.queryIntervalX(n);const o=new I;return i.queryIntervalX(o),t=n.contains(o)?S(t,this.m_inputSR):(new c).foldInto360RangeGeodetic(t,this.m_inputSR,e)}prepareOutput(t){t.outPoint.scale(1/this.m_rpu),2===this.m_inputSR.getCoordinateSystemType()&&d(this.m_inputSR,[t.outPoint],1,!1)}updateOutputSegment(t,e,i){e.queryCoord2D(i,t.outPoint),this.m_bIsPannablePcs&&g(this.m_inputSR,0,[t.outPoint],1),t.outPoint.mulThis(this.m_rpu)}computeTolerance(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB);const i=new w(this.m_envGeomA);return i.mergeEnvelope2D(this.m_envGeomB),b(null,i)}envelopeToPolygon(t){const e=new u;return e.addEnvelope(t,!1),e}computeEnvelopesAndBoxes(t,e){t.queryEnvelope(this.m_envGeomA),e.queryEnvelope(this.m_envGeomB),this.m_boxGeomA=this.computeBoxGeometry(t,this.m_boundaryPtsA,this.m_segmentBoxesA),this.m_boxGeomB=this.computeBoxGeometry(e,this.m_boundaryPtsB,this.m_segmentBoxesB)}computeBoxGeometry(t,e,i){switch(t.getGeometryType()){case s.enumPoint:return this.computeBoxPoint(t,e);case s.enumMultiPoint:return this.computeBoxMultiPoint(t,e);case s.enumPolyline:case s.enumPolygon:return this.computeBoxMultiPath(t,e,i);default:o("Invalid geometry type")}}computeBoxPoint(t,e){const i=t.getXY();e.length=0,e.push(i.mul(this.m_rpu));const s=H();return s.setCoords({xmin:i.x,ymin:i.y,xmax:i.x,ymax:i.y}),s}computeBoxMultiPoint(t,e){let i=!0;for(let n=0;n<t.getPointCount();++n){const s=t.getXY(n);if(i){e.length=0;for(let t=0;t<4;++t)e.push(s.clone());i=!1}s.x<e[0].x&&e[0].assign(s),s.y>e[1].y&&e[1].assign(s),s.x>e[2].x&&e[2].assign(s),s.y<e[3].y&&e[3].assign(s)}for(let n=0;n<e.length;++n)e[n].mulThis(this.m_rpu);const s=H();return t.queryEnvelope(s),s}computeBoxMultiPath(t,e,i){let s=!0;const n=H();n.setEmpty();const o=t.querySegmentIterator();for(o.stripAttributes();o.nextPath();)for(;o.hasNextSegment();){const t=o.nextSegment(),a=t.getStartXY(),m=t.getEndXY();if(this.m_bIsPannablePcs&&(g(this.m_inputSR,0,[a],1),g(this.m_inputSR,0,[m],1)),s){for(let t=0;t<4;++t)e.push(a.clone());s=!1}a.x<e[0].x&&e[0].assign(a),a.y>e[1].y&&e[1].assign(a),a.x>e[2].x&&e[2].assign(a),a.y<e[3].y&&e[3].assign(a),m.x<e[0].x&&e[0].assign(m),m.y>e[1].y&&e[1].assign(m),m.x>e[2].x&&e[2].assign(m),m.y<e[3].y&&e[3].assign(m);const r=this.findOrComputeBoxPoint(o.getStartPointIndex(),a,m,i);n.mergeEnvelope2D(r)}for(let a=0;a<e.length;++a)e[a].mulThis(this.m_rpu);return n}findOrComputeBoxSegment(t,e,i){if(!i.has(t)){let s=H();if(e.queryEnvelope(s),this.m_bIsPannablePcs){const t=M.construct(s.xmin,s.ymin),e=M.construct(s.xmax,s.ymax);g(this.m_inputSR,0,[t],1),g(this.m_inputSR,0,[e],1),s=this.m_envHelper.calculateBbox(t.x,t.y,e.x,e.y)}return i.set(t,s),s}return i.get(t)}findOrComputeBoxPoint(t,e,i,s){if(!s.has(t)){let n=H();return n.setCoords({xmin:e.x,ymin:e.y,xmax:i.x,ymax:i.y}),this.m_bIsPannablePcs&&(n=this.m_envHelper.calculateBbox(n.xmin,n.ymin,n.xmax,n.ymax)),s.set(t,n),n}return s.get(t)}estimateMinimumDistance(i,s){const n={stack:[],error:void 0,hasError:!1};try{const e=t=>p(this.m_a,this.m_eSquared,t),o=this.m_boundaryPtsA.map(e),a=this.m_boundaryPtsB.map(e);let m=Number.MAX_VALUE,r=0,u=0;for(let t=0;t<o.length;++t)for(let e=0;e<a.length;++e){const i=T.distance(o[t],a[e]);i<m&&(m=i,r=t,u=e)}i.outPoint.assign(this.m_boundaryPtsA[r]),s.outPoint.assign(this.m_boundaryPtsB[u]);const c=t(n,new l,!1);return _.geodeticDistance(this.m_a,this.m_eSquared,this.m_boundaryPtsA[r].x,this.m_boundaryPtsA[r].y,this.m_boundaryPtsB[u].x,this.m_boundaryPtsB[u].y,c,null,null,this.m_distCurveType),c.val}catch(o){n.error=o,n.hasError=!0}finally{e(n)}}swapGeometries(t,e){return a(t[0])>a(e[0])&&(e[0]=E(t[0],t[0]=e[0]),this.m_envGeomB=E(this.m_envGeomA,this.m_envGeomA=this.m_envGeomB),!0)}canUseSpatialTree(t,e){return!1}checkGeometriesIntersect(t,e,i,n){let o=t.getGeometryType(),a=e.getGeometryType();if(this.m_envGeomA.isIntersecting(this.m_envGeomB)){if(o===s.enumPoint&&2===e.getDimension()){const s=[0],o=[t.getXY()];if(f(e,o,1,this.m_tolerance,s),0!==s[0])return i.outPoint.assign(o[0]),n.outPoint.assign(o[0]),!0}else if(a===s.enumPoint&&2===t.getDimension()){const s=[2],o=[e.getXY()];if(f(t,o,1,this.m_tolerance,s),0!==s[0])return i.outPoint.assign(o[0]),n.outPoint.assign(o[0]),!0}if(o===s.enumMultiPoint&&2===e.getDimension())return this.multipointIntersectsArea(t,e,i,n);if(a===s.enumMultiPoint&&2===t.getDimension())return this.multipointIntersectsArea(e,t,n,i);let r,u,c=t,h=e;if(o===s.enumEnvelope&&(r=this.envelopeToPolygon(t),c=r,o=s.enumPolygon),a===s.enumEnvelope&&(u=this.envelopeToPolygon(e),h=u,a=s.enumPolygon),m(o)&&m(a)){const t=c.querySegmentIterator(),e=h.querySegmentIterator(),s=N(),o=N();if(q(c,h,t,e,s,o))return i.outPoint.assign(s.outPoint),n.outPoint.assign(s.outPoint),!0}}return!1}multipointIntersectsArea(t,e,i,s){const n=t.getPointCount();for(let o=0;o<n;++o){const n=[2],a=t.getXY(o);if(f(e,[a],1,this.m_tolerance,n),0!==n[0])return i.outPoint.assign(a),s.outPoint.assign(a),!0}return!1}getNearestNeighbourVisitor(t,e,i,s,o,a,m){return n(0),{}}buildSpatialTree(t,e){n(0)}}export{$ as G,Q as a,j as m};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__addDisposableResource as r,__disposeResources as e}from"tslib";import{A as a}from"./Geometry.js";import{aa as s,P as t}from"./Point2D.js";import"./MultiPathImpl.js";import{ab as o,ao as n,m as i,e as l,av as c,aO as m}from"./SpatialReference.js";import"./Envelope.js";function f(m,f,g,u,p,N){const S={stack:[],error:void 0,hasError:!1};try{4===u&&a("");const e=m,h=o(e),y=n();h.querySpheroidData(y);const v=y.e2,T=y.majorSemiAxis,d=h.getUnit().getUnitToBaseFactor(),j=r(S,new i,!1),x=r(S,new i,!1),w=r(S,new i,!1);if(f.isNAN()||g.isNAN())return Number.NaN;const A=s(t,2);A[0].assign(f),A[1].assign(g);const C=s(t,2),E=e.getGCS()!==e?e.getSRToGCSTransform():null;if(E){if(2!==(new l).transform(E,A,2,C))return Number.NaN}else C[0].assign(A[0]),C[1].assign(A[1]);return C[0].scale(d),C[1].scale(d),c.geodeticDistance(T,v,C[0].x,C[0].y,C[1].x,C[1].y,j,x,w,u),p[0]=x.val,N[0]=w.val,j.val}catch(h){S.error=h,S.hasError=!0}finally{e(S)}}function g(l,f,g,u,p,N){const S={stack:[],error:void 0,hasError:!1};try{4===N&&a("");const e=l,h=o(e),y=n();h.querySpheroidData(y);const v=y.e2,T=y.majorSemiAxis,d=h.getUnit().getUnitToBaseFactor(),j=r(S,new i,!1),x=r(S,new i,!1),w=e.getSRToGCSTransform(),A=e.getGCSToSRTransform(),C=s(t,100),E=s(t,100);let G=0;for(let r=0,a=0;r<g;){let e=g-r;e>C.length&&(e=C.length);for(let a=0;a<e;a++)C[a].assign(f[r+a]);if(m(w,C,e,E,null)>0){for(let r=0;r<e;r++){const e=E[r].clone();e.isNAN()?C[r].assign(e):(e.scale(d),c.geodeticCoordinate(T,v,e.x,e.y,u,p,j,x,N),e.x=j.val,e.y=x.val,e.scale(1/d),C[r].assign(e))}G+=m(A,C,e,E,null)}for(let r=0;r<e;r++)f[a+r].assign(E[r]);r+=e,a+=e}return G}catch(h){S.error=h,S.hasError=!0}finally{e(S)}}export{f as calculateDistanceAndAzimuth,g as movePointsByDistance};
2
+ import{__addDisposableResource as r,__disposeResources as e}from"tslib";import{t}from"./Geometry.js";import{m as s,P as a}from"./Point2D.js";import"./MultiPathImpl.js";import{ap as o,$ as n,Z as i,O as l,_ as c,ak as m}from"./SpatialReference.js";import"./Envelope.js";function f(m,f,g,u,p,N){const S={stack:[],error:void 0,hasError:!1};try{4===u&&t("");const e=m,h=o(e),y=n();h.querySpheroidData(y);const v=y.e2,T=y.majorSemiAxis,d=h.getUnit().getUnitToBaseFactor(),j=r(S,new i,!1),x=r(S,new i,!1),w=r(S,new i,!1);if(f.isNAN()||g.isNAN())return Number.NaN;const A=s(a,2);A[0].assign(f),A[1].assign(g);const C=s(a,2),E=e.getGCS()!==e?e.getSRToGCSTransform():null;if(E){if(2!==(new l).transform(E,A,2,C))return Number.NaN}else C[0].assign(A[0]),C[1].assign(A[1]);return C[0].scale(d),C[1].scale(d),c.geodeticDistance(T,v,C[0].x,C[0].y,C[1].x,C[1].y,j,x,w,u),p[0]=x.val,N[0]=w.val,j.val}catch(h){S.error=h,S.hasError=!0}finally{e(S)}}function g(l,f,g,u,p,N){const S={stack:[],error:void 0,hasError:!1};try{4===N&&t("");const e=l,h=o(e),y=n();h.querySpheroidData(y);const v=y.e2,T=y.majorSemiAxis,d=h.getUnit().getUnitToBaseFactor(),j=r(S,new i,!1),x=r(S,new i,!1),w=e.getSRToGCSTransform(),A=e.getGCSToSRTransform(),C=s(a,100),E=s(a,100);let G=0;for(let r=0,t=0;r<g;){let e=g-r;e>C.length&&(e=C.length);for(let t=0;t<e;t++)C[t].assign(f[r+t]);if(m(w,C,e,E,null)>0){for(let r=0;r<e;r++){const e=E[r].clone();e.isNAN()?C[r].assign(e):(e.scale(d),c.geodeticCoordinate(T,v,e.x,e.y,u,p,j,x,N),e.x=j.val,e.y=x.val,e.scale(1/d),C[r].assign(e))}G+=m(A,C,e,E,null)}for(let r=0;r<e;r++)f[t+r].assign(E[r]);r+=e,t+=e}return G}catch(h){S.error=h,S.hasError=!0}finally{e(S)}}export{f as calculateDistanceAndAzimuth,g as movePointsByDistance};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- function e(e){switch(e){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}function n(e,n){try{if(!e)throw new Error(n)}catch(t){throw t}}class t extends Error{constructor(e,n){super(n),this.m_AdditionalMessage=n,this.m_ErrorType=e,this.name="GeometryError"}what(){return e(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}}class r extends t{constructor(e){super(2,e),this.name="CorruptedGeometryError"}}class o extends t{constructor(e){super(3,e),this.name="EmptyGeometryError"}}class i extends t{constructor(e){super(4,e),this.name="MathSingularityError"}}class u extends t{constructor(e){super(21,e),this.name="ProjectionEngineNotLoadedError"}}class s extends t{constructor(e){super(8,e),this.name="NonSimpleGeometryError"}}var a;!function(e){e[e.enumUnknown=0]="enumUnknown",e[e.enumPoint=513]="enumPoint",e[e.enumLine=5122]="enumLine",e[e.enumBezier=5123]="enumBezier",e[e.enumEllipticArc=5124]="enumEllipticArc",e[e.enumEnvelope=3077]="enumEnvelope",e[e.enumMultiPoint=8710]="enumMultiPoint",e[e.enumPolyline=25607]="enumPolyline",e[e.enumPolygon=27656]="enumPolygon",e[e.enumMultipatch=40969]="enumMultipatch",e[e.enumGeometryCollection=3594]="enumGeometryCollection",e[e.enumRationalBezier2=5134]="enumRationalBezier2",e[e.enumBezier2=5135]="enumBezier2",e[e.enumRationalBezier23d=5392]="enumRationalBezier23d",e[e.enumGreatArc3d=5393]="enumGreatArc3d"}(a||(a={}));const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function m(e){return c[15&e]}function l(e){return!!(512&e)}function p(e){return!!(1024&e)}function d(e){return!!(2048&e)}function f(e){return!!(4096&e)}function y(e){return!!(8192&e)}function h(e){return!!(16384&e)}function g(e){return!!(32768&e)}function w(e){const n=e.getGeometryType();return y(n)?e.getPointCount():e.isEmpty()?0:n===a.enumEnvelope?4:n===a.enumPoint?1:f(n)?2:void b("missing type")}function E(e){const n=e.getGeometryType();if(h(n))return e.hasNonLinearSegments();if(n===a.enumGeometryCollection){const n=e;for(let e=0,t=n.getGeometryCount();e<t;e++)if(E(n.getGeometry(e)))return!0;return!1}return!!f(n)&&n!==a.enumLine}function G(e){throw new u(e)}function v(e){throw new r(e)}function P(e){throw new Error(e)}function M(e){throw new i(e)}function B(){P("Geometry type is not supported for 3D operations.")}function C(e){throw new t(12,e)}function x(e){throw new o(e)}function z(e){throw new t(14,e)}function A(e){throw new Error(e)}function b(e){throw new t(13,e)}function T(e){throw new Error(e)}function k(e){throw new s(e)}function _(){z("Operation does not support curves.")}function N(e){e&&E(e)&&_()}function j(e){e&&g(e.getGeometryType())&&z("Unsupported geometry type.")}function I(e){e===a.enumGeometryCollection&&P("Geometry_collection instances are not supported in this operation")}function L(e){I(e.getGeometryType())}function R(e){P(`bad wkid: ${e}`)}function U(e){let n="bad wkt: ";n+=e,n+="...",P(n)}function D(e,n){e||P(n)}export{z as A,A as B,G as C,w as D,a as G,m as a,p as b,D as c,g as d,h as e,y as f,n as g,E as h,d as i,l as j,f as k,x as l,N as m,L as n,I as o,j as p,b as q,P as r,C as s,v as t,B as u,R as v,U as w,T as x,M as y,k as z};
2
+ function e(e){switch(e){case 1:return"Unknown error";case 2:return"Corrupted geometry";case 3:return"Empty geometry";case 4:return"Math singularity";case 5:return"Buffer is too small";case 6:return"Invalid shape type";case 7:return"Projection out of supported range";case 8:return"Non simple geometry";case 9:return"Cannot calculate geodesic";case 10:return"Notation conversion";case 11:return"Missing grid file";case 12:return"Invalid call";case 13:return"Internal error";case 14:return"Not implemented";case 15:return"IO error";case 16:return"Invalid 3D";case 17:return"An ambiguous geography edge with antipodal points";case 18:return"Geocentric coordinates require ellipsoidal height";case 19:return"Geography cannot be projected into a gnomonic plane or a result of an operation cannot fit into a gnomonic plane";case 20:return"Geometry is too large to be exported in to a given format";case 22:return"Operation is canceled by the user";case 21:return"The operation, such as projection or geodetic computation, cannot be performed without pe-wasm loaded";default:return"unknown error"}}function n(e,n){try{if(!e)throw new Error(n)}catch(t){throw t}}class t extends Error{constructor(e,n){super(n),this.m_AdditionalMessage=n,this.m_ErrorType=e,this.name="GeometryError"}what(){return e(this.m_ErrorType)}additionalMessage(){return this.m_AdditionalMessage?this.m_AdditionalMessage:""}code(){return this.m_ErrorType}}class r extends t{constructor(e){super(2,e),this.name="CorruptedGeometryError"}}class o extends t{constructor(e){super(3,e),this.name="EmptyGeometryError"}}class i extends t{constructor(e){super(4,e),this.name="MathSingularityError"}}class u extends t{constructor(e){super(21,e),this.name="ProjectionEngineNotLoadedError"}}class s extends t{constructor(e){super(8,e),this.name="NonSimpleGeometryError"}}var a;!function(e){e[e.enumUnknown=0]="enumUnknown",e[e.enumPoint=513]="enumPoint",e[e.enumLine=5122]="enumLine",e[e.enumBezier=5123]="enumBezier",e[e.enumEllipticArc=5124]="enumEllipticArc",e[e.enumEnvelope=3077]="enumEnvelope",e[e.enumMultiPoint=8710]="enumMultiPoint",e[e.enumPolyline=25607]="enumPolyline",e[e.enumPolygon=27656]="enumPolygon",e[e.enumMultipatch=40969]="enumMultipatch",e[e.enumGeometryCollection=3594]="enumGeometryCollection",e[e.enumRationalBezier2=5134]="enumRationalBezier2",e[e.enumBezier2=5135]="enumBezier2",e[e.enumRationalBezier23d=5392]="enumRationalBezier23d",e[e.enumGreatArc3d=5393]="enumGreatArc3d"}(a||(a={}));const c=[0,0,1,1,1,2,0,1,2,3,-1,-1,-1,-1,1,1];function m(e){return c[15&e]}function l(e){return!!(512&e)}function p(e){return!!(1024&e)}function d(e){return!!(2048&e)}function f(e){return!!(4096&e)}function y(e){return!!(8192&e)}function h(e){return!!(16384&e)}function g(e){return!!(32768&e)}function w(e){const n=e.getGeometryType();return y(n)?e.getPointCount():e.isEmpty()?0:n===a.enumEnvelope?4:n===a.enumPoint?1:f(n)?2:void b("missing type")}function E(e){const n=e.getGeometryType();if(h(n))return e.hasNonLinearSegments();if(n===a.enumGeometryCollection){const n=e;for(let e=0,t=n.getGeometryCount();e<t;e++)if(E(n.getGeometry(e)))return!0;return!1}return!!f(n)&&n!==a.enumLine}function G(e){throw new u(e)}function v(e){throw new r(e)}function P(e){throw new Error(e)}function M(e){throw new i(e)}function B(){P("Geometry type is not supported for 3D operations.")}function C(e){throw new t(12,e)}function x(e){throw new o(e)}function z(e){throw new t(14,e)}function A(e){throw new Error(e)}function b(e){throw new t(13,e)}function T(e){throw new Error(e)}function k(e){throw new s(e)}function _(){z("Operation does not support curves.")}function N(e){e&&E(e)&&_()}function j(e){e&&g(e.getGeometryType())&&z("Unsupported geometry type.")}function I(e){e===a.enumGeometryCollection&&P("Geometry_collection instances are not supported in this operation")}function L(e){I(e.getGeometryType())}function R(e){P(`bad wkid: ${e}`)}function U(e){let n="bad wkt: ";n+=e,n+="...",P(n)}function D(e,n){e||P(n)}export{B as A,I as B,U as C,R as D,a as G,P as a,M as b,j as c,b as d,G as e,l as f,n as g,f as h,y as i,h as j,g as k,d as l,p as m,E as n,v as o,N as p,C as q,A as r,T as s,z as t,x as u,w as v,k as w,D as x,L as y,m as z};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{G as t,e,A as n}from"./Geometry.js";function i(i,a){const f=i.getGeometryType();return f===t.enumPoint?r(i):e(f)?u(i):f===t.enumMultiPoint?o(i):f===t.enumEnvelope?i:f===t.enumMultipatch?(n("not implemented for multipatch"),i):i}function r(t){return t}function u(e){if(a(e))return e;const n=e.createInstance();for(let i=0,r=e.getPathCount();i<r;i++){const r=e.getPathSize(i);if(0!==r){if(1===r){if(0===e.getSegmentCountPath(i))continue;if(e.getSegmentType(e.getPathStart(i))===t.enumLine)continue;if(!e.isClosedPath(i))continue}n.addPath(e,i,!0)}}return n}function o(t){return t}function a(e){for(let n=0,i=e.getPathCount();n<i;n++){const i=e.getPathSize(n);if(0===i)return!1;if(1===i){if(0===e.getSegmentCountPath(n))return!1;if(e.getSegmentType(e.getPathStart(n))===t.enumLine)return!1;if(!e.isClosedPath(n))return!1}}return!0}export{i as c};
2
+ import{G as t,j as e,t as n}from"./Geometry.js";function i(i,a){const f=i.getGeometryType();return f===t.enumPoint?r(i):e(f)?u(i):f===t.enumMultiPoint?o(i):f===t.enumEnvelope?i:f===t.enumMultipatch?(n("not implemented for multipatch"),i):i}function r(t){return t}function u(e){if(a(e))return e;const n=e.createInstance();for(let i=0,r=e.getPathCount();i<r;i++){const r=e.getPathSize(i);if(0!==r){if(1===r){if(0===e.getSegmentCountPath(i))continue;if(e.getSegmentType(e.getPathStart(i))===t.enumLine)continue;if(!e.isClosedPath(i))continue}n.addPath(e,i,!0)}}return n}function o(t){return t}function a(e){for(let n=0,i=e.getPathCount();n<i;n++){const i=e.getPathSize(n);if(0===i)return!1;if(1===i){if(0===e.getSegmentCountPath(n))return!1;if(e.getSegmentType(e.getPathStart(n))===t.enumLine)return!1;if(!e.isClosedPath(n))return!1}}return!0}export{i as c};
@@ -1,28 +1,28 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepthLastFrame as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{ScreenSpaceRayMarching as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js";import{CameraSpace as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{FloatPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n,If as c}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ColorAttachment1 as d}from"../views/webgl/enums.js";import{NoParameters as u}from"../views/webgl/NoParameters.js";import{ShaderBuilder as p}from"../views/webgl/ShaderBuilder.js";const f=.01,g=.008,x=.002,v=.5,M=.02,y=.1,b=.008,w=.012,W=.008,D=40,S=.095,R=.008,F=60,j=2,B=.0039,C=.25,I=.15,z=25,P=.15,G=.5,T=1,E=1,$=16;class L extends u{constructor(){super(...arguments),this.projScale=1,this.scaleGlobalIllumination=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.rayMarchMinReach=P,this.rayMarchMaxReach=G,this.rayMarchWorldReach=z,this.rayMarchMinReachEmissionWeight=T,this.rayMarchMaxReachEmissionWeight=E,this.rayMarchMaxSteps=$,this.colorBleedWeight=I}}function O(u){const I=new p,z=I.fragment;return I.include(e),I.include(i),r(z),z.include(a),z.include(t),I.include(o,u),z.uniforms.add(new h("normalMap",e=>e.normalTexture),new h("depthMap",e=>e.depthTexture),new h("lastFrameColorTexture",(e,a)=>a.reprojection.lastFrameColor?.getTexture()),new h("lastFrameDepthTexture",(e,a)=>a.reprojection.lastFrameDepth?.attachment),new m("lastFrameGlobalIlluminationTexture",e=>e.globalIllumination?.getTexture()),new m("lastFrameGlobalIlluminationWeightTexture",e=>e.globalIllumination?.getTexture(d)),new s("reprojectionViewMatrix",e=>e.reprojection.viewMatrix),new s("view",e=>e.camera.viewMatrix),new l("accumulatedFrames",e=>e.accumulatedFrames),new l("temporalSampleFrame",e=>e.temporalSampleFrame),new l("scaleGlobalIllumination",e=>e.scaleGlobalIllumination)),z.uniforms.add(new l("rayMarchMinReach",e=>e.rayMarchMinReach),new l("rayMarchMaxReach",e=>e.rayMarchMaxReach),new l("rayMarchWorldReach",e=>e.rayMarchWorldReach),new l("rayMarchMinReachEmissionWeight",e=>e.rayMarchMinReachEmissionWeight),new l("rayMarchMaxReachEmissionWeight",e=>e.rayMarchMaxReachEmissionWeight),new l("rayMarchMaxSteps",e=>e.rayMarchMaxSteps),new l("colorBleedWeight",e=>e.colorBleedWeight)),u.hasEmission&&z.uniforms.add(new h("lastFrameEmissionTexture",(e,a)=>a.reprojection.lastFrameEmission?.attachment)),z.code.add(n`
2
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepthLastFrame as a}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepthLastFrame.glsl.js";import{Gamma as t}from"../views/3d/webgl-engine/core/shaderLibrary/shading/Gamma.glsl.js";import{addMainLightDirection as r}from"../views/3d/webgl-engine/core/shaderLibrary/shading/MainLighting.glsl.js";import{ScreenSpaceRayMarching as o}from"../views/3d/webgl-engine/core/shaderLibrary/shading/ScreenSpaceRayMarching.glsl.js";import{CameraSpace as i}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{FloatPassUniform as l}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as n,If as s}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Matrix4BindUniform as c}from"../views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js";import{Texture2DBindUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js";import{Texture2DPassUniform as h}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{GlobalIlluminationColorQuantization as u}from"../views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js";import{ColorAttachment1 as d}from"../views/webgl/enums.js";import{NoParameters as p}from"../views/webgl/NoParameters.js";import{ShaderBuilder as g}from"../views/webgl/ShaderBuilder.js";const f=.01,x=.008,v=.002,M=.5,y=.02,b=.1,w=.008,W=.012,D=.008,S=40,R=.095,F=.008,j=60,I=2,B=.0039,C=.25,z=.15,G=25,P=.15,T=.5,E=1,$=1,L=16;class O extends p{constructor(){super(...arguments),this.projScale=1,this.scaleGlobalIllumination=1,this.accumulatedFrames=0,this.temporalSampleFrame=0,this.rayMarchMinReach=P,this.rayMarchMaxReach=T,this.rayMarchWorldReach=G,this.rayMarchMinReachEmissionWeight=E,this.rayMarchMaxReachEmissionWeight=$,this.rayMarchMaxSteps=L,this.colorBleedWeight=z}}function V(p){const z=new g,G=z.fragment;return z.include(e),z.include(i),r(G),G.include(a),G.include(t),G.include(u),z.include(o,p),G.uniforms.add(new h("normalMap",e=>e.normalTexture),new h("depthMap",e=>e.depthTexture),new h("lastFrameColorTexture",(e,a)=>a.reprojection.lastFrameColor?.getTexture()),new h("lastFrameDepthTexture",(e,a)=>a.reprojection.lastFrameDepth?.attachment),new m("lastFrameGlobalIlluminationTexture",e=>e.globalIllumination?.getTexture()),new m("lastFrameGlobalIlluminationWeightTexture",e=>e.globalIllumination?.getTexture(d)),new c("reprojectionViewMatrix",e=>e.reprojection.viewMatrix),new c("view",e=>e.camera.viewMatrix),new l("accumulatedFrames",e=>e.accumulatedFrames),new l("temporalSampleFrame",e=>e.temporalSampleFrame),new l("scaleGlobalIllumination",e=>e.scaleGlobalIllumination)),G.uniforms.add(new l("rayMarchMinReach",e=>e.rayMarchMinReach),new l("rayMarchMaxReach",e=>e.rayMarchMaxReach),new l("rayMarchWorldReach",e=>e.rayMarchWorldReach),new l("rayMarchMinReachEmissionWeight",e=>e.rayMarchMinReachEmissionWeight),new l("rayMarchMaxReachEmissionWeight",e=>e.rayMarchMaxReachEmissionWeight),new l("rayMarchMaxSteps",e=>e.rayMarchMaxSteps),new l("colorBleedWeight",e=>e.colorBleedWeight)),p.hasEmission&&G.uniforms.add(new h("lastFrameEmissionTexture",(e,a)=>a.reprojection.lastFrameEmission?.attachment)),G.code.add(n`
3
3
  float computeIdleColorBlendWeight(float accumulatedFrames) {
4
4
  float idleColorBlendProgress = clamp(
5
- accumulatedFrames / ${n.float(D)},
5
+ accumulatedFrames / ${n.float(S)},
6
6
  0.0,
7
7
  1.0
8
8
  );
9
9
  return mix(
10
- ${n.float(w)},
11
10
  ${n.float(W)},
11
+ ${n.float(D)},
12
12
  idleColorBlendProgress
13
13
  );
14
14
  }
15
15
 
16
16
  float computeIdleOcclusionBlendWeight(float accumulatedFrames) {
17
17
  float idleOcclusionBlendProgress = clamp(
18
- accumulatedFrames / ${n.float(F)},
18
+ accumulatedFrames / ${n.float(j)},
19
19
  0.0,
20
20
  1.0
21
21
  );
22
22
  return mix(
23
- ${n.float(S)},
24
23
  ${n.float(R)},
25
- pow(idleOcclusionBlendProgress, ${n.float(j)})
24
+ ${n.float(F)},
25
+ pow(idleOcclusionBlendProgress, ${n.float(I)})
26
26
  );
27
27
  }
28
28
 
@@ -77,7 +77,7 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
77
77
 
78
78
  return value * 2.0 - 1.0;
79
79
  }
80
- `),I.outputs.add("fragGlobalIllumination","vec4",0),I.outputs.add("fragWeight","float",1),z.main.add(n`
80
+ `),z.outputs.add("fragGlobalIllumination","vec4",0),z.outputs.add("fragWeight","float",1),G.main.add(n`
81
81
  float depth = depthFromTexture(depthMap, uv);
82
82
 
83
83
  // Early out if depth is out of range, such as in the sky
@@ -126,7 +126,7 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
126
126
  if (hasReprojectionMismatch) {
127
127
  if (isLowQualityEdgePixel) {
128
128
  steps = 1;
129
- occlusionBlendWeight = ${n.float(g)};
129
+ occlusionBlendWeight = ${n.float(x)};
130
130
  resetColorHistory = true;
131
131
  } else {
132
132
  steps = 6;
@@ -135,15 +135,15 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
135
135
  }
136
136
  } else {
137
137
  steps = 1;
138
- if (historyOcclusionBlendWeight > ${n.float(v)}) {
139
- occlusionBlendWeight = ${n.float(y)};
140
- colorBlendWeight = ${n.float(b)};
141
- } else if (historyOcclusionBlendWeight > ${n.float(M)}) {
138
+ if (historyOcclusionBlendWeight > ${n.float(M)}) {
139
+ occlusionBlendWeight = ${n.float(b)};
140
+ colorBlendWeight = ${n.float(w)};
141
+ } else if (historyOcclusionBlendWeight > ${n.float(y)}) {
142
142
  occlusionBlendWeight = historyOcclusionBlendWeight - 0.05;
143
- colorBlendWeight = ${n.float(b)};
143
+ colorBlendWeight = ${n.float(w)};
144
144
  } else {
145
- occlusionBlendWeight = isScaledGlobalIllumination ? ${n.float(g)} : idleOcclusionBlendWeight;
146
- colorBlendWeight = isScaledGlobalIllumination ? ${n.float(x)} : idleColorBlendWeight;
145
+ occlusionBlendWeight = isScaledGlobalIllumination ? ${n.float(x)} : idleOcclusionBlendWeight;
146
+ colorBlendWeight = isScaledGlobalIllumination ? ${n.float(v)} : idleColorBlendWeight;
147
147
  }
148
148
  }
149
149
 
@@ -173,14 +173,14 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
173
173
  );
174
174
 
175
175
  if (hit.z > 0.0) {
176
- ${c(u.hasColor,n`
176
+ ${s(p.hasColor,n`
177
177
  // Emission and color bleed - Reproject the current receiver and sampled hit to estimate bounced color
178
178
  vec3 receiverColor = texture(lastFrameColorTexture, reprojectedCoordinate.xy).rgb;
179
179
 
180
180
  vec2 hitReprojectedCoordinate = reprojectionCoordinate(hit);
181
181
  vec3 sourceColor = texture(lastFrameColorTexture, hitReprojectedCoordinate).rgb;
182
182
  vec3 sourceColorLinear = linearizeGamma(sourceColor);
183
- vec3 sourceEmission = ${c(u.hasEmission,"texture(lastFrameEmissionTexture, hitReprojectedCoordinate).xyz","vec3(0.0)")};
183
+ vec3 sourceEmission = ${s(p.hasEmission,"texture(lastFrameEmissionTexture, hitReprojectedCoordinate).xyz","vec3(0.0)")};
184
184
 
185
185
  float emissionWeight = mix(
186
186
  rayMarchMinReachEmissionWeight,
@@ -204,7 +204,7 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
204
204
  ? randomDirectionSample.b * ${n.float(B)}
205
205
  : 0.0;
206
206
 
207
- ${c(u.hasColor,n`
207
+ ${s(p.hasColor,n`
208
208
  // Accumulate color
209
209
  vec3 lastFrameColor = lastFrameGlobalIllumination.rgb;
210
210
  float colorDitherScale = isScaledGlobalIllumination ? ${n.float(C)} : 1.0;
@@ -214,9 +214,10 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
214
214
  `,n`
215
215
  fragGlobalIllumination.rgb = vec3(0.0);
216
216
  `)}
217
+ fragGlobalIllumination.rgb = quantizeGlobalIlluminationColor(fragGlobalIllumination.rgb);
217
218
 
218
219
  // Accumulate occlusion
219
220
  fragGlobalIllumination.a = mix(lastFrameGlobalIllumination.a + accumulationDither, fragGlobalIllumination.a, occlusionBlendWeight);
220
221
 
221
222
  fragWeight = occlusionBlendWeight;
222
- `),I}const V=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationPassParameters:L,build:O,defaultColorBleedWeight:I,defaultRayMarchMaxReach:G,defaultRayMarchMaxReachEmissionWeight:E,defaultRayMarchMaxSteps:$,defaultRayMarchMinReach:P,defaultRayMarchMinReachEmissionWeight:T,defaultRayMarchWorldReach:z},Symbol.toStringTag,{value:"Module"}));export{V as G,L as a,O as b,G as c,I as d,E as e,$ as f,P as g,T as h,z as i};
223
+ `),z}const U=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationPassParameters:O,build:V,defaultColorBleedWeight:z,defaultRayMarchMaxReach:T,defaultRayMarchMaxReachEmissionWeight:$,defaultRayMarchMaxSteps:L,defaultRayMarchMinReach:P,defaultRayMarchMinReachEmissionWeight:E,defaultRayMarchWorldReach:G},Symbol.toStringTag,{value:"Module"}));export{O as G,U as a,L as b,V as c,T as d,z as e,$ as f,P as g,E as h,G as i};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ScreenSpacePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{GlobalIlluminationWeights as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/GlobalIlluminationWeights.glsl.js";import{CameraSpace as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{BooleanBindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/BooleanBindUniform.js";import{Float2DrawUniform as s}from"../views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js";import{FloatPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DDrawUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{ditherNoise as c}from"../views/3d/webgl-engine/shaders/ditherNoise.glsl.js";import{NoParameters as p}from"../views/webgl/NoParameters.js";import{ShaderBuilder as h}from"../views/webgl/ShaderBuilder.js";const d=4;class f extends p{constructor(){super(...arguments),this.blurSize=e()}}function g(){const e=new h,p=e.fragment;e.include(l),e.include(t),e.include(i);const f=(d+3)/2,g=1/(2*f*f);p.include(o),p.include(c,{useFloatBlend:!1});const b=5e4;p.uniforms.add(new a("hasEmission",e=>e.hasEmission),new u("depthMap",e=>e.depthTexture),new u("normalMap",e=>e.normalTexture),new m("globalIlluminationTexture",e=>e.texture),new m("globalIlluminationWeightTexture",e=>e.weightTexture),new s("blurSize",e=>e.blurSize),new n("scaleGlobalIllumination",e=>e.scaleGlobalIllumination),new n("projScale",(e,l)=>{const o=l.camera.distance;return o>b?Math.max(0,e.projScale-(o-b)):e.projScale}));const S=.1,v=400,w=.03,W=.08,I=1.5;return p.code.add(r`
2
+ import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{ScreenSpacePass as l}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as o}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{GlobalIlluminationWeights as i}from"../views/3d/webgl-engine/core/shaderLibrary/shading/GlobalIlluminationWeights.glsl.js";import{CameraSpace as t}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{BooleanBindUniform as a}from"../views/3d/webgl-engine/core/shaderModules/BooleanBindUniform.js";import{Float2DrawUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js";import{FloatPassUniform as s}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as r}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DDrawUniform as m}from"../views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as u}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{GlobalIlluminationColorQuantization as c}from"../views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js";import{ditherNoise as p}from"../views/3d/webgl-engine/shaders/ditherNoise.glsl.js";import{NoParameters as h}from"../views/webgl/NoParameters.js";import{ShaderBuilder as d}from"../views/webgl/ShaderBuilder.js";const f=4;class g extends h{constructor(){super(...arguments),this.blurSize=e()}}function b(){const e=new d,h=e.fragment;e.include(l),e.include(t),e.include(i);const g=(f+3)/2,b=1/(2*g*g);h.include(o),h.include(p,{useFloatBlend:!1}),h.include(c);const S=5e4;h.uniforms.add(new a("hasEmission",e=>e.hasEmission),new u("depthMap",e=>e.depthTexture),new u("normalMap",e=>e.normalTexture),new m("globalIlluminationTexture",e=>e.texture),new m("globalIlluminationWeightTexture",e=>e.weightTexture),new n("blurSize",e=>e.blurSize),new s("scaleGlobalIllumination",e=>e.scaleGlobalIllumination),new s("projScale",(e,l)=>{const o=l.camera.distance;return o>S?Math.max(0,e.projScale-(o-S)):e.projScale}));const v=.1,w=400,W=.03,I=.08,O=1.5;return h.code.add(r`
3
3
  void accumulateBlurSample(
4
4
  vec2 sampleUv,
5
5
  float sampleOffset,
@@ -22,10 +22,10 @@ import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{Sc
22
22
  float normalSimilarityWeight = globalIlluminationNormalSimilarityWeight(sampleNormal, centerNormal);
23
23
  float depthNormalCorrection = globalIlluminationDepthNormalCorrection(sampleNormal);
24
24
  vec3 emission = sampleGlobalIllumination.rgb;
25
- float emissionSpatialWeightMultiplier = isScaledGlobalIllumination ? ${r.float(v)} : 1.0;
25
+ float emissionSpatialWeightMultiplier = isScaledGlobalIllumination ? ${r.float(w)} : 1.0;
26
26
 
27
27
  float emissionWeight = exp(
28
- -sampleOffset * sampleOffset * ${r.float(g)} * ${r.float(S)} * emissionSpatialWeightMultiplier
28
+ -sampleOffset * sampleOffset * ${r.float(b)} * ${r.float(v)} * emissionSpatialWeightMultiplier
29
29
  - depthDelta * depthDelta * depthSharpness * depthNormalCorrection
30
30
  );
31
31
  emissionWeight *= normalSimilarityWeight;
@@ -36,25 +36,28 @@ import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{Sc
36
36
  return;
37
37
  }
38
38
 
39
- float occlusionSpatialKernelScale = centerOcclusionBlendWeight > ${r.float(w)}
40
- ? ${r.float(W)}
41
- : ${r.float(I)};
39
+ float occlusionSpatialKernelScale = centerOcclusionBlendWeight > ${r.float(W)}
40
+ ? ${r.float(I)}
41
+ : ${r.float(O)};
42
42
  float occlusionWeight = exp(-sampleOffset * sampleOffset * occlusionSpatialKernelScale - depthDelta * depthDelta * depthSharpness);
43
43
  occlusionWeight *= normalSimilarityWeight;
44
44
  occlusionWeightSum += occlusionWeight;
45
45
  occlusionSum += occlusionWeight * sampleGlobalIllumination.a;
46
46
  }
47
- `),p.main.add(r`
47
+ `),h.main.add(r`
48
48
  vec3 emissionSum = vec3(0.0);
49
49
  float emissionWeightSum = 0.0;
50
50
 
51
51
  vec4 centerGlobalIllumination = texture(globalIlluminationTexture, uv);
52
52
  float centerOcclusionBlendWeight = texture(globalIlluminationWeightTexture, uv).r;
53
53
  bool isScaledGlobalIllumination = scaleGlobalIllumination < 1.0;
54
- bool shouldReuseCenterOcclusion = isScaledGlobalIllumination && centerOcclusionBlendWeight <= ${r.float(w)};
54
+ bool shouldReuseCenterOcclusion = isScaledGlobalIllumination && centerOcclusionBlendWeight <= ${r.float(W)};
55
55
  bool shouldSkipLowQualityBlur = !hasEmission && shouldReuseCenterOcclusion;
56
56
  if (shouldSkipLowQualityBlur) {
57
- fragColor = centerGlobalIllumination;
57
+ fragColor = vec4(
58
+ quantizeGlobalIlluminationColor(centerGlobalIllumination.rgb),
59
+ centerGlobalIllumination.a
60
+ );
58
61
  return;
59
62
  }
60
63
 
@@ -64,7 +67,7 @@ import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{Sc
64
67
  float occlusionWeightSum = 0.0;
65
68
 
66
69
  float depthSharpness = globalIlluminationDepthSharpness(projScale, centerDepth);
67
- for (int sampleOffset = -${r.int(d)}; sampleOffset <= ${r.int(d)}; ++sampleOffset) {
70
+ for (int sampleOffset = -${r.int(f)}; sampleOffset <= ${r.int(f)}; ++sampleOffset) {
68
71
  float sampleOffsetFloat = float(sampleOffset);
69
72
  vec2 sampleUv = uv + sampleOffsetFloat * blurSize;
70
73
  accumulateBlurSample(
@@ -89,5 +92,5 @@ import{create as e}from"../core/libs/gl-matrix-2/factories/vec2f64.js";import{Sc
89
92
  float dither = ditherNoise(vec4(blurredEmission, occlusion)) - 1./32768.0;
90
93
  blurredEmission += isScaledGlobalIllumination ? 0.85 * dither : dither;
91
94
 
92
- fragColor = vec4(blurredEmission, occlusion);
93
- `),e}const b=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationBlurDrawParameters:f,build:g},Symbol.toStringTag,{value:"Module"}));export{b as G,f as a,g as b};
95
+ fragColor = vec4(quantizeGlobalIlluminationColor(blurredEmission), occlusion);
96
+ `),e}const S=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationBlurDrawParameters:g,build:b},Symbol.toStringTag,{value:"Module"}));export{g as G,S as a,b};
@@ -1,5 +1,5 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{GlobalIlluminationWeights as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/GlobalIlluminationWeights.glsl.js";import{CameraSpace as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{FloatPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DDrawUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{NoParameters as h}from"../views/webgl/NoParameters.js";import{ShaderBuilder as u}from"../views/webgl/ShaderBuilder.js";const s=5e4,m=100;class c extends h{}function p(){const h=new u,c=h.fragment;return h.include(e),h.include(r),h.include(l),c.include(t),c.uniforms.add(new n("depthMap",e=>e.depthTexture),new n("normalMap",e=>e.normalTexture),new o("tex",e=>e.colorTexture),new o("globalIlluminationWeightTexture",e=>e.weightTexture),new a("projScale",(e,t)=>{const l=t.camera.distance;return l>s?Math.max(0,e.projScale-(l-s)):e.projScale})),c.code.add(i`
2
+ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js";import{ReadDepth as t}from"../views/3d/webgl-engine/core/shaderLibrary/output/ReadDepth.glsl.js";import{GlobalIlluminationWeights as l}from"../views/3d/webgl-engine/core/shaderLibrary/shading/GlobalIlluminationWeights.glsl.js";import{CameraSpace as r}from"../views/3d/webgl-engine/core/shaderLibrary/util/CameraSpace.glsl.js";import{FloatPassUniform as a}from"../views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js";import{glsl as i}from"../views/3d/webgl-engine/core/shaderModules/glsl.js";import{Texture2DDrawUniform as o}from"../views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js";import{Texture2DPassUniform as n}from"../views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js";import{GlobalIlluminationColorQuantization as h}from"../views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js";import{NoParameters as u}from"../views/webgl/NoParameters.js";import{ShaderBuilder as s}from"../views/webgl/ShaderBuilder.js";const m=5e4,c=100;class g extends u{}function p(){const u=new s,g=u.fragment;return u.include(e),u.include(r),u.include(l),g.include(t),g.include(h),g.uniforms.add(new n("depthMap",e=>e.depthTexture),new n("normalMap",e=>e.normalTexture),new o("tex",e=>e.colorTexture),new o("globalIlluminationWeightTexture",e=>e.weightTexture),new a("projScale",(e,t)=>{const l=t.camera.distance;return l>m?Math.max(0,e.projScale-(l-m)):e.projScale})),g.code.add(i`
3
3
  float computeDepthWeight(float sampleDepth, float centerDepth, float depthSharpness) {
4
4
  float depthDelta = abs(sampleDepth - centerDepth);
5
5
  return exp(-0.08 - depthDelta * depthDelta * depthSharpness);
@@ -14,7 +14,7 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
14
14
  void sampleJointBilateralUpscale(vec2 sampleUv, out vec4 upscaledColor, out float upscaledWeight) {
15
15
  float centerDepth = linearDepthFromTexture(depthMap, sampleUv);
16
16
  vec3 centerNormal = normalFromTexture(normalMap, sampleUv);
17
- float depthSharpness = ${i.float(m)} * globalIlluminationDepthSharpness(projScale, centerDepth, centerNormal);
17
+ float depthSharpness = ${i.float(c)} * globalIlluminationDepthSharpness(projScale, centerDepth, centerNormal);
18
18
 
19
19
  vec2 lowResTextureSize = vec2(textureSize(tex, 0));
20
20
  vec2 texelPosition = sampleUv * lowResTextureSize - 0.5;
@@ -78,4 +78,5 @@ import{ScreenSpacePass as e}from"../views/3d/webgl-engine/core/shaderLibrary/Scr
78
78
  weight11 * jointBilateralWeight11
79
79
  ) / jointBilateralWeightSum;
80
80
  }
81
- `),h.outputs.add("fragColor","vec4",0),h.outputs.add("fragWeight","float",1),c.main.add(i`sampleJointBilateralUpscale(uv, fragColor, fragWeight);`),h}const g=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationUpscaleDrawParameters:c,build:p},Symbol.toStringTag,{value:"Module"}));export{g as G,c as a,p as b};
81
+ `),u.outputs.add("fragColor","vec4",0),u.outputs.add("fragWeight","float",1),g.main.add(i`sampleJointBilateralUpscale(uv, fragColor, fragWeight);
82
+ fragColor.rgb = quantizeGlobalIlluminationColor(fragColor.rgb);`),u}const d=Object.freeze(Object.defineProperty({__proto__:null,GlobalIlluminationUpscaleDrawParameters:g,build:p},Symbol.toStringTag,{value:"Module"}));export{g as G,d as a,p as b};
@@ -21,4 +21,4 @@ import{normalize as e}from"../core/arrayUtils.js";import{gauss as r}from"../core
21
21
  }
22
22
  return res;
23
23
  }
24
- `).main.add(n`fragColor = vec4(blurUniformSamples(), 0.0);`),d}const m=Object.freeze(Object.defineProperty({__proto__:null,GlowBlurPassParameters:d,build:f},Symbol.toStringTag,{value:"Module"}));export{m as G,d as a,f as b};
24
+ `).main.add(n`fragColor = vec4(blurUniformSamples(), 0.0);`),d}const m=Object.freeze(Object.defineProperty({__proto__:null,GlowBlurPassParameters:d,build:f},Symbol.toStringTag,{value:"Module"}));export{d as G,m as a,f as b};
@@ -36,4 +36,4 @@ fragColor = delinearizeGamma(vec4(color.rgb + emission.rgb, color.w));`),d):(x.m
36
36
  color = vec4(linearizeGamma(color.rgb), color.a);
37
37
  vec3 emission = texture(emissionTexture, uv).rgb * floatBlendInputScale;
38
38
  emission = tonemapKhronosNeutral(emission, 1.0);
39
- fragColor = delinearizeGamma(vec4(color.rgb + emission, color.w));`),d)}class v{constructor(o,r){this.preset=o,e(o,r)}}function h(e,o,r=1){return[e[0]*(1-r)+o[0]*r,e[1]*(1-r)+o[1]*r,e[2]*(1-r)+o[2]*r,e[3]*(1-r)+o[3]*r,e[4]*(1-r)+o[4]*r,e[5]*(1-r)+o[5]*r]}const b=Object.freeze(Object.defineProperty({__proto__:null,GlowCompositionPassParameters:x,GlowLodFactors:v,build:w,mixPreset:h},Symbol.toStringTag,{value:"Module"}));export{b as G,x as a,v as b,w as c,h as m};
39
+ fragColor = delinearizeGamma(vec4(color.rgb + emission, color.w));`),d)}class v{constructor(o,r){this.preset=o,e(o,r)}}function h(e,o,r=1){return[e[0]*(1-r)+o[0]*r,e[1]*(1-r)+o[1]*r,e[2]*(1-r)+o[2]*r,e[3]*(1-r)+o[3]*r,e[4]*(1-r)+o[4]*r,e[5]*(1-r)+o[5]*r]}const b=Object.freeze(Object.defineProperty({__proto__:null,GlowCompositionPassParameters:x,GlowLodFactors:v,build:w,mixPreset:h},Symbol.toStringTag,{value:"Module"}));export{v as G,x as a,b,w as c,h as m};
@@ -4,4 +4,4 @@ if (depthSample == 1.0 ) {
4
4
  fragColor = vec4(0);
5
5
  return;
6
6
  }
7
- fragColor = texture(colorTexture, uv);`),s}const l=Object.freeze(Object.defineProperty({__proto__:null,HazeCompositingPassParameters:i,build:n},Symbol.toStringTag,{value:"Module"}));export{l as H,i as a,n as b};
7
+ fragColor = texture(colorTexture, uv);`),s}const l=Object.freeze(Object.defineProperty({__proto__:null,HazeCompositingPassParameters:i,build:n},Symbol.toStringTag,{value:"Module"}));export{i as H,l as a,n as b};
@@ -10,4 +10,4 @@ sum += texture(blurInput, sUV - blurSize * 1.407333).rg * 0.304005;
10
10
  sum += texture(blurInput, sUV + blurSize * 3.294215).rg * 0.093913;
11
11
  sum += texture(blurInput, sUV - blurSize * 3.294215).rg * 0.093913;
12
12
  fragHighlight = sum;
13
- }`),e}const g=Object.freeze(Object.defineProperty({__proto__:null,HighlightBlurDrawParameters:o,build:n},Symbol.toStringTag,{value:"Module"}));export{g as H,o as a,n as b};
13
+ }`),e}const g=Object.freeze(Object.defineProperty({__proto__:null,HighlightBlurDrawParameters:o,build:n},Symbol.toStringTag,{value:"Module"}));export{o as H,g as a,n as b};
@@ -25,4 +25,4 @@ outputValue |= texels[i];
25
25
  }
26
26
  }
27
27
  }
28
- fragGrid = outputValue;`),l}const u=32,n=9,s=.4,a=Object.freeze(Object.defineProperty({__proto__:null,HighlightDownsampleDrawParameters:o,blurSize:s,build:c,gridCellPixelSize:u,outlineSize:n},Symbol.toStringTag,{value:"Module"}));export{a as H,o as a,s as b,c,u as g,n as o};
28
+ fragGrid = outputValue;`),l}const u=32,n=9,s=.4,a=Object.freeze(Object.defineProperty({__proto__:null,HighlightDownsampleDrawParameters:o,blurSize:s,build:c,gridCellPixelSize:u,outlineSize:n},Symbol.toStringTag,{value:"Module"}));export{o as H,a,s as b,c,u as g,n as o};
@@ -12,4 +12,4 @@ return r * vec2(cos(theta), sin(theta)) * 0.5 + 0.5;
12
12
  }`),e.fragment.main.add(s`float mask = maskEnabled ? texture(textureMask, vUV).a : 1.0;
13
13
  vec4 inputColor = texture(textureInput, barrel(vUV)) * mask;
14
14
  vec4 overlayColor = overlayEnabled ? texture(textureOverlay, vUV) : vec4(0);
15
- fragColor = overlayColor + (1.0 - overlayColor.a) * inputColor;`),e}function v(r,a){const t=a.camera.pixelRatio,n=r.magnifier.offset.x*t,i=r.magnifier.offset.y*t;e(r.magnifier.position,c);const s=a.camera.screenToRender(c,g),l=Math.ceil(t*r.magnifier.size),{fullWidth:m,fullHeight:u}=a.camera;return o(p,(s[0]+n)/m*2-1,(s[1]-i)/u*2-1,l/m*2,l/u*2)}const c=r(),g=a(),p=t(),b=Object.freeze(Object.defineProperty({__proto__:null,MagnifierPassParameters:d,build:f},Symbol.toStringTag,{value:"Module"}));export{b as M,d as a,f as b};
15
+ fragColor = overlayColor + (1.0 - overlayColor.a) * inputColor;`),e}function v(r,a){const t=a.camera.pixelRatio,n=r.magnifier.offset.x*t,i=r.magnifier.offset.y*t;e(r.magnifier.position,c);const s=a.camera.screenToRender(c,g),l=Math.ceil(t*r.magnifier.size),{fullWidth:m,fullHeight:u}=a.camera;return o(p,(s[0]+n)/m*2-1,(s[1]-i)/u*2-1,l/m*2,l/u*2)}const c=r(),g=a(),p=t(),b=Object.freeze(Object.defineProperty({__proto__:null,MagnifierPassParameters:d,build:f},Symbol.toStringTag,{value:"Module"}));export{d as M,b as a,f as b};