@arcgis/core 4.25.0-next.20221018 → 4.25.0-next.20221021

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 (1368) hide show
  1. package/Basemap.d.ts +1 -1
  2. package/Camera.d.ts +1 -1
  3. package/Color.d.ts +1 -1
  4. package/Graphic.d.ts +1 -1
  5. package/Ground.d.ts +1 -1
  6. package/Map.d.ts +1 -1
  7. package/PopupTemplate.d.ts +1 -1
  8. package/README.md +158 -158
  9. package/TimeExtent.d.ts +1 -1
  10. package/TimeInterval.d.ts +1 -1
  11. package/Viewpoint.d.ts +1 -1
  12. package/WebMap.d.ts +1 -1
  13. package/WebMap.js +1 -1
  14. package/WebScene.d.ts +1 -1
  15. package/analysis/AreaMeasurementAnalysis.d.ts +1 -1
  16. package/analysis/DimensionAnalysis.d.ts +1 -1
  17. package/analysis/DimensionSimpleStyle.d.ts +1 -1
  18. package/analysis/DirectLineMeasurementAnalysis.d.ts +1 -1
  19. package/analysis/LengthDimension.d.ts +1 -1
  20. package/analysis/LineOfSightAnalysis.d.ts +1 -1
  21. package/analysis/LineOfSightAnalysisObserver.d.ts +1 -1
  22. package/analysis/LineOfSightAnalysisTarget.d.ts +1 -1
  23. package/analysis/SliceAnalysis.d.ts +1 -1
  24. package/analysis/SlicePlane.d.ts +1 -1
  25. package/applications/SceneViewer/colorUtils.d.ts +1 -1
  26. package/applications/SceneViewer/sceneViewerUtils.d.ts +1 -1
  27. package/arcade.d.ts +1 -1
  28. package/assets/esri/core/libs/libtess/libtess.wasm +0 -0
  29. package/assets/esri/core/workers/RemoteClient.js +1 -1
  30. package/assets/esri/core/workers/chunks/{fc521bcd4fce711edb7e.js → 038dc3f9ef06ef3c960c.js} +1 -1
  31. package/assets/esri/core/workers/chunks/073fdfd01d940c7b1da1.js +1 -0
  32. package/assets/esri/core/workers/chunks/0b0f3e93f658a012d5f0.js +1 -0
  33. package/assets/esri/core/workers/chunks/{5e3686b68e1b5dfa0169.js → 110587dd66c52d0284a9.js} +4 -4
  34. package/assets/esri/core/workers/chunks/{7b7b6f0b1a6215ee7a60.js → 12efe67be9414262591f.js} +1 -1
  35. package/assets/esri/core/workers/chunks/{9383dab07abf7e29139e.js → 16a6b4d8c4928c97ef56.js} +1 -1
  36. package/assets/esri/core/workers/chunks/{cd11fcc3d9678ab4e115.js → 19c208150b7f9cf0b6ea.js} +1 -1
  37. package/assets/esri/core/workers/chunks/{6f19761acd9ab875a600.js → 2b0952bd7dbeb1a79fbc.js} +1 -1
  38. package/assets/esri/core/workers/chunks/{7fab18074b130b71a648.js → 2c4938512dd726a177dd.js} +1 -1
  39. package/assets/esri/core/workers/chunks/2d8201f0f33ba66bb96b.js +1 -0
  40. package/assets/esri/core/workers/chunks/2ebba71cbbfa62ddf46a.js +1 -0
  41. package/assets/esri/core/workers/chunks/{de6a1d1cfdc147455d57.js → 2f22105099a3ece58d1d.js} +1 -1
  42. package/assets/esri/core/workers/chunks/{8ee3da8677255b8c8709.js → 31de71018575457155e5.js} +1 -1
  43. package/assets/esri/core/workers/chunks/{64a0f93c6a0fd4e14601.js → 3376fbcbd92261d45169.js} +1 -1
  44. package/assets/esri/core/workers/chunks/4450f17444947fe2f27f.js +1 -0
  45. package/assets/esri/core/workers/chunks/5de864843c0d3f4d291d.js +1 -0
  46. package/assets/esri/core/workers/chunks/6dfb2ddfd72009564a34.js +1 -0
  47. package/assets/esri/core/workers/chunks/{d18b191e158c1aff853c.js → 71bc42d18a9e5c356c2a.js} +1 -1
  48. package/assets/esri/core/workers/chunks/{179b9a7aa796dac3eb83.js → 7ba0cfe4d1c214f44fc7.js} +1 -1
  49. package/assets/esri/core/workers/chunks/81139c01e8016cbbe324.js +1 -0
  50. package/assets/esri/core/workers/chunks/883cfe319b15ebabf71e.js +1 -0
  51. package/assets/esri/core/workers/chunks/{c2a6ac7046134f725cf3.js → 8ba83fee56dd4f306d87.js} +1 -1
  52. package/assets/esri/core/workers/chunks/925f53f4ef097c5ce204.js +1 -0
  53. package/assets/esri/core/workers/chunks/{eff5593e534d2a617ca7.js → 942da417257f8fd8e4cf.js} +1 -1
  54. package/assets/esri/core/workers/chunks/97450791de57796f842c.js +1 -0
  55. package/assets/esri/core/workers/chunks/{c9c0dd4d9aaa9b794bd5.js → 9d1faf9358df056be8e7.js} +1 -1
  56. package/assets/esri/core/workers/chunks/9d410721f42259efe666.js +1 -0
  57. package/assets/esri/core/workers/chunks/{b98074a98ebc11ed1e09.js → aa3909ffe65b42c61b52.js} +1 -1
  58. package/assets/esri/core/workers/chunks/af3f30f968363bb3930c.js +1 -0
  59. package/assets/esri/core/workers/chunks/{93e7d34f52bfafa015e1.js → b58badb11e610024ce4c.js} +1 -1
  60. package/assets/esri/core/workers/chunks/b5e6a868256c5aae6d5e.js +1 -0
  61. package/assets/esri/core/workers/chunks/{2307eea4f3b9c0c987f1.js → b9e93d9ea80361716f1d.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{1f31a507c989b2976660.js → c26a24c89ddf5bdad343.js} +1 -1
  63. package/assets/esri/core/workers/chunks/{a9b77bea0b8d7a2e5f65.js → c8c0f091aab41e4effa5.js} +1 -1
  64. package/assets/esri/core/workers/chunks/d573ec98401fbae26383.js +1 -0
  65. package/assets/esri/core/workers/chunks/{4641e10e0e8e9d257521.js → f436c86f86236ea7ea04.js} +1 -1
  66. package/assets/esri/core/workers/chunks/{b88c012fa0b0e229a5e3.js → f5b4a8b2bad9b0899954.js} +1 -1
  67. package/assets/esri/core/workers/chunks/{3bcf3bed475f7c49eb7e.js → f787036fa1ed4f53bb00.js} +1 -1
  68. package/assets/esri/core/workers/chunks/{ceb38e7e1aa08e1b141f.js → fa3117bb2e11daac000e.js} +1 -1
  69. package/assets/esri/core/workers/chunks/{77425f33515eb7f0551a.js → fb340c93c114ef090941.js} +1 -1
  70. package/assets/esri/css/main.scss +1 -1
  71. package/assets/esri/css/view.scss +1 -1
  72. package/assets/esri/images/support/loading-throb.gif +0 -0
  73. package/assets/esri/themes/base/_Overlay.scss +14 -14
  74. package/assets/esri/themes/base/_OverlayItem.scss +52 -52
  75. package/assets/esri/themes/base/_Ui.scss +149 -149
  76. package/assets/esri/themes/base/_View.scss +194 -194
  77. package/assets/esri/themes/base/_animation.scss +128 -128
  78. package/assets/esri/themes/base/_color.scss +57 -57
  79. package/assets/esri/themes/base/_colorVariables.scss +1 -1
  80. package/assets/esri/themes/base/_core.scss +172 -172
  81. package/assets/esri/themes/base/_functions.scss +23 -23
  82. package/assets/esri/themes/base/_layout.scss +11 -11
  83. package/assets/esri/themes/base/_mixins.scss +665 -665
  84. package/assets/esri/themes/base/_sizes.scss +130 -130
  85. package/assets/esri/themes/base/_type.scss +27 -27
  86. package/assets/esri/themes/base/colors/css/scss/brand_colors.scss +0 -0
  87. package/assets/esri/themes/base/colors/css/scss/calcite_core_colors.scss +0 -0
  88. package/assets/esri/themes/base/colors/css/scss/calcite_core_colors_dark.scss +0 -0
  89. package/assets/esri/themes/base/colors/css/scss/calcite_gray_colors.scss +0 -0
  90. package/assets/esri/themes/base/colors/css/scss/calcite_gray_colors_dark.scss +0 -0
  91. package/assets/esri/themes/base/colors/css/scss/calcite_highlight_colors.scss +0 -0
  92. package/assets/esri/themes/base/colors/css/scss/calcite_highlight_colors_dark.scss +0 -0
  93. package/assets/esri/themes/base/colors/css/scss/calcite_vibrant_colors.scss +0 -0
  94. package/assets/esri/themes/base/colors/css/scss/calcite_vibrant_colors_dark.scss +0 -0
  95. package/assets/esri/themes/base/colors/css/scss/complete.scss +0 -0
  96. package/assets/esri/themes/base/colors/patterns_json/scss/brand_colors.scss +0 -0
  97. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_core_colors.scss +0 -0
  98. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_core_colors_dark.scss +0 -0
  99. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_gray_colors.scss +0 -0
  100. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_gray_colors_dark.scss +0 -0
  101. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_highlight_colors.scss +0 -0
  102. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_highlight_colors_dark.scss +0 -0
  103. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_vibrant_colors.scss +0 -0
  104. package/assets/esri/themes/base/colors/patterns_json/scss/calcite_vibrant_colors_dark.scss +0 -0
  105. package/assets/esri/themes/base/colors/patterns_json/scss/complete.scss +0 -0
  106. package/assets/esri/themes/base/fonts/fonts/014f2daa-c310-4a36-b9fd-79a8e0c48d44-ext.woff2 +0 -0
  107. package/assets/esri/themes/base/fonts/fonts/014f2daa-c310-4a36-b9fd-79a8e0c48d44-greek.woff2 +0 -0
  108. package/assets/esri/themes/base/fonts/fonts/014f2daa-c310-4a36-b9fd-79a8e0c48d44.woff2 +0 -0
  109. package/assets/esri/themes/base/fonts/fonts/0763eab1-d6ed-4c73-afb0-895f930df099.woff +0 -0
  110. package/assets/esri/themes/base/fonts/fonts/121524c1-8d82-4155-bfb3-fd2f15f09e93.woff +0 -0
  111. package/assets/esri/themes/base/fonts/fonts/12b00842-ec20-4c7f-aa72-802fb00f6cc4-ext.woff +0 -0
  112. package/assets/esri/themes/base/fonts/fonts/12b00842-ec20-4c7f-aa72-802fb00f6cc4-greek.woff +0 -0
  113. package/assets/esri/themes/base/fonts/fonts/12b00842-ec20-4c7f-aa72-802fb00f6cc4.woff +0 -0
  114. package/assets/esri/themes/base/fonts/fonts/13faf0ae-dcab-4d1c-9c08-f9ca339b6023-greek.woff +0 -0
  115. package/assets/esri/themes/base/fonts/fonts/13faf0ae-dcab-4d1c-9c08-f9ca339b6023.woff +0 -0
  116. package/assets/esri/themes/base/fonts/fonts/15e2e15a-2f36-4a01-b529-677d575bf76d.woff2 +0 -0
  117. package/assets/esri/themes/base/fonts/fonts/174d458a-81e0-4174-9473-35e3bf0a613c.woff2 +0 -0
  118. package/assets/esri/themes/base/fonts/fonts/18629a56-2ec3-4470-a65f-f82d7ec4d41b.woff2 +0 -0
  119. package/assets/esri/themes/base/fonts/fonts/1b3078ef-2971-4c95-b6ca-13ab528758cb.woff +0 -0
  120. package/assets/esri/themes/base/fonts/fonts/1fed34fa-250a-4d32-9f1d-42f978a2e0b2.woff2 +0 -0
  121. package/assets/esri/themes/base/fonts/fonts/2200dfff-da50-40b0-bc12-5e4b872a1998.woff2 +0 -0
  122. package/assets/esri/themes/base/fonts/fonts/281f890c-8412-4ee3-84ed-8b5d062d2ab8.woff2 +0 -0
  123. package/assets/esri/themes/base/fonts/fonts/2a1ae9a5-b6b5-405c-b660-bbdf1b356952.woff2 +0 -0
  124. package/assets/esri/themes/base/fonts/fonts/31da4b04-f98a-4b5f-b545-a31d26da99e5.woff2 +0 -0
  125. package/assets/esri/themes/base/fonts/fonts/31e0c094-e345-4a54-a797-d5f1a5885572.woff +0 -0
  126. package/assets/esri/themes/base/fonts/fonts/32a2c5cf-6736-44a6-a276-49ba7e030944.woff2 +0 -0
  127. package/assets/esri/themes/base/fonts/fonts/341bcc5e-7ac0-44ff-819d-5887892eab1b.woff +0 -0
  128. package/assets/esri/themes/base/fonts/fonts/390cea11-2b11-47ac-b3e8-43ded6ae89ee.woff +0 -0
  129. package/assets/esri/themes/base/fonts/fonts/394a711e-3459-44f3-85c7-e99c01e4b55c.woff +0 -0
  130. package/assets/esri/themes/base/fonts/fonts/3ae1e25e-3aa6-4061-a016-a079159f9d65.woff2 +0 -0
  131. package/assets/esri/themes/base/fonts/fonts/3d5260a1-e4cd-4567-80ed-69d23c40355f-ext.woff +0 -0
  132. package/assets/esri/themes/base/fonts/fonts/3d5260a1-e4cd-4567-80ed-69d23c40355f-greek.woff +0 -0
  133. package/assets/esri/themes/base/fonts/fonts/3d5260a1-e4cd-4567-80ed-69d23c40355f.woff +0 -0
  134. package/assets/esri/themes/base/fonts/fonts/40d36b4a-60c6-460a-bf43-4c948c23563e.woff2 +0 -0
  135. package/assets/esri/themes/base/fonts/fonts/41331c3c-3759-4462-8695-33c9a21b6a5b.woff2 +0 -0
  136. package/assets/esri/themes/base/fonts/fonts/439a2ded-d7a4-42d4-8660-ef8765fa7486.woff +0 -0
  137. package/assets/esri/themes/base/fonts/fonts/45b78f45-e639-4836-8612-e0892e120f14.woff +0 -0
  138. package/assets/esri/themes/base/fonts/fonts/46947883-147e-48dd-97c2-5a8ca675b998.woff2 +0 -0
  139. package/assets/esri/themes/base/fonts/fonts/4ab86b35-c0c2-42b5-98ad-4b6eba66b197.woff +0 -0
  140. package/assets/esri/themes/base/fonts/fonts/4d1d0d0d-9ea6-4117-901f-8b32ca1ab936.woff +0 -0
  141. package/assets/esri/themes/base/fonts/fonts/4daa2125-53c6-4da8-9614-8a1049eaccc2.woff2 +0 -0
  142. package/assets/esri/themes/base/fonts/fonts/4e4befe6-3f94-41d8-886c-1a6831818c6a.woff2 +0 -0
  143. package/assets/esri/themes/base/fonts/fonts/5729f02e-f6b0-4f35-8ee5-c2cffa65fa76.woff +0 -0
  144. package/assets/esri/themes/base/fonts/fonts/57a79aa3-9b06-4ba7-a9a4-2b766d826ecf.woff +0 -0
  145. package/assets/esri/themes/base/fonts/fonts/61f13f40-3829-413c-b6f5-b11abb272edc.woff +0 -0
  146. package/assets/esri/themes/base/fonts/fonts/6ea5fa46-5311-450b-8744-288a30c55348.woff2 +0 -0
  147. package/assets/esri/themes/base/fonts/fonts/75e2f3b1-1402-4916-8392-4db9ababea7b.woff2 +0 -0
  148. package/assets/esri/themes/base/fonts/fonts/77156710-6a58-4606-b189-b4185e75967b-ext.woff2 +0 -0
  149. package/assets/esri/themes/base/fonts/fonts/77156710-6a58-4606-b189-b4185e75967b-greek.woff2 +0 -0
  150. package/assets/esri/themes/base/fonts/fonts/77156710-6a58-4606-b189-b4185e75967b.woff2 +0 -0
  151. package/assets/esri/themes/base/fonts/fonts/77caabd3-1877-4634-85c8-8e398a093b99-ext.woff2 +0 -0
  152. package/assets/esri/themes/base/fonts/fonts/77caabd3-1877-4634-85c8-8e398a093b99-greek.woff2 +0 -0
  153. package/assets/esri/themes/base/fonts/fonts/77caabd3-1877-4634-85c8-8e398a093b99.woff2 +0 -0
  154. package/assets/esri/themes/base/fonts/fonts/7db1f672-3a8f-4d19-9c49-7f61aed450b5.woff2 +0 -0
  155. package/assets/esri/themes/base/fonts/fonts/89370128-6a74-471d-ba04-fa0b59bc8ed3.woff +0 -0
  156. package/assets/esri/themes/base/fonts/fonts/8a65abc7-6463-4895-b3e6-5e203b80b7e2.woff2 +0 -0
  157. package/assets/esri/themes/base/fonts/fonts/8b01637a-f445-4f10-92ea-b84a355f7690.woff +0 -0
  158. package/assets/esri/themes/base/fonts/fonts/94aa531e-7746-4df0-bb6e-349891f2eda5.woff2 +0 -0
  159. package/assets/esri/themes/base/fonts/fonts/97694c53-4e94-4f9e-969b-a148adfcdcfd.woff2 +0 -0
  160. package/assets/esri/themes/base/fonts/fonts/97b330aa-d7fa-4f85-830f-b11a5041b157.woff +0 -0
  161. package/assets/esri/themes/base/fonts/fonts/9851da0a-2481-4687-bbeb-ed4ab170dc38-ext.woff2 +0 -0
  162. package/assets/esri/themes/base/fonts/fonts/9851da0a-2481-4687-bbeb-ed4ab170dc38.woff2 +0 -0
  163. package/assets/esri/themes/base/fonts/fonts/9c1ab088-0cb0-402f-9cea-170f0fea14a8.woff2 +0 -0
  164. package/assets/esri/themes/base/fonts/fonts/a1049d00-54ad-4589-95b8-d353f7ab52f0-greek.woff2 +0 -0
  165. package/assets/esri/themes/base/fonts/fonts/a1049d00-54ad-4589-95b8-d353f7ab52f0.woff2 +0 -0
  166. package/assets/esri/themes/base/fonts/fonts/a8aeea1b-1a9d-45b7-8ad9-7c71824599e2.woff +0 -0
  167. package/assets/esri/themes/base/fonts/fonts/a9eaf4d3-6427-42df-9306-3ea1270f7b1a.woff2 +0 -0
  168. package/assets/esri/themes/base/fonts/fonts/ae454969-59fb-4d42-aecb-dea30459bc7e.woff +0 -0
  169. package/assets/esri/themes/base/fonts/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6-basic.woff2 +0 -0
  170. package/assets/esri/themes/base/fonts/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6-ext.woff2 +0 -0
  171. package/assets/esri/themes/base/fonts/fonts/b0b84e4d-2164-45c7-a674-1662f19f3ba6.woff2 +0 -0
  172. package/assets/esri/themes/base/fonts/fonts/b17468ea-cf53-4635-984b-4d930a68ed4d.woff2 +0 -0
  173. package/assets/esri/themes/base/fonts/fonts/bb93c563-55f6-494f-8e1e-448538d95df1.woff +0 -0
  174. package/assets/esri/themes/base/fonts/fonts/c1905e2e-a1cb-49de-9bb0-ce3c5ffc85ae.woff2 +0 -0
  175. package/assets/esri/themes/base/fonts/fonts/c4cc9032-7eee-4a6e-ae8b-f384b1349bcf.woff2 +0 -0
  176. package/assets/esri/themes/base/fonts/fonts/c744f2a2-d6a9-4c18-b0ec-f17376acde3e.woff +0 -0
  177. package/assets/esri/themes/base/fonts/fonts/cebce072-9561-4c6d-8c89-f0cefec63289-ext.woff +0 -0
  178. package/assets/esri/themes/base/fonts/fonts/cebce072-9561-4c6d-8c89-f0cefec63289.woff +0 -0
  179. package/assets/esri/themes/base/fonts/fonts/d4ffabb3-dd7c-472a-bdfb-6700383c6354-ext.woff +0 -0
  180. package/assets/esri/themes/base/fonts/fonts/d4ffabb3-dd7c-472a-bdfb-6700383c6354-greek.woff +0 -0
  181. package/assets/esri/themes/base/fonts/fonts/d4ffabb3-dd7c-472a-bdfb-6700383c6354.woff +0 -0
  182. package/assets/esri/themes/base/fonts/fonts/d824d78b-aab0-44e3-8c56-6c3dcf551952.woff2 +0 -0
  183. package/assets/esri/themes/base/fonts/fonts/d98fb015-7ef6-404f-a58a-5c9242d79770.woff +0 -0
  184. package/assets/esri/themes/base/fonts/fonts/d9e4040d-32ff-4a1c-ac04-927a781da1f5.woff +0 -0
  185. package/assets/esri/themes/base/fonts/fonts/dc10b3bd-5076-4df5-a5f5-e5961f4a6938.woff +0 -0
  186. package/assets/esri/themes/base/fonts/fonts/dd7b7d4e-21ab-4ac0-b26a-d032c992f3c5.woff2 +0 -0
  187. package/assets/esri/themes/base/fonts/fonts/e388ac99-8c6a-4451-8690-1d15b4d45adb-ext.woff +0 -0
  188. package/assets/esri/themes/base/fonts/fonts/e388ac99-8c6a-4451-8690-1d15b4d45adb-greek.woff +0 -0
  189. package/assets/esri/themes/base/fonts/fonts/e388ac99-8c6a-4451-8690-1d15b4d45adb.woff +0 -0
  190. package/assets/esri/themes/base/fonts/fonts/e57662ff-b1ef-4122-88c1-61bbdabeb365.woff +0 -0
  191. package/assets/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117-ext.woff2 +0 -0
  192. package/assets/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117-greek.woff2 +0 -0
  193. package/assets/esri/themes/base/fonts/fonts/e78b17bb-11fb-4860-8d66-4ee0d0c1e117.woff2 +0 -0
  194. package/assets/esri/themes/base/fonts/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f-basic.woff +0 -0
  195. package/assets/esri/themes/base/fonts/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f-ext.woff +0 -0
  196. package/assets/esri/themes/base/fonts/fonts/e91d1bbf-3fea-45e2-b003-a22b12ce6e5f.woff +0 -0
  197. package/assets/esri/themes/base/fonts/fonts/f1799750-0952-403f-8108-b2402eed0f62.woff +0 -0
  198. package/assets/esri/themes/base/fonts/fonts/f4a085c3-1c64-4fc0-a598-26f3e658c2b0.woff +0 -0
  199. package/assets/esri/themes/base/fonts/fonts/fa71df11-7b19-4baf-8ff7-3537dea718f0.woff +0 -0
  200. package/assets/esri/themes/base/icons/style.css +0 -0
  201. package/assets/esri/themes/base/icons/style.scss +0 -0
  202. package/assets/esri/themes/base/icons/variables.scss +0 -0
  203. package/assets/esri/themes/base/images/files/archive-32.svg +0 -0
  204. package/assets/esri/themes/base/images/files/cad-32.svg +0 -0
  205. package/assets/esri/themes/base/images/files/code-32.svg +0 -0
  206. package/assets/esri/themes/base/images/files/csv-32.svg +0 -0
  207. package/assets/esri/themes/base/images/files/excel-32.svg +0 -0
  208. package/assets/esri/themes/base/images/files/generic-32.svg +0 -0
  209. package/assets/esri/themes/base/images/files/gpx-32.svg +0 -0
  210. package/assets/esri/themes/base/images/files/image-32.svg +0 -0
  211. package/assets/esri/themes/base/images/files/pdf-32.svg +0 -0
  212. package/assets/esri/themes/base/images/files/report-32.svg +0 -0
  213. package/assets/esri/themes/base/images/files/sound-32.svg +0 -0
  214. package/assets/esri/themes/base/images/files/text-32.svg +0 -0
  215. package/assets/esri/themes/base/images/files/video-32.svg +0 -0
  216. package/assets/esri/themes/base/images/files/word-32.svg +0 -0
  217. package/assets/esri/themes/base/images/files/zip-32.svg +0 -0
  218. package/assets/esri/themes/base/images/loading-throb.gif +0 -0
  219. package/assets/esri/themes/base/widgets/_AreaMeasurement2D.scss +14 -14
  220. package/assets/esri/themes/base/widgets/_AreaMeasurement3D.scss +14 -14
  221. package/assets/esri/themes/base/widgets/_Attachments.scss +286 -286
  222. package/assets/esri/themes/base/widgets/_Attribution.scss +57 -57
  223. package/assets/esri/themes/base/widgets/_BasemapGallery.scss +173 -173
  224. package/assets/esri/themes/base/widgets/_BasemapLayerList.scss +490 -490
  225. package/assets/esri/themes/base/widgets/_BasemapToggle.scss +123 -123
  226. package/assets/esri/themes/base/widgets/_BinaryColorSizeSlider.scss +7 -7
  227. package/assets/esri/themes/base/widgets/_Bookmarks.scss +349 -349
  228. package/assets/esri/themes/base/widgets/_BuildingDisciplinesTree.scss +151 -151
  229. package/assets/esri/themes/base/widgets/_BuildingExplorer.scss +51 -51
  230. package/assets/esri/themes/base/widgets/_BuildingLevelPicker.scss +253 -253
  231. package/assets/esri/themes/base/widgets/_BuildingPhasePicker.scss +92 -92
  232. package/assets/esri/themes/base/widgets/_ButtonMenu.scss +129 -129
  233. package/assets/esri/themes/base/widgets/_ClassedColorSlider.scss +7 -7
  234. package/assets/esri/themes/base/widgets/_ClassedSizeSlider.scss +7 -7
  235. package/assets/esri/themes/base/widgets/_ColorPicker.scss +70 -70
  236. package/assets/esri/themes/base/widgets/_ColorSizeSlider.scss +7 -7
  237. package/assets/esri/themes/base/widgets/_ColorSlider.scss +7 -7
  238. package/assets/esri/themes/base/widgets/_Compass.scss +16 -16
  239. package/assets/esri/themes/base/widgets/_CoordinateConversion.scss +236 -238
  240. package/assets/esri/themes/base/widgets/_DatePicker.scss +169 -169
  241. package/assets/esri/themes/base/widgets/_Daylight.scss +270 -270
  242. package/assets/esri/themes/base/widgets/_DirectLineMeasurement3D.scss +7 -7
  243. package/assets/esri/themes/base/widgets/_Directions.scss +471 -471
  244. package/assets/esri/themes/base/widgets/_DistanceMeasurement2D.scss +7 -7
  245. package/assets/esri/themes/base/widgets/_Editor.scss +260 -255
  246. package/assets/esri/themes/base/widgets/_ElevationProfile.scss +439 -439
  247. package/assets/esri/themes/base/widgets/_Expand.scss +264 -264
  248. package/assets/esri/themes/base/widgets/_Feature.scss +93 -92
  249. package/assets/esri/themes/base/widgets/_FeatureContent.scss +97 -97
  250. package/assets/esri/themes/base/widgets/_FeatureForm.scss +236 -216
  251. package/assets/esri/themes/base/widgets/_FeatureMedia.scss +86 -86
  252. package/assets/esri/themes/base/widgets/_FeatureTable.scss +247 -247
  253. package/assets/esri/themes/base/widgets/_FeatureTemplates.scss +44 -44
  254. package/assets/esri/themes/base/widgets/_FloorFilter.scss +480 -480
  255. package/assets/esri/themes/base/widgets/_Grid.scss +71 -71
  256. package/assets/esri/themes/base/widgets/_HeatmapSlider.scss +7 -7
  257. package/assets/esri/themes/base/widgets/_Histogram.scss +56 -56
  258. package/assets/esri/themes/base/widgets/_HistogramRangeSlider.scss +105 -105
  259. package/assets/esri/themes/base/widgets/_IdentityForm.scss +22 -22
  260. package/assets/esri/themes/base/widgets/_IdentityModal.scss +105 -105
  261. package/assets/esri/themes/base/widgets/_ItemList.scss +143 -143
  262. package/assets/esri/themes/base/widgets/_LayerList.scss +413 -413
  263. package/assets/esri/themes/base/widgets/_Legend.scss +551 -551
  264. package/assets/esri/themes/base/widgets/_LineOfSight.scss +41 -41
  265. package/assets/esri/themes/base/widgets/_Measurement.scss +6 -6
  266. package/assets/esri/themes/base/widgets/_NavigationToggle.scss +99 -99
  267. package/assets/esri/themes/base/widgets/_OpacitySlider.scss +7 -7
  268. package/assets/esri/themes/base/widgets/_Popup.scss +748 -745
  269. package/assets/esri/themes/base/widgets/_Print.scss +269 -269
  270. package/assets/esri/themes/base/widgets/_SaveLayer.scss +40 -40
  271. package/assets/esri/themes/base/widgets/_ScaleBar.scss +160 -160
  272. package/assets/esri/themes/base/widgets/_ScaleRangeSlider.scss +211 -211
  273. package/assets/esri/themes/base/widgets/_Search.scss +193 -193
  274. package/assets/esri/themes/base/widgets/_SearchResultRenderer.scss +34 -34
  275. package/assets/esri/themes/base/widgets/_SelectionToolbar.scss +18 -18
  276. package/assets/esri/themes/base/widgets/_ShadowCast.scss +202 -202
  277. package/assets/esri/themes/base/widgets/_SizeSlider.scss +7 -7
  278. package/assets/esri/themes/base/widgets/_Sketch.scss +151 -151
  279. package/assets/esri/themes/base/widgets/_Slice.scss +80 -80
  280. package/assets/esri/themes/base/widgets/_Slider.scss +367 -367
  281. package/assets/esri/themes/base/widgets/_SnappingControls.scss +143 -143
  282. package/assets/esri/themes/base/widgets/_Spinner.scss +76 -76
  283. package/assets/esri/themes/base/widgets/_Swipe.scss +105 -105
  284. package/assets/esri/themes/base/widgets/_TableList.scss +299 -299
  285. package/assets/esri/themes/base/widgets/_TimePicker.scss +15 -15
  286. package/assets/esri/themes/base/widgets/_TimeSlider.scss +404 -404
  287. package/assets/esri/themes/base/widgets/_Tooltip.scss +61 -61
  288. package/assets/esri/themes/base/widgets/_UtilityNetworkTrace.scss +47 -47
  289. package/assets/esri/themes/base/widgets/_Weather.scss +59 -59
  290. package/assets/esri/themes/base/widgets/_Widget.scss +688 -688
  291. package/assets/esri/themes/base/widgets/_Zoom.scss +45 -45
  292. package/assets/esri/themes/dark/main.css +1 -1
  293. package/assets/esri/themes/dark/main.scss +34 -34
  294. package/assets/esri/themes/light/main.css +1 -1
  295. package/assets/esri/themes/light/main.scss +9 -9
  296. package/assets/esri/themes/light/view.css +1 -1
  297. package/assets/esri/themes/light/view.scss +9 -9
  298. package/assets/esri/views/3d/analysis/Slice/images/heading-rotate.svg +4 -4
  299. package/assets/esri/views/3d/analysis/Slice/images/tilt-rotate.svg +80 -80
  300. package/assets/esri/views/3d/webgl-engine/lib/intersectorUtils.svg +117 -117
  301. package/assets/esri/views/magnifier/mask.ts.svg +5 -5
  302. package/assets/esri/views/magnifier/overlay.ts.svg +36 -36
  303. package/chunks/Laserlines.glsl.js +5 -5
  304. package/chunks/LineMarker.glsl.js +32 -38
  305. package/chunks/Precipitation.glsl.js +1 -1
  306. package/chunks/RibbonLine.glsl.js +53 -53
  307. package/chunks/ShadowHighlight.glsl.js +1 -1
  308. package/chunks/boundedPlane.js +1 -1
  309. package/chunks/cameraUtilsPlanar.js +1 -1
  310. package/chunks/cameraUtilsSpherical.js +1 -1
  311. package/chunks/mat3.js +1 -1
  312. package/chunks/quat.js +1 -1
  313. package/chunks/quat2.js +1 -1
  314. package/chunks/quatf64.js +1 -1
  315. package/chunks/sphere.js +1 -1
  316. package/chunks/vec3.js +1 -1
  317. package/chunks/vec3f32.js +1 -1
  318. package/chunks/vec4f64.js +1 -1
  319. package/config.d.ts +1 -1
  320. package/copyright.txt +1278 -1278
  321. package/core/Accessor.d.ts +1 -1
  322. package/core/Accessor.js +1 -1
  323. package/core/Collection.d.ts +1 -1
  324. package/core/Error.d.ts +1 -1
  325. package/core/Evented.d.ts +1 -1
  326. package/core/HandleOwner.d.ts +1 -1
  327. package/core/Handles.d.ts +1 -1
  328. package/core/Identifiable.d.ts +1 -1
  329. package/core/JSONSupport.d.ts +1 -1
  330. package/core/Loadable.d.ts +1 -1
  331. package/core/Promise.d.ts +1 -1
  332. package/core/VectorStack.js +1 -1
  333. package/core/accessorSupport/decorators.d.ts +1 -1
  334. package/core/lang.d.ts +1 -1
  335. package/core/libs/gl-matrix-2/factories/quatf64.js +1 -1
  336. package/core/libs/gl-matrix-2/factories/vec3f32.js +1 -1
  337. package/core/libs/gl-matrix-2/factories/vec4f64.js +1 -1
  338. package/core/libs/gl-matrix-2/math/mat3.js +1 -1
  339. package/core/libs/gl-matrix-2/math/quat.js +1 -1
  340. package/core/libs/gl-matrix-2/math/vec3.js +1 -1
  341. package/core/perspectiveUtils.js +1 -1
  342. package/core/promiseUtils.d.ts +1 -1
  343. package/core/quantity.d.ts +1 -1
  344. package/core/reactiveUtils.d.ts +1 -1
  345. package/core/scheduling.d.ts +1 -1
  346. package/core/sql/WhereClause.d.ts +1 -1
  347. package/core/sql.d.ts +1 -1
  348. package/core/units.d.ts +1 -1
  349. package/core/urlUtils.d.ts +1 -1
  350. package/core/watchUtils.d.ts +1 -1
  351. package/core/workers/Connection.d.ts +1 -1
  352. package/core/workers.d.ts +1 -1
  353. package/form/ExpressionInfo.d.ts +1 -1
  354. package/form/FormTemplate.d.ts +1 -1
  355. package/form/elements/Element.d.ts +1 -1
  356. package/form/elements/FieldElement.d.ts +1 -1
  357. package/form/elements/GroupElement.d.ts +1 -1
  358. package/form/elements/inputs/BarcodeScannerInput.d.ts +1 -1
  359. package/form/elements/inputs/ComboBoxInput.d.ts +1 -1
  360. package/form/elements/inputs/DateTimePickerInput.d.ts +1 -1
  361. package/form/elements/inputs/RadioButtonsInput.d.ts +1 -1
  362. package/form/elements/inputs/SwitchInput.d.ts +1 -1
  363. package/form/elements/inputs/TextAreaInput.d.ts +1 -1
  364. package/form/elements/inputs/TextBoxInput.d.ts +1 -1
  365. package/form/elements/inputs/TextInput.d.ts +1 -1
  366. package/form/elements/support/inputs.d.ts +1 -1
  367. package/form/support/elements.d.ts +1 -1
  368. package/geohash/GeohashTree.js +1 -1
  369. package/geometry/Circle.d.ts +1 -1
  370. package/geometry/Extent.d.ts +1 -1
  371. package/geometry/Geometry.d.ts +1 -1
  372. package/geometry/HeightModelInfo.d.ts +1 -1
  373. package/geometry/Mesh.d.ts +1 -1
  374. package/geometry/Multipoint.d.ts +1 -1
  375. package/geometry/Point.d.ts +1 -1
  376. package/geometry/Polygon.d.ts +1 -1
  377. package/geometry/Polyline.d.ts +1 -1
  378. package/geometry/SpatialReference.d.ts +1 -1
  379. package/geometry/coordinateFormatter.d.ts +1 -1
  380. package/geometry/geometryEngine.d.ts +1 -1
  381. package/geometry/geometryEngineAsync.d.ts +1 -1
  382. package/geometry/projection.d.ts +1 -1
  383. package/geometry/support/GeographicTransformation.d.ts +1 -1
  384. package/geometry/support/GeographicTransformationStep.d.ts +1 -1
  385. package/geometry/support/MeshComponent.d.ts +1 -1
  386. package/geometry/support/MeshMaterial.d.ts +1 -1
  387. package/geometry/support/MeshMaterialMetallicRoughness.d.ts +1 -1
  388. package/geometry/support/MeshTexture.d.ts +1 -1
  389. package/geometry/support/MeshTransform.js +1 -1
  390. package/geometry/support/axisAngle.js +1 -1
  391. package/geometry/support/axisAngleDegrees.js +1 -1
  392. package/geometry/support/geodesicUtils.d.ts +1 -1
  393. package/geometry/support/jsonUtils.d.ts +1 -1
  394. package/geometry/support/lineSegment.js +1 -1
  395. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  396. package/geometry/support/meshUtils/exporters/gltf/node.js +1 -1
  397. package/geometry/support/meshUtils/georeference.js +1 -1
  398. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  399. package/geometry/support/meshUtils/projection.js +1 -1
  400. package/geometry/support/meshUtils/rotate.js +1 -1
  401. package/geometry/support/meshUtils.d.ts +1 -1
  402. package/geometry/support/normalizeUtils.d.ts +1 -1
  403. package/geometry/support/plane.js +1 -1
  404. package/geometry/support/webMercatorUtils.d.ts +1 -1
  405. package/geometry.d.ts +1 -1
  406. package/identity/Credential.d.ts +1 -1
  407. package/identity/IdentityManager.d.ts +1 -1
  408. package/identity/OAuthInfo.d.ts +1 -1
  409. package/identity/ServerInfo.d.ts +1 -1
  410. package/interfaces.d.ts +768 -706
  411. package/intl.d.ts +1 -1
  412. package/kernel.d.ts +1 -1
  413. package/layers/BaseDynamicLayer.d.ts +1 -1
  414. package/layers/BaseElevationLayer.d.ts +1 -1
  415. package/layers/BaseTileLayer.d.ts +1 -1
  416. package/layers/BingMapsLayer.d.ts +1 -1
  417. package/layers/BuildingSceneLayer.d.ts +1 -1
  418. package/layers/CSVLayer.d.ts +1 -1
  419. package/layers/DimensionLayer.d.ts +1 -1
  420. package/layers/ElevationLayer.d.ts +1 -1
  421. package/layers/FeatureLayer.d.ts +1 -1
  422. package/layers/GeoJSONLayer.d.ts +1 -1
  423. package/layers/GeoRSSLayer.d.ts +1 -1
  424. package/layers/GraphicsLayer.d.ts +1 -1
  425. package/layers/GroupLayer.d.ts +1 -1
  426. package/layers/ImageryLayer.d.ts +1 -1
  427. package/layers/ImageryTileLayer.d.ts +1 -1
  428. package/layers/IntegratedMeshLayer.d.ts +1 -1
  429. package/layers/KMLLayer.d.ts +1 -1
  430. package/layers/Layer.d.ts +1 -1
  431. package/layers/LineOfSightLayer.d.ts +1 -1
  432. package/layers/MapImageLayer.d.ts +1 -1
  433. package/layers/MapNotesLayer.d.ts +1 -1
  434. package/layers/MapNotesLayer.js +1 -1
  435. package/layers/MediaLayer.d.ts +1 -1
  436. package/layers/OGCFeatureLayer.d.ts +1 -1
  437. package/layers/OpenStreetMapLayer.d.ts +1 -1
  438. package/layers/PointCloudLayer.d.ts +1 -1
  439. package/layers/RouteLayer.d.ts +1 -1
  440. package/layers/SceneLayer.d.ts +1 -1
  441. package/layers/StreamLayer.d.ts +1 -1
  442. package/layers/SubtypeGroupLayer.d.ts +1 -1
  443. package/layers/TileLayer.d.ts +1 -1
  444. package/layers/UnknownLayer.d.ts +1 -1
  445. package/layers/UnsupportedLayer.d.ts +1 -1
  446. package/layers/VectorTileLayer.d.ts +1 -1
  447. package/layers/VoxelLayer.d.ts +1 -1
  448. package/layers/WCSLayer.d.ts +1 -1
  449. package/layers/WFSLayer.d.ts +1 -1
  450. package/layers/WMSLayer.d.ts +1 -1
  451. package/layers/WMTSLayer.d.ts +1 -1
  452. package/layers/WebTileLayer.d.ts +1 -1
  453. package/layers/buildingSublayers/BuildingComponentSublayer.d.ts +1 -1
  454. package/layers/buildingSublayers/BuildingGroupSublayer.d.ts +1 -1
  455. package/layers/buildingSublayers/BuildingSublayer.d.ts +1 -1
  456. package/layers/graphics/data/SnappingCandidate.js +1 -1
  457. package/layers/mixins/APIKeyMixin.d.ts +1 -1
  458. package/layers/mixins/ArcGISCachedService.d.ts +1 -1
  459. package/layers/mixins/ArcGISImageService.d.ts +1 -1
  460. package/layers/mixins/ArcGISImageService.js +1 -1
  461. package/layers/mixins/ArcGISMapService.d.ts +1 -1
  462. package/layers/mixins/BlendLayer.d.ts +1 -1
  463. package/layers/mixins/CustomParametersMixin.d.ts +1 -1
  464. package/layers/mixins/FeatureEffectLayer.d.ts +1 -1
  465. package/layers/mixins/FeatureLayerBase.d.ts +4 -0
  466. package/layers/mixins/FeatureReductionLayer.d.ts +1 -1
  467. package/layers/mixins/ImageryTileMixin.d.ts +1 -1
  468. package/layers/mixins/ImageryTileMixin.js +1 -1
  469. package/layers/mixins/OrderedLayer.d.ts +1 -1
  470. package/layers/mixins/PortalLayer.d.ts +1 -1
  471. package/layers/mixins/PublishableLayer.d.ts +1 -1
  472. package/layers/mixins/RefreshableLayer.d.ts +1 -1
  473. package/layers/mixins/ScaleRangeLayer.d.ts +1 -1
  474. package/layers/mixins/SceneService.d.ts +1 -1
  475. package/layers/mixins/SublayersOwner.d.ts +1 -1
  476. package/layers/mixins/TemporalLayer.d.ts +1 -1
  477. package/layers/ogc/wfsUtils.d.ts +1 -1
  478. package/layers/pointCloudFilters/PointCloudFilter.d.ts +1 -1
  479. package/layers/pointCloudFilters/PointCloudReturnFilter.d.ts +1 -1
  480. package/layers/pointCloudFilters/PointCloudValueFilter.d.ts +1 -1
  481. package/layers/support/AggregateField.d.ts +1 -1
  482. package/layers/support/BuildingFilter.d.ts +1 -1
  483. package/layers/support/BuildingSummaryStatistics.d.ts +1 -1
  484. package/layers/support/CodedValueDomain.d.ts +1 -1
  485. package/layers/support/ControlPointsGeoreference.d.ts +1 -1
  486. package/layers/support/CornersGeoreference.d.ts +1 -1
  487. package/layers/support/DimensionalDefinition.d.ts +1 -1
  488. package/layers/support/Domain.d.ts +1 -1
  489. package/layers/support/ElevationSampler.d.ts +1 -1
  490. package/layers/support/ExpressionInfo.d.ts +1 -1
  491. package/layers/support/ExtentAndRotationGeoreference.d.ts +1 -1
  492. package/layers/support/FacilityLayerInfo.d.ts +1 -1
  493. package/layers/support/FeatureEffect.d.ts +1 -1
  494. package/layers/support/FeatureFilter.d.ts +1 -1
  495. package/layers/support/FeatureReductionBinning.d.ts +1 -1
  496. package/layers/support/FeatureReductionCluster.d.ts +1 -1
  497. package/layers/support/FeatureReductionSelection.d.ts +1 -1
  498. package/layers/support/FeatureTemplate.d.ts +1 -1
  499. package/layers/support/FeatureType.d.ts +1 -1
  500. package/layers/support/Field.d.ts +1 -1
  501. package/layers/support/FieldsIndex.d.ts +1 -1
  502. package/layers/support/GeometryFieldsInfo.d.ts +1 -1
  503. package/layers/support/ImageElement.d.ts +1 -1
  504. package/layers/support/ImageParameters.d.ts +1 -1
  505. package/layers/support/InheritedDomain.d.ts +1 -1
  506. package/layers/support/KMLSublayer.d.ts +1 -1
  507. package/layers/support/LOD.d.ts +1 -1
  508. package/layers/support/LabelClass.d.ts +1 -1
  509. package/layers/support/LayerFloorInfo.d.ts +1 -1
  510. package/layers/support/LevelLayerInfo.d.ts +1 -1
  511. package/layers/support/LocalMediaElementSource.d.ts +1 -1
  512. package/layers/support/MapImage.d.ts +1 -1
  513. package/layers/support/MediaElementBase.d.ts +1 -1
  514. package/layers/support/MosaicRule.d.ts +1 -1
  515. package/layers/support/MultidimensionalSubset.d.ts +4 -0
  516. package/layers/support/MultidimensionalSubset.js +1 -1
  517. package/layers/support/PixelBlock.d.ts +1 -1
  518. package/layers/support/PublishingInfo.d.ts +1 -1
  519. package/layers/support/RangeDomain.d.ts +1 -1
  520. package/layers/support/RasterFunction.d.ts +1 -1
  521. package/layers/support/RasterInfo.d.ts +1 -1
  522. package/layers/support/Relationship.d.ts +1 -1
  523. package/layers/support/RouteStopSymbols.d.ts +1 -1
  524. package/layers/support/RouteSymbols.d.ts +1 -1
  525. package/layers/support/SceneFilter.d.ts +1 -1
  526. package/layers/support/SceneModification.d.ts +1 -1
  527. package/layers/support/SceneModifications.d.ts +1 -1
  528. package/layers/support/SiteLayerInfo.d.ts +1 -1
  529. package/layers/support/StreamConnection.d.ts +1 -1
  530. package/layers/support/Sublayer.d.ts +1 -1
  531. package/layers/support/SubtypeSublayer.d.ts +1 -1
  532. package/layers/support/TileInfo.d.ts +1 -1
  533. package/layers/support/TileMatrixSet.d.ts +1 -1
  534. package/layers/support/TimeInfo.d.ts +1 -1
  535. package/layers/support/TimeReference.d.ts +1 -1
  536. package/layers/support/VideoElement.d.ts +1 -1
  537. package/layers/support/VoxelVariable.d.ts +1 -1
  538. package/layers/support/VoxelVolumeStyle.d.ts +1 -1
  539. package/layers/support/WMSSublayer.d.ts +1 -1
  540. package/layers/support/WMTSStyle.d.ts +1 -1
  541. package/layers/support/WMTSSublayer.d.ts +1 -1
  542. package/layers/support/arcadeUtils.d.ts +1 -1
  543. package/layers/support/fieldUtils.d.ts +1 -1
  544. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  545. package/layers/support/rasterDatasets/ImageServerRaster.js +1 -1
  546. package/layers/support/rasterFunctions/vectorFieldUtils.js +1 -1
  547. package/layers/support/wmtsUtils.js +1 -1
  548. package/layers/voxel/VoxelDynamicSection.d.ts +1 -1
  549. package/layers/voxel/VoxelSlice.d.ts +1 -1
  550. package/layers/voxel/VoxelTransferFunctionStyle.d.ts +1 -1
  551. package/layers/voxel/VoxelVariable.d.ts +1 -1
  552. package/layers/voxel/VoxelVariableStyle.d.ts +1 -1
  553. package/layers/voxel/VoxelVolume.d.ts +1 -1
  554. package/layers/voxel/VoxelVolume.js +1 -1
  555. package/layers/voxel/VoxelVolumeStyle.d.ts +1 -1
  556. package/layers/voxel/voxelPlaneUtils.js +1 -1
  557. package/networks/Network.d.ts +1 -1
  558. package/networks/Network.js +1 -1
  559. package/networks/UtilityNetwork.d.ts +1 -1
  560. package/networks/support/NamedTraceConfiguration.d.ts +1 -1
  561. package/networks/support/NetworkSystemLayers.d.ts +1 -1
  562. package/networks/support/Terminal.d.ts +1 -1
  563. package/networks/support/TerminalConfiguration.d.ts +1 -1
  564. package/networks/support/TraceConfiguration.d.ts +1 -1
  565. package/networks/support/UNTraceConfiguration.d.ts +1 -1
  566. package/networks/support/utils.js +1 -1
  567. package/package.json +1 -1
  568. package/pointCloudRenderers.d.ts +1 -1
  569. package/popup/ElementExpressionInfo.d.ts +1 -1
  570. package/popup/ExpressionInfo.d.ts +1 -1
  571. package/popup/FieldInfo.d.ts +1 -1
  572. package/popup/LayerOptions.d.ts +1 -1
  573. package/popup/RelatedRecordsInfo.d.ts +1 -1
  574. package/popup/content/AttachmentsContent.d.ts +1 -1
  575. package/popup/content/BarChartMediaInfo.d.ts +1 -1
  576. package/popup/content/ColumnChartMediaInfo.d.ts +1 -1
  577. package/popup/content/Content.d.ts +1 -1
  578. package/popup/content/CustomContent.d.ts +1 -1
  579. package/popup/content/ExpressionContent.d.ts +1 -1
  580. package/popup/content/FieldsContent.d.ts +1 -1
  581. package/popup/content/ImageMediaInfo.d.ts +1 -1
  582. package/popup/content/LineChartMediaInfo.d.ts +1 -1
  583. package/popup/content/MediaContent.d.ts +1 -1
  584. package/popup/content/PieChartMediaInfo.d.ts +1 -1
  585. package/popup/content/RelationshipContent.d.ts +1 -1
  586. package/popup/content/TextContent.d.ts +1 -1
  587. package/popup/content/mixins/ChartMediaInfo.d.ts +1 -1
  588. package/popup/content/mixins/MediaInfo.d.ts +1 -1
  589. package/popup/content/support/ChartMediaInfoValue.d.ts +1 -1
  590. package/popup/content/support/ChartMediaInfoValueSeries.d.ts +1 -1
  591. package/popup/content/support/ImageMediaInfoValue.d.ts +1 -1
  592. package/popup/content.d.ts +1 -1
  593. package/popup/support/FieldInfoFormat.d.ts +1 -1
  594. package/popup/support/RelatedRecordsInfoFieldOrder.d.ts +1 -1
  595. package/portal/Portal.d.ts +1 -1
  596. package/portal/PortalFolder.d.ts +1 -1
  597. package/portal/PortalGroup.d.ts +1 -1
  598. package/portal/PortalItem.d.ts +1 -1
  599. package/portal/PortalItemResource.d.ts +1 -1
  600. package/portal/PortalQueryParams.d.ts +1 -1
  601. package/portal/PortalQueryResult.d.ts +1 -1
  602. package/portal/PortalRating.d.ts +1 -1
  603. package/portal/PortalUser.d.ts +1 -1
  604. package/portal/schemas/definitions.js +1 -1
  605. package/rasterRenderers.d.ts +1 -1
  606. package/renderers/ClassBreaksRenderer.d.ts +1 -1
  607. package/renderers/DictionaryRenderer.d.ts +1 -1
  608. package/renderers/DotDensityRenderer.d.ts +1 -1
  609. package/renderers/FlowRenderer.d.ts +1 -1
  610. package/renderers/HeatmapRenderer.d.ts +1 -1
  611. package/renderers/PieChartRenderer.d.ts +1 -1
  612. package/renderers/PointCloudClassBreaksRenderer.d.ts +1 -1
  613. package/renderers/PointCloudRGBRenderer.d.ts +1 -1
  614. package/renderers/PointCloudRenderer.d.ts +1 -1
  615. package/renderers/PointCloudStretchRenderer.d.ts +1 -1
  616. package/renderers/PointCloudUniqueValueRenderer.d.ts +1 -1
  617. package/renderers/RasterColormapRenderer.d.ts +1 -1
  618. package/renderers/RasterShadedReliefRenderer.d.ts +1 -1
  619. package/renderers/RasterStretchRenderer.d.ts +1 -1
  620. package/renderers/Renderer.d.ts +1 -1
  621. package/renderers/SimpleRenderer.d.ts +1 -1
  622. package/renderers/UniqueValueRenderer.d.ts +1 -1
  623. package/renderers/UniqueValueRenderer.js +1 -1
  624. package/renderers/VectorFieldRenderer.d.ts +1 -1
  625. package/renderers/mixins/VisualVariablesMixin.d.ts +1 -1
  626. package/renderers/support/AttributeColorInfo.d.ts +1 -1
  627. package/renderers/support/AuthoringInfo.d.ts +1 -1
  628. package/renderers/support/AuthoringInfoVisualVariable.d.ts +1 -1
  629. package/renderers/support/ClassBreakInfo.d.ts +1 -1
  630. package/renderers/support/ColormapInfo.d.ts +1 -1
  631. package/renderers/support/HeatmapColorStop.d.ts +1 -1
  632. package/renderers/support/UniqueValue.d.ts +1 -1
  633. package/renderers/support/UniqueValueClass.d.ts +1 -1
  634. package/renderers/support/UniqueValueClass.js +1 -1
  635. package/renderers/support/UniqueValueGroup.d.ts +1 -1
  636. package/renderers/support/UniqueValueInfo.d.ts +1 -1
  637. package/renderers/support/jsonUtils.d.ts +1 -1
  638. package/renderers/visualVariables/ColorVariable.d.ts +1 -1
  639. package/renderers/visualVariables/OpacityVariable.d.ts +1 -1
  640. package/renderers/visualVariables/RotationVariable.d.ts +1 -1
  641. package/renderers/visualVariables/SizeVariable.d.ts +1 -1
  642. package/renderers/visualVariables/VisualVariable.d.ts +1 -1
  643. package/renderers/visualVariables/support/ColorSizeStop.d.ts +1 -1
  644. package/renderers/visualVariables/support/ColorStop.d.ts +1 -1
  645. package/renderers/visualVariables/support/OpacityStop.d.ts +1 -1
  646. package/renderers/visualVariables/support/SizeStop.d.ts +1 -1
  647. package/renderers.d.ts +1 -1
  648. package/request.d.ts +1 -1
  649. package/rest/closestFacility.d.ts +1 -1
  650. package/rest/find.d.ts +1 -1
  651. package/rest/geometryService.d.ts +1 -1
  652. package/rest/geoprocessor/GPOptions.d.ts +1 -1
  653. package/rest/geoprocessor.d.ts +1 -1
  654. package/rest/identify.d.ts +1 -1
  655. package/rest/imageService.d.ts +1 -1
  656. package/rest/knowledgeGraph/DataModel.d.ts +1 -1
  657. package/rest/knowledgeGraph/Entity.d.ts +1 -1
  658. package/rest/knowledgeGraph/EntityType.d.ts +1 -1
  659. package/rest/knowledgeGraph/FieldIndex.d.ts +1 -1
  660. package/rest/knowledgeGraph/GraphApplyEdits.d.ts +1 -1
  661. package/rest/knowledgeGraph/GraphApplyEditsResult.d.ts +1 -1
  662. package/rest/knowledgeGraph/GraphNamedObject.d.ts +1 -1
  663. package/rest/knowledgeGraph/GraphObject.d.ts +1 -1
  664. package/rest/knowledgeGraph/GraphObjectType.d.ts +1 -1
  665. package/rest/knowledgeGraph/GraphProperty.d.ts +1 -1
  666. package/rest/knowledgeGraph/GraphQuery.d.ts +1 -1
  667. package/rest/knowledgeGraph/GraphQueryResult.d.ts +1 -1
  668. package/rest/knowledgeGraph/GraphQueryStreaming.d.ts +1 -1
  669. package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +1 -1
  670. package/rest/knowledgeGraph/GraphSearch.d.ts +1 -1
  671. package/rest/knowledgeGraph/GraphSearchStreaming.d.ts +1 -1
  672. package/rest/knowledgeGraph/InputQuantizationParameters.d.ts +1 -1
  673. package/rest/knowledgeGraph/KnowledgeGraph.d.ts +1 -1
  674. package/rest/knowledgeGraph/OutputQuantizationParameters.d.ts +1 -1
  675. package/rest/knowledgeGraph/Path.d.ts +1 -1
  676. package/rest/knowledgeGraph/Relationship.d.ts +1 -1
  677. package/rest/knowledgeGraph/RelationshipType.d.ts +1 -1
  678. package/rest/knowledgeGraphService.d.ts +1 -1
  679. package/rest/locator.d.ts +1 -1
  680. package/rest/networkService.d.ts +1 -1
  681. package/rest/networks/support/AggregatedGeometry.d.ts +1 -1
  682. package/rest/networks/support/Association.d.ts +1 -1
  683. package/rest/networks/support/AssociationGeometriesResult.d.ts +1 -1
  684. package/rest/networks/support/FunctionResult.d.ts +1 -1
  685. package/rest/networks/support/NetworkElement.d.ts +1 -1
  686. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.d.ts +1 -1
  687. package/rest/networks/support/TraceLocation.d.ts +1 -1
  688. package/rest/networks/support/TraceParameters.d.ts +1 -1
  689. package/rest/networks/support/TraceResult.d.ts +1 -1
  690. package/rest/networks/synthesizeAssociationGeometries.d.ts +1 -1
  691. package/rest/networks/trace.d.ts +1 -1
  692. package/rest/print.d.ts +1 -1
  693. package/rest/print.js +1 -1
  694. package/rest/query/support/AttachmentInfo.d.ts +1 -1
  695. package/rest/query.d.ts +1 -1
  696. package/rest/route.d.ts +1 -1
  697. package/rest/serviceArea.d.ts +1 -1
  698. package/rest/support/AddressCandidate.d.ts +1 -1
  699. package/rest/support/AlgorithmicColorRamp.d.ts +1 -1
  700. package/rest/support/AreasAndLengthsParameters.d.ts +1 -1
  701. package/rest/support/AttachmentQuery.d.ts +1 -1
  702. package/rest/support/BufferParameters.d.ts +1 -1
  703. package/rest/support/ClosestFacilityParameters.d.ts +1 -1
  704. package/rest/support/ClosestFacilitySolveResult.d.ts +1 -1
  705. package/rest/support/ColorRamp.d.ts +1 -1
  706. package/rest/support/DataFile.d.ts +1 -1
  707. package/rest/support/DataLayer.d.ts +1 -1
  708. package/rest/support/DensifyParameters.d.ts +1 -1
  709. package/rest/support/DirectionLine.d.ts +1 -1
  710. package/rest/support/DirectionLine.js +1 -1
  711. package/rest/support/DirectionPoint.d.ts +1 -1
  712. package/rest/support/DirectionPoint.js +1 -1
  713. package/rest/support/DirectionsEvent.d.ts +1 -1
  714. package/rest/support/DirectionsFeature.d.ts +1 -1
  715. package/rest/support/DirectionsFeatureSet.d.ts +1 -1
  716. package/rest/support/DistanceParameters.d.ts +1 -1
  717. package/rest/support/FeatureSet.d.ts +1 -1
  718. package/rest/support/FindParameters.d.ts +1 -1
  719. package/rest/support/FindResult.d.ts +1 -1
  720. package/rest/support/GPMessage.d.ts +1 -1
  721. package/rest/support/GeneralizeParameters.d.ts +1 -1
  722. package/rest/support/IdentifyParameters.d.ts +1 -1
  723. package/rest/support/IdentifyResult.d.ts +1 -1
  724. package/rest/support/ImageAngleParameters.d.ts +1 -1
  725. package/rest/support/ImageAngleResult.d.ts +1 -1
  726. package/rest/support/ImageHistogramParameters.d.ts +1 -1
  727. package/rest/support/ImageIdentifyParameters.d.ts +1 -1
  728. package/rest/support/ImageIdentifyResult.d.ts +1 -1
  729. package/rest/support/ImageParameters.d.ts +1 -1
  730. package/rest/support/ImagePixelLocationParameters.d.ts +1 -1
  731. package/rest/support/ImagePixelLocationResult.d.ts +1 -1
  732. package/rest/support/ImageSample.d.ts +1 -1
  733. package/rest/support/ImageSampleParameters.d.ts +1 -1
  734. package/rest/support/ImageSampleResult.d.ts +1 -1
  735. package/rest/support/JobInfo.d.ts +1 -1
  736. package/rest/support/LegendLayer.d.ts +1 -1
  737. package/rest/support/LengthsParameters.d.ts +1 -1
  738. package/rest/support/LinearUnit.d.ts +1 -1
  739. package/rest/support/MultipartColorRamp.d.ts +1 -1
  740. package/rest/support/NAMessage.d.ts +1 -1
  741. package/rest/support/NetworkFeatureSet.d.ts +1 -1
  742. package/rest/support/NetworkUrl.d.ts +1 -1
  743. package/rest/support/OffsetParameters.d.ts +1 -1
  744. package/rest/support/ParameterValue.d.ts +1 -1
  745. package/rest/support/PointBarrier.d.ts +1 -1
  746. package/rest/support/PointBarrier.js +1 -1
  747. package/rest/support/PolygonBarrier.d.ts +1 -1
  748. package/rest/support/PolygonBarrier.js +1 -1
  749. package/rest/support/PolylineBarrier.d.ts +1 -1
  750. package/rest/support/PolylineBarrier.js +1 -1
  751. package/rest/support/PrintParameters.d.ts +1 -1
  752. package/rest/support/PrintTemplate.d.ts +1 -1
  753. package/rest/support/ProjectParameters.d.ts +1 -1
  754. package/rest/support/Query.d.ts +1 -1
  755. package/rest/support/RasterData.d.ts +1 -1
  756. package/rest/support/RelationParameters.d.ts +1 -1
  757. package/rest/support/RelationshipQuery.d.ts +1 -1
  758. package/rest/support/RouteInfo.d.ts +1 -1
  759. package/rest/support/RouteInfo.js +1 -1
  760. package/rest/support/RouteParameters.d.ts +1 -1
  761. package/rest/support/RouteResult.d.ts +1 -1
  762. package/rest/support/RouteSolveResult.d.ts +1 -1
  763. package/rest/support/ServiceAreaParameters.d.ts +1 -1
  764. package/rest/support/ServiceAreaSolveResult.d.ts +1 -1
  765. package/rest/support/StatisticDefinition.d.ts +1 -1
  766. package/rest/support/Stop.d.ts +1 -1
  767. package/rest/support/Stop.js +1 -1
  768. package/rest/support/TopFeaturesQuery.d.ts +1 -1
  769. package/rest/support/TopFilter.d.ts +1 -1
  770. package/rest/support/TravelMode.d.ts +1 -1
  771. package/rest/support/TrimExtendParameters.d.ts +1 -1
  772. package/rest/symbolService.d.ts +1 -1
  773. package/smartMapping/heuristics/outline.js +1 -1
  774. package/smartMapping/heuristics/scaleRange.d.ts +1 -1
  775. package/smartMapping/heuristics/scaleRange.js +1 -1
  776. package/smartMapping/heuristics/sizeRange.d.ts +1 -1
  777. package/smartMapping/heuristics/sizeRange.js +1 -1
  778. package/smartMapping/labels/clusters.d.ts +1 -1
  779. package/smartMapping/popup/clusters.d.ts +1 -1
  780. package/smartMapping/popup/templates.d.ts +1 -1
  781. package/smartMapping/raster/renderers/classBreaks.d.ts +1 -1
  782. package/smartMapping/raster/renderers/colormap.d.ts +1 -1
  783. package/smartMapping/raster/renderers/flow.d.ts +1 -1
  784. package/smartMapping/raster/renderers/rgb.d.ts +1 -1
  785. package/smartMapping/raster/renderers/shadedRelief.d.ts +1 -1
  786. package/smartMapping/raster/renderers/stretch.d.ts +1 -1
  787. package/smartMapping/raster/renderers/uniqueValue.d.ts +1 -1
  788. package/smartMapping/raster/renderers/vectorField.d.ts +1 -1
  789. package/smartMapping/raster/support/utils.d.ts +1 -1
  790. package/smartMapping/renderers/color.d.ts +1 -1
  791. package/smartMapping/renderers/color.js +1 -1
  792. package/smartMapping/renderers/dotDensity.d.ts +1 -1
  793. package/smartMapping/renderers/dotDensity.js +1 -1
  794. package/smartMapping/renderers/heatmap.d.ts +1 -1
  795. package/smartMapping/renderers/location.d.ts +1 -1
  796. package/smartMapping/renderers/location.js +1 -1
  797. package/smartMapping/renderers/opacity.d.ts +1 -1
  798. package/smartMapping/renderers/opacity.js +1 -1
  799. package/smartMapping/renderers/pieChart.d.ts +1 -1
  800. package/smartMapping/renderers/pieChart.js +1 -1
  801. package/smartMapping/renderers/predominance.d.ts +1 -1
  802. package/smartMapping/renderers/predominance.js +1 -1
  803. package/smartMapping/renderers/relationship.d.ts +1 -1
  804. package/smartMapping/renderers/relationship.js +1 -1
  805. package/smartMapping/renderers/size.d.ts +1 -1
  806. package/smartMapping/renderers/size.js +1 -1
  807. package/smartMapping/renderers/support/utils.js +1 -1
  808. package/smartMapping/renderers/type.d.ts +1 -1
  809. package/smartMapping/renderers/type.js +1 -1
  810. package/smartMapping/renderers/univariateColorSize.d.ts +1 -1
  811. package/smartMapping/renderers/univariateColorSize.js +1 -1
  812. package/smartMapping/statistics/classBreaks.d.ts +1 -1
  813. package/smartMapping/statistics/classBreaks.js +1 -1
  814. package/smartMapping/statistics/heatmapStatistics.d.ts +1 -1
  815. package/smartMapping/statistics/histogram.d.ts +1 -1
  816. package/smartMapping/statistics/histogram.js +1 -1
  817. package/smartMapping/statistics/predominantCategories.d.ts +1 -1
  818. package/smartMapping/statistics/predominantCategories.js +1 -1
  819. package/smartMapping/statistics/summaryStatistics.d.ts +1 -1
  820. package/smartMapping/statistics/summaryStatistics.js +1 -1
  821. package/smartMapping/statistics/summaryStatisticsForAge.d.ts +1 -1
  822. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  823. package/smartMapping/statistics/support/ageUtils.d.ts +1 -1
  824. package/smartMapping/statistics/support/predominanceUtils.d.ts +1 -1
  825. package/smartMapping/statistics/uniqueValues.d.ts +1 -1
  826. package/smartMapping/statistics/uniqueValues.js +1 -1
  827. package/smartMapping/support/adapters/FeatureLayerAdapter.js +1 -1
  828. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +5 -0
  829. package/smartMapping/support/adapters/SceneLayerAdapter.js +1 -1
  830. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  831. package/smartMapping/support/adapters/support/utils.js +1 -1
  832. package/smartMapping/support/binningUtils.js +1 -1
  833. package/smartMapping/symbology/color.d.ts +1 -1
  834. package/smartMapping/symbology/dotDensity.d.ts +1 -1
  835. package/smartMapping/symbology/flow.d.ts +1 -1
  836. package/smartMapping/symbology/heatmap.d.ts +1 -1
  837. package/smartMapping/symbology/location.d.ts +1 -1
  838. package/smartMapping/symbology/pieChart.d.ts +1 -1
  839. package/smartMapping/symbology/predominance.d.ts +1 -1
  840. package/smartMapping/symbology/relationship.d.ts +1 -1
  841. package/smartMapping/symbology/size.d.ts +1 -1
  842. package/smartMapping/symbology/support/colorRamps.d.ts +1 -1
  843. package/smartMapping/symbology/type.d.ts +1 -1
  844. package/support/LayersMixin.d.ts +1 -1
  845. package/support/MapFloorInfo.d.ts +1 -1
  846. package/support/TablesMixin.d.ts +1 -1
  847. package/support/actions/ActionBase.d.ts +1 -1
  848. package/support/actions/ActionButton.d.ts +1 -1
  849. package/support/actions/ActionToggle.d.ts +1 -1
  850. package/support/popupUtils.d.ts +1 -1
  851. package/support/revision.js +1 -1
  852. package/support/timeUtils.d.ts +1 -1
  853. package/symbols/CIMSymbol.d.ts +1 -1
  854. package/symbols/ExtrudeSymbol3DLayer.d.ts +1 -1
  855. package/symbols/FillSymbol.d.ts +1 -1
  856. package/symbols/FillSymbol3DLayer.d.ts +1 -1
  857. package/symbols/Font.d.ts +1 -1
  858. package/symbols/IconSymbol3DLayer.d.ts +1 -1
  859. package/symbols/LabelSymbol3D.d.ts +1 -1
  860. package/symbols/LineStyleMarker3D.d.ts +1 -1
  861. package/symbols/LineSymbol.d.ts +1 -1
  862. package/symbols/LineSymbol3D.d.ts +1 -1
  863. package/symbols/LineSymbol3DLayer.d.ts +1 -1
  864. package/symbols/LineSymbolMarker.d.ts +1 -1
  865. package/symbols/MarkerSymbol.d.ts +1 -1
  866. package/symbols/MeshSymbol3D.d.ts +1 -1
  867. package/symbols/ObjectSymbol3DLayer.d.ts +1 -1
  868. package/symbols/PathSymbol3DLayer.d.ts +1 -1
  869. package/symbols/PictureFillSymbol.d.ts +1 -1
  870. package/symbols/PictureMarkerSymbol.d.ts +1 -1
  871. package/symbols/PointSymbol3D.d.ts +1 -1
  872. package/symbols/PolygonSymbol3D.d.ts +1 -1
  873. package/symbols/SimpleFillSymbol.d.ts +1 -1
  874. package/symbols/SimpleLineSymbol.d.ts +1 -1
  875. package/symbols/SimpleMarkerSymbol.d.ts +1 -1
  876. package/symbols/Symbol.d.ts +1 -1
  877. package/symbols/Symbol3D.d.ts +1 -1
  878. package/symbols/Symbol3DLayer.d.ts +1 -1
  879. package/symbols/TextSymbol.d.ts +1 -1
  880. package/symbols/TextSymbol3DLayer.d.ts +1 -1
  881. package/symbols/WaterSymbol3DLayer.d.ts +1 -1
  882. package/symbols/WebStyleSymbol.d.ts +1 -1
  883. package/symbols/callouts/Callout3D.d.ts +1 -1
  884. package/symbols/callouts/LineCallout3D.d.ts +1 -1
  885. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  886. package/symbols/edges/Edges3D.d.ts +1 -1
  887. package/symbols/edges/SketchEdges3D.d.ts +1 -1
  888. package/symbols/edges/SolidEdges3D.d.ts +1 -1
  889. package/symbols/patterns/LineStylePattern3D.d.ts +1 -1
  890. package/symbols/patterns/StylePattern3D.d.ts +1 -1
  891. package/symbols/support/StyleOrigin.d.ts +1 -1
  892. package/symbols/support/Symbol3DVerticalOffset.d.ts +1 -1
  893. package/symbols/support/cimSymbolUtils.d.ts +1 -1
  894. package/symbols/support/jsonUtils.d.ts +1 -1
  895. package/symbols/support/previewCIMSymbol.js +1 -1
  896. package/symbols/support/previewSymbol2D.js +1 -1
  897. package/symbols/support/symbolUtils.d.ts +1 -1
  898. package/symbols/support/symbolUtils.js +1 -1
  899. package/symbols.d.ts +1 -1
  900. package/views/2d/LabelManager.js +1 -1
  901. package/views/2d/ViewState.d.ts +1 -1
  902. package/views/2d/ViewState.js +1 -1
  903. package/views/2d/engine/flow/FlowDisplayObject.js +1 -1
  904. package/views/2d/engine/imagery/RasterVFTile.js +1 -1
  905. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  906. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  907. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  908. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  909. package/views/2d/engine/webgl/Painter.js +1 -1
  910. package/views/2d/engine/webgl/TextureUploadManager.js +1 -1
  911. package/views/2d/engine/webgl/TiledDisplayObject.js +1 -1
  912. package/views/2d/engine/webgl/WGLTile.js +1 -1
  913. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  914. package/views/2d/engine/webgl/collisions/CollisionEngine.js +1 -1
  915. package/views/2d/layers/BaseLayerView2D.d.ts +1 -1
  916. package/views/2d/layers/BaseLayerViewGL2D.d.ts +1 -1
  917. package/views/2d/layers/FeatureLayerView2D.js +1 -1
  918. package/views/2d/layers/features/controllers/FeatureController2D.js +1 -1
  919. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  920. package/views/2d/layers/support/DebugOverlay.js +1 -1
  921. package/views/2d/layers/support/FeatureLayerProxy.js +1 -1
  922. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  923. package/views/3d/analysis/AreaMeasurementAnalysisView3D.d.ts +1 -1
  924. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  925. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  926. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  927. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  928. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  929. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  930. package/views/3d/analysis/Dimension/settings.js +1 -1
  931. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.d.ts +1 -1
  932. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  933. package/views/3d/analysis/LineOfSightAnalysisResult.d.ts +1 -1
  934. package/views/3d/analysis/LineOfSightAnalysisView3D.d.ts +1 -1
  935. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  936. package/views/3d/analysis/Slice/SliceVisualization.js +1 -1
  937. package/views/3d/analysis/Slice/sliceToolConfig.js +1 -1
  938. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  939. package/views/3d/analysis/SliceAnalysisView3D.d.ts +1 -1
  940. package/views/3d/camera/constraintUtils/distance.js +1 -1
  941. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  942. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  943. package/views/3d/environment/CloudsCompositionParameters.js +1 -1
  944. package/views/3d/environment/CloudyWeather.d.ts +1 -1
  945. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  946. package/views/3d/environment/FoggyWeather.d.ts +1 -1
  947. package/views/3d/environment/RainyWeather.d.ts +1 -1
  948. package/views/3d/environment/SceneViewEnvironmentManager.js +1 -1
  949. package/views/3d/environment/SimpleAtmosphere.js +1 -1
  950. package/views/3d/environment/SnowyWeather.d.ts +1 -1
  951. package/views/3d/environment/SunLighting.d.ts +1 -1
  952. package/views/3d/environment/SunnyWeather.d.ts +1 -1
  953. package/views/3d/environment/VirtualLighting.d.ts +1 -1
  954. package/views/3d/externalRenderers.d.ts +1 -1
  955. package/views/3d/glTF/internal/Resource.js +1 -1
  956. package/views/3d/interactive/Manipulator3D.js +1 -1
  957. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  958. package/views/3d/interactive/editingTools/reshapeGraphic/ReshapeOperation.js +1 -1
  959. package/views/3d/interactive/editingTools/reshapeGraphic/edgeOffsetUtils.js +1 -1
  960. package/views/3d/interactive/editingTools/settings.js +1 -1
  961. package/views/3d/interactive/editingTools/transformGraphic/ExtentTransformTool.js +1 -1
  962. package/views/3d/interactive/editingTools/transformGraphic/GraphicScaleRotateTransform.js +1 -1
  963. package/views/3d/interactive/manipulatorUtils.js +1 -1
  964. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  965. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  966. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  967. package/views/3d/layers/I3SMeshView3D.js +1 -1
  968. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  969. package/views/3d/layers/PointCloudWorker.js +1 -1
  970. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  971. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  972. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  973. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  974. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  975. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  976. package/views/3d/layers/graphics/elevationAlignPointsInFeatures.js +1 -1
  977. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  978. package/views/3d/layers/i3s/I3SElevationProvider.js +1 -1
  979. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  980. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  981. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  982. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  983. package/views/3d/layers/i3s/PointRenderer.js +1 -1
  984. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  985. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  986. package/views/3d/layers/support/edgeUtils.js +1 -1
  987. package/views/3d/layers/support/uvUtils.js +1 -1
  988. package/views/3d/state/Frustum.js +1 -1
  989. package/views/3d/state/ViewStateManager.js +1 -1
  990. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  991. package/views/3d/state/controllers/RotateController.js +1 -1
  992. package/views/3d/state/controllers/global/PinchAndPanController.js +1 -1
  993. package/views/3d/state/controllers/local/PinchAndPanController.js +1 -1
  994. package/views/3d/state/controllers/local/ZoomController.js +1 -1
  995. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  996. package/views/3d/state/utils/navigationUtils.js +1 -1
  997. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  998. package/views/3d/support/LayerPerformanceInfo.d.ts +1 -1
  999. package/views/3d/support/SceneViewPerformanceInfo.d.ts +1 -1
  1000. package/views/3d/support/orientedBoundingBox.js +1 -1
  1001. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  1002. package/views/3d/support/pointsOfInterest/CenterOnSurface.js +1 -1
  1003. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  1004. package/views/3d/support/sunUtils.js +1 -1
  1005. package/views/3d/terrain/PatchRenderData.js +1 -1
  1006. package/views/3d/terrain/TerrainSurface.js +1 -1
  1007. package/views/3d/terrain/Tile.js +1 -1
  1008. package/views/3d/terrain/TileRenderer.js +1 -1
  1009. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  1010. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  1011. package/views/3d/webgl-engine/core/shaderLibrary/Slice.glsl.js +1 -1
  1012. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +2 -2
  1013. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +1 -1
  1014. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +22 -0
  1015. package/views/3d/webgl-engine/core/util/TwoVectorPosition.js +1 -1
  1016. package/views/3d/webgl-engine/lib/Camera.js +1 -1
  1017. package/views/3d/webgl-engine/lib/GeometryRecord.js +1 -1
  1018. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  1019. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  1020. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  1021. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  1022. package/views/3d/webgl-engine/lib/RenderGeometry.js +1 -1
  1023. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  1024. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  1025. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  1026. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  1027. package/views/3d/webgl-engine/lib/edgeRendering/edgePreprocessing.js +1 -1
  1028. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  1029. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  1030. package/views/3d/webgl-engine/lib/pathGeometryUtils.js +1 -1
  1031. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  1032. package/views/3d/webgl-engine/lighting/SphericalHarmonics.js +1 -1
  1033. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  1034. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  1035. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  1036. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  1037. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  1038. package/views/3d/webgl-engine/parts/Model.js +1 -1
  1039. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  1040. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  1041. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  1042. package/views/BasemapView.d.ts +1 -1
  1043. package/views/BreakpointsOwner.d.ts +1 -1
  1044. package/views/DOMContainer.d.ts +1 -1
  1045. package/views/GroundView.d.ts +1 -1
  1046. package/views/Magnifier.d.ts +1 -1
  1047. package/views/MapView.d.ts +1 -1
  1048. package/views/MapView.js +1 -1
  1049. package/views/SceneView.d.ts +1 -1
  1050. package/views/ToolViewManager.js +1 -1
  1051. package/views/View.d.ts +1 -1
  1052. package/views/ViewAnimation.d.ts +1 -1
  1053. package/views/analysis/DimensionAnalysisView.d.ts +1 -1
  1054. package/views/analysis/LengthDimensionResult.d.ts +1 -1
  1055. package/views/draw/Draw.d.ts +1 -1
  1056. package/views/draw/Draw.js +1 -1
  1057. package/views/draw/DrawAction.d.ts +1 -1
  1058. package/views/draw/DrawGraphicTool.js +1 -1
  1059. package/views/draw/DrawOperation.js +1 -1
  1060. package/views/draw/MultipointDrawAction.d.ts +1 -1
  1061. package/views/draw/MultipointDrawAction.js +1 -1
  1062. package/views/draw/PointDrawAction.d.ts +1 -1
  1063. package/views/draw/PolygonDrawAction.d.ts +1 -1
  1064. package/views/draw/PolylineDrawAction.d.ts +1 -1
  1065. package/views/draw/SegmentDrawAction.d.ts +1 -1
  1066. package/views/draw/drawSurfaces.js +1 -1
  1067. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  1068. package/views/input/Input.d.ts +1 -1
  1069. package/views/input/gamepad/GamepadInputDevice.d.ts +1 -1
  1070. package/views/input/gamepad/GamepadSettings.d.ts +1 -1
  1071. package/views/interactive/coordinateHelper.js +1 -1
  1072. package/views/interactive/dragEventPipeline.js +1 -1
  1073. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  1074. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  1075. package/views/interactive/sketch/SketchLabelOptions.d.ts +1 -1
  1076. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  1077. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  1078. package/views/interactive/snapping/FeatureSnappingLayerSource.d.ts +1 -1
  1079. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  1080. package/views/interactive/snapping/SnappingConstraint.js +1 -1
  1081. package/views/interactive/snapping/SnappingDragPipelineStep.js +1 -1
  1082. package/views/interactive/snapping/SnappingOperation.js +1 -1
  1083. package/views/interactive/snapping/SnappingOptions.d.ts +1 -1
  1084. package/views/interactive/snapping/candidates/DrapedEdgeSnappingCandidate.js +5 -0
  1085. package/views/interactive/snapping/featureSources/FeatureCollectionSnappingSource.js +1 -1
  1086. package/views/interactive/snapping/featureSources/FeatureServiceSnappingSource.js +1 -1
  1087. package/views/interactive/snapping/featureSources/GraphicsSnappingSource.js +1 -1
  1088. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceSnappingSourceWorkerHandle.js +1 -1
  1089. package/views/interactive/snapping/featureSources/queryEngineUtils.js +1 -1
  1090. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  1091. package/views/interactive/snapping/featureSources/snappingCandidateElevationAlignment.js +1 -1
  1092. package/views/interactive/snapping/featureSources/snappingCandidateElevationFilter.js +1 -1
  1093. package/views/interactive/snapping/snappingUtils.js +1 -1
  1094. package/views/interactive/tooltip/DrawTooltipInfos.js +1 -1
  1095. package/views/interactive/tooltip/content/TooltipContentDrawPolygon.js +1 -1
  1096. package/views/interactive/tooltip/content/TooltipContentDrawPolyline.js +1 -1
  1097. package/views/layers/BuildingComponentSublayerView.d.ts +1 -1
  1098. package/views/layers/BuildingSceneLayerView.d.ts +1 -1
  1099. package/views/layers/CSVLayerView.d.ts +1 -1
  1100. package/views/layers/DimensionLayerView.d.ts +1 -1
  1101. package/views/layers/FeatureLayerView.d.ts +1 -1
  1102. package/views/layers/GeoJSONLayerView.d.ts +1 -1
  1103. package/views/layers/GeoRSSLayerView.d.ts +1 -1
  1104. package/views/layers/GraphicsLayerView.d.ts +1 -1
  1105. package/views/layers/ImageryLayerView.d.ts +1 -1
  1106. package/views/layers/KMLLayerView.d.ts +1 -1
  1107. package/views/layers/LayerView.d.ts +1 -1
  1108. package/views/layers/OGCFeatureLayerView.d.ts +1 -1
  1109. package/views/layers/PointCloudLayerView.d.ts +1 -1
  1110. package/views/layers/SceneLayerView.d.ts +1 -1
  1111. package/views/layers/StreamLayerView.d.ts +1 -1
  1112. package/views/layers/WFSLayerView.d.ts +1 -1
  1113. package/views/navigation/Navigation.d.ts +1 -1
  1114. package/views/navigation/PanSphericalMomentumEstimator.js +1 -1
  1115. package/views/navigation/gamepad/GamepadSettings.d.ts +1 -1
  1116. package/views/support/Scheduler.js +1 -1
  1117. package/views/support/colorUtils.d.ts +1 -1
  1118. package/views/support/euclideanAreaMeasurementUtils.js +1 -1
  1119. package/views/support/geometry3dUtils.js +1 -1
  1120. package/views/ui/DefaultUI.d.ts +1 -1
  1121. package/views/ui/UI.d.ts +1 -1
  1122. package/webdoc/GeotriggersInfo.d.ts +1 -1
  1123. package/webdoc/applicationProperties/Search.d.ts +1 -1
  1124. package/webdoc/applicationProperties/SearchLayer.d.ts +1 -1
  1125. package/webdoc/applicationProperties/SearchLayerField.d.ts +1 -1
  1126. package/webdoc/applicationProperties/SearchTable.d.ts +1 -1
  1127. package/webdoc/applicationProperties/SearchTableField.d.ts +1 -1
  1128. package/webdoc/applicationProperties/Viewing.d.ts +1 -1
  1129. package/webdoc/geotriggersInfo/DeviceLocationFeed.d.ts +1 -1
  1130. package/webdoc/geotriggersInfo/ExpressionInfo.d.ts +1 -1
  1131. package/webdoc/geotriggersInfo/FeatureFenceParameters.d.ts +1 -1
  1132. package/webdoc/geotriggersInfo/FeatureFilter.d.ts +1 -1
  1133. package/webdoc/geotriggersInfo/FeatureLayerSource.d.ts +1 -1
  1134. package/webdoc/geotriggersInfo/FenceGeotrigger.d.ts +1 -1
  1135. package/webdoc/geotriggersInfo/Geotrigger.d.ts +1 -1
  1136. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.d.ts +1 -1
  1137. package/webmap/ApplicationProperties.d.ts +1 -1
  1138. package/webmap/Bookmark.d.ts +1 -1
  1139. package/webmap/InitialViewProperties.d.ts +1 -1
  1140. package/webmap/background/ColorBackground.d.ts +1 -1
  1141. package/webscene/ApplicationProperties.d.ts +1 -1
  1142. package/webscene/Environment.d.ts +1 -1
  1143. package/webscene/InitialViewProperties.d.ts +1 -1
  1144. package/webscene/Lighting.d.ts +1 -1
  1145. package/webscene/Presentation.d.ts +1 -1
  1146. package/webscene/Slide.d.ts +1 -1
  1147. package/webscene/Slide.js +1 -1
  1148. package/webscene/SunLighting.d.ts +1 -1
  1149. package/webscene/VirtualLighting.d.ts +1 -1
  1150. package/webscene/background/Background.d.ts +1 -1
  1151. package/webscene/background/ColorBackground.d.ts +1 -1
  1152. package/widgets/AreaMeasurement2D/AreaMeasurement2DViewModel.d.ts +1 -1
  1153. package/widgets/AreaMeasurement2D.d.ts +1 -1
  1154. package/widgets/AreaMeasurement3D/AreaMeasurement3DViewModel.d.ts +1 -1
  1155. package/widgets/AreaMeasurement3D.d.ts +1 -1
  1156. package/widgets/Attachments/AttachmentsViewModel.d.ts +1 -1
  1157. package/widgets/Attachments.d.ts +1 -1
  1158. package/widgets/Attribution/AttributionViewModel.d.ts +1 -1
  1159. package/widgets/Attribution.d.ts +1 -1
  1160. package/widgets/BasemapGallery/BasemapGalleryViewModel.d.ts +1 -1
  1161. package/widgets/BasemapGallery/support/BasemapGalleryItem.d.ts +1 -1
  1162. package/widgets/BasemapGallery/support/LocalBasemapsSource.d.ts +1 -1
  1163. package/widgets/BasemapGallery/support/PortalBasemapsSource.d.ts +1 -1
  1164. package/widgets/BasemapGallery.d.ts +1 -1
  1165. package/widgets/BasemapLayerList/BasemapLayerListViewModel.d.ts +1 -1
  1166. package/widgets/BasemapLayerList.d.ts +1 -1
  1167. package/widgets/BasemapToggle/BasemapToggleViewModel.d.ts +1 -1
  1168. package/widgets/BasemapToggle.d.ts +1 -1
  1169. package/widgets/Bookmarks/BookmarksViewModel.d.ts +1 -1
  1170. package/widgets/Bookmarks.d.ts +1 -1
  1171. package/widgets/BuildingExplorer/BuildingExplorerViewModel.d.ts +1 -1
  1172. package/widgets/BuildingExplorer/BuildingLevel.d.ts +1 -1
  1173. package/widgets/BuildingExplorer/BuildingPhase.d.ts +1 -1
  1174. package/widgets/BuildingExplorer.d.ts +1 -1
  1175. package/widgets/Compass/CompassViewModel.d.ts +1 -1
  1176. package/widgets/Compass.d.ts +1 -1
  1177. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +1 -1
  1178. package/widgets/CoordinateConversion/support/Conversion.d.ts +1 -1
  1179. package/widgets/CoordinateConversion/support/Format.d.ts +1 -1
  1180. package/widgets/CoordinateConversion.d.ts +1 -1
  1181. package/widgets/Daylight/DaylightViewModel.d.ts +1 -1
  1182. package/widgets/Daylight.d.ts +1 -1
  1183. package/widgets/DirectLineMeasurement3D/DirectLineMeasurement3DViewModel.d.ts +1 -1
  1184. package/widgets/DirectLineMeasurement3D.d.ts +1 -1
  1185. package/widgets/Directions/DirectionsViewModel.d.ts +1 -1
  1186. package/widgets/Directions.d.ts +1 -1
  1187. package/widgets/Directions.js +1 -1
  1188. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DViewModel.d.ts +1 -1
  1189. package/widgets/DistanceMeasurement2D.d.ts +1 -1
  1190. package/widgets/Editor/CreateFeaturesWorkflow.d.ts +1 -1
  1191. package/widgets/Editor/CreateFeaturesWorkflowData.d.ts +1 -1
  1192. package/widgets/Editor/CreateWorkflow.d.ts +1 -1
  1193. package/widgets/Editor/CreateWorkflowData.d.ts +1 -1
  1194. package/widgets/Editor/EditorViewModel.d.ts +1 -1
  1195. package/widgets/Editor/Edits.d.ts +1 -1
  1196. package/widgets/Editor/UpdateWorkflow.d.ts +1 -1
  1197. package/widgets/Editor/UpdateWorkflowData.d.ts +1 -1
  1198. package/widgets/Editor/Workflow.d.ts +1 -1
  1199. package/widgets/Editor.d.ts +1 -1
  1200. package/widgets/Editor.js +1 -1
  1201. package/widgets/ElevationProfile/ElevationProfileLine.d.ts +1 -1
  1202. package/widgets/ElevationProfile/ElevationProfileLineGround.d.ts +1 -1
  1203. package/widgets/ElevationProfile/ElevationProfileLineInput.d.ts +1 -1
  1204. package/widgets/ElevationProfile/ElevationProfileLineQuery.d.ts +1 -1
  1205. package/widgets/ElevationProfile/ElevationProfileLineView.d.ts +1 -1
  1206. package/widgets/ElevationProfile/ElevationProfileViewModel.d.ts +1 -1
  1207. package/widgets/ElevationProfile/support/ProfileLines3D.js +1 -1
  1208. package/widgets/ElevationProfile/support/constants.js +1 -1
  1209. package/widgets/ElevationProfile.d.ts +1 -1
  1210. package/widgets/Expand/ExpandViewModel.d.ts +1 -1
  1211. package/widgets/Expand.d.ts +1 -1
  1212. package/widgets/Feature/FeatureMedia.js +1 -1
  1213. package/widgets/Feature/FeatureRelationship/FeatureRelationshipViewModel.js +1 -1
  1214. package/widgets/Feature/FeatureViewModel.d.ts +1 -1
  1215. package/widgets/Feature/FeatureViewModel.js +1 -1
  1216. package/widgets/Feature.d.ts +1 -1
  1217. package/widgets/FeatureForm/FeatureFormViewModel.d.ts +1 -1
  1218. package/widgets/FeatureForm/FieldConfig.d.ts +1 -1
  1219. package/widgets/FeatureForm/FieldGroupConfig.d.ts +1 -1
  1220. package/widgets/FeatureForm/FormExpressionArcadeExecutor.js +1 -1
  1221. package/widgets/FeatureForm/InputField.d.ts +1 -1
  1222. package/widgets/FeatureForm/InputField.js +1 -1
  1223. package/widgets/FeatureForm/InputFieldGroup.d.ts +1 -1
  1224. package/widgets/FeatureForm.d.ts +1 -1
  1225. package/widgets/FeatureForm.js +1 -1
  1226. package/widgets/FeatureTable/FeatureTableViewModel.d.ts +1 -1
  1227. package/widgets/FeatureTable/FieldColumn.d.ts +1 -1
  1228. package/widgets/FeatureTable/FieldColumnConfig.d.ts +1 -1
  1229. package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
  1230. package/widgets/FeatureTable/Grid/GroupColumn.d.ts +1 -1
  1231. package/widgets/FeatureTable/Grid/support/ButtonMenu.d.ts +1 -1
  1232. package/widgets/FeatureTable/Grid/support/ButtonMenuItem.d.ts +1 -1
  1233. package/widgets/FeatureTable/Grid/support/ButtonMenuViewModel.d.ts +1 -1
  1234. package/widgets/FeatureTable/support/ColumnTemplate.d.ts +1 -1
  1235. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
  1236. package/widgets/FeatureTable/support/FieldColumnTemplate.d.ts +1 -1
  1237. package/widgets/FeatureTable/support/GroupColumnTemplate.d.ts +1 -1
  1238. package/widgets/FeatureTable/support/TableTemplate.d.ts +1 -1
  1239. package/widgets/FeatureTable.d.ts +1 -1
  1240. package/widgets/FeatureTemplates/FeatureTemplatesViewModel.d.ts +1 -1
  1241. package/widgets/FeatureTemplates/TemplateItem.d.ts +1 -1
  1242. package/widgets/FeatureTemplates/TemplateItemGroup.d.ts +1 -1
  1243. package/widgets/FeatureTemplates.d.ts +1 -1
  1244. package/widgets/FloorFilter/FloorFilterViewModel.d.ts +1 -1
  1245. package/widgets/FloorFilter.d.ts +1 -1
  1246. package/widgets/Fullscreen/FullscreenViewModel.d.ts +1 -1
  1247. package/widgets/Fullscreen.d.ts +1 -1
  1248. package/widgets/Histogram/HistogramViewModel.d.ts +1 -1
  1249. package/widgets/Histogram.d.ts +1 -1
  1250. package/widgets/HistogramRangeSlider/HistogramRangeSliderViewModel.d.ts +1 -1
  1251. package/widgets/HistogramRangeSlider.d.ts +1 -1
  1252. package/widgets/Home/HomeViewModel.d.ts +1 -1
  1253. package/widgets/Home.d.ts +1 -1
  1254. package/widgets/LayerList/LayerListViewModel.d.ts +1 -1
  1255. package/widgets/LayerList/ListItem.d.ts +1 -1
  1256. package/widgets/LayerList/ListItemPanel.d.ts +1 -1
  1257. package/widgets/LayerList.d.ts +1 -1
  1258. package/widgets/Legend/LegendViewModel.d.ts +1 -1
  1259. package/widgets/Legend/support/ActiveLayerInfo.d.ts +1 -1
  1260. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  1261. package/widgets/Legend.d.ts +1 -1
  1262. package/widgets/LineOfSight/LineOfSightTarget.d.ts +1 -1
  1263. package/widgets/LineOfSight/LineOfSightViewModel.d.ts +1 -1
  1264. package/widgets/LineOfSight.d.ts +1 -1
  1265. package/widgets/Locate/LocateViewModel.d.ts +1 -1
  1266. package/widgets/Locate.d.ts +1 -1
  1267. package/widgets/Measurement/MeasurementViewModel.d.ts +1 -1
  1268. package/widgets/Measurement.d.ts +1 -1
  1269. package/widgets/NavigationToggle/NavigationToggleViewModel.d.ts +1 -1
  1270. package/widgets/NavigationToggle.d.ts +1 -1
  1271. package/widgets/Popup/PopupViewModel.d.ts +1 -1
  1272. package/widgets/Popup.d.ts +1 -1
  1273. package/widgets/Popup.js +1 -1
  1274. package/widgets/Print/CustomTemplate.d.ts +1 -1
  1275. package/widgets/Print/PrintViewModel.d.ts +1 -1
  1276. package/widgets/Print/TemplateOptions.d.ts +1 -1
  1277. package/widgets/Print.d.ts +1 -1
  1278. package/widgets/ScaleBar/ScaleBarViewModel.d.ts +1 -1
  1279. package/widgets/ScaleBar.d.ts +1 -1
  1280. package/widgets/ScaleRangeSlider/ScaleRangeSliderViewModel.d.ts +1 -1
  1281. package/widgets/ScaleRangeSlider/ScaleRanges.d.ts +1 -1
  1282. package/widgets/ScaleRangeSlider.d.ts +1 -1
  1283. package/widgets/Search/LayerSearchSource.d.ts +1 -1
  1284. package/widgets/Search/LocatorSearchSource.d.ts +1 -1
  1285. package/widgets/Search/SearchResultRenderer.d.ts +1 -1
  1286. package/widgets/Search/SearchSource.d.ts +1 -1
  1287. package/widgets/Search/SearchViewModel.d.ts +1 -1
  1288. package/widgets/Search.d.ts +1 -1
  1289. package/widgets/ShadowCast/ShadowCastViewModel.d.ts +1 -1
  1290. package/widgets/ShadowCast.d.ts +1 -1
  1291. package/widgets/Sketch/SketchViewModel.d.ts +1 -1
  1292. package/widgets/Sketch/SketchViewModel.js +1 -1
  1293. package/widgets/Sketch/support/OperationHandle.js +1 -1
  1294. package/widgets/Sketch.d.ts +1 -1
  1295. package/widgets/Slice/SlicePlane.d.ts +1 -1
  1296. package/widgets/Slice/SliceViewModel.d.ts +1 -1
  1297. package/widgets/Slice.d.ts +1 -1
  1298. package/widgets/Slider/SliderViewModel.d.ts +1 -1
  1299. package/widgets/Slider.d.ts +1 -1
  1300. package/widgets/Swipe/SwipeViewModel.d.ts +1 -1
  1301. package/widgets/Swipe.d.ts +1 -1
  1302. package/widgets/TableList/ListItem.d.ts +1 -1
  1303. package/widgets/TableList/TableListViewModel.d.ts +1 -1
  1304. package/widgets/TableList.d.ts +1 -1
  1305. package/widgets/TimeSlider/TimeSliderViewModel.d.ts +1 -1
  1306. package/widgets/TimeSlider.d.ts +1 -1
  1307. package/widgets/Track/TrackViewModel.d.ts +1 -1
  1308. package/widgets/Track.d.ts +1 -1
  1309. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceViewModel.d.ts +1 -1
  1310. package/widgets/UtilityNetworkTrace.d.ts +1 -1
  1311. package/widgets/UtilityNetworkTrace.js +1 -1
  1312. package/widgets/Weather/WeatherViewModel.d.ts +1 -1
  1313. package/widgets/Weather.d.ts +1 -1
  1314. package/widgets/Widget.d.ts +1 -1
  1315. package/widgets/Zoom/ZoomViewModel.d.ts +1 -1
  1316. package/widgets/Zoom.d.ts +1 -1
  1317. package/widgets/smartMapping/ClassedColorSlider/ClassedColorSliderViewModel.d.ts +1 -1
  1318. package/widgets/smartMapping/ClassedColorSlider.d.ts +1 -1
  1319. package/widgets/smartMapping/ClassedSizeSlider/ClassedSizeSliderViewModel.d.ts +1 -1
  1320. package/widgets/smartMapping/ClassedSizeSlider.d.ts +1 -1
  1321. package/widgets/smartMapping/ColorSizeSlider/ColorSizeSliderViewModel.d.ts +1 -1
  1322. package/widgets/smartMapping/ColorSizeSlider.d.ts +1 -1
  1323. package/widgets/smartMapping/ColorSlider/ColorSliderViewModel.d.ts +1 -1
  1324. package/widgets/smartMapping/ColorSlider.d.ts +1 -1
  1325. package/widgets/smartMapping/HeatmapSlider/HeatmapSliderViewModel.d.ts +1 -1
  1326. package/widgets/smartMapping/HeatmapSlider.d.ts +1 -1
  1327. package/widgets/smartMapping/OpacitySlider/OpacitySliderViewModel.d.ts +1 -1
  1328. package/widgets/smartMapping/OpacitySlider.d.ts +1 -1
  1329. package/widgets/smartMapping/SizeSlider/SizeSliderViewModel.d.ts +1 -1
  1330. package/widgets/smartMapping/SizeSlider.d.ts +1 -1
  1331. package/widgets/smartMapping/SmartMappingPrimaryHandleSliderViewModel.d.ts +1 -1
  1332. package/widgets/smartMapping/SmartMappingSliderBase.d.ts +1 -1
  1333. package/widgets/smartMapping/SmartMappingSliderViewModel.d.ts +1 -1
  1334. package/widgets/smartMapping/support/utils.d.ts +1 -1
  1335. package/widgets/support/DatePicker.d.ts +1 -1
  1336. package/widgets/support/DatePickerViewModel.d.ts +1 -1
  1337. package/widgets/support/DateTimeElementViewModel.d.ts +1 -1
  1338. package/widgets/support/GeolocationPositioning.d.ts +1 -1
  1339. package/widgets/support/GoTo.d.ts +1 -1
  1340. package/widgets/support/SnappingControls/SnappingControlsViewModel.d.ts +1 -1
  1341. package/widgets/support/SnappingControls.d.ts +1 -1
  1342. package/widgets/support/TimePicker.d.ts +1 -1
  1343. package/widgets/support/TimePickerViewModel.d.ts +1 -1
  1344. package/widgets/support/widget.d.ts +1 -1
  1345. package/assets/esri/core/workers/chunks/09255015e57bdfa5337f.js +0 -1
  1346. package/assets/esri/core/workers/chunks/24ffd7180bb947bc8aec.js +0 -1
  1347. package/assets/esri/core/workers/chunks/2d6d089176b6bd490b9f.js +0 -1
  1348. package/assets/esri/core/workers/chunks/325f9eb52610c6c22f46.js +0 -1
  1349. package/assets/esri/core/workers/chunks/6a2358861b3d3007ad26.js +0 -1
  1350. package/assets/esri/core/workers/chunks/7230a7d5fb7106b14024.js +0 -1
  1351. package/assets/esri/core/workers/chunks/90dfa238d78c92fe43b1.js +0 -1
  1352. package/assets/esri/core/workers/chunks/a16109389dce496ab51c.js +0 -1
  1353. package/assets/esri/core/workers/chunks/bf248b08e18a50878f38.js +0 -1
  1354. package/assets/esri/core/workers/chunks/c9399a106dc167368a39.js +0 -1
  1355. package/assets/esri/core/workers/chunks/ceb68e994b82d69c1215.js +0 -1
  1356. package/assets/esri/core/workers/chunks/dbf72099949febfae5a1.js +0 -1
  1357. package/assets/esri/core/workers/chunks/e158ca25c239a5912ea0.js +0 -1
  1358. package/assets/esri/core/workers/chunks/ece3d9989c9ec13cae09.js +0 -1
  1359. package/assets/esri/core/workers/chunks/f6772f57bb1466e50d63.js +0 -1
  1360. package/chunks/MultipointDrawAction.js +0 -5
  1361. package/smartMapping/statistics/summaryStatisticsForBinning.js +0 -5
  1362. package/views/2d/draw/Draw.js +0 -5
  1363. package/views/2d/draw/DrawAction.js +0 -5
  1364. package/views/2d/draw/MultipointDrawAction.js +0 -5
  1365. package/views/2d/draw/PointDrawAction.js +0 -5
  1366. package/views/2d/draw/PolygonDrawAction.js +0 -5
  1367. package/views/2d/draw/PolylineDrawAction.js +0 -5
  1368. package/views/2d/draw/SegmentDrawAction.js +0 -5
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{neverReached as t}from"../../../core/compilerUtils.js";import{lerp as e}from"../../../core/mathUtils.js";import{a as i}from"../../../chunks/mat4.js";import{c as r}from"../../../chunks/mat4f64.js";import{a as n,g as o,A as s,v as a,s as c,e as l}from"../../../chunks/vec3.js";import{c as p}from"../../../chunks/vec3f64.js";import{computeTranslationToOriginAndRotation as h,projectVectorToVector as d,projectBoundingRect as _}from"../../../geometry/projection.js";import{getReferenceEllipsoid as m}from"../../../geometry/projectionEllipsoid.js";import{create as g,empty as u,expandWithVec3 as x}from"../../../geometry/support/aaBoundingBox.js";import{create as f,center as R}from"../../../geometry/support/aaBoundingRect.js";import{PlaneIndex as y}from"../../../geometry/support/frustum.js";import{create as j,fromPoints as A}from"../../../geometry/support/lineSegment.js";import{create as b,fromVectorsAndPoint as E,copy as S,negate as C,signedDistance as H}from"../../../geometry/support/plane.js";import{wrap as w}from"../../../geometry/support/ray.js";import{ViewingMode as B}from"../../ViewingMode.js";import{frustumLineSegment as G}from"./intersectionUtils.js";const M=.5*Math.PI,F=M/Math.PI*180;class N{constructor(t){this._renderCoordsHelper=t.renderCoordsHelper,this._extent=new Array(4),this._planes=new Array(6),this._maxSpan=0,this._center={origin:p(),direction:p()};for(let e=0;e<4;e++)this._extent[e]={origin:p(),direction:p(),cap:{next:null,direction:p()}},this._planes[e]=b();this._planes[y.NEAR]=b(),this._planes[y.FAR]=b(),this._planesWithoutFar=this._planes.slice(0,5)}update(t,e,i,r=!0){const a=this._extent;this._toRenderBoundingExtent(t,e,i),n(this._center.origin,a[0].origin,a[2].origin),o(this._center.origin,this._center.origin,.5),this._renderCoordsHelper.worldUpAtPosition(this._center.origin,this._center.direction),r||o(this._center.direction,this._center.direction,-1);for(let n=0;n<4;n++){const t=a[n];this._renderCoordsHelper.worldUpAtPosition(t.origin,t.direction);const e=a[3===n?0:n+1];t.cap.next=e.origin,s(t.cap.direction,t.origin,e.origin),E(t.direction,t.cap.direction,t.origin,this._planes[n]),r||o(t.direction,t.direction,-1)}E(a[0].cap.direction,a[1].cap.direction,a[0].origin,this._planes[y.NEAR]),r?C(this._planes[y.NEAR],this._planes[y.FAR]):(S(this._planes[y.FAR],this._planes[y.NEAR]),C(this._planes[y.NEAR],this._planes[y.NEAR])),this._maxSpan=Math.max(Math.abs(t[0]-t[2]),Math.abs(t[1]-t[3])),this._maxSpanSpatialReference=e,this._minGlobalAltitude=.9*m(this._maxSpanSpatialReference).radius}isVisibleInFrustum(t,e,i=!1){if(null==t)return!1;if(this._renderCoordsHelper.viewingMode===B.Global){const i=this._maxSpanSpatialReference.isGeographic?F:M*e;if(this._maxSpan>i)return!0;if(null!=t.altitude&&t.altitude>=this._minGlobalAltitude)return this._isVisibleInFrustumGlobal(t)}if(0===this._maxSpan){const e=this._extent[0];return!(i||!t.intersectsRay(w(e.origin,e.direction)))}for(let n=0;n<this._extent.length;n++){const e=this._extent[n];if(!i&&t.intersectsRay(w(e.origin,e.direction)))return!0;if(t.intersectsLineSegment(A(e.origin,e.cap.next,V),e.cap.direction))return!0}const r=i?this._planes:this._planesWithoutFar;for(let n=0;n<t.lines.length;n++){const e=t.lines[n];if(G(r,e.origin,e.endpoint,e.direction))return!0}return!1}_toRenderBoundingExtentGlobal(t,r,n){const o=5;R(t,v),v[2]=n,h(r,v,I,this._renderCoordsHelper.spatialReference),i(U,I),u(L);for(const{x0:i,x1:s,y0:c,y1:l}of k)for(let p=0;p<o;p++){const h=p/(o-1);v[0]=e(t[i],t[s],h),v[1]=e(t[c],t[l],h),v[2]=n,d(v,r,v,this._renderCoordsHelper.spatialReference),a(v,v,U),x(L,v)}c(this._extent[0].origin,L[0],L[1],L[2]),c(this._extent[1].origin,L[3],L[1],L[2]),c(this._extent[2].origin,L[3],L[4],L[2]),c(this._extent[3].origin,L[0],L[4],L[2]);for(let e=0;e<4;++e)a(this._extent[e].origin,this._extent[e].origin,I)}_toRenderBoundingExtentLocal(t,e,i){_(t,e,P,this._renderCoordsHelper.spatialReference),c(this._extent[0].origin,P[0],P[1],i),c(this._extent[1].origin,P[2],P[1],i),c(this._extent[2].origin,P[2],P[3],i),c(this._extent[3].origin,P[0],P[3],i)}_toRenderBoundingExtent(e,i,r){switch(this._renderCoordsHelper.viewingMode){case B.Global:this._toRenderBoundingExtentGlobal(e,i,r);break;case B.Local:this._toRenderBoundingExtentLocal(e,i,r);break;default:t(this._renderCoordsHelper.viewingMode)}}_isVisibleInFrustumGlobal(t){if(H(t.planes[y.NEAR],this._center.origin)<0&&l(this._center.direction,t.direction)<0)return!0;for(let e=0;e<4;e++){const i=this._extent[e];if(H(t.planes[y.NEAR],i.origin)<0&&l(i.direction,t.direction)<0)return!0}return!1}}const k=[{x0:0,y0:1,x1:2,y1:1},{x0:0,y0:3,x1:2,y1:3},{x0:0,y0:1,x1:0,y1:3},{x0:2,y0:1,x1:2,y1:3}],v=p(),I=r(),U=r(),L=g(),P=f(),V=j();export{N as FrustumExtentIntersection};
5
+ import{neverReached as t}from"../../../core/compilerUtils.js";import{lerp as e}from"../../../core/mathUtils.js";import{a as i}from"../../../chunks/mat4.js";import{c as r}from"../../../chunks/mat4f64.js";import{a as n,g as o,r as s,m as a,s as c,e as l}from"../../../chunks/vec3.js";import{c as p}from"../../../chunks/vec3f64.js";import{computeTranslationToOriginAndRotation as h,projectVectorToVector as d,projectBoundingRect as _}from"../../../geometry/projection.js";import{getReferenceEllipsoid as m}from"../../../geometry/projectionEllipsoid.js";import{create as g,empty as u,expandWithVec3 as x}from"../../../geometry/support/aaBoundingBox.js";import{create as f,center as R}from"../../../geometry/support/aaBoundingRect.js";import{PlaneIndex as y}from"../../../geometry/support/frustum.js";import{create as j,fromPoints as A}from"../../../geometry/support/lineSegment.js";import{create as b,fromVectorsAndPoint as E,copy as S,negate as C,signedDistance as H}from"../../../geometry/support/plane.js";import{wrap as w}from"../../../geometry/support/ray.js";import{ViewingMode as B}from"../../ViewingMode.js";import{frustumLineSegment as G}from"./intersectionUtils.js";const M=.5*Math.PI,F=M/Math.PI*180;class N{constructor(t){this._renderCoordsHelper=t.renderCoordsHelper,this._extent=new Array(4),this._planes=new Array(6),this._maxSpan=0,this._center={origin:p(),direction:p()};for(let e=0;e<4;e++)this._extent[e]={origin:p(),direction:p(),cap:{next:null,direction:p()}},this._planes[e]=b();this._planes[y.NEAR]=b(),this._planes[y.FAR]=b(),this._planesWithoutFar=this._planes.slice(0,5)}update(t,e,i,r=!0){const a=this._extent;this._toRenderBoundingExtent(t,e,i),n(this._center.origin,a[0].origin,a[2].origin),o(this._center.origin,this._center.origin,.5),this._renderCoordsHelper.worldUpAtPosition(this._center.origin,this._center.direction),r||o(this._center.direction,this._center.direction,-1);for(let n=0;n<4;n++){const t=a[n];this._renderCoordsHelper.worldUpAtPosition(t.origin,t.direction);const e=a[3===n?0:n+1];t.cap.next=e.origin,s(t.cap.direction,t.origin,e.origin),E(t.direction,t.cap.direction,t.origin,this._planes[n]),r||o(t.direction,t.direction,-1)}E(a[0].cap.direction,a[1].cap.direction,a[0].origin,this._planes[y.NEAR]),r?C(this._planes[y.NEAR],this._planes[y.FAR]):(S(this._planes[y.FAR],this._planes[y.NEAR]),C(this._planes[y.NEAR],this._planes[y.NEAR])),this._maxSpan=Math.max(Math.abs(t[0]-t[2]),Math.abs(t[1]-t[3])),this._maxSpanSpatialReference=e,this._minGlobalAltitude=.9*m(this._maxSpanSpatialReference).radius}isVisibleInFrustum(t,e,i=!1){if(null==t)return!1;if(this._renderCoordsHelper.viewingMode===B.Global){const i=this._maxSpanSpatialReference.isGeographic?F:M*e;if(this._maxSpan>i)return!0;if(null!=t.altitude&&t.altitude>=this._minGlobalAltitude)return this._isVisibleInFrustumGlobal(t)}if(0===this._maxSpan){const e=this._extent[0];return!(i||!t.intersectsRay(w(e.origin,e.direction)))}for(let n=0;n<this._extent.length;n++){const e=this._extent[n];if(!i&&t.intersectsRay(w(e.origin,e.direction)))return!0;if(t.intersectsLineSegment(A(e.origin,e.cap.next,V),e.cap.direction))return!0}const r=i?this._planes:this._planesWithoutFar;for(let n=0;n<t.lines.length;n++){const e=t.lines[n];if(G(r,e.origin,e.endpoint,e.direction))return!0}return!1}_toRenderBoundingExtentGlobal(t,r,n){const o=5;R(t,v),v[2]=n,h(r,v,I,this._renderCoordsHelper.spatialReference),i(U,I),u(L);for(const{x0:i,x1:s,y0:c,y1:l}of k)for(let p=0;p<o;p++){const h=p/(o-1);v[0]=e(t[i],t[s],h),v[1]=e(t[c],t[l],h),v[2]=n,d(v,r,v,this._renderCoordsHelper.spatialReference),a(v,v,U),x(L,v)}c(this._extent[0].origin,L[0],L[1],L[2]),c(this._extent[1].origin,L[3],L[1],L[2]),c(this._extent[2].origin,L[3],L[4],L[2]),c(this._extent[3].origin,L[0],L[4],L[2]);for(let e=0;e<4;++e)a(this._extent[e].origin,this._extent[e].origin,I)}_toRenderBoundingExtentLocal(t,e,i){_(t,e,P,this._renderCoordsHelper.spatialReference),c(this._extent[0].origin,P[0],P[1],i),c(this._extent[1].origin,P[2],P[1],i),c(this._extent[2].origin,P[2],P[3],i),c(this._extent[3].origin,P[0],P[3],i)}_toRenderBoundingExtent(e,i,r){switch(this._renderCoordsHelper.viewingMode){case B.Global:this._toRenderBoundingExtentGlobal(e,i,r);break;case B.Local:this._toRenderBoundingExtentLocal(e,i,r);break;default:t(this._renderCoordsHelper.viewingMode)}}_isVisibleInFrustumGlobal(t){if(H(t.planes[y.NEAR],this._center.origin)<0&&l(this._center.direction,t.direction)<0)return!0;for(let e=0;e<4;e++){const i=this._extent[e];if(H(t.planes[y.NEAR],i.origin)<0&&l(i.direction,t.direction)<0)return!0}return!1}}const k=[{x0:0,y0:1,x1:2,y1:1},{x0:0,y0:3,x1:2,y1:3},{x0:0,y0:1,x1:0,y1:3},{x0:2,y0:1,x1:2,y1:3}],v=p(),I=r(),U=r(),L=g(),P=f(),V=j();export{N as FrustumExtentIntersection};
@@ -1,4 +1,4 @@
1
1
  import "../../../interfaces";
2
2
 
3
- import LayerPerformanceInfo = __esri.LayerPerformanceInfo;
3
+ import LayerPerformanceInfo = __esri.LayerPerformanceInfo;
4
4
  export default LayerPerformanceInfo;
@@ -1,4 +1,4 @@
1
1
  import "../../../interfaces";
2
2
 
3
- import SceneViewPerformanceInfo = __esri.SceneViewPerformanceInfo;
3
+ import SceneViewPerformanceInfo = __esri.SceneViewPerformanceInfo;
4
4
  export default SceneViewPerformanceInfo;
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{a as t,s as e}from"../../../chunks/mat3.js";import{c as a}from"../../../chunks/mat3f64.js";import{c as n,a as r}from"../../../chunks/quat.js";import{a as s,b as f}from"../../../chunks/quatf32.js";import{c as o}from"../../../chunks/quatf64.js";import{c as i,b as c,k as h,p as u,s as l,t as m,a as z,y as S}from"../../../chunks/vec3.js";import{c as b,a as M}from"../../../chunks/vec3f32.js";import{b as p,a as q,c as j}from"../../../chunks/vec3f64.js";import{t as k}from"../../../chunks/vec4.js";import{c as y}from"../../../chunks/vec4f64.js";import{create as v}from"../../../geometry/support/aaBoundingBox.js";import{signedDistance as x,normal as g}from"../../../geometry/support/plane.js";import{computeOBB as w}from"./dito.js";const A=o(),B=j(),d=j(),I=y(),C=a();class D{constructor(t){const e=56,a=0,n=24,r=36,f=t*e;this.buffer=new ArrayBuffer(f),this.obbs=new Array(t);for(let o=0;o<t;o++)this.obbs[o]={center:p(this.buffer,e*o+a),halfSize:b(this.buffer,e*o+n),quaternion:s(this.buffer,e*o+r)}}}function E(t=[0,0,0],e=[-1,-1,-1],a=[0,0,0,1]){return{center:q(t),halfSize:M(e),quaternion:f(a)}}function F(t){return E(t.center,t.halfSize,t.quaternion)}function G(t,e){i(e.center,t.center),i(e.halfSize,t.halfSize),n(e.quaternion,t.quaternion)}function H(t,e){return e=e||E(),w(t,e),e}function J(t,e){const a=x(e,t.center),n=U(t,g(e));return a>n?1:a<-n?-1:0}function K(e,a){a||(a=v());const n=t(C,e.quaternion),r=e.halfSize[0]*Math.abs(n[0])+e.halfSize[1]*Math.abs(n[3])+e.halfSize[2]*Math.abs(n[6]),s=e.halfSize[0]*Math.abs(n[1])+e.halfSize[1]*Math.abs(n[4])+e.halfSize[2]*Math.abs(n[7]),f=e.halfSize[0]*Math.abs(n[2])+e.halfSize[1]*Math.abs(n[5])+e.halfSize[2]*Math.abs(n[8]);return a[0]=e.center[0]-r,a[1]=e.center[1]-s,a[2]=e.center[2]-f,a[3]=e.center[0]+r,a[4]=e.center[1]+s,a[5]=e.center[2]+f,a}function L(t,e){return x(e,t.center)-U(t,g(e))}function N(t,e){return x(e,t.center)+U(t,g(e))}function O(t,e){return J(t,e[0])<=0&&J(t,e[1])<=0&&J(t,e[2])<=0&&J(t,e[3])<=0&&J(t,e[4])<=0&&J(t,e[5])<=0}function P(t,e,a,n=0){r(A,t.quaternion),c(B,e,t.center);const s=h(B,B,A),f=h(d,a,A);let o=-1/0,i=1/0;for(let r=0;r<3;r++)if(Math.abs(f[r])>1e-6){const e=(n+t.halfSize[r]-s[r])/f[r],a=(-n-t.halfSize[r]-s[r])/f[r];o=Math.max(o,Math.min(e,a)),i=Math.min(i,Math.max(e,a))}else if(s[r]>t.halfSize[r]+n||s[r]<-t.halfSize[r]-n)return!1;return o<=i}function Q(a,n,s,f,o){r(A,a.quaternion),u(B,n,a.center),h(B,B,A);const i=B[0]<-a.halfSize[0]?-1:B[0]>a.halfSize[0]?1:0,c=B[1]<-a.halfSize[1]?-1:B[1]>a.halfSize[1]?1:0,S=B[2]<-a.halfSize[2]?-1:B[2]>a.halfSize[2]?1:0,b=Math.abs(i)+Math.abs(c)+Math.abs(S);if(0===b)return 1/0;const M=1===b?4:6,p=6*(i+3*c+9*S+13);t(C,a.quaternion),e(C,C,a.halfSize);for(let t=0;t<M;t++){const e=T[p+t];l(B,((1&e)<<1)-1,(2&e)-1,((4&e)>>1)-1),m(B,B,C),z(I,a.center,B),I[3]=1,k(I,I,s);const n=1/Math.max(1e-6,I[3]);R[2*t]=I[0]*n,R[2*t+1]=I[1]*n}const q=2*M-2;let j=R[0]*(R[3]-R[q+1])+R[q]*(R[1]-R[q-1]);for(let t=2;t<q;t+=2)j+=R[t]*(R[t+3]-R[t-1]);return Math.abs(j)*f*o*.125}const R=[.1,.2,.3,.4,.5,.6,.7,.8,.9,1,1.1,1.2],T=(()=>{const t=new Int8Array(162);let e=0;const a=a=>{for(let n=0;n<a.length;n++)t[e+n]=a[n];e+=6};return a([6,2,3,1,5,4]),a([0,2,3,1,5,4]),a([0,2,3,7,5,4]),a([0,1,3,2,6,4]),a([0,1,3,2,0,0]),a([0,1,5,7,3,2]),a([0,1,3,7,6,4]),a([0,1,3,7,6,2]),a([0,1,5,7,6,2]),a([0,1,5,4,6,2]),a([0,1,5,4,0,0]),a([0,1,3,7,5,4]),a([0,2,6,4,0,0]),a([0,0,0,0,0,0]),a([1,3,7,5,0,0]),a([2,3,7,6,4,0]),a([2,3,7,6,0,0]),a([2,3,1,5,7,6]),a([0,1,5,7,6,2]),a([0,1,5,7,6,4]),a([0,1,3,7,6,4]),a([4,5,7,6,2,0]),a([4,5,7,6,0,0]),a([4,5,1,3,7,6]),a([0,2,3,7,5,4]),a([6,2,3,7,5,4]),a([6,2,3,1,5,4]),t})();function U(t,e){r(A,t.quaternion),h(B,e,A);const a=t.halfSize;return Math.abs(B[0]*a[0])+Math.abs(B[1]*a[1])+Math.abs(B[2]*a[2])}function V(t,e){for(let a=0;a<8;++a){const n=e[a];n[0]=1&a?-t.halfSize[0]:t.halfSize[0],n[1]=2&a?-t.halfSize[1]:t.halfSize[1],n[2]=4&a?-t.halfSize[2]:t.halfSize[2],h(n,n,t.quaternion),z(n,n,t.center)}}function W(t){return S(t.halfSize)}export{D as ObbArray,F as clone,H as compute,V as corners,E as create,P as intersectLine,J as intersectPlane,O as isVisible,N as maximumDistancePlane,L as minimumDistancePlane,Q as projectedArea,U as projectedRadius,W as radius,G as set,K as toAaBoundingBox};
5
+ import{c as t,d as e}from"../../../chunks/mat3.js";import{c as a}from"../../../chunks/mat3f64.js";import{a as n,c as r}from"../../../chunks/quat.js";import{a as s,b as f}from"../../../chunks/quatf32.js";import{a as o}from"../../../chunks/quatf64.js";import{c as i,b as c,q as h,y as u,s as l,t as m,a as z,u as S}from"../../../chunks/vec3.js";import{a as b,b as M}from"../../../chunks/vec3f32.js";import{b as p,a as q,c as j}from"../../../chunks/vec3f64.js";import{t as k}from"../../../chunks/vec4.js";import{c as y}from"../../../chunks/vec4f64.js";import{create as v}from"../../../geometry/support/aaBoundingBox.js";import{signedDistance as x,normal as g}from"../../../geometry/support/plane.js";import{computeOBB as d}from"./dito.js";const w=o(),A=j(),B=j(),I=y(),C=a();class D{constructor(t){const e=56,a=0,n=24,r=36,f=t*e;this.buffer=new ArrayBuffer(f),this.obbs=new Array(t);for(let o=0;o<t;o++)this.obbs[o]={center:p(this.buffer,e*o+a),halfSize:b(this.buffer,e*o+n),quaternion:s(this.buffer,e*o+r)}}}function E(t=[0,0,0],e=[-1,-1,-1],a=[0,0,0,1]){return{center:q(t),halfSize:M(e),quaternion:f(a)}}function F(t){return E(t.center,t.halfSize,t.quaternion)}function G(t,e){i(e.center,t.center),i(e.halfSize,t.halfSize),n(e.quaternion,t.quaternion)}function H(t,e){return e=e||E(),d(t,e),e}function J(t,e){const a=x(e,t.center),n=U(t,g(e));return a>n?1:a<-n?-1:0}function K(e,a){a||(a=v());const n=t(C,e.quaternion),r=e.halfSize[0]*Math.abs(n[0])+e.halfSize[1]*Math.abs(n[3])+e.halfSize[2]*Math.abs(n[6]),s=e.halfSize[0]*Math.abs(n[1])+e.halfSize[1]*Math.abs(n[4])+e.halfSize[2]*Math.abs(n[7]),f=e.halfSize[0]*Math.abs(n[2])+e.halfSize[1]*Math.abs(n[5])+e.halfSize[2]*Math.abs(n[8]);return a[0]=e.center[0]-r,a[1]=e.center[1]-s,a[2]=e.center[2]-f,a[3]=e.center[0]+r,a[4]=e.center[1]+s,a[5]=e.center[2]+f,a}function L(t,e){return x(e,t.center)-U(t,g(e))}function N(t,e){return x(e,t.center)+U(t,g(e))}function O(t,e){return J(t,e[0])<=0&&J(t,e[1])<=0&&J(t,e[2])<=0&&J(t,e[3])<=0&&J(t,e[4])<=0&&J(t,e[5])<=0}function P(t,e,a,n=0){r(w,t.quaternion),c(A,e,t.center);const s=h(A,A,w),f=h(B,a,w);let o=-1/0,i=1/0;for(let r=0;r<3;r++)if(Math.abs(f[r])>1e-6){const e=(n+t.halfSize[r]-s[r])/f[r],a=(-n-t.halfSize[r]-s[r])/f[r];o=Math.max(o,Math.min(e,a)),i=Math.min(i,Math.max(e,a))}else if(s[r]>t.halfSize[r]+n||s[r]<-t.halfSize[r]-n)return!1;return o<=i}function Q(a,n,s,f,o){r(w,a.quaternion),u(A,n,a.center),h(A,A,w);const i=A[0]<-a.halfSize[0]?-1:A[0]>a.halfSize[0]?1:0,c=A[1]<-a.halfSize[1]?-1:A[1]>a.halfSize[1]?1:0,S=A[2]<-a.halfSize[2]?-1:A[2]>a.halfSize[2]?1:0,b=Math.abs(i)+Math.abs(c)+Math.abs(S);if(0===b)return 1/0;const M=1===b?4:6,p=6*(i+3*c+9*S+13);t(C,a.quaternion),e(C,C,a.halfSize);for(let t=0;t<M;t++){const e=T[p+t];l(A,((1&e)<<1)-1,(2&e)-1,((4&e)>>1)-1),m(A,A,C),z(I,a.center,A),I[3]=1,k(I,I,s);const n=1/Math.max(1e-6,I[3]);R[2*t]=I[0]*n,R[2*t+1]=I[1]*n}const q=2*M-2;let j=R[0]*(R[3]-R[q+1])+R[q]*(R[1]-R[q-1]);for(let t=2;t<q;t+=2)j+=R[t]*(R[t+3]-R[t-1]);return Math.abs(j)*f*o*.125}const R=[.1,.2,.3,.4,.5,.6,.7,.8,.9,1,1.1,1.2],T=(()=>{const t=new Int8Array(162);let e=0;const a=a=>{for(let n=0;n<a.length;n++)t[e+n]=a[n];e+=6};return a([6,2,3,1,5,4]),a([0,2,3,1,5,4]),a([0,2,3,7,5,4]),a([0,1,3,2,6,4]),a([0,1,3,2,0,0]),a([0,1,5,7,3,2]),a([0,1,3,7,6,4]),a([0,1,3,7,6,2]),a([0,1,5,7,6,2]),a([0,1,5,4,6,2]),a([0,1,5,4,0,0]),a([0,1,3,7,5,4]),a([0,2,6,4,0,0]),a([0,0,0,0,0,0]),a([1,3,7,5,0,0]),a([2,3,7,6,4,0]),a([2,3,7,6,0,0]),a([2,3,1,5,7,6]),a([0,1,5,7,6,2]),a([0,1,5,7,6,4]),a([0,1,3,7,6,4]),a([4,5,7,6,2,0]),a([4,5,7,6,0,0]),a([4,5,1,3,7,6]),a([0,2,3,7,5,4]),a([6,2,3,7,5,4]),a([6,2,3,1,5,4]),t})();function U(t,e){r(w,t.quaternion),h(A,e,w);const a=t.halfSize;return Math.abs(A[0]*a[0])+Math.abs(A[1]*a[1])+Math.abs(A[2]*a[2])}function V(t,e){for(let a=0;a<8;++a){const n=e[a];n[0]=1&a?-t.halfSize[0]:t.halfSize[0],n[1]=2&a?-t.halfSize[1]:t.halfSize[1],n[2]=4&a?-t.halfSize[2]:t.halfSize[2],h(n,n,t.quaternion),z(n,n,t.center)}}function W(t){return S(t.halfSize)}export{D as ObbArray,F as clone,H as compute,V as corners,E as create,P as intersectLine,J as intersectPlane,O as isVisible,N as maximumDistancePlane,L as minimumDistancePlane,Q as projectedArea,U as projectedRadius,W as radius,G as set,K as toAaBoundingBox};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../../chunks/tslib.es6.js";import{isAbortError as e}from"../../../../core/promiseUtils.js";import{on as r}from"../../../../core/reactiveUtils.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../../../core/accessorSupport/decorators/subclass.js";import{i as s,w as n,c as a}from"../../../../chunks/vec3.js";import{c as d}from"../../../../chunks/vec3f64.js";import l from"../../../../geometry/Point.js";import{ViewingMode as c}from"../../../ViewingMode.js";import{distanceToScale as p}from"../cameraUtils.js";import{PropertiesPool as h}from"../PropertiesPool.js";import{PointOfInterest as u}from"./PointOfInterest.js";const m=Array;let y=class extends u{constructor(t){super(t),this._dirty=!1,this._propertiesPool=new h({location:l,renderLocation:m},this),this._estimatedSurfaceAltitude=0,this._pendingElevationQueryController=null,this.cameraName="camera",this.renderLocation=d(),this._tmpPoint=new l}initialize(){if(this.scheduler&&this.handles.add(this.scheduler.registerTask(this.task,this)),this.runTask(),this.map){const t=()=>this._setDirty();this.handles.add(r((()=>this.map?.ground?.layers),"change",t,{onListenerAdd:t,onListenerRemove:t}))}this._updateRenderLocation()}destroy(){this._cancelPendingRequest(),this._propertiesPool.destroy(),this._propertiesPool=null}get _camera(){return this.state[this.cameraName]}get location(){const t=this._propertiesPool.get("location");return this.renderCoordsHelper.fromRenderCoords(this.renderLocation,t,this.state.spatialReference),t}get scale(){const t=this._camera,e=s(t.eye,this.renderLocation),r={renderCoordsHelper:this.renderCoordsHelper,state:{camera:t}};return p(r,e,0)}get updating(){return this._dirty||null!=this._pendingElevationQueryController}updateRenderLocation(){this._setDirty(),this._updateRenderLocation()}_setDirty(){this._dirty||(this._dirty=!0,this.notifyChange("updating"))}_cancelPendingRequest(){const t=this._pendingElevationQueryController;t&&(this._pendingElevationQueryController=null,t.abort(),this.notifyChange("updating"))}get running(){return!this._pendingElevationQueryController&&this._dirty}runTask(){if(this._cancelPendingRequest(),this._dirty=!1,this.notifyChange("updating"),!this.map||!this.map.ground)return void this._updateSurfaceAltitude(0);const t=this.state.spatialReference;this.renderCoordsHelper.fromRenderCoords(this._camera.eye,this._tmpPoint,t);const r=this._tmpPoint.z>g&&this.renderCoordsHelper.viewingMode===c.Global&&(t.isWGS84||t.isWebMercator);let o=new AbortController;this.map.ground.queryElevation(this._tmpPoint,{signal:o.signal,cache:this.cache,minDemResolution:r?f:0}).then((t=>this._updateSurfaceAltitude(t.geometry.z))).catch((t=>{e(t)||this._updateSurfaceAltitude(0)})).catch((()=>{})).then((()=>{this._pendingElevationQueryController===o&&(this._pendingElevationQueryController=null,this.notifyChange("updating")),o=null})),this._pendingElevationQueryController=o}_updateSurfaceAltitude(t){this._estimatedSurfaceAltitude!==t&&(this._estimatedSurfaceAltitude=t,this._updateRenderLocation())}_updateRenderLocation(){this.renderCoordsHelper.setAltitude(_,this._estimatedSurfaceAltitude,this._camera.eye),n(this._get("renderLocation"),_)||this._set("renderLocation",a(this._propertiesPool.get("renderLocation"),_))}};t([o({constructOnly:!0})],y.prototype,"scheduler",void 0),t([o({constructOnly:!0})],y.prototype,"cache",void 0),t([o({constructOnly:!0})],y.prototype,"task",void 0),t([o({constructOnly:!0})],y.prototype,"cameraName",void 0),t([o({readOnly:!0})],y.prototype,"location",null),t([o({constructOnly:!0})],y.prototype,"map",void 0),t([o({readOnly:!0})],y.prototype,"renderLocation",void 0),t([o({readOnly:!0})],y.prototype,"scale",null),t([o({readOnly:!0})],y.prototype,"updating",null),y=t([i("esri.views.3d.support.CameraOnSurface")],y);const _=d(),g=1e5,f=1e6;export{y as CameraOnSurface};
5
+ import{_ as t}from"../../../../chunks/tslib.es6.js";import{isAbortError as e}from"../../../../core/promiseUtils.js";import{on as r}from"../../../../core/reactiveUtils.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as i}from"../../../../core/accessorSupport/decorators/subclass.js";import{i as s,k as n,c as a}from"../../../../chunks/vec3.js";import{c as d}from"../../../../chunks/vec3f64.js";import l from"../../../../geometry/Point.js";import{ViewingMode as c}from"../../../ViewingMode.js";import{distanceToScale as p}from"../cameraUtils.js";import{PropertiesPool as h}from"../PropertiesPool.js";import{PointOfInterest as u}from"./PointOfInterest.js";const m=Array;let y=class extends u{constructor(t){super(t),this._dirty=!1,this._propertiesPool=new h({location:l,renderLocation:m},this),this._estimatedSurfaceAltitude=0,this._pendingElevationQueryController=null,this.cameraName="camera",this.renderLocation=d(),this._tmpPoint=new l}initialize(){if(this.scheduler&&this.handles.add(this.scheduler.registerTask(this.task,this)),this.runTask(),this.map){const t=()=>this._setDirty();this.handles.add(r((()=>this.map?.ground?.layers),"change",t,{onListenerAdd:t,onListenerRemove:t}))}this._updateRenderLocation()}destroy(){this._cancelPendingRequest(),this._propertiesPool.destroy(),this._propertiesPool=null}get _camera(){return this.state[this.cameraName]}get location(){const t=this._propertiesPool.get("location");return this.renderCoordsHelper.fromRenderCoords(this.renderLocation,t,this.state.spatialReference),t}get scale(){const t=this._camera,e=s(t.eye,this.renderLocation),r={renderCoordsHelper:this.renderCoordsHelper,state:{camera:t}};return p(r,e,0)}get updating(){return this._dirty||null!=this._pendingElevationQueryController}updateRenderLocation(){this._setDirty(),this._updateRenderLocation()}_setDirty(){this._dirty||(this._dirty=!0,this.notifyChange("updating"))}_cancelPendingRequest(){const t=this._pendingElevationQueryController;t&&(this._pendingElevationQueryController=null,t.abort(),this.notifyChange("updating"))}get running(){return!this._pendingElevationQueryController&&this._dirty}runTask(){if(this._cancelPendingRequest(),this._dirty=!1,this.notifyChange("updating"),!this.map||!this.map.ground)return void this._updateSurfaceAltitude(0);const t=this.state.spatialReference;this.renderCoordsHelper.fromRenderCoords(this._camera.eye,this._tmpPoint,t);const r=this._tmpPoint.z>g&&this.renderCoordsHelper.viewingMode===c.Global&&(t.isWGS84||t.isWebMercator);let o=new AbortController;this.map.ground.queryElevation(this._tmpPoint,{signal:o.signal,cache:this.cache,minDemResolution:r?f:0}).then((t=>this._updateSurfaceAltitude(t.geometry.z))).catch((t=>{e(t)||this._updateSurfaceAltitude(0)})).catch((()=>{})).then((()=>{this._pendingElevationQueryController===o&&(this._pendingElevationQueryController=null,this.notifyChange("updating")),o=null})),this._pendingElevationQueryController=o}_updateSurfaceAltitude(t){this._estimatedSurfaceAltitude!==t&&(this._estimatedSurfaceAltitude=t,this._updateRenderLocation())}_updateRenderLocation(){this.renderCoordsHelper.setAltitude(_,this._estimatedSurfaceAltitude,this._camera.eye),n(this._get("renderLocation"),_)||this._set("renderLocation",a(this._propertiesPool.get("renderLocation"),_))}};t([o({constructOnly:!0})],y.prototype,"scheduler",void 0),t([o({constructOnly:!0})],y.prototype,"cache",void 0),t([o({constructOnly:!0})],y.prototype,"task",void 0),t([o({constructOnly:!0})],y.prototype,"cameraName",void 0),t([o({readOnly:!0})],y.prototype,"location",null),t([o({constructOnly:!0})],y.prototype,"map",void 0),t([o({readOnly:!0})],y.prototype,"renderLocation",void 0),t([o({readOnly:!0})],y.prototype,"scale",null),t([o({readOnly:!0})],y.prototype,"updating",null),y=t([i("esri.views.3d.support.CameraOnSurface")],y);const _=d(),g=1e5,f=1e6;export{y as CameraOnSurface};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../../chunks/tslib.es6.js";import{clamp as e}from"../../../../core/mathUtils.js";import{removeMaybe as r,destroyMaybe as s,isSome as i}from"../../../../core/maybe.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import{c,i as n,g as u,a as l,w as d,z as p}from"../../../../chunks/vec3.js";import{c as h}from"../../../../chunks/vec3f64.js";import f from"../../../../geometry/Point.js";import{projectBoundingRect as m}from"../../../../geometry/projection.js";import{getReferenceEllipsoid as _}from"../../../../geometry/projectionEllipsoid.js";import{create as y}from"../../../../geometry/support/aaBoundingRect.js";import S from"../debugFlags.js";import{PropertiesPool as g}from"../PropertiesPool.js";import{PointOfInterest as A}from"./PointOfInterest.js";const j=Array;let v=class extends A{constructor(t){super(t),this._propertiesPool=new g({location:f,renderLocation:j},this),this._currentSurfaceAltitude=0,this._latestSurfaceAltitude=0,this.cameraName="camera",this.distance=0,this.renderLocation=h(),this.updating=!1}initialize(){this._frameWorker=this.scheduler.registerTask(this.task,this),this.runTask()}destroy(){this._frameWorker=r(this._frameWorker),this._propertiesPool=s(this._propertiesPool)}get _camera(){return this.state[this.cameraName]}get location(){const t=this._propertiesPool.get("location");return this.renderCoordsHelper.fromRenderCoords(this.renderLocation,t,this.state.spatialReference),t}updateRenderLocation(){this.updating=!0,this._updateRenderLocation()}get estimatedSurfaceAltitude(){return this._latestSurfaceAltitude}get running(){return this.updating}runTask(){this._latestSurfaceAltitude=this.estimateSurfaceAltitudeAtCenter(),this._updateRenderLocation(),this.updating=!1}_updateRenderLocation(){const t=k;let e=this._calculateSurfaceIntersection(this._currentSurfaceAltitude,t);const r=this._currentSurfaceAltitude!==this._latestSurfaceAltitude;!e&&r&&(e=this._calculateSurfaceIntersection(this._latestSurfaceAltitude,t),e&&(this._currentSurfaceAltitude=this._latestSurfaceAltitude));const s=C;e&&this._latestSurfaceAltitudeChangesDistanceSignificantly(t,s)&&(c(t,s),this._currentSurfaceAltitude=this._latestSurfaceAltitude),e?this.distance=n(this._camera.eye,t):(u(t,this._camera.viewForward,this._get("distance")),l(t,t,this._camera.eye)),d(this._get("renderLocation"),t)||this._set("renderLocation",c(this._propertiesPool.get("renderLocation"),t))}_calculateSurfaceIntersection(t,r){const s=this._camera;if(!this.renderCoordsHelper.intersectManifold(s.ray,t,r))return!1;if(this.state.isGlobal){const e=_(this.renderCoordsHelper.spatialReference).radius,i=e+t,o=p(s.eye),a=o<i*i,c=n(s.eye,r);if(a&&c>e/4){const t=i-Math.sqrt(o);return u(r,s.viewForward,t),l(r,r,s.eye),!0}}else{const t=this.surface.ready?this.surface.extent:null;i(t)&&m(t,this.surface.spatialReference,O,this.renderCoordsHelper.spatialReference)&&(r[0]=e(r[0],O[0],O[2]),r[1]=e(r[1],O[1],O[3]))}return!0}_latestSurfaceAltitudeChangesDistanceSignificantly(t,e){if(this._latestSurfaceAltitude===this._currentSurfaceAltitude||null==t)return!1;if(this._calculateSurfaceIntersection(this._latestSurfaceAltitude,e)){if(S.TESTS_DISABLE_OPTIMIZATIONS)return!0;const r=this._camera.eye,s=n(r,t),i=n(r,e);if(Math.abs(i-s)/s>L)return!0}return!1}};t([o({constructOnly:!0})],v.prototype,"scheduler",void 0),t([o({constructOnly:!0})],v.prototype,"task",void 0),t([o({constructOnly:!0})],v.prototype,"cameraName",void 0),t([o()],v.prototype,"distance",void 0),t([o({constructOnly:!0})],v.prototype,"estimateSurfaceAltitudeAtCenter",void 0),t([o({readOnly:!0})],v.prototype,"location",null),t([o({readOnly:!0})],v.prototype,"renderLocation",void 0),t([o()],v.prototype,"updating",void 0),v=t([a("esri.views.3d.support.CenterOnSurface")],v);const L=.05,k=h(),C=h(),O=y();export{v as CenterOnSurface};
5
+ import{_ as t}from"../../../../chunks/tslib.es6.js";import{clamp as e}from"../../../../core/mathUtils.js";import{removeMaybe as r,destroyMaybe as s,isSome as i}from"../../../../core/maybe.js";import{property as o}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import{c,i as n,g as u,a as l,k as d,p}from"../../../../chunks/vec3.js";import{c as h}from"../../../../chunks/vec3f64.js";import f from"../../../../geometry/Point.js";import{projectBoundingRect as m}from"../../../../geometry/projection.js";import{getReferenceEllipsoid as _}from"../../../../geometry/projectionEllipsoid.js";import{create as y}from"../../../../geometry/support/aaBoundingRect.js";import S from"../debugFlags.js";import{PropertiesPool as g}from"../PropertiesPool.js";import{PointOfInterest as A}from"./PointOfInterest.js";const j=Array;let k=class extends A{constructor(t){super(t),this._propertiesPool=new g({location:f,renderLocation:j},this),this._currentSurfaceAltitude=0,this._latestSurfaceAltitude=0,this.cameraName="camera",this.distance=0,this.renderLocation=h(),this.updating=!1}initialize(){this._frameWorker=this.scheduler.registerTask(this.task,this),this.runTask()}destroy(){this._frameWorker=r(this._frameWorker),this._propertiesPool=s(this._propertiesPool)}get _camera(){return this.state[this.cameraName]}get location(){const t=this._propertiesPool.get("location");return this.renderCoordsHelper.fromRenderCoords(this.renderLocation,t,this.state.spatialReference),t}updateRenderLocation(){this.updating=!0,this._updateRenderLocation()}get estimatedSurfaceAltitude(){return this._latestSurfaceAltitude}get running(){return this.updating}runTask(){this._latestSurfaceAltitude=this.estimateSurfaceAltitudeAtCenter(),this._updateRenderLocation(),this.updating=!1}_updateRenderLocation(){const t=L;let e=this._calculateSurfaceIntersection(this._currentSurfaceAltitude,t);const r=this._currentSurfaceAltitude!==this._latestSurfaceAltitude;!e&&r&&(e=this._calculateSurfaceIntersection(this._latestSurfaceAltitude,t),e&&(this._currentSurfaceAltitude=this._latestSurfaceAltitude));const s=C;e&&this._latestSurfaceAltitudeChangesDistanceSignificantly(t,s)&&(c(t,s),this._currentSurfaceAltitude=this._latestSurfaceAltitude),e?this.distance=n(this._camera.eye,t):(u(t,this._camera.viewForward,this._get("distance")),l(t,t,this._camera.eye)),d(this._get("renderLocation"),t)||this._set("renderLocation",c(this._propertiesPool.get("renderLocation"),t))}_calculateSurfaceIntersection(t,r){const s=this._camera;if(!this.renderCoordsHelper.intersectManifold(s.ray,t,r))return!1;if(this.state.isGlobal){const e=_(this.renderCoordsHelper.spatialReference).radius,i=e+t,o=p(s.eye),a=o<i*i,c=n(s.eye,r);if(a&&c>e/4){const t=i-Math.sqrt(o);return u(r,s.viewForward,t),l(r,r,s.eye),!0}}else{const t=this.surface.ready?this.surface.extent:null;i(t)&&m(t,this.surface.spatialReference,O,this.renderCoordsHelper.spatialReference)&&(r[0]=e(r[0],O[0],O[2]),r[1]=e(r[1],O[1],O[3]))}return!0}_latestSurfaceAltitudeChangesDistanceSignificantly(t,e){if(this._latestSurfaceAltitude===this._currentSurfaceAltitude||null==t)return!1;if(this._calculateSurfaceIntersection(this._latestSurfaceAltitude,e)){if(S.TESTS_DISABLE_OPTIMIZATIONS)return!0;const r=this._camera.eye,s=n(r,t),i=n(r,e);if(Math.abs(i-s)/s>v)return!0}return!1}};t([o({constructOnly:!0})],k.prototype,"scheduler",void 0),t([o({constructOnly:!0})],k.prototype,"task",void 0),t([o({constructOnly:!0})],k.prototype,"cameraName",void 0),t([o()],k.prototype,"distance",void 0),t([o({constructOnly:!0})],k.prototype,"estimateSurfaceAltitudeAtCenter",void 0),t([o({readOnly:!0})],k.prototype,"location",null),t([o({readOnly:!0})],k.prototype,"renderLocation",void 0),t([o()],k.prototype,"updating",void 0),k=t([a("esri.views.3d.support.CenterOnSurface")],k);const v=.05,L=h(),C=h(),O=y();export{k as CenterOnSurface};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import r from"../../../../core/Handles.js";import{unwrap as s,isNone as n}from"../../../../core/maybe.js";import{watch as i,sync as o,when as a,on as c,initial as u}from"../../../../core/reactiveUtils.js";import{property as h}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../../../core/accessorSupport/decorators/subclass.js";import{a as f,w as p,c as _}from"../../../../chunks/vec3.js";import{c as m}from"../../../../chunks/vec3f64.js";import{create as l}from"../../../../geometry/support/ray.js";import C from"../debugFlags.js";import{PointGraphics as y}from"../debugUtils.js";import{PropertiesPool as O}from"../PropertiesPool.js";import{fromRenderAtEye as A}from"../geometryUtils/ray.js";import{CameraOnSurface as S}from"./CameraOnSurface.js";import{CenterOnSurface as w}from"./CenterOnSurface.js";import{ContentGeometryUpdates as g}from"./ContentGeometryUpdates.js";import{Focus as I}from"./Focus.js";import{StableSurfaceCenter as v}from"./StableSurfaceCenter.js";import{SurfaceGeometryUpdates as b}from"./SurfaceGeometryUpdates.js";import{newIntersector as T}from"../../webgl-engine/lib/Intersector.js";import{StoreResults as R}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{TERRAIN_ID as P}from"../../webgl-engine/lib/verticalOffsetUtils.js";import{TaskPriority as j}from"../../../support/Scheduler.js";let E=class extends t{constructor(e){super(e),this._handles=new r,this._tmpRay=l(),this._centerRayDirty=!0,this._surfaceAltitudeAtCenter=0,this._surfaceAltitudeAtCenterDirty=!0,this._contentAltitudeAtCenter=0,this._contentAltitudeAtCenterDirty=!0,this._propertiesPool=new O({renderPointOfView:N},this),this.renderPointOfView=m(),this._pois=new Array,this._debugCenters=new Map}initialize(){const{state:e,basemapTerrain:t,renderCoordsHelper:r,map:n}=this.view;this._surfaceIntersector=T(e.viewingMode),e.isGlobal?this._surfaceIntersector.options.backfacesTerrain=!1:this._surfaceIntersector.options.backfacesTerrain=!0,this._surfaceIntersector.options.invisibleTerrain=!1,this._surfaceIntersector.options.store=R.MIN,this._contentIntersector=T(e.viewingMode);const h=()=>this._estimateSurfaceAltitudeAtCenter(),d=this.view.resourceController.scheduler,f=s(this.view.basemapTerrain?.elevationQueryCache),p={state:e,scheduler:d,surface:t,renderCoordsHelper:r};this._set("centerOnSurfaceInfrequent",new w({...p,task:j.POINT_OF_INTEREST_INFREQUENT,estimateSurfaceAltitudeAtCenter:h})),this._set("centerOnSurfaceFrequent",new w({...p,task:j.POINT_OF_INTEREST_FREQUENT,estimateSurfaceAltitudeAtCenter:h})),this._set("contentCenterOnSurface",new w({...p,task:j.POINT_OF_INTEREST_INFREQUENT,estimateSurfaceAltitudeAtCenter:h,cameraName:"contentCamera"})),this._set("centerOnContent",new w({...p,task:j.POINT_OF_INTEREST_FREQUENT,estimateSurfaceAltitudeAtCenter:()=>this._estimateContentAltitudeAtCenter()})),this._set("cameraOnSurface",new S({...p,cache:f,task:j.POINT_OF_INTEREST_INFREQUENT,map:n})),this._set("contentCameraOnSurface",new S({...p,cache:f,task:j.POINT_OF_INTEREST_INFREQUENT,map:n,cameraName:"contentCamera"})),this._set("surfaceGeometryUpdates",new b({...p,centerOnSurfaces:[this.centerOnSurfaceFrequent,this.centerOnContent,this.centerOnSurfaceInfrequent]})),this._set("contentGeometryUpdates",new g({contentLayerViews:this.view.allLayerViews,renderCoordsHelper:r})),this._set("surfaceOrigin",new v({cache:f,view:this.view})),this._set("focus",new I({state:e,scheduler:d,surface:t,renderCoordsHelper:r,centerOnSurface:this.contentCenterOnSurface,estimateSurfaceIntersectionAtRenderPoint:(e,t)=>this._estimateSurfaceIntersectionAtRenderPoint(e,this.view.state.contentCamera,t)})),this._pois.push(this.centerOnContent,this.centerOnSurfaceFrequent,this.centerOnSurfaceInfrequent,this.contentCenterOnSurface,this.cameraOnSurface,this.contentCameraOnSurface,this.focus);const _=this.view.graphics;this._debugCenters.set(this.centerOnContent,new y(_,"red","CenterOnContent")),this._debugCenters.set(this.centerOnSurfaceFrequent,new y(_,"red","CenterOnSurface")),this._debugCenters.set(this.centerOnSurfaceInfrequent,new y(_,"red","CenterOnSurface")),this._debugCenters.set(this.contentCenterOnSurface,new y(_,"red","ContentCenterOnSurface")),this._debugCenters.set(this.cameraOnSurface,new y(_,"blue","CameraOnSurface")),this._debugCenters.set(this.contentCameraOnSurface,new y(_,"blue","ContentCameraOnSurface")),this._debugCenters.set(this.focus,new y(_,"green","Focus")),this._handles.add([i((()=>e.camera),(e=>this._cameraChanged(e)),o),i((()=>t.extent),(()=>this._updateCenterPointsOfInterest())),a((()=>!t.updating),(()=>this._updateCenterPointsOfInterest()),o),c((()=>this.surfaceGeometryUpdates.events),"request-update",(()=>this._updateCenterPointsOfInterest())),c((()=>this.contentGeometryUpdates.events),"request-update",(()=>this._updateCenterOnContent())),a((()=>C.SHOW_POI),(e=>this._setDebug(e)),u)]),this._cameraChanged(this.view.state.camera);for(const s of this._pois)s.runTask()}destroy(){this._setDebug(!1),this._handles.destroy(),this._propertiesPool.destroy();for(const e of this._pois)e.destroy();this.surfaceOrigin.destroy()}get updating(){return!(!this.surfaceGeometryUpdates?.updating&&!this._pois.some((e=>e.updating)))}get _centerRay(){return this._centerRayDirty&&(this._centerRayCached=this.view.sceneIntersectionHelper.getCenterRayWithSubpixelOffset(this.view.state.camera,this._tmpRay),this._centerRayDirty=!1),this._centerRayCached}_estimateContentAltitudeAtCenter(){if(!this._contentAltitudeAtCenterDirty)return this._contentAltitudeAtCenter;this._contentAltitudeAtCenterDirty=!1;const e=this._centerRay;return n(e)||(this.view.sceneIntersectionHelper.intersectRay(e,this._contentIntersector,U,D)?this._contentAltitudeAtCenter=this.view.renderCoordsHelper.getAltitude(U):this._contentAltitudeAtCenter=this._estimateSurfaceAltitudeAtCenter()),this._contentAltitudeAtCenter}_estimateSurfaceAltitudeAtCenter(){if(!this.view.basemapTerrain)return 0;if(!this._surfaceAltitudeAtCenterDirty)return this._surfaceAltitudeAtCenter;this._surfaceAltitudeAtCenterDirty=!1;const e=this._centerRay;if(n(e))return this._surfaceAltitudeAtCenter;const t=e.origin,r=f(U,e.origin,e.direction);return this._surfaceIntersector.resetWithRay(e,this.view.state.camera),this.view.basemapTerrain.intersect(this._surfaceIntersector,null,t,r),this._surfaceIntersector.results.min.getIntersectionPoint(U)&&(this._surfaceAltitudeAtCenter=this.view.renderCoordsHelper.getAltitude(U)),this._surfaceAltitudeAtCenter}_estimateSurfaceIntersectionAtRenderPoint(e,t,r){const s=A(t,e,F);if(n(s))return null;const i=s.origin,o=f(U,s.origin,s.direction);return this._surfaceIntersector.resetWithRay(s,t),this.view.basemapTerrain.intersect(this._surfaceIntersector,null,i,o),this._surfaceIntersector.results.min.getIntersectionPoint(r)?r:null}_cameraChanged(e){this._updateCenterPointsOfInterest();const t=e.eye;p(this.renderPointOfView,t)||this._set("renderPointOfView",_(this._propertiesPool.get("renderPointOfView"),t))}_updateCenterPointsOfInterest(){this._centerRayDirty=!0,this._surfaceAltitudeAtCenterDirty=!0,this._contentAltitudeAtCenterDirty=!0;for(const e of this._pois)e.updateRenderLocation()}_updateCenterOnContent(){this._contentAltitudeAtCenterDirty=!0,this.centerOnContent.updateRenderLocation()}_setDebug(e){if(!e)return this._debugCenters.forEach((e=>e.hide())),void this._handles.remove("debug");for(const t of this._pois)this._handles.add(i((()=>t.renderLocation),(e=>this._debugCenters.get(t).show(e,t.renderCoordsHelper.spatialReference)),u),"debug")}get test(){return{update:()=>{this.surfaceGeometryUpdates.runTask();for(const e of this._pois)e.runTask()},surfaceGeometryUpdates:this.surfaceGeometryUpdates}}};e([h({readOnly:!0})],E.prototype,"centerOnContent",void 0),e([h({readOnly:!0})],E.prototype,"centerOnSurfaceFrequent",void 0),e([h({readOnly:!0})],E.prototype,"centerOnSurfaceInfrequent",void 0),e([h({readOnly:!0})],E.prototype,"contentCenterOnSurface",void 0),e([h({readOnly:!0})],E.prototype,"cameraOnSurface",void 0),e([h({readOnly:!0})],E.prototype,"contentCameraOnSurface",void 0),e([h({readOnly:!0})],E.prototype,"focus",void 0),e([h({readOnly:!0})],E.prototype,"renderPointOfView",void 0),e([h({readOnly:!0})],E.prototype,"surfaceOrigin",void 0),e([h({readOnly:!0})],E.prototype,"contentGeometryUpdates",void 0),e([h({readOnly:!0})],E.prototype,"surfaceGeometryUpdates",void 0),e([h({constructOnly:!0})],E.prototype,"view",void 0),e([h({readOnly:!0})],E.prototype,"updating",null),E=e([d("esri.views.3d.support.PointsOfInterest")],E);const N=Array,U=m(),F=l(),D={exclude:new Set([P])};export{E as PointsOfInterest};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import r from"../../../../core/Handles.js";import{unwrap as s,isNone as n}from"../../../../core/maybe.js";import{watch as i,sync as o,when as a,on as c,initial as u}from"../../../../core/reactiveUtils.js";import{property as h}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/arrayUtils.js";import"../../../../core/accessorSupport/ensureType.js";import{subclass as d}from"../../../../core/accessorSupport/decorators/subclass.js";import{a as f,k as p,c as _}from"../../../../chunks/vec3.js";import{c as m}from"../../../../chunks/vec3f64.js";import{create as l}from"../../../../geometry/support/ray.js";import C from"../debugFlags.js";import{PointGraphics as y}from"../debugUtils.js";import{PropertiesPool as O}from"../PropertiesPool.js";import{fromRenderAtEye as A}from"../geometryUtils/ray.js";import{CameraOnSurface as S}from"./CameraOnSurface.js";import{CenterOnSurface as w}from"./CenterOnSurface.js";import{ContentGeometryUpdates as g}from"./ContentGeometryUpdates.js";import{Focus as I}from"./Focus.js";import{StableSurfaceCenter as v}from"./StableSurfaceCenter.js";import{SurfaceGeometryUpdates as b}from"./SurfaceGeometryUpdates.js";import{newIntersector as T}from"../../webgl-engine/lib/Intersector.js";import{StoreResults as R}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{TERRAIN_ID as P}from"../../webgl-engine/lib/verticalOffsetUtils.js";import{TaskPriority as j}from"../../../support/Scheduler.js";let E=class extends t{constructor(e){super(e),this._handles=new r,this._tmpRay=l(),this._centerRayDirty=!0,this._surfaceAltitudeAtCenter=0,this._surfaceAltitudeAtCenterDirty=!0,this._contentAltitudeAtCenter=0,this._contentAltitudeAtCenterDirty=!0,this._propertiesPool=new O({renderPointOfView:N},this),this.renderPointOfView=m(),this._pois=new Array,this._debugCenters=new Map}initialize(){const{state:e,basemapTerrain:t,renderCoordsHelper:r,map:n}=this.view;this._surfaceIntersector=T(e.viewingMode),e.isGlobal?this._surfaceIntersector.options.backfacesTerrain=!1:this._surfaceIntersector.options.backfacesTerrain=!0,this._surfaceIntersector.options.invisibleTerrain=!1,this._surfaceIntersector.options.store=R.MIN,this._contentIntersector=T(e.viewingMode);const h=()=>this._estimateSurfaceAltitudeAtCenter(),d=this.view.resourceController.scheduler,f=s(this.view.basemapTerrain?.elevationQueryCache),p={state:e,scheduler:d,surface:t,renderCoordsHelper:r};this._set("centerOnSurfaceInfrequent",new w({...p,task:j.POINT_OF_INTEREST_INFREQUENT,estimateSurfaceAltitudeAtCenter:h})),this._set("centerOnSurfaceFrequent",new w({...p,task:j.POINT_OF_INTEREST_FREQUENT,estimateSurfaceAltitudeAtCenter:h})),this._set("contentCenterOnSurface",new w({...p,task:j.POINT_OF_INTEREST_INFREQUENT,estimateSurfaceAltitudeAtCenter:h,cameraName:"contentCamera"})),this._set("centerOnContent",new w({...p,task:j.POINT_OF_INTEREST_FREQUENT,estimateSurfaceAltitudeAtCenter:()=>this._estimateContentAltitudeAtCenter()})),this._set("cameraOnSurface",new S({...p,cache:f,task:j.POINT_OF_INTEREST_INFREQUENT,map:n})),this._set("contentCameraOnSurface",new S({...p,cache:f,task:j.POINT_OF_INTEREST_INFREQUENT,map:n,cameraName:"contentCamera"})),this._set("surfaceGeometryUpdates",new b({...p,centerOnSurfaces:[this.centerOnSurfaceFrequent,this.centerOnContent,this.centerOnSurfaceInfrequent]})),this._set("contentGeometryUpdates",new g({contentLayerViews:this.view.allLayerViews,renderCoordsHelper:r})),this._set("surfaceOrigin",new v({cache:f,view:this.view})),this._set("focus",new I({state:e,scheduler:d,surface:t,renderCoordsHelper:r,centerOnSurface:this.contentCenterOnSurface,estimateSurfaceIntersectionAtRenderPoint:(e,t)=>this._estimateSurfaceIntersectionAtRenderPoint(e,this.view.state.contentCamera,t)})),this._pois.push(this.centerOnContent,this.centerOnSurfaceFrequent,this.centerOnSurfaceInfrequent,this.contentCenterOnSurface,this.cameraOnSurface,this.contentCameraOnSurface,this.focus);const _=this.view.graphics;this._debugCenters.set(this.centerOnContent,new y(_,"red","CenterOnContent")),this._debugCenters.set(this.centerOnSurfaceFrequent,new y(_,"red","CenterOnSurface")),this._debugCenters.set(this.centerOnSurfaceInfrequent,new y(_,"red","CenterOnSurface")),this._debugCenters.set(this.contentCenterOnSurface,new y(_,"red","ContentCenterOnSurface")),this._debugCenters.set(this.cameraOnSurface,new y(_,"blue","CameraOnSurface")),this._debugCenters.set(this.contentCameraOnSurface,new y(_,"blue","ContentCameraOnSurface")),this._debugCenters.set(this.focus,new y(_,"green","Focus")),this._handles.add([i((()=>e.camera),(e=>this._cameraChanged(e)),o),i((()=>t.extent),(()=>this._updateCenterPointsOfInterest())),a((()=>!t.updating),(()=>this._updateCenterPointsOfInterest()),o),c((()=>this.surfaceGeometryUpdates.events),"request-update",(()=>this._updateCenterPointsOfInterest())),c((()=>this.contentGeometryUpdates.events),"request-update",(()=>this._updateCenterOnContent())),a((()=>C.SHOW_POI),(e=>this._setDebug(e)),u)]),this._cameraChanged(this.view.state.camera);for(const s of this._pois)s.runTask()}destroy(){this._setDebug(!1),this._handles.destroy(),this._propertiesPool.destroy();for(const e of this._pois)e.destroy();this.surfaceOrigin.destroy()}get updating(){return!(!this.surfaceGeometryUpdates?.updating&&!this._pois.some((e=>e.updating)))}get _centerRay(){return this._centerRayDirty&&(this._centerRayCached=this.view.sceneIntersectionHelper.getCenterRayWithSubpixelOffset(this.view.state.camera,this._tmpRay),this._centerRayDirty=!1),this._centerRayCached}_estimateContentAltitudeAtCenter(){if(!this._contentAltitudeAtCenterDirty)return this._contentAltitudeAtCenter;this._contentAltitudeAtCenterDirty=!1;const e=this._centerRay;return n(e)||(this.view.sceneIntersectionHelper.intersectRay(e,this._contentIntersector,U,D)?this._contentAltitudeAtCenter=this.view.renderCoordsHelper.getAltitude(U):this._contentAltitudeAtCenter=this._estimateSurfaceAltitudeAtCenter()),this._contentAltitudeAtCenter}_estimateSurfaceAltitudeAtCenter(){if(!this.view.basemapTerrain)return 0;if(!this._surfaceAltitudeAtCenterDirty)return this._surfaceAltitudeAtCenter;this._surfaceAltitudeAtCenterDirty=!1;const e=this._centerRay;if(n(e))return this._surfaceAltitudeAtCenter;const t=e.origin,r=f(U,e.origin,e.direction);return this._surfaceIntersector.resetWithRay(e,this.view.state.camera),this.view.basemapTerrain.intersect(this._surfaceIntersector,null,t,r),this._surfaceIntersector.results.min.getIntersectionPoint(U)&&(this._surfaceAltitudeAtCenter=this.view.renderCoordsHelper.getAltitude(U)),this._surfaceAltitudeAtCenter}_estimateSurfaceIntersectionAtRenderPoint(e,t,r){const s=A(t,e,F);if(n(s))return null;const i=s.origin,o=f(U,s.origin,s.direction);return this._surfaceIntersector.resetWithRay(s,t),this.view.basemapTerrain.intersect(this._surfaceIntersector,null,i,o),this._surfaceIntersector.results.min.getIntersectionPoint(r)?r:null}_cameraChanged(e){this._updateCenterPointsOfInterest();const t=e.eye;p(this.renderPointOfView,t)||this._set("renderPointOfView",_(this._propertiesPool.get("renderPointOfView"),t))}_updateCenterPointsOfInterest(){this._centerRayDirty=!0,this._surfaceAltitudeAtCenterDirty=!0,this._contentAltitudeAtCenterDirty=!0;for(const e of this._pois)e.updateRenderLocation()}_updateCenterOnContent(){this._contentAltitudeAtCenterDirty=!0,this.centerOnContent.updateRenderLocation()}_setDebug(e){if(!e)return this._debugCenters.forEach((e=>e.hide())),void this._handles.remove("debug");for(const t of this._pois)this._handles.add(i((()=>t.renderLocation),(e=>this._debugCenters.get(t).show(e,t.renderCoordsHelper.spatialReference)),u),"debug")}get test(){return{update:()=>{this.surfaceGeometryUpdates.runTask();for(const e of this._pois)e.runTask()},surfaceGeometryUpdates:this.surfaceGeometryUpdates}}};e([h({readOnly:!0})],E.prototype,"centerOnContent",void 0),e([h({readOnly:!0})],E.prototype,"centerOnSurfaceFrequent",void 0),e([h({readOnly:!0})],E.prototype,"centerOnSurfaceInfrequent",void 0),e([h({readOnly:!0})],E.prototype,"contentCenterOnSurface",void 0),e([h({readOnly:!0})],E.prototype,"cameraOnSurface",void 0),e([h({readOnly:!0})],E.prototype,"contentCameraOnSurface",void 0),e([h({readOnly:!0})],E.prototype,"focus",void 0),e([h({readOnly:!0})],E.prototype,"renderPointOfView",void 0),e([h({readOnly:!0})],E.prototype,"surfaceOrigin",void 0),e([h({readOnly:!0})],E.prototype,"contentGeometryUpdates",void 0),e([h({readOnly:!0})],E.prototype,"surfaceGeometryUpdates",void 0),e([h({constructOnly:!0})],E.prototype,"view",void 0),e([h({readOnly:!0})],E.prototype,"updating",null),E=e([d("esri.views.3d.support.PointsOfInterest")],E);const N=Array,U=m(),F=l(),D={exclude:new Set([P])};export{E as PointsOfInterest};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{lerp as t,clamp as e}from"../../../core/mathUtils.js";import{isSome as i}from"../../../core/maybe.js";import{d as n,i as o,r as a,n as r,o as l}from"../../../chunks/mat4.js";import{c}from"../../../chunks/mat4f64.js";import{s,h as u,n as m,g as d,v as g,a as h}from"../../../chunks/vec3.js";import{f as b,c as f,a as y}from"../../../chunks/vec3f64.js";import{ViewingMode as p}from"../../ViewingMode.js";import{S as A}from"../../../chunks/SunCalc.js";import{angle as w}from"./mathUtils.js";const N={local:{altitude:1500,ambientAtNight:.1,ambientAtNoon:.45,ambientAtTwilight:.2,directAtNoon:.65,directAtTwilight:.7},global:{altitude:8e5,ambient:.015,direct:.75},planarDirection:{localAltitude:1e4,globalAltitude:1e6,globalAngles:{azimuth:1.3*Math.PI,altitude:.6*Math.PI}}};function T(n,o,a,r,l,c){s(c.ambient.color,1,1,1),c.ambient.intensity=N.global.ambient,s(c.direct.color,1,1,1),c.direct.intensity=N.global.direct;const m=o[2],d=e((Math.abs(m)-N.local.altitude)/(N.global.altitude-N.local.altitude),0,1);let g;if(c.globalFactor=d,i(n)&&(g=A.getTimes(n,o[1],o[0])),d<1){let e;if(i(n))e=G(n,g,r);else{const t=E(r);e={direct:{intensity:N.local.directAtNoon*t.direct,color:b(1,1,1)},ambient:{intensity:N.local.ambientAtNoon*t.ambient,color:b(1,1,1)},timeOfDay:"early afternoon"}}u(c.ambient.color,e.ambient.color,c.ambient.color,d),c.ambient.intensity=t(e.ambient.intensity,c.ambient.intensity,d),u(c.direct.color,e.direct.color,c.direct.color,d),c.direct.intensity=t(e.direct.intensity,c.direct.intensity,d),c.specularStrength="rainy"===r||"snowy"===r||"foggy"===r?0:1,c.environmentStrength="rainy"===r?.7:"snowy"===r||"foggy"===r?.75:1}c.noonFactor=i(n)?D(n,g):1,i(n)?M(n,o,a,c.direct.directionToLightSource):v(l,a,c.direct.directionToLightSource)}function v(t,e,i){e===p.Global?m(L,t.eye):s(L,0,0,1),d(R,t.viewForward,-1);const o=w(R,L),a=Math.max(o-2*_,0),r=.85*a/(a+1),l=Math.max(_,o-_-r);n(F,-l,t.viewRight),g(i,R,F),h(i,i,d(U,t.viewRight,C)),m(i,i)}function M(t,i,n,c){const u=z,m=o(j);if(n===p.Global)A.getPosition(t,0,0,u),s(c,0,0,-1),a(m,m,-u.azimuth),r(m,m,-u.altitude),g(c,c,m);else{const n=N.planarDirection,o=n.globalAngles,r=i[2];let d=(Math.abs(r)-n.localAltitude)/(n.globalAltitude-n.localAltitude);d=e(d,0,1),d<1?(A.getPosition(t,i[1],i[0],u),u.azimuth=(1-d)*u.azimuth+d*o.azimuth,u.altitude=(1-d)*u.altitude+d*o.altitude):(u.azimuth=o.azimuth,u.altitude=o.altitude),s(c,0,-1,0),l(m,m,-u.azimuth),a(m,m,-u.altitude),g(c,c,m)}}function x(t,e){if(e===p.Global)return!0;const i=N.planarDirection;return Math.abs(t)<i.localAltitude}function S(t,e,i,n,o){const a=t.getTime(),r=e.getTime()-a,l=Math.floor(r/i)+1,c=new Array(l);for(let s=0;s<l;++s)k.setTime(a+i*s),c[s]=f(),M(k,n,o,c[s]);return c}const O=b(.5773502691896258,-.5773502691896258,.5773502691896258);class P{constructor(){this.ambient={color:b(1,1,1),intensity:.55},this.direct={color:b(1,1,1),intensity:.55,directionToLightSource:y(O)},this.noonFactor=.5,this.globalFactor=0,this.specularStrength=1,this.environmentStrength=1}}const j=c(),z={azimuth:0,altitude:0};function D(t,i){const n=t.valueOf();let o,a;i.polarException===A.PolarException.MIDNIGHT_SUN?(o=n-60*(t.getHours()+48)*60*1e3-60*t.getMinutes()*1e3,a=o+432e6):i.polarException===A.PolarException.POLAR_NIGHT?(o=n-2,a=n-1):(o=i.sunrise.valueOf(),a=i.sunset.valueOf());const r=o+(a-o)/2;return 1-e(Math.abs(n-r)/432e5,0,1)}function E(t){switch(t){case"disabled":case"sunny":case"cloudy":return{direct:1,ambient:1};case"rainy":return{direct:.4,ambient:1.2};case"snowy":return{direct:.5,ambient:1.3};case"foggy":return{direct:.2,ambient:1.6}}}function I(t,e){const i=(t[0]+t[1]+t[2])/3;for(let n=0;n<3;n++)t[n]=t[n]+(i-t[n])*e;return t}function G(t,e,i){const n=t.valueOf();let o,a;e.polarException===A.PolarException.MIDNIGHT_SUN?(o=n-60*(t.getHours()+48)*60*1e3-60*t.getMinutes()*1e3,a=o+432e6):e.polarException===A.PolarException.POLAR_NIGHT?(o=n-2,a=n-1):(o=e.sunrise.valueOf(),a=e.sunset.valueOf());const r=a-o,l=o+r/2,c=r/4,s=l-c,u=l+c,m=.06*r,d=o-m/2,g=o+m/2,h=a-m/2,f=a+m/2,y=N.local,p=[.01,y.ambientAtNight],w=[.8,.8,1],T=[.01,.01,.01],v=[y.directAtTwilight,y.ambientAtTwilight],M=[1,.6,.5],x=[.8,.8,1],S=[.9*y.directAtNoon,y.ambientAtNoon],O=[1,.98,.98],P=[.98,.98,1],j=[y.directAtNoon,y.ambientAtNoon],z=[1,1,1],D=[1,1,1],G=S,k=O,F=P,L=v,R=M,U=x;let _,C,V=[0,0],q=[0,0,0],B=[0,0,0];n<d||n>f?(V=p,q=T,B=w,C="night"):n<g?(_=g-d,V=H(n-d,_,p,v),q=H(n-d,_,T,M),B=H(n-d,_,w,x),C="sun rising"):n<s?(_=s-g,V=H(n-g,_,v,S),q=H(n-g,_,M,O),B=H(n-g,_,x,P),C="early morning"):n<l?(_=l-s,V=H(n-s,_,S,j),q=H(n-s,_,O,z),B=H(n-s,_,P,D),C="late morning"):n<u?(_=u-l,V=H(n-l,_,j,G),q=H(n-l,_,z,k),B=H(n-l,_,D,F),C="early afternoon"):n<h?(_=h-u,V=H(n-u,_,G,L),q=H(n-u,_,k,R),B=H(n-u,_,F,U),C="late afternoon"):n<f&&(_=f-h,V=H(n-h,_,L,p),q=H(n-h,_,R,T),B=H(n-h,_,U,w),C="sun setting");let J=0;switch(i){case"rainy":case"foggy":J=.9;case"snowy":J=.5}J>0&&(q=I(q,J),B=I(B,J));const K=b(q[0],q[1],q[2]),Q=b(B[0],B[1],B[2]),W=E(i);return{direct:{intensity:V[0]*W.direct,color:K},ambient:{intensity:V[1]*W.ambient,color:Q},timeOfDay:C}}function H(t,e,i,n){const o=[];for(let a=0;a<i.length;a++)o[a]=(n[a]-i[a])*t/e+i[a];return o}const k=new Date(0),F=c(),L=f(),R=f(),U=f(),_=.25,C=.2;export{P as ColorAndIntensity,T as computeColorAndIntensity,S as computeDirectionsOverTime,x as computeShadowsEnabled,v as computeVirtualLightDirection};
5
+ import{lerp as t,clamp as e}from"../../../core/mathUtils.js";import{isSome as i}from"../../../core/maybe.js";import{d as n,i as o,r as a,n as r,o as l}from"../../../chunks/mat4.js";import{c}from"../../../chunks/mat4f64.js";import{s,h as u,n as m,g as d,m as g,a as h}from"../../../chunks/vec3.js";import{f as b,c as f,a as y}from"../../../chunks/vec3f64.js";import{ViewingMode as p}from"../../ViewingMode.js";import{S as A}from"../../../chunks/SunCalc.js";import{angle as w}from"./mathUtils.js";const N={local:{altitude:1500,ambientAtNight:.1,ambientAtNoon:.45,ambientAtTwilight:.2,directAtNoon:.65,directAtTwilight:.7},global:{altitude:8e5,ambient:.015,direct:.75},planarDirection:{localAltitude:1e4,globalAltitude:1e6,globalAngles:{azimuth:1.3*Math.PI,altitude:.6*Math.PI}}};function T(n,o,a,r,l,c){s(c.ambient.color,1,1,1),c.ambient.intensity=N.global.ambient,s(c.direct.color,1,1,1),c.direct.intensity=N.global.direct;const m=o[2],d=e((Math.abs(m)-N.local.altitude)/(N.global.altitude-N.local.altitude),0,1);let g;if(c.globalFactor=d,i(n)&&(g=A.getTimes(n,o[1],o[0])),d<1){let e;if(i(n))e=G(n,g,r);else{const t=E(r);e={direct:{intensity:N.local.directAtNoon*t.direct,color:b(1,1,1)},ambient:{intensity:N.local.ambientAtNoon*t.ambient,color:b(1,1,1)},timeOfDay:"early afternoon"}}u(c.ambient.color,e.ambient.color,c.ambient.color,d),c.ambient.intensity=t(e.ambient.intensity,c.ambient.intensity,d),u(c.direct.color,e.direct.color,c.direct.color,d),c.direct.intensity=t(e.direct.intensity,c.direct.intensity,d),c.specularStrength="rainy"===r||"snowy"===r||"foggy"===r?0:1,c.environmentStrength="rainy"===r?.7:"snowy"===r||"foggy"===r?.75:1}c.noonFactor=i(n)?D(n,g):1,i(n)?v(n,o,a,c.direct.directionToLightSource):M(l,a,c.direct.directionToLightSource)}function M(t,e,i){e===p.Global?m(L,t.eye):s(L,0,0,1),d(R,t.viewForward,-1);const o=w(R,L),a=Math.max(o-2*_,0),r=.85*a/(a+1),l=Math.max(_,o-_-r);n(F,-l,t.viewRight),g(i,R,F),h(i,i,d(U,t.viewRight,C)),m(i,i)}function v(t,i,n,c){const u=z,m=o(j);if(n===p.Global)A.getPosition(t,0,0,u),s(c,0,0,-1),a(m,m,-u.azimuth),r(m,m,-u.altitude),g(c,c,m);else{const n=N.planarDirection,o=n.globalAngles,r=i[2];let d=(Math.abs(r)-n.localAltitude)/(n.globalAltitude-n.localAltitude);d=e(d,0,1),d<1?(A.getPosition(t,i[1],i[0],u),u.azimuth=(1-d)*u.azimuth+d*o.azimuth,u.altitude=(1-d)*u.altitude+d*o.altitude):(u.azimuth=o.azimuth,u.altitude=o.altitude),s(c,0,-1,0),l(m,m,-u.azimuth),a(m,m,-u.altitude),g(c,c,m)}}function x(t,e){if(e===p.Global)return!0;const i=N.planarDirection;return Math.abs(t)<i.localAltitude}function S(t,e,i,n,o){const a=t.getTime(),r=e.getTime()-a,l=Math.floor(r/i)+1,c=new Array(l);for(let s=0;s<l;++s)k.setTime(a+i*s),c[s]=f(),v(k,n,o,c[s]);return c}const O=b(.5773502691896258,-.5773502691896258,.5773502691896258);class P{constructor(){this.ambient={color:b(1,1,1),intensity:.55},this.direct={color:b(1,1,1),intensity:.55,directionToLightSource:y(O)},this.noonFactor=.5,this.globalFactor=0,this.specularStrength=1,this.environmentStrength=1}}const j=c(),z={azimuth:0,altitude:0};function D(t,i){const n=t.valueOf();let o,a;i.polarException===A.PolarException.MIDNIGHT_SUN?(o=n-60*(t.getHours()+48)*60*1e3-60*t.getMinutes()*1e3,a=o+432e6):i.polarException===A.PolarException.POLAR_NIGHT?(o=n-2,a=n-1):(o=i.sunrise.valueOf(),a=i.sunset.valueOf());const r=o+(a-o)/2;return 1-e(Math.abs(n-r)/432e5,0,1)}function E(t){switch(t){case"disabled":case"sunny":case"cloudy":return{direct:1,ambient:1};case"rainy":return{direct:.4,ambient:1.2};case"snowy":return{direct:.5,ambient:1.3};case"foggy":return{direct:.2,ambient:1.6}}}function I(t,e){const i=(t[0]+t[1]+t[2])/3;for(let n=0;n<3;n++)t[n]=t[n]+(i-t[n])*e;return t}function G(t,e,i){const n=t.valueOf();let o,a;e.polarException===A.PolarException.MIDNIGHT_SUN?(o=n-60*(t.getHours()+48)*60*1e3-60*t.getMinutes()*1e3,a=o+432e6):e.polarException===A.PolarException.POLAR_NIGHT?(o=n-2,a=n-1):(o=e.sunrise.valueOf(),a=e.sunset.valueOf());const r=a-o,l=o+r/2,c=r/4,s=l-c,u=l+c,m=.06*r,d=o-m/2,g=o+m/2,h=a-m/2,f=a+m/2,y=N.local,p=[.01,y.ambientAtNight],w=[.8,.8,1],T=[.01,.01,.01],M=[y.directAtTwilight,y.ambientAtTwilight],v=[1,.6,.5],x=[.8,.8,1],S=[.9*y.directAtNoon,y.ambientAtNoon],O=[1,.98,.98],P=[.98,.98,1],j=[y.directAtNoon,y.ambientAtNoon],z=[1,1,1],D=[1,1,1],G=S,k=O,F=P,L=M,R=v,U=x;let _,C,V=[0,0],q=[0,0,0],B=[0,0,0];n<d||n>f?(V=p,q=T,B=w,C="night"):n<g?(_=g-d,V=H(n-d,_,p,M),q=H(n-d,_,T,v),B=H(n-d,_,w,x),C="sun rising"):n<s?(_=s-g,V=H(n-g,_,M,S),q=H(n-g,_,v,O),B=H(n-g,_,x,P),C="early morning"):n<l?(_=l-s,V=H(n-s,_,S,j),q=H(n-s,_,O,z),B=H(n-s,_,P,D),C="late morning"):n<u?(_=u-l,V=H(n-l,_,j,G),q=H(n-l,_,z,k),B=H(n-l,_,D,F),C="early afternoon"):n<h?(_=h-u,V=H(n-u,_,G,L),q=H(n-u,_,k,R),B=H(n-u,_,F,U),C="late afternoon"):n<f&&(_=f-h,V=H(n-h,_,L,p),q=H(n-h,_,R,T),B=H(n-h,_,U,w),C="sun setting");let J=0;switch(i){case"rainy":case"foggy":J=.9;case"snowy":J=.5}J>0&&(q=I(q,J),B=I(B,J));const K=b(q[0],q[1],q[2]),Q=b(B[0],B[1],B[2]),W=E(i);return{direct:{intensity:V[0]*W.direct,color:K},ambient:{intensity:V[1]*W.ambient,color:Q},timeOfDay:C}}function H(t,e,i,n){const o=[];for(let a=0;a<i.length;a++)o[a]=(n[a]-i[a])*t/e+i[a];return o}const k=new Date(0),F=c(),L=f(),R=f(),U=f(),_=.25,C=.2;export{P as ColorAndIntensity,T as computeColorAndIntensity,S as computeDirectionsOverTime,x as computeShadowsEnabled,M as computeVirtualLightDirection};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{equals as e}from"../../../core/arrayUtils.js";import{isPowerOfTwo as t}from"../../../core/mathUtils.js";import{isSome as r,isNone as i,mapOr as s}from"../../../core/maybe.js";import{i as a,j as n,y as o,b as l,n as h,e as d,p as g,F as c}from"../../../chunks/vec3.js";import{c as u,a as m}from"../../../chunks/vec3f64.js";import{empty as p}from"../../../geometry/support/aaBoundingBox.js";import{containsXY as f}from"../../../geometry/support/aaBoundingRect.js";import{earth as y}from"../../../geometry/support/Ellipsoid.js";import{glLayout as _}from"../support/buffer/glUtil.js";import{GeometryState as x}from"./GeometryState.js";import{NeighborIndex as D}from"./interfaces.js";import{LayerClass as v}from"./LayerClass.js";import{PatchGeometry as C,releaseGeometry as S}from"./PatchGeometry.js";import{ENABLE_TERRAIN_INTERNAL_CHECKS as $,internalAssert as E,neighborEdgeIndices as b,oppositeEdge as T,neighborCornerIndices as j,v32s as A,lij2s as V}from"./terrainUtils.js";import{TextureFader as R,ActivationTime as L}from"./TextureFader.js";export{ActivationTime}from"./TextureFader.js";import{isEdgeNeighbor as w}from"./Tile.js";import P from"./TileOverlayData.js";import{fallsWithinLayer as N}from"./tileUtils.js";import{VertexArrayObject as I}from"../webgl-engine/lib/VertexArrayObject.js";import{terrainVertexAttributeLocations as G}from"../webgl-engine/shaders/TerrainTechnique.js";import{BufferObject as M}from"../../webgl/BufferObject.js";class O{constructor(){this.geometryInfo=new C,this.intersectionData=null,this.geometryState=null,this._textureRef=new R((()=>this.tile.surface.textureFadeDuration)),this.overlay=new P,this._geometryStateChangedSinceLastUpdate=!0,this._hasGeometry=!1,this._numVerticesPerSideChanged=!1,this._samplerDataChanged=!1,this._clippingAreaChanged=!1,this._wireframeChanged=!1,this._shadingChanged=!1,this._dirtyEdgeResolutions=15,this._dirtyEdges=15,this._dirtyCorners=15}get tile(){return this._tile}init(e){this.clear(),this._tile=e;const t=this.geometryInfo;t.indices=null,t.vertexAttributes=null,p(t.boundingBox),t.indexCount=0,t.numVerticesPerSide=0,this.intersectionData=null,this.geometryState=new x,this.localOrigin=null,this.overlay.clear()}clear(){this._releaseGeometry(),this.releaseTexture(),this._textureRef.clear(),this._tile=null,this.intersectionData=null,this.geometryState=null}updateGeometryIfNeeded(e){if((!this._vao||this._geometryStateChangedSinceLastUpdate||this._wireframeChanged||this._shadingChanged||this._clippingAreaChanged||this._samplerDataChanged||this._numVerticesPerSideChanged||this._dirtyCorners||this._dirtyEdgeResolutions||this._dirtyEdges)&&(this._updateGeometry(e),this._geometryStateChangedSinceLastUpdate=!1),$&&this.tile.intersectsClippingArea)for(let t=0;t<4;++t)E(this.geometryInfo.outerEdges[t].count===this.geometryState.neighborData.edgeResolutions[t]+1)}_calculateEdgeResolution(e,t){const s=this.tile,a=this.geometryState.numVerticesPerSide-1;if(!s.surface.isGlobal){const t=s.surface.extent;if(r(t)&&(0===e&&s.extent[3]>t[3]||1===e&&s.extent[2]>t[2]||2===e&&s.extent[1]<t[1]||3===e&&s.extent[0]<t[0]))return a}const n=s.level,o=b[e];if(!t)return E(i(s.surface?.rootTiles)||s.surface.updatingRootTiles||!s.shouldHaveNeighbor(o)),a;if(t.isLoaded){const r=t,i=r.renderData.geometryState,s=n-r.level;if(E(s>=0),0===s){const e=i.numVerticesPerSide-1;return Math.max(e,a)}const o=2**s,l=i.neighborData.edgeResolutions[(e+2)%4]/o;return Math.max(1,l)}E(!t.isLeaf);let l=a;return t.forAllSubtreeOnSide(T(o),(e=>e===s||(e.isLoaded?(l=Math.max(l,2**(e.level-n)),!0):(E(!e.isLeaf),!1)))),l}updateNeighborData(){const e=this.tile;if(!e.intersectsClippingArea)return;const r=e.renderData.geometryState.neighborData,i=t=>(t.isLoaded||t.level===e.level)&&t?.intersectsClippingArea,s=r.edgePeerNeighbors,a=r.edgePeerNeighborSamplerVersions;for(let o=0;o<4;++o){const n=e.findNeighborTile(b[o],i),l=z(e,n),h=l?.renderData?.geometryState.samplerDataVersion??-1,d=s[o],g=l!==z(e,d),c=a[o]!==h;s[o]=n,(g||c)&&(a[o]=h,this._markEdgeDirty(o));const u=r.edgeResolutions[o],m=this._calculateEdgeResolution(o,n);E(t(m)),E(m>=1),r.edgeResolutions[o]=m,u!==m&&this._markEdgeResolutionDirty(o)}const n=r.cornerPeerNeighbors;for(let t=0;t<4;++t){const a=e.findNeighborTile(j[t],i);n[t]=a;const o=z(e,s[t]),l=z(e,s[(t+1)%4]),h=z(e,a);q[t]=h,q[(t+1)%4]=l,q[(t+2)%4]=e,q[(t+3)%4]=o,E(q.some((t=>t?.isLoaded||t===e)));const d=q.reduce(((e,t)=>Math.min(e,t?.level??1/0)),1/0);q.forEach(((e,t)=>{e?.level>d&&(q[t]=null)})),E(q.some((t=>t?.isLoaded||t===e)));const g=r.cornerNeighborData[t].cornerTiles,c=r.cornerNeighborData[t].cornerTileSamplerVersions;for(let e=0;e<4;++e){const r=q[e],i=r?.renderData.geometryState.samplerDataVersion??-1,s=g[e]!==r,a=!s&&c[e]!==i;(s||a)&&(g[e]=r,c[e]=i,this._markCornerDirty(t))}E(g.some((t=>t?.isLoaded||t===e)))}$&&E(this.geometryState.neighborData.edgeResolutions.every((e=>e>0)));for(let t=0;t<4;++t)q[t]=null}_updateGeometry(e){if(!this.tile.intersectsClippingArea)return;$&&E(!this.tile.intersectsClippingArea||this.geometryState.neighborData.edgeResolutions.every((e=>e>0))),this.intersectionData=null;const t=this.tile,r=this._vao,i=this.geometryInfo.vertexAttributes,s=!r||!i||this._wireframeChanged||this._shadingChanged||this._numVerticesPerSideChanged||this._samplerDataChanged||this._clippingAreaChanged||this._dirtyEdgeResolutions,a=!s&&(0!==this._dirtyEdges||0!==this._dirtyEdgeResolutions),n=!a&&0!==this._dirtyCorners;s?(this._releaseGeometry(),this._createGeometry(e)):a||n?t.updateEdgeElevations():n?t.updateCornerElevations():console.warn("Update for no reason?"),this._numVerticesPerSideChanged=!1,this._samplerDataChanged=!1,this._dirtyEdgeResolutions=0,this._dirtyEdges=0,this._dirtyCorners=0,this._clippingAreaChanged=!1,this._wireframeChanged=!1}releaseGeometry(){return this._releaseGeometry()}get hasGeometry(){return this._hasGeometry}ensureTexture(e,t){return r(this._texture)&&this._texture.descriptor.width!==e&&this.releaseTexture(),i(this._texture)&&(this._texture=t(),this.tile.setMemoryDirty()),this._texture}releaseTexture(){r(this._texture)&&(this._texture.release(),this._texture=null,this.tile.setMemoryDirty())}_markCornerDirty(e){const t=1<<e;this._dirtyCorners|=t}_markEdgeDirty(e){const t=1<<e;this._dirtyEdges|=t}_markEdgeResolutionDirty(e){const t=1<<e;this._dirtyEdgeResolutions|=t,this._dirtyEdges|=t}_markAllEdgesAndCornersDirty(){this._dirtyCorners=15,this._dirtyEdges=15,this._dirtyEdgeResolutions=15}updateGeometryState(){const t=this._getElevationInfo(),r=this.tile,i=t.samplerData?r.getElevationBasedVerticesPerSide(t.maxTileLevel):r.getDefaultVerticesPerRowOnLevel(),s=Math.max(i,5);let a=r.clippingArea;r.intersectsClippingArea&&!r.isWithinClippingArea||(a=null);const n=this.geometryState;let o=!1;n.numVerticesPerSide!==s&&(this._numVerticesPerSideChanged=!0,n.numVerticesPerSide=s,n.samplerDataVersion++,o=!0),t.changed&&(this._samplerDataChanged=!0,n.samplerData=t.samplerData,n.samplerDataVersion++,o=!0),e(n.clippingArea,a)||(this._clippingAreaChanged=!0,n.clippingArea=a,o=!0);const l=r.surface,h=l.wireframe;n.wireframe!==h&&(this._wireframeChanged=!0,n.wireframe=h,o=!0);const d=l.shading;return n.shading!==d&&(this._shadingChanged=d,n.shading=d,o=d),this._geometryStateChangedSinceLastUpdate||(this._geometryStateChangedSinceLastUpdate=o),o&&this._markAllEdgesAndCornersDirty(),this._hasGeometry=!0,this._geometryStateChangedSinceLastUpdate}_createGeometry(e){this.tile.createGeometry();const t=this.geometryInfo.vertexAttributes,r=this.geometryInfo.indices,i=e.gl;this._vao=new I(e,G,{geometry:_(t.layout)},{geometry:M.createVertex(e,i.STATIC_DRAW,t.buffer)},M.createIndex(e,i.STATIC_DRAW,r)),this._hasGeometry=!0}_releaseGeometry(){return this._hasGeometry=!1,this.intersectionData=null,!!this._vao&&(this._vao.dispose(),this._vao=null,S(this.geometryInfo),!0)}get vao(){return this._vao}setTextureReference(e,t=L.Immediate){r(e)&&e.texture!==this._texture&&this.releaseTexture(),this._textureRef.push(e,t)}get textureReference(){return this._textureRef.current}get nextTextureReference(){return this._textureRef.next}get textureFadeFactor(){return this._textureRef.fadeFactor}get textureIsFading(){return this._textureRef.isFading}_getElevationInfo(){const e=this.geometryState.samplerData,t=this.tile.layerInfo[v.ELEVATION],i=t.length;let s=new Array(i),a=0,n=0,o=!1;for(let l=0;l<i;l++){const i=t[l];if(r(i.upsampleInfo)){const t=i.upsampleInfo.tile,r=t.layerInfo[v.ELEVATION][l].data,h=r&&r.samplerData;e&&e[a]===h||(o=!0),s[a++]=h,n=Math.max(n,t.lij[0])}else if(i.data){const t=this.tile.surface.layerViewByIndex(l,v.ELEVATION);if(N(this.tile,t.layer,!1)){const t=i.data;e&&e[a]===t.samplerData||(o=!0),s[a++]=t.samplerData,n=this.tile.level}}}return r(e)&&e.length!==a&&(o=!0),a>0?s.length=a:s=null,{changed:o,samplerData:s,maxTileLevel:n}}get estimatedGeometryMemoryUsage(){const e=s(this.intersectionData,0,(e=>e.estimatedMemoryUsage));return(this.geometryInfo.indices?.byteLength??0)+(this.geometryInfo.vertexAttributes?.byteLength??0)+e}get textureDescriptor(){return r(this._texture)?this._texture.descriptor:null}get test(){return{hasTexture:null!=this._texture}}checkGeometryWaterproofness(){if(!$)return;const e=this.tile;if(E(e?.isLoaded),!e.isLoaded||!e.intersectsClippingArea)return;if(0===e.level)return;const s=e.surface.extent;if(r(s)&&!e.intersectsExtent(s))return;const p=b.map(((t,i)=>!!r(s)&&(i<2?-1:1)*(e.extent[3-i]-s[3-i])<0)),_=e.level;E(0===this._dirtyCorners),E(0===this._dirtyEdges),E(0===this._dirtyEdgeResolutions),E(!this._numVerticesPerSideChanged),E(!this._samplerDataChanged),E(!this._clippingAreaChanged),E(!this._wireframeChanged);const x=j.map((t=>e.findNeighborCornerTileExact(t,(t=>!t.intersectsClippingArea||t.isLoaded||t.level===e.level))??null)).map((e=>e?.intersectsClippingArea?e:null)),v=this.geometryState.neighborData;for(let t=0;t<4;++t){const r=v.cornerPeerNeighbors[t],i=x[t];E(i===r,`Tile[${e.lij}].corner[${t}] out of date: cur=[${r?.lij}] exp=[${i?.lij}]`)}b.forEach(((s,x)=>{if(p[x])return;const v=e.findNeighborTile(s,(e=>(e.level===_||e?.isLoaded)&&e?.intersectsClippingArea));if(!v){const t=!e.surface.updatingRootTiles&&r(e.surface.rootTiles)&&e.surface.rootTiles.length>0&&e.shouldHaveNeighbor(s);return void E(!t)}E(v.isLoaded||v.level===e.level),E(v===this.geometryState.neighborData.edgePeerNeighbors[x]);const C=_-v.level;if(!v.isLoaded)return E(!v.isLeaf),void E(0===C);E(w(e,v,s)),E(C>=0);const S=2**C;if(C<0)return void E(!1);const $=e.renderData.geometryInfo,b=$.outerEdges[x],T=$.numVerticesPerSide-1,j=v.renderData.geometryInfo;if(!j)return void E(!1);{const t=this.geometryState.neighborData.edgePeerNeighbors[x];(t?.isLoaded||t.isLoaded)&&(E(t==t),E(e.renderData.geometryState.neighborData.edgePeerNeighborSamplerVersions[x]===t.renderData.geometryState.samplerDataVersion),E(this.geometryState.neighborData.edgePeerNeighborSamplerVersions[x]===t.renderData.geometryState.samplerDataVersion))}const R=(x+2)%4,L=j.outerEdges[R],P=b.count-1,N=L.count-1;E(P*S===N,`Tile[${e.lij}]:e${x},res=${P} edgeRes mismatch with Neighbor[${v.lij}]:e${R},res=${N} (expected:${P*S})`);const I=e.extent,G=s===D.NORTH||s===D.SOUTH,M=L.count-1,O=M/2**C,q=b.count-1;if(O<1)return void E(1===q);E(O===q),E(t(O));const z=j.numVerticesPerSide-1;E(C>0||O===Math.max(z,T));const J=e.getNeighborEdgeStartVertexIndex(x,v);E(0<=J&&J<S);const K=J*O;E(0<=K&&K<=M-O);let Q=0,Y=K;b.getVertexPos(U,0),b.getVertexPos(k,b.count-1);const Z=a(U,k),ee=Math.max(W,1e-4*Z);for(let t=0;t<=O;++t){b.getVertexPos(U,Q),L.getVertexPos(k,Y);const a=t/O,p=G?I[0]+a*(I[2]-I[0]):s===D.WEST?I[0]:I[2],_=G?s===D.SOUTH?I[1]:I[3]:I[1]+a*(I[3]-I[1]),C=e.surface.extent;if(i(C)||f(C,p,_)){const t=n(U,k),i=o(U)-y.radius,s=o(k)-y.radius,a=t<ee;if(!a){console.warn(`Tile edge vertex position mismatch: between [${e.lij}].edge${x}[${Q}/${b.count}] and [${v.lij}].edge${R}[${Y}/${L.count}]`),r(C)&&console.warn(" surface extent= ",C," x,y=",p,",",_);const n=u();l(n,e.renderData.localOrigin,v.renderData.localOrigin),o(n)>0&&console.warn(` localOrigins: ${e.renderData.localOrigin} vs ${v.renderData.localOrigin} d=${o(n)} [${n}]`);(()=>{const t=m(U),r=m(k);e.updateEdgeElevations(),v.updateEdgeElevations(),b.getVertexPos(U,Q),L.getVertexPos(k,Y);const i=u();g(i,U,t),o(i)>0&&console.warn(` XXX Tile[${e.lij}] edge out of date: ${t} vs ${U} d=${o(i)} [${i}]`),g(i,k,r),o(i)>0&&console.warn(` XXX Neighbor[${v.lij}] edge out of date: ${r} vs ${k} d=${o(i)} [${i}]`)})(),E(a,`Mismatch in tile [${e.lij}].edge[${x}][${Q}/${b.count}] vs neighbor [${v.lij}].edge[${R}][${Y}/${L.count}] ${A(U)} vs ${A(k)} dist=${t} h(t|n|d)=${i}|${s}|${s-i}`)}if(e.surface.shading){b.getNormal(F,Q),L.getNormal(B,Y),h(X,F),h(H,B);const t=d(X,H),r=!1,i=1-t<.01||r||e===v;if(!i){const r=u();g(r,F,B);const s=()=>`Mismatch in tile edge normal ${V(e.lij)} (${Q}/${b.count-1}) edge ${x} vs neighbor ${V(v.lij)} (${Y}/${L.count-1}) nedge ${R} :${A(F)} vs ${A(B)} dot = ${t} : ${A(r)}`;console.warn("Mismatch in tile edge normal: ",s());{e.updateEdgeElevations(),v.updateEdgeElevations();const t=u(),r=u();b.getNormal(t,Q),L.getNormal(r,Y),c(F,t)||console.warn("Missing update in tile normal: ",A(F)," => ",A(t)),c(B,r)||console.warn("Missing update in neighbor normal: ",A(B)," => ",A(r))}E(i,s())}}}Q+=1,Y+=1}}))}}const U=u(),k=u(),F=u(),B=u(),X=u(),H=u(),W=1,q=[null,null,null,null];function z(e,t){return t?.isLoaded||t===e?t:null}export{O as PatchRenderData,z as neighborTileIfLoadedOrSelf};
5
+ import{equals as e}from"../../../core/arrayUtils.js";import{isPowerOfTwo as t}from"../../../core/mathUtils.js";import{isSome as r,isNone as i,mapOr as s}from"../../../core/maybe.js";import{i as a,j as n,u as o,b as l,n as h,e as d,y as g,F as c}from"../../../chunks/vec3.js";import{c as u,a as m}from"../../../chunks/vec3f64.js";import{empty as p}from"../../../geometry/support/aaBoundingBox.js";import{containsXY as f}from"../../../geometry/support/aaBoundingRect.js";import{earth as y}from"../../../geometry/support/Ellipsoid.js";import{glLayout as _}from"../support/buffer/glUtil.js";import{GeometryState as x}from"./GeometryState.js";import{NeighborIndex as D}from"./interfaces.js";import{LayerClass as v}from"./LayerClass.js";import{PatchGeometry as C,releaseGeometry as S}from"./PatchGeometry.js";import{ENABLE_TERRAIN_INTERNAL_CHECKS as $,internalAssert as E,neighborEdgeIndices as b,oppositeEdge as T,neighborCornerIndices as j,v32s as A,lij2s as V}from"./terrainUtils.js";import{TextureFader as R,ActivationTime as L}from"./TextureFader.js";export{ActivationTime}from"./TextureFader.js";import{isEdgeNeighbor as w}from"./Tile.js";import P from"./TileOverlayData.js";import{fallsWithinLayer as N}from"./tileUtils.js";import{VertexArrayObject as I}from"../webgl-engine/lib/VertexArrayObject.js";import{terrainVertexAttributeLocations as G}from"../webgl-engine/shaders/TerrainTechnique.js";import{BufferObject as M}from"../../webgl/BufferObject.js";class O{constructor(){this.geometryInfo=new C,this.intersectionData=null,this.geometryState=null,this._textureRef=new R((()=>this.tile.surface.textureFadeDuration)),this.overlay=new P,this._geometryStateChangedSinceLastUpdate=!0,this._hasGeometry=!1,this._numVerticesPerSideChanged=!1,this._samplerDataChanged=!1,this._clippingAreaChanged=!1,this._wireframeChanged=!1,this._shadingChanged=!1,this._dirtyEdgeResolutions=15,this._dirtyEdges=15,this._dirtyCorners=15}get tile(){return this._tile}init(e){this.clear(),this._tile=e;const t=this.geometryInfo;t.indices=null,t.vertexAttributes=null,p(t.boundingBox),t.indexCount=0,t.numVerticesPerSide=0,this.intersectionData=null,this.geometryState=new x,this.localOrigin=null,this.overlay.clear()}clear(){this._releaseGeometry(),this.releaseTexture(),this._textureRef.clear(),this._tile=null,this.intersectionData=null,this.geometryState=null}updateGeometryIfNeeded(e){if((!this._vao||this._geometryStateChangedSinceLastUpdate||this._wireframeChanged||this._shadingChanged||this._clippingAreaChanged||this._samplerDataChanged||this._numVerticesPerSideChanged||this._dirtyCorners||this._dirtyEdgeResolutions||this._dirtyEdges)&&(this._updateGeometry(e),this._geometryStateChangedSinceLastUpdate=!1),$&&this.tile.intersectsClippingArea)for(let t=0;t<4;++t)E(this.geometryInfo.outerEdges[t].count===this.geometryState.neighborData.edgeResolutions[t]+1)}_calculateEdgeResolution(e,t){const s=this.tile,a=this.geometryState.numVerticesPerSide-1;if(!s.surface.isGlobal){const t=s.surface.extent;if(r(t)&&(0===e&&s.extent[3]>t[3]||1===e&&s.extent[2]>t[2]||2===e&&s.extent[1]<t[1]||3===e&&s.extent[0]<t[0]))return a}const n=s.level,o=b[e];if(!t)return E(i(s.surface?.rootTiles)||s.surface.updatingRootTiles||!s.shouldHaveNeighbor(o)),a;if(t.isLoaded){const r=t,i=r.renderData.geometryState,s=n-r.level;if(E(s>=0),0===s){const e=i.numVerticesPerSide-1;return Math.max(e,a)}const o=2**s,l=i.neighborData.edgeResolutions[(e+2)%4]/o;return Math.max(1,l)}E(!t.isLeaf);let l=a;return t.forAllSubtreeOnSide(T(o),(e=>e===s||(e.isLoaded?(l=Math.max(l,2**(e.level-n)),!0):(E(!e.isLeaf),!1)))),l}updateNeighborData(){const e=this.tile;if(!e.intersectsClippingArea)return;const r=e.renderData.geometryState.neighborData,i=t=>(t.isLoaded||t.level===e.level)&&t?.intersectsClippingArea,s=r.edgePeerNeighbors,a=r.edgePeerNeighborSamplerVersions;for(let o=0;o<4;++o){const n=e.findNeighborTile(b[o],i),l=z(e,n),h=l?.renderData?.geometryState.samplerDataVersion??-1,d=s[o],g=l!==z(e,d),c=a[o]!==h;s[o]=n,(g||c)&&(a[o]=h,this._markEdgeDirty(o));const u=r.edgeResolutions[o],m=this._calculateEdgeResolution(o,n);E(t(m)),E(m>=1),r.edgeResolutions[o]=m,u!==m&&this._markEdgeResolutionDirty(o)}const n=r.cornerPeerNeighbors;for(let t=0;t<4;++t){const a=e.findNeighborTile(j[t],i);n[t]=a;const o=z(e,s[t]),l=z(e,s[(t+1)%4]),h=z(e,a);q[t]=h,q[(t+1)%4]=l,q[(t+2)%4]=e,q[(t+3)%4]=o,E(q.some((t=>t?.isLoaded||t===e)));const d=q.reduce(((e,t)=>Math.min(e,t?.level??1/0)),1/0);q.forEach(((e,t)=>{e?.level>d&&(q[t]=null)})),E(q.some((t=>t?.isLoaded||t===e)));const g=r.cornerNeighborData[t].cornerTiles,c=r.cornerNeighborData[t].cornerTileSamplerVersions;for(let e=0;e<4;++e){const r=q[e],i=r?.renderData.geometryState.samplerDataVersion??-1,s=g[e]!==r,a=!s&&c[e]!==i;(s||a)&&(g[e]=r,c[e]=i,this._markCornerDirty(t))}E(g.some((t=>t?.isLoaded||t===e)))}$&&E(this.geometryState.neighborData.edgeResolutions.every((e=>e>0)));for(let t=0;t<4;++t)q[t]=null}_updateGeometry(e){if(!this.tile.intersectsClippingArea)return;$&&E(!this.tile.intersectsClippingArea||this.geometryState.neighborData.edgeResolutions.every((e=>e>0))),this.intersectionData=null;const t=this.tile,r=this._vao,i=this.geometryInfo.vertexAttributes,s=!r||!i||this._wireframeChanged||this._shadingChanged||this._numVerticesPerSideChanged||this._samplerDataChanged||this._clippingAreaChanged||this._dirtyEdgeResolutions,a=!s&&(0!==this._dirtyEdges||0!==this._dirtyEdgeResolutions),n=!a&&0!==this._dirtyCorners;s?(this._releaseGeometry(),this._createGeometry(e)):a||n?t.updateEdgeElevations():n?t.updateCornerElevations():console.warn("Update for no reason?"),this._numVerticesPerSideChanged=!1,this._samplerDataChanged=!1,this._dirtyEdgeResolutions=0,this._dirtyEdges=0,this._dirtyCorners=0,this._clippingAreaChanged=!1,this._wireframeChanged=!1}releaseGeometry(){return this._releaseGeometry()}get hasGeometry(){return this._hasGeometry}ensureTexture(e,t){return r(this._texture)&&this._texture.descriptor.width!==e&&this.releaseTexture(),i(this._texture)&&(this._texture=t(),this.tile.setMemoryDirty()),this._texture}releaseTexture(){r(this._texture)&&(this._texture.release(),this._texture=null,this.tile.setMemoryDirty())}_markCornerDirty(e){const t=1<<e;this._dirtyCorners|=t}_markEdgeDirty(e){const t=1<<e;this._dirtyEdges|=t}_markEdgeResolutionDirty(e){const t=1<<e;this._dirtyEdgeResolutions|=t,this._dirtyEdges|=t}_markAllEdgesAndCornersDirty(){this._dirtyCorners=15,this._dirtyEdges=15,this._dirtyEdgeResolutions=15}updateGeometryState(){const t=this._getElevationInfo(),r=this.tile,i=t.samplerData?r.getElevationBasedVerticesPerSide(t.maxTileLevel):r.getDefaultVerticesPerRowOnLevel(),s=Math.max(i,5);let a=r.clippingArea;r.intersectsClippingArea&&!r.isWithinClippingArea||(a=null);const n=this.geometryState;let o=!1;n.numVerticesPerSide!==s&&(this._numVerticesPerSideChanged=!0,n.numVerticesPerSide=s,n.samplerDataVersion++,o=!0),t.changed&&(this._samplerDataChanged=!0,n.samplerData=t.samplerData,n.samplerDataVersion++,o=!0),e(n.clippingArea,a)||(this._clippingAreaChanged=!0,n.clippingArea=a,o=!0);const l=r.surface,h=l.wireframe;n.wireframe!==h&&(this._wireframeChanged=!0,n.wireframe=h,o=!0);const d=l.shading;return n.shading!==d&&(this._shadingChanged=d,n.shading=d,o=d),this._geometryStateChangedSinceLastUpdate||(this._geometryStateChangedSinceLastUpdate=o),o&&this._markAllEdgesAndCornersDirty(),this._hasGeometry=!0,this._geometryStateChangedSinceLastUpdate}_createGeometry(e){this.tile.createGeometry();const t=this.geometryInfo.vertexAttributes,r=this.geometryInfo.indices,i=e.gl;this._vao=new I(e,G,{geometry:_(t.layout)},{geometry:M.createVertex(e,i.STATIC_DRAW,t.buffer)},M.createIndex(e,i.STATIC_DRAW,r)),this._hasGeometry=!0}_releaseGeometry(){return this._hasGeometry=!1,this.intersectionData=null,!!this._vao&&(this._vao.dispose(),this._vao=null,S(this.geometryInfo),!0)}get vao(){return this._vao}setTextureReference(e,t=L.Immediate){r(e)&&e.texture!==this._texture&&this.releaseTexture(),this._textureRef.push(e,t)}get textureReference(){return this._textureRef.current}get nextTextureReference(){return this._textureRef.next}get textureFadeFactor(){return this._textureRef.fadeFactor}get textureIsFading(){return this._textureRef.isFading}_getElevationInfo(){const e=this.geometryState.samplerData,t=this.tile.layerInfo[v.ELEVATION],i=t.length;let s=new Array(i),a=0,n=0,o=!1;for(let l=0;l<i;l++){const i=t[l];if(r(i.upsampleInfo)){const t=i.upsampleInfo.tile,r=t.layerInfo[v.ELEVATION][l].data,h=r&&r.samplerData;e&&e[a]===h||(o=!0),s[a++]=h,n=Math.max(n,t.lij[0])}else if(i.data){const t=this.tile.surface.layerViewByIndex(l,v.ELEVATION);if(N(this.tile,t.layer,!1)){const t=i.data;e&&e[a]===t.samplerData||(o=!0),s[a++]=t.samplerData,n=this.tile.level}}}return r(e)&&e.length!==a&&(o=!0),a>0?s.length=a:s=null,{changed:o,samplerData:s,maxTileLevel:n}}get estimatedGeometryMemoryUsage(){const e=s(this.intersectionData,0,(e=>e.estimatedMemoryUsage));return(this.geometryInfo.indices?.byteLength??0)+(this.geometryInfo.vertexAttributes?.byteLength??0)+e}get textureDescriptor(){return r(this._texture)?this._texture.descriptor:null}get test(){return{hasTexture:null!=this._texture}}checkGeometryWaterproofness(){if(!$)return;const e=this.tile;if(E(e?.isLoaded),!e.isLoaded||!e.intersectsClippingArea)return;if(0===e.level)return;const s=e.surface.extent;if(r(s)&&!e.intersectsExtent(s))return;const p=b.map(((t,i)=>!!r(s)&&(i<2?-1:1)*(e.extent[3-i]-s[3-i])<0)),_=e.level;E(0===this._dirtyCorners),E(0===this._dirtyEdges),E(0===this._dirtyEdgeResolutions),E(!this._numVerticesPerSideChanged),E(!this._samplerDataChanged),E(!this._clippingAreaChanged),E(!this._wireframeChanged);const x=j.map((t=>e.findNeighborCornerTileExact(t,(t=>!t.intersectsClippingArea||t.isLoaded||t.level===e.level))??null)).map((e=>e?.intersectsClippingArea?e:null)),v=this.geometryState.neighborData;for(let t=0;t<4;++t){const r=v.cornerPeerNeighbors[t],i=x[t];E(i===r,`Tile[${e.lij}].corner[${t}] out of date: cur=[${r?.lij}] exp=[${i?.lij}]`)}b.forEach(((s,x)=>{if(p[x])return;const v=e.findNeighborTile(s,(e=>(e.level===_||e?.isLoaded)&&e?.intersectsClippingArea));if(!v){const t=!e.surface.updatingRootTiles&&r(e.surface.rootTiles)&&e.surface.rootTiles.length>0&&e.shouldHaveNeighbor(s);return void E(!t)}E(v.isLoaded||v.level===e.level),E(v===this.geometryState.neighborData.edgePeerNeighbors[x]);const C=_-v.level;if(!v.isLoaded)return E(!v.isLeaf),void E(0===C);E(w(e,v,s)),E(C>=0);const S=2**C;if(C<0)return void E(!1);const $=e.renderData.geometryInfo,b=$.outerEdges[x],T=$.numVerticesPerSide-1,j=v.renderData.geometryInfo;if(!j)return void E(!1);{const t=this.geometryState.neighborData.edgePeerNeighbors[x];(t?.isLoaded||t.isLoaded)&&(E(t==t),E(e.renderData.geometryState.neighborData.edgePeerNeighborSamplerVersions[x]===t.renderData.geometryState.samplerDataVersion),E(this.geometryState.neighborData.edgePeerNeighborSamplerVersions[x]===t.renderData.geometryState.samplerDataVersion))}const R=(x+2)%4,L=j.outerEdges[R],P=b.count-1,N=L.count-1;E(P*S===N,`Tile[${e.lij}]:e${x},res=${P} edgeRes mismatch with Neighbor[${v.lij}]:e${R},res=${N} (expected:${P*S})`);const I=e.extent,G=s===D.NORTH||s===D.SOUTH,M=L.count-1,O=M/2**C,q=b.count-1;if(O<1)return void E(1===q);E(O===q),E(t(O));const z=j.numVerticesPerSide-1;E(C>0||O===Math.max(z,T));const J=e.getNeighborEdgeStartVertexIndex(x,v);E(0<=J&&J<S);const K=J*O;E(0<=K&&K<=M-O);let Q=0,Y=K;b.getVertexPos(U,0),b.getVertexPos(k,b.count-1);const Z=a(U,k),ee=Math.max(W,1e-4*Z);for(let t=0;t<=O;++t){b.getVertexPos(U,Q),L.getVertexPos(k,Y);const a=t/O,p=G?I[0]+a*(I[2]-I[0]):s===D.WEST?I[0]:I[2],_=G?s===D.SOUTH?I[1]:I[3]:I[1]+a*(I[3]-I[1]),C=e.surface.extent;if(i(C)||f(C,p,_)){const t=n(U,k),i=o(U)-y.radius,s=o(k)-y.radius,a=t<ee;if(!a){console.warn(`Tile edge vertex position mismatch: between [${e.lij}].edge${x}[${Q}/${b.count}] and [${v.lij}].edge${R}[${Y}/${L.count}]`),r(C)&&console.warn(" surface extent= ",C," x,y=",p,",",_);const n=u();l(n,e.renderData.localOrigin,v.renderData.localOrigin),o(n)>0&&console.warn(` localOrigins: ${e.renderData.localOrigin} vs ${v.renderData.localOrigin} d=${o(n)} [${n}]`);(()=>{const t=m(U),r=m(k);e.updateEdgeElevations(),v.updateEdgeElevations(),b.getVertexPos(U,Q),L.getVertexPos(k,Y);const i=u();g(i,U,t),o(i)>0&&console.warn(` XXX Tile[${e.lij}] edge out of date: ${t} vs ${U} d=${o(i)} [${i}]`),g(i,k,r),o(i)>0&&console.warn(` XXX Neighbor[${v.lij}] edge out of date: ${r} vs ${k} d=${o(i)} [${i}]`)})(),E(a,`Mismatch in tile [${e.lij}].edge[${x}][${Q}/${b.count}] vs neighbor [${v.lij}].edge[${R}][${Y}/${L.count}] ${A(U)} vs ${A(k)} dist=${t} h(t|n|d)=${i}|${s}|${s-i}`)}if(e.surface.shading){b.getNormal(F,Q),L.getNormal(B,Y),h(X,F),h(H,B);const t=d(X,H),r=!1,i=1-t<.01||r||e===v;if(!i){const r=u();g(r,F,B);const s=()=>`Mismatch in tile edge normal ${V(e.lij)} (${Q}/${b.count-1}) edge ${x} vs neighbor ${V(v.lij)} (${Y}/${L.count-1}) nedge ${R} :${A(F)} vs ${A(B)} dot = ${t} : ${A(r)}`;console.warn("Mismatch in tile edge normal: ",s());{e.updateEdgeElevations(),v.updateEdgeElevations();const t=u(),r=u();b.getNormal(t,Q),L.getNormal(r,Y),c(F,t)||console.warn("Missing update in tile normal: ",A(F)," => ",A(t)),c(B,r)||console.warn("Missing update in neighbor normal: ",A(B)," => ",A(r))}E(i,s())}}}Q+=1,Y+=1}}))}}const U=u(),k=u(),F=u(),B=u(),X=u(),H=u(),W=1,q=[null,null,null,null];function z(e,t){return t?.isLoaded||t===e?t:null}export{O as PatchRenderData,z as neighborTileIfLoadedOrSelf};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.25/esri/copyright.txt for details.
4
4
  */
5
- import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Color.js";import i from"../../../core/Accessor.js";import{difference as r}from"../../../core/arrayUtils.js";import s from"../../../core/CollectionFlattener.js";import a from"../../../core/Evented.js";import n from"../../../core/Handles.js";import l from"../../../core/Logger.js";import{clamp as o}from"../../../core/mathUtils.js";import{releaseMaybe as h,destroyMaybe as d,isNone as p,isSome as u}from"../../../core/maybe.js";import c from"../../../core/ObjectPool.js";import _ from"../../../core/PooledArray.js";import{throwIfAborted as g,isAbortError as m,isAborted as f,createAbortError as T}from"../../../core/promiseUtils.js";import{watch as y,syncAndInitial as v,sync as w,initial as S}from"../../../core/reactiveUtils.js";import{property as E}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as L}from"../../../core/accessorSupport/decorators/subclass.js";import{m as D}from"../../../chunks/mat4.js";import{c as b}from"../../../chunks/mat4f64.js";import{c as C}from"../../../chunks/vec3.js";import{c as P}from"../../../chunks/vec3f64.js";import{c as x}from"../../../chunks/vec4f64.js";import{WatchUpdatingTracking as U}from"../../../core/support/WatchUpdatingTracking.js";import{projectVectorToVector as R,projectPointToVector as M}from"../../../geometry/projection.js";import{getReferenceEllipsoid as j}from"../../../geometry/projectionEllipsoid.js";import A from"../../../geometry/SpatialReference.js";import{create as I,equals as O,intersection as V,empty as k,expand as B,intersectsSphere as N}from"../../../geometry/support/aaBoundingRect.js";import{create as F,copy as q}from"../../../geometry/support/frustum.js";import{isPlateCarree as G}from"../../../geometry/support/spatialReferenceUtils.js";import{isRefreshableLayer as W}from"../../../layers/mixins/RefreshableLayer.js";import{ElevationQueryTileCache as H}from"../../../layers/support/ElevationQueryTileCache.js";import{isBaseLayer as z}from"../../../layers/support/layerUtils.js";import{acquireDecoder as X}from"../../../layers/support/LercDecoder.js";import{printAllocations as Q}from"../../2d/engine/vectorTiles/VectorTile.js";import{directionToHeadingTilt as Y,scaleToZoom as $}from"../support/cameraUtils.js";import K from"../support/debugFlags.js";import{toBoundingRect as J}from"../support/extentUtils.js";import{ClientType as Z}from"../support/index.js";import{updatingProgress as ee}from"../support/updatingProperties.js";import{ElevationBounds as te}from"./ElevationBounds.js";import{ElevationData as ie,sampleElevation as re}from"./ElevationData.js";import{create as se}from"./ExtentHelper.js";import{LODSnapping as ae,TextureUpdate as ne}from"./interfaces.js";import{LayerClass as le,LayerClasses as oe}from"./LayerClass.js";import{OverlayManager as he}from"./OverlayManager.js";import{PlanarPatch as de}from"./PlanarPatch.js";import{RenderOrder as pe}from"./RenderOrder.js";import{SphericalPatch as ue}from"./SphericalPatch.js";import{MAX_ROOT_TILES as ce,TOO_MANY_ROOT_TILES_AFTER_CHANGE_ERROR as _e,TOO_MANY_ROOT_TILES_FOR_LAYER_ERROR as ge,MAX_MEMORY_LOD_BIAS as me,ELEVATION_NODATA_VALUE as fe}from"./TerrainConst.js";import{TerrainRenderer as Te,TransparencyMode as ye}from"./TerrainRenderer.js";import ve from"./TerrainSurfacePerformanceInfo.js";import{weakAssert as we,internalAssert as Se,oppositeEdge as Ee,isSurfaceLayerView as Le,isGroupLayerView as De,isMapTileLayerView as be,isBlendableLayerView as Ce,isElevationLayerView as Pe,isVectorTileLayerView as xe,useFetchTileForLayer as Ue,isImageryTileLayerView as Re,isTileLayerView as Me,releaseTileData as je,neighborEdgeIndices as Ae,ENABLE_TERRAIN_INTERNAL_CHECKS as Ie,ENABLE_WATERPROOFNESS_TESTS as Oe,enableTerrainInternalChecks as Ve,enableTerrainWaterproofnessChecks as ke}from"./terrainUtils.js";import{SplitLimits as Be,Tile as Ne}from"./Tile.js";import{printAllocations as Fe}from"./TilePerLayerInfo.js";import{TileUpdate as qe}from"./TileUpdate.js";import{IteratorPreorder as Ge,IteratorPostorder as We,compareTilesByLij as He,hasLoadableSiblings as ze,sortTilesByPOI as Xe,sortTiles as Qe}from"./tileUtils.js";import{TilingSchemeLogic as Ye}from"./TilingSchemeLogic.js";import{UpsampleInfo as $e}from"./UpsampleInfo.js";import{isCompositeBlendMode as Ke,blendModeFromString as Je}from"../webgl-engine/core/shaderLibrary/output/BlendOptions.js";import{RenderRequestType as Ze}from"../webgl-engine/lib/basicInterfaces.js";import{RenderState as et}from"../../support/RenderState.js";import{ImmediateTask as tt,TaskPriority as it,noBudget as rt}from"../../support/Scheduler.js";let st=class extends(a.EventedMixin(i)){constructor(e){super(e),this._iteratorPool=new c(Ge,(e=>e.remove=()=>this._iteratorPool.release(e))),this._postorderIterator=new We,this._hasPendingUpdates=!1,this._pendingUpdates=0,this._asyncWorkItems=0,this._allTilesDirty=!0,this._allTilesSorted=!0,this._visibleCached=!1,this._usedMemory=null,this._performanceInfo=new ve,this._viewChanged=!1,this._inFrameTask=!1,this._viewChangeUpdateDirty=!1,this._eyePosRenderSR=P(),this._eyePosSurfaceSR=P(),this._splitLimits=new Be,this._snapLevel=1/0,this._frustum=F(),this._viewProjectionMatrix=b(),this._layerViews=[new Array,new Array],this._layerIndexByUid=[new Map,new Map],this._basemapLayerViewHandles=new Map,this._handles=new n,this._watchUpdatingTracking=new U,this._frameTask=tt,this._allTiles=new _,this._upsampleInfoPool=new c($e),this._rootTilesExtent=I(),this._maxNumUpdating=1,this.maxTextureScale=1.2,this._spatialReference=A.WebMercator,this.visibleElevationBounds=new te(1/0,-1/0),this.rootTileElevationBounds=new te(1/0,-1/0),this._updatingRootTiles=!1,this._pendingTilesForElevationUpdateEvent=new Set,this._pendingTilesToUpdate=new Set,this.totalGeometryUpdates=0,this.totalTileUpdates=0,this.oneBatchPerFrameTask=!0,this._layerViewsDirty=!1,this._shading=!0,this._isWebMercator=!1,this._isWebMercatorOnPlateeCarree=!1,this._isGlobal=!e.view?.state?.isLocal}initialize(){this._lercDecoder=X(this.view.resourceController),this._tilePool=this.view.state.isLocal?new c(de):new c(ue);const e=this.view.resourceController.memoryController;this._upsampleMapCache=e.newCache("esri.views.3d.terrain.upsample",(e=>e.unloadMapData())),this._elevationQueryCache=new H(e.newCache("elevation-query")),this._set("overlayManager",new he({surface:this})),this._handles.add([y((()=>this.overlayManager.hasHighlights),(e=>this._renderer.setNeedsHighlight(e))),y((()=>this.overlayManager.rendersOccluded),(e=>this._renderer.setRenderOccludedOverlay(e)))],"overlayManager"),this._renderer=new Te({_overlayRenderer:this.overlayManager.renderer,_ellipsoidRadius:j(this.view.spatialReference).radius,_stage:this.view._stage,_allTiles:this._allTiles}),this._handles.add([y((()=>this.baseOpacity),(e=>{this._handleLayerViewChanges(),this._updateBaseOpacity(e)}),v),y((()=>this.hasCompositeBlendMode),(()=>{this._updateBaseOpacity(this.baseOpacity)}),v),y((()=>this.renderingDisabled),(()=>this.view?._stage?.renderView.setRenderParameters({terrainRenderingEnabled:!this.renderingDisabled})),w),y((()=>this.backgroundColor),(e=>{this._handleLayerViewChanges(),this._renderer.updateTileBackground(e)}),v),y((()=>this.view.pointsOfInterest),(e=>{this._renderer.pointsOfInterest=e,this._watchUpdatingTracking.removeAll(),e&&this._watchUpdatingTracking.add((()=>e.focus.renderLocation),(()=>()=>this._allTilesSorted=!1))})),y((()=>K.TERRAIN_TILE_TREE_SHOW_TILES),(e=>{e&&!this._treeDebugger?import("../layers/support/TerrainTileTree3DDebugger.js").then((({TerrainTileTree3DDebugger:e})=>{!this._treeDebugger&&K.TERRAIN_TILE_TREE_SHOW_TILES&&(this._treeDebugger=new e({view:this.view}))})):e||(this._treeDebugger=d(this._treeDebugger))}),S)]),this._extentHelper=se(this.viewingMode,{layers:this.view.map.allLayers,layerViews:this.view.allLayerViews,viewSpatialReference:this.view.spatialReference});const t=this.view.defaultsFromMap?new s({getCollections:()=>this.view?.defaultsFromMap?.mapCollections?.map((({layers:e})=>e)),getChildrenFunction:e=>e&&"layers"in e?e.layers:null}):this.view.map.allLayers,i=new Ye({layers:t,extentHelper:this._extentHelper,viewingMode:this.viewingMode,viewSpatialReference:this.view.spatialReference});this._set("tilingSchemeLogic",i),this._updateTilingScheme(),this._elevationDataRequester=this.view.resourceController.createStreamDataRequester(Z.ELEVATION),this._mapDataRequester=this.view.resourceController.createStreamDataRequester(Z.BASEMAP);const r=this.view.resourceController.scheduler;this._frameTask=r.registerTask(it.TERRAIN_SURFACE,this),this._handles.add([y((()=>this._extentHelper.stencilEnabledExtents),(e=>this._renderer.setStencilEnabledLayerExtents(e)),S),y((()=>this.tilingSchemeLogic.tilingScheme),(()=>this._updateTilingScheme()),w),y((()=>this.extent),(()=>this._updateRootTiles()),S),this.view.on("resize",(()=>this._viewChangeUpdate())),y((()=>{const e=this.view,t=e.state;return[this._lodBias,this.lodSnapping,e.resourceController?.memoryController?.memoryFactor,t.camera,t.contentCamera,t.fixedContentCamera]}),(()=>this._viewChangeUpdate()),v),y((()=>this.view.qualitySettings?.tiledSurface?.textureFadeDuration),(e=>this._renderer.textureFadingEnabled=e>0),S),y((()=>this._userClippingExtent),(()=>this._updateClippingExtent()),w)]),this._handles.add(this.view.allLayerViews.on("after-changes",(()=>this._layerViewsDirty=!0))),this._handles.add([y((()=>this.view?.map.ground.shading),(()=>{this._updateShadingIfChanged()}))]),this._updateShading(),this._layerViewsDirty=!0,this._handleLayerViewChanges()}destroy(){this._frameTask.remove(),this._handles.destroy(),this._watchUpdatingTracking.destroy(),this._lercDecoder=h(this._lercDecoder),this._removeAllTiles(),this._upsampleMapCache=d(this._upsampleMapCache),this._elevationQueryCache=d(this._elevationQueryCache),this._set("tilingSchemeLogic",d(this.tilingSchemeLogic)),this._extentHelper=d(this._extentHelper),this._basemapLayerViewHandles.forEach(((e,t)=>this._unregisterTiledLayerView(t))),this._elevationDataRequester=null,this._mapDataRequester=null,this._set("overlayManager",d(this.overlayManager)),this._tilePool=d(this._tilePool),Ne.prune(),this._treeDebugger&&(this._treeDebugger.destroy(),this._treeDebugger=null),this._renderer=d(this._renderer),this._iteratorPool=d(this._iteratorPool),this._set("view",null),this._upsampleInfoPool=d(this._upsampleInfoPool),Q(),Fe()}get renderer(){return this._renderer}get frustum(){return this._frustum}get snapLevel(){const e=this.view.pointsOfInterest?.contentCameraOnSurface?.scale;if(e){const t=this.view.state.contentCamera;let i=Y(this.view,t.eye,t.viewForward,t.up).tilt;i>90&&(i=180-i);const r=2*(i/90)**2,s=$(this.view,e)-r;Math.round(s)!==Math.round(this._snapLevel)&&(this._viewChanged=!0),this._snapLevel=s}return Math.round(this._snapLevel)}get lodSnapping(){return this.view.qualitySettings.tiledSurface.reduceTileLevelDifferences?ae.ON:ae.OFF}get upsampleInfoPool(){return this._upsampleInfoPool}get upsampleMapCache(){return this._upsampleMapCache}get elevationQueryCache(){return this._elevationQueryCache}get mapTileRequester(){return this._mapDataRequester}get _userClippingExtent(){const{spatialReference:e}=this,{clippingArea:t}=this.view;if(p(t)||p(e))return null;const i=I(),r=J(t,i,e)?i:null,s=this._get("extent");return O(r,s)?s:r}get rootTilesExtent(){return this._rootTilesExtent}get extent(){const e=V(this.groundExtent,this._userClippingExtent,I()),t=this._get("extent");return O(e,t)?t:e}get groundExtent(){return u(this._tilingSchemeExtent)?this._tilingSchemeExtent:this._rootTilesExtent}get _tilingSchemeExtent(){return this.tilingSchemeLogic?.extent}get updating(){return this._hasPendingUpdates||(this._maxNumUpdating=1),!!((this.running||this._watchUpdatingTracking.updating||this._asyncWorkItems>0)&&this.ready&&!this.suspended||this.overlayManager.updating)}get running(){return(this._hasPendingUpdates||this._viewChanged||this._allTilesDirty||!this._allTilesSorted||this._layerViewsDirty||this._frameTask.updating)&&this.ready&&!this.suspended}get updatingProgressValue(){return this._maxNumUpdating=Math.max(this._pendingUpdates,this._maxNumUpdating),1-this._pendingUpdates/this._maxNumUpdating}get baseOpacity(){return this.view.map.ground.opacity}set baseOpacity(e){this.view.map.ground.opacity=e}get viewingMode(){return this.view.state.viewingMode}get ready(){return u(this.rootTiles)}set renderOrder(e){this._renderer.renderOrder=e,this._set("renderOrder",e)}get spatialReference(){return this.tilingScheme?.spatialReference??null}get backgroundColor(){return this.view.map.ground.surfaceColor}set backgroundColor(e){this.view.map.ground.surfaceColor=e}set slicePlaneEnabled(e){this._renderer.slicePlaneEnabled=e,this._set("slicePlaneEnabled",e),this._evaluateTransparency(this.baseOpacity)}get tilingSchemeLocked(){return this.tilingSchemeLogic?.tilingSchemeLocked??!1}set velvetOverground(e){e!==this.velvetOverground&&(this._renderer.velvetOverground=e),this._set("velvetOverground",e)}get wireframe(){return this._renderer.wireframe}set wireframe(e){e!==this._renderer.wireframe&&(this._renderer.wireframe=e,this._updateAllTileGeometries())}set _visible(e){e!==this._visibleCached&&(this._visibleCached=e,this._renderer.setVisibility(e),this.suspended=!e)}get opaque(){return this._renderer.transparency===ye.Opaque}set suspended(e){this._set("suspended",e),this._viewChangeUpdate()}get textureFadeDuration(){return this.view.qualitySettings.tiledSurface.textureFadeDuration??0}intersect(e,t,i,r){this._renderer.intersect(e,t,i,r)}getElevation(e,t,i,r){const s=this.rootTiles;if(p(s)||!s.length)return null;if(0===s[0].layerInfo[le.ELEVATION].length)return null;const a=ht;if(a[0]=e,a[1]=t,a[2]=i,!R(a,r,a,this._spatialReference))return l.getLogger(this.declaredClass).error("TerrainSurface.getElevation(): could not project given point to tiling scheme coordinate system"),null;return gt(s,a[0],a[1])}getElevations(e,t,i){const r=this.rootTiles,s=r?r[0].layerInfo[le.ELEVATION].length:0;if(!p(r)&&r.length&&0!==s)for(let a=0;a<t;++a){const t=3*a;i(a,gt(r,e[t+0],e[t+1]))}else for(let a=0;a<t;++a)i(a,null)}getScale(e){if(this.tilingScheme){if(!M(e,ht,this.spatialReference))return l.getLogger(this.declaredClass).error("TerrainSurface.getScale(): could not project given point to tiling scheme coordinate system"),null;const t=this.rootTiles;if(u(t))for(let e of t)if(e?.containsPoint(ht)){for(;!e.isLeaf&&!e.rendered;){let t=0;ht[0]>e.children[0].extent[2]&&(t+=1),ht[1]<e.children[0].extent[1]&&(t+=2),e=e.children[t]}return this._getLodBiasCorrectedScale(e.level)}}return 1e100}getSphereElevationBounds(e,t,i,r,s){if(ht[0]=e,ht[1]=t,ht[2]=i,ht[3]=r,!R(ht,s,ht,this.tilingScheme?.spatialReference))return l.getLogger(this.declaredClass).error("TerrainSurface.getSphereElevationBounds(): could not project given point to tiling scheme coordinate system"),null;let a=1/0,n=-1/0;const o=e=>{if(e&&N(e.extent,ht))if(e.isLeaf||e.rendered)a=Math.min(a,e.elevationBounds[0]),n=Math.max(n,e.elevationBounds[1]);else for(const t of e.children)o(t)},h=this.rootTiles;if(u(h))for(const l of h)o(l);return{min:a,max:n}}getSphereScale(e,t){if(!this.tilingScheme)return null;if(!M(e,ht,this.spatialReference))return l.getLogger(this.declaredClass).error("TerrainSurface.getSphereScale(): could not project given point to tiling scheme coordinate system"),null;ht[3]=t;let i=null;const r=e=>{if(e&&N(e.extent,ht))if(e.isLeaf||e.rendered){const t=this._getLodBiasCorrectedScale(e.level);i=null==i?t:Math.min(i,t)}else for(const t of e.children)r(t)},s=this.rootTiles;if(u(s))for(const a of s)r(a);return i}queryVisibleScaleRange(e,t,i,r){const s=t?this.tilingScheme.levelAtScale(t):0,a=i?this.tilingScheme.levelAtScale(i):1/0,n=this._lodBias;this._renderer.queryVisibleLevelRange(e,s+n,a+n,r)}_evaluateTransparency(e){const t=this._renderer.transparency,i=this._allSurfaceLayersTransparent()?ye.Invisible:e>=1&&!this.hasCompositeBlendMode&&!this._renderer.slicePlaneEnabled?ye.Opaque:ye.Semitransparent,r=t!==i;return r&&(this._renderer.transparency=i,this.view?._stage?.renderView.setRenderParameters({terrainTransparency:this._renderer.transparency})),r}_updateBaseOpacity(e){const t=this._evaluateTransparency(e);this._updateTileTextures(t?ne.UNFADED:ne.IMMEDIATE)}_updateTilingScheme(){const e=this.tilingSchemeLogic.tilingScheme;e!==this.tilingScheme&&(we(!!e,"tiling scheme cannot be reset to undefined"),this._isGlobal=!this.view?.state?.isLocal,this.tilingScheme&&this._removeAllTiles(),this._spatialReference=e?.spatialReference??A.WebMercator,this._set("tilingScheme",e),this._updateClippingExtent(),e&&(this._updateTiledLayers(),this._renderer.setTileSize(e.pixelSize),this.overlayManager.setSpatialReference(e.spatialReference),this._updateRootTiles()),this._isWebMercator=!!this.tilingScheme?.spatialReference.isWebMercator,this._isWebMercatorOnPlateeCarree=this._isWebMercator&&G(this.view?.renderSpatialReference))}_acquireTile(e,t,i,r){const s=this._tilePool.acquire();return pt[0]=e,pt[1]=t,pt[2]=i,s.init(pt,r,this),s}get updatingRootTiles(){return this._updatingRootTiles}_updateRootTiles(){const{extent:e,tilingScheme:t}=this;if(!t)return;const i=dt;let s=t.rootTilesInExtent(e,i,5*ce);if(u(this.rootTiles)){if(s.length>ce)return void l.getLogger(this.declaredClass).warn(_e);const e=this.rootTiles.map((e=>e.lij)),t=r(e,s,nt);if(this._updatingRootTiles=!0,t.removed.length>0||t.added.length>0){const e=this.rootTiles.filter((e=>!(t.removed.findIndex((t=>nt(t,e.lij)))>-1)||(this._purgeTile(e),!1)));t.added.forEach((t=>e.push(this._newRootTile(t)))),this._setRootTiles(e)}}else this._updatingRootTiles=!0,s.length>ce&&(l.getLogger(this.declaredClass).warn(ge),s=t.rootTilesInExtent(e,i,ce)),this._setRootTiles(s.map((e=>this._newRootTile(e))));O(i,this._rootTilesExtent)||(this._rootTilesExtent=I(i)),this._visible=!0,this._viewChangeUpdate(),this.overlayManager.setPlacementDirty(),this.notifyChange("ready"),this._updateAllTileGeometries(),this._updatingRootTiles=!1,this.checkAllTilesWaterproofness()}_updateAllTileGeometries(){const e=this._allTiles.filter((e=>e.isLoaded&&e.intersectsClippingArea));e.forEach((e=>this._renderer.updateTileGeometryState(e))),e.forEach((e=>e.renderData.updateNeighborData())),this._updateTilesGeometries(e),this._pendingTilesToUpdate.clear()}_updateTilesGeometries(e){if(0===e.length)return;e.sort(He);const t=this.renderer;e.forEach((e=>t.updateGeometryIfNeeded(e))),e.forEach((e=>this._pendingTilesForElevationUpdateEvent.add(e)))}_newRootTile(e){const t=this._acquireTile(0,e[1],e[2],null);return t.shouldSplit(this._splitLimits,this._eyePosRenderSR,this.lodSnapping)===qe.SPLIT&&t.setPendingUpdate(qe.SPLIT),this._loadTile(t),this._markTileToUpdate(t),this._updateRootTileElevationBounds(),t}_setRootTiles(e){if(this._set("rootTiles",e),this._allTiles.clear(),u(e)){const t=this._iteratorPool.acquire();for(t.reset(e);!t.done;)this._allTiles.push(t.next());t.remove()}this._renderer.setRootTiles(this.rootTiles),this._updateTilesVisibility(e)}_runViewChangeUpdateIfDirty(){this._viewChangeUpdateDirty&&(this._viewChangeUpdateDirty=!1,this._viewChangeUpdate())}_viewChangeUpdate(){this.view&&!this.suspended&&this.tilingScheme&&this._visibleCached&&(this._inFrameTask?this._viewChangeUpdateDirty=!0:(this._viewChangeUpdateDirty=!1,this._updateViewDependentParameters(),this._updateTilesVisibility(this.rootTiles)))}_updateClippingStatus(e){e.updateClippingStatus(this.extent)&&e.resetPendingUpdate(qe.GEOMETRY)&&this._updateTileGeometryState(e)}_updateTilesVisibility(e){if(p(e))return;const t=ze(e),i=this.visibleElevationBounds;let r=t?i.min:1/0,s=t?i.max:-1/0;const a=this.extent,n=this._viewProjectionMatrix;this.setTileTreeDirty();const l=this._iteratorPool.acquire();for(l.reset(e);!l.done;){const e=l.next();e.updateClippingStatus(a)&&e.resetPendingUpdate(qe.GEOMETRY)&&this._updateTileGeometryState(e),e.setPendingUpdate(qe.RENDERDATA),e.computeVisibility(),e.updateScreenDepth(n),e.renderData&&(r=Math.min(e.elevationBounds[0],r),s=Math.max(e.elevationBounds[1],s))}l.remove(),this._viewChanged=!0,this._allTilesDirty=!0,this._batchUpdatePendingTileGeometries(),isFinite(r)&&isFinite(s)&&(i.min!==r||i.max!==s)&&(this.visibleElevationBounds=new te(r,s))}_updateRootTileElevationBounds(){let e=1/0,t=-1/0;const i=this.rootTiles;u(i)&&i.forEach((({elevationBounds:i})=>{e=Math.min(e,i[0]),t=Math.max(t,i[1])}));const r=this.rootTileElevationBounds;r.min===e&&r.max===t||(this.rootTileElevationBounds=new te(e,t))}_updateViewDependentParameters(){const e=this.view.state.camera,t=this.view.state.contentCamera,i=Math.tan(.5*t.fovX),r=Math.tan(.5*t.fovY),s=this.tilingScheme.pixelSize,a=2**-this._lodBias*e.pixelRatio;this._splitLimits.aboveGround=e.aboveGround,this._splitLimits.fovX=i,this._splitLimits.fovY=r,this._splitLimits.relativeWidthLimit=s/e.width*this.maxTextureScale*a,this._splitLimits.relativeHeightLimit=s/e.height*this.maxTextureScale*a,this._splitLimits.maxLod=this.tilingScheme.getMaxLod(),this._splitLimits.angledSplitBias=this.view.qualitySettings.tiledSurface.angledSplitBias,this.view.state.fixedContentCamera?(p(this._splitLimits.frustum)&&(this._splitLimits.frustum=F()),q(this._splitLimits.frustum,t.frustum)):this._splitLimits.frustum=null,q(this._frustum,e.frustum),D(this._viewProjectionMatrix,t.projectionMatrix,t.viewMatrix),C(this._eyePosRenderSR,t.eye),R(e.eye,this.view.renderSpatialReference,this._eyePosSurfaceSR,this.spatialReference)}_updateRenderData(e){e.rendered&&!e.shouldLoad&&(lt(e)?this._loadChildren(e):ot(e)&&this._loadParent(e))}_updateTileGeometryState(e){e.updateVisibility();this._renderer.updateTileGeometryState(e)&&this._markTileToUpdate(e),this._usedMemory=null}_markAllTileNeighborsForGeometryUpdate(e){const t=this._pendingTilesToUpdate;e.forEachLoadedNeighbor((e=>{t.add(e)}))}_updateTileTexture(e,t){const i=e.resetPendingUpdate(qe.TEXTURE_FADING)?qe.TEXTURE_FADING:!!e.resetPendingUpdate(qe.TEXTURE_NOFADING)&&qe.TEXTURE_NOFADING;i&&(this._renderer.updateTileTexture(e,i),this._usedMemory=null,t.madeProgress())}_emitElevationUpdateEventForTiles(){const e=ct.extent;k(e),this._pendingTilesForElevationUpdateEvent.forEach((t=>B(e,t.extent,e))),this._pendingTilesForElevationUpdateEvent.clear(),ct.spatialReference=this.spatialReference,this.emit("elevation-change",ct)}runTask(e){this._handleLayerViewChanges(e),this._frameTask.processQueue(e),this._inFrameTask=!0,this._pendingUpdates=0,this._hasPendingUpdates=!1,this._updateAllTilesStatus(e),this._sortTiles(e);const t=!this.view.state.fixedContentCamera;this._mergeAndSplit(e,t),this._updateElevation(e),this._updateTextures(e),t||this._mergeAndSplit(e,!0),this._inFrameTask=!1,this._runViewChangeUpdateIfDirty(),this._batchUpdatePendingTileGeometries(),this._emitElevationUpdateEventForTiles(),e.done?this.requestUpdate():this.getUsedMemory(),this.notifyChange("updatingProgressValue")}_updateAllTilesStatus(e){if(!this._viewChanged||!this.rootTiles||e.done)return;this._viewChanged=!1;const t=this._iteratorPool.acquire();for(t.reset(this.rootTiles);!t.done;){const e=t.next(),i=e.shouldSplit(this._splitLimits,this._eyePosRenderSR,this.lodSnapping);if(i!==qe.SPLIT){if(e.resetPendingUpdate(qe.SPLIT)&&e.updateAgentSuspension(),i===qe.VSPLITMERGE&&e.updateAgents(le.ELEVATION),t.skipSubtree(),!e.isLeaf){e.setPendingUpdate(qe.MERGE),e.resetPendingUpdate(qe.SPLIT);const t=this._iteratorPool.acquire();t.resetOne(e);for(let e=t.next();!t.done;e=t.next())this._updateClippingStatus(e),e.updateVisibility(),e.updateScreenDepth(this._viewProjectionMatrix);t.remove()}}else e.resetPendingUpdate(qe.MERGE),e.isLeaf&&(e.setPendingUpdate(qe.SPLIT),t.skipSubtree()),e.rendered&&e.setPendingUpdate(qe.RENDERDATA)}t.remove(),this.requestUpdate(),!this.oneBatchPerFrameTask&&this._batchUpdatePendingTileGeometries(),e.madeProgress()}_sortTiles(e){e.done||this._allTilesSorted||(Xe(this._allTiles,this.view.pointsOfInterest.focus.renderLocation),this._allTilesSorted=!0,this._treeDebugger&&this._treeDebugger.update(),e.madeProgress())}_markTileToUpdate(e){Se(e.isLoaded),e.intersectsClippingArea&&(this._pendingTilesToUpdate.add(e),this._markAllTileNeighborsForGeometryUpdate(e))}_batchUpdatePendingTileGeometries(){const e=this._pendingTilesToUpdate;if(0===e.size)return;const t=Array.from(this._pendingTilesToUpdate.keys()).filter((e=>e.isLoaded&&e.intersectsClippingArea)),i=(i,r)=>{!r?.isLoaded||!r.intersectsClippingArea||r.level<i.level||e.has(r)||(e.add(r),t.push(r),r.renderData.updateNeighborData())};t.sort(He);const r=t.length;for(let s=0;s<r;++s){const r=t[s];Se(r.isLoaded),Se(r.intersectsClippingArea);const a=r.renderData;a.updateNeighborData();const n=a._dirtyEdgeResolutions,l=a.geometryState.neighborData;for(let t=0;t<4;++t)if(n&1<<t){const s=r.renderData.geometryState.neighborData.edgePeerNeighbors[t];s&&s?.level>=r.level&&s.forAllSubtreeOnSide(Ee(Ae[t]),(t=>!(!t.isLoaded||!t.intersectsClippingArea)&&(Se(e.has(t)||He(r,t)<0),i(r,t),!0))),i(r,l.cornerPeerNeighbors[t]),i(r,l.cornerPeerNeighbors[(t+1)%4])}}e.clear(),this._updateTilesGeometries(t),Ie&&Oe&&this.checkAllTilesWaterproofness()}_mergeAndSplit(e,t){if(this.suspended||e.done||!this._allTilesDirty)return;this._allTilesDirty=!1,this.requestUpdate();let i=!1,r=!1;for(;!e.done;){r=!0;let s=!1;const a=!this._allTiles.some((r=>{if(!i&&!r.loadable)return e.done;let a=r;if(r.resetPendingUpdate(qe.MERGE)){if(!t)return r.setPendingUpdate(qe.MERGE),e.done;for(;a.parent?.resetPendingUpdate(qe.MERGE);)a=a.parent;this._mergeTile(a),s=!0,e.madeProgress()}else r.resetPendingUpdate(qe.SPLIT)&&(this._splitTile(r),s=!0,e.madeProgress());return!e.done&&a===r&&r.resetPendingUpdate(qe.RENDERDATA)&&(this._updateRenderData(r),e.madeProgress()),e.done}));if(s&&(this._allTilesSorted=!1,this._allTilesDirty=!0),a){if(!i){i=!0;continue}if(!s)break}else this._allTilesDirty=!0}r||(this._allTilesDirty=!0),!this.oneBatchPerFrameTask&&this._batchUpdatePendingTileGeometries(),this._sortTiles(e)}_updateElevation(e){e.done||(this._allTiles.some((t=>(t.resetPendingUpdate(qe.GEOMETRY)&&(this._updateTileGeometryState(t),this._updateTileTexture(t,e),e.madeProgress()),e.done))),!this.oneBatchPerFrameTask&&this._batchUpdatePendingTileGeometries())}_updateTextures(e){e.done||this._allTiles.some((t=>(this._updateTileTexture(t,e),e.done)))}_updateClippingExtent(){this.spatialReference&&(this.updateTileOverlayParams(Ze.UPDATE),this.overlayManager.setPlacementDirty(),this._updateRootTiles())}get _lodBias(){const e=this.view.resourceController.memoryController.memoryFactor;return this.view.qualitySettings.tiledSurface.lodBias-(1-e)*me}_getLodBiasCorrectedScale(e){const t=this.tilingScheme.levels,i=o(e-this._lodBias,0,t.length-1),r=i-Math.floor(i);return t[Math.floor(i)].scale*(1-r)+t[Math.ceil(i)].scale*r}_removeAllTiles(){u(this.rootTiles)&&(this.rootTiles.forEach((e=>this._purgeTile(e))),this._setRootTiles(null),this.notifyChange("ready")),this._allTiles.clear(),this._visible=!1}_purgeDescendantTiles(e){if(e.isLeaf)return!1;let t=!1;for(let i=0;i<4;++i)t=this._purgeTile(e.children[i])||t;return e.unsetChildren(),t}_purgeTile(e){const t=this._purgeDescendantTiles(e)||e.rendered;return this._allTiles.removeUnordered(e),this._unloadTile(e),this._tilePool.release(e),t}_unloadTile(e){this._pendingTilesToUpdate.delete(e),this._pendingTilesForElevationUpdateEvent.delete(e),e.unload(this._renderer)}_splitTile(e){we(e.isLeaf,"tile that is already split should not be split again!");const t=e.level+1,i=2*e.lij[1],r=2*e.lij[2];e.setChildren(this._createTile(t,i,r,e),this._createTile(t,i,r+1,e),this._createTile(t,i+1,r,e),this._createTile(t,i+1,r+1,e)),e.setPendingUpdate(qe.RENDERDATA),e.updateAgentSuspension(),this._allTiles.pushArray(e.children),this._allTilesDirty=!0,++this._performanceInfo.numSplit}_emitTileScaleChange(e,t=e.level){_t.spatialReference=this.spatialReference,_t.extent=e.extent,_t.scale=this._getLodBiasCorrectedScale(t),this.emit("scale-change",_t)}_createTile(e,t,i,r){we(!!r,"_createTile sanity check");const s=this._acquireTile(e,t,i,r);return s.updateClippingStatus(this.extent),s.updateScreenDepth(this._viewProjectionMatrix),s.shouldSplit(this._splitLimits,this._eyePosRenderSR,this.lodSnapping)===qe.SPLIT&&s.setPendingUpdate(qe.SPLIT),s}get shortBatches(){return this.view.state.mode!==et.IDLE}_mergeTile(e){we(!e.hasPendingUpdate(qe.SPLIT),"_mergeTile sanity check"),this._purgeDescendantTiles(e)&&(we(!e.renderData,"_mergeTile sanity check"),this._loadTile(e),this._markTileToUpdate(e),this._emitTileScaleChange(e),this.shortBatches&&this._batchUpdatePendingTileGeometries()),this._allTilesDirty=!0,++this._performanceInfo.numMerged}_loadChildren(e){we(e.rendered,"parent should be rendered"),this._unloadTile(e);const t=e.children;t.forEach((e=>this._loadTile(e))),t.forEach((e=>this._pendingTilesToUpdate.add(e))),this._markAllTileNeighborsForGeometryUpdate(e),this._emitTileScaleChange(e,e.level+1),this.shortBatches&&this._batchUpdatePendingTileGeometries()}_loadParent(e){const t=e.parent;this._unloadChildren(t),this._loadTile(t),this._markTileToUpdate(t),this._emitTileScaleChange(t,t.level),this.shortBatches&&this._batchUpdatePendingTileGeometries()}_unloadChildren(e){if(!e.isLeaf)for(let t=0;t<4;++t){const i=e.children[t];this._unloadChildren(i),this._unloadTile(i)}}_loadTile(e){e.load(),e.setPendingUpdate(qe.RENDERDATA),this.requestUpdate(),this._allTilesDirty=!0,this.overlayManager&&this.overlayManager.hasOverlays&&this.overlayManager.setTileParameters(e)}_elevationDataArrived(e,t,i){const r=new ie(e.lij,e.extent,i);e.dataArrived(t,le.ELEVATION,r);const s=[e],a=e.level,n=this._iteratorPool.acquire();for(n.reset(s);!n.done;){const e=n.next();e.findElevationBoundsForLayer(t,a),e.computeElevationBounds()}0===a&&this._updateRootTileElevationBounds(),n.remove(),this._updateTilesVisibility(s)}_handleLayerViewChanges(e=rt){if(!this._layerViewsDirty)return;this._layerViewsDirty=!1;let t=!1;const i=new Set;let r=-1;for(const s of this.view.allLayerViews.items)if(i.add(s.uid),Le(s)||De(s))if(this._basemapLayerViewHandles.has(s.uid)&&!De(s)){const e=this._layerClassFromLayerView(s),i=this._getLayerIdxByUID(e,s.uid);u(i)&&((i<r||p(r))&&(t=!0),r=i)}else this._registerTiledLayerView(s),s.layer.loaded&&(t=!0);this._basemapLayerViewHandles.forEach(((e,r)=>{i.has(r)||(this._unregisterTiledLayerView(r),t=!0)})),t&&this._updateTiledLayers(),this._renderer.transparency=this._allSurfaceLayersTransparent()?ye.Invisible:this._renderer.transparency,this.hasCompositeBlendMode=this._hasCompositeBlendMode(),e.madeProgress()}_allSurfaceLayersTransparent(){let e=0===this.view.map?.ground?.opacity;for(const t of this.view.allLayerViews.items)if(be(t)&&!z(t.layer)&&0!==t.fullOpacity)return e=!1,e;return e}_hasCompositeBlendMode(){for(const e of this.view.allLayerViews.items)if((Ce(e)||De(e))&&Ke(Je[e.layer.blendMode]))return!0;return!1}_layerClassFromLayerView(e){return Pe(e)?le.ELEVATION:le.MAP}_registerTiledLayerView(e){const t=[];if((Ce(e)||De(e))&&t.push(y((()=>e.layer.blendMode),(()=>{this.hasCompositeBlendMode=this._hasCompositeBlendMode(),this._updateTileTextures(ne.UNFADED)}))),De(e))return;const i=this._layerClassFromLayerView(e);t.push(y((()=>e.suspended),(()=>this._updateTiledLayers()))),t.push(y((()=>e.fullOpacity),(()=>this._updateTileTextures(ne.UNFADED)))),t.push(y((()=>"effectiveScaleRange"in e.layer?e.layer.effectiveScaleRange:null),(()=>this._restartAllAgents(i)))),e.on("data-changed",(()=>{const t=this._getLayerIdxByUID(i,e.uid);u(t)&&this._invalidateLayerData(t,i)})),this._basemapLayerViewHandles.set(e.uid,t)}_unregisterTiledLayerView(e){const t=this._basemapLayerViewHandles.get(e);if(t){for(let e=0;e<t.length;e++)t[e].remove();this._basemapLayerViewHandles.delete(e)}}_updateTiledLayers(){if(!this.tilingScheme||this.view.suspended)return;const e=this.view.allLayerViews,t=[[],[]];let i=null;e.forEach((e=>{if(!e.layer||e.suspended||!Le(e)||!e.fullExtent)return;const r=this._layerClassFromLayerView(e);if(r===le.MAP){const t=e.displayLevelRange.maxLevel;t!==1/0&&(null===i||t>i)&&(i=t)}t[r].push(e)}));for(const r of oe){const e=this._layerViews[r],i=t[r];i.reverse();const s=i.length;let a=e.length!==s;const n=new Array(s),l=new Array(e.length);this._layerIndexByUid[r].clear();for(let t=0;t<s;t++){const s=i[t].uid;this._layerIndexByUid[r].set(s,t);const o=e.indexOf(i[t]);n[t]=o,t!==o&&(a=!0),o>-1&&(l[o]=t)}if(a){const e=this._postorderIterator;for(e.reset(this.rootTiles);!e.done;)e.next().modifyLayers(l,n,r);this._layerViews[r]=i,this._restartAllAgents(r),this._updateTilesVisibility(this.rootTiles)}}this.tilingScheme.ensureMaxLod(i)&&this._viewChangeUpdate()}_restartAllAgents(e){const t=this._postorderIterator;for(t.reset(this.rootTiles);!t.done;){const i=t.next();i.restartAgents(e),e===le.ELEVATION&&i.computeElevationBounds()}this._updateRootTileElevationBounds()}layerViewByIndex(e,t){return this._layerViews[t][e]}numLayers(e){return this._layerViews[e].length}_updateTileTextures(e){this._allTiles.forAll((t=>{t.updateAgents(le.MAP),e===ne.IMMEDIATE?this.renderer.updateTileTexture(t,qe.TEXTURE_NOFADING):t.updateRenderData(le.MAP,e)})),this._renderer.transparency=this._allSurfaceLayersTransparent()?ye.Invisible:this._renderer.transparency}_invalidateLayerData(e,t){this._allTiles.forAll((i=>i.removeLayerAgent(e,t))),this._allTiles.forAll((i=>i.invalidateLayerData(e,t)))}setTileTreeDirty(){this._allTilesDirty=!0}requestRender(e=Ze.UPDATE){this.renderer.setNeedsRender(e)}requestUpdate(){1==++this._pendingUpdates&&(this._hasPendingUpdates=!0)}requestTileData(e,t,i,r){const s=this.layerViewByIndex(t,i),a=s.layer;return!a.tilemapCache||xe(s)?this._requestTileData(e,i,s,r):(++this._asyncWorkItems,a.tilemapCache.fetchAvailability(e.lij[0],e.lij[1],e.lij[2],{...r,timeout:6e3}).then((()=>--this._asyncWorkItems)).catch((t=>{throw--this._asyncWorkItems,g(r),m(t)||this._dataMissing(e,i,s,{notInTilemap:!0}),t})).then((()=>this._frameTask.schedule((()=>this._requestTileData(e,i,s,r)),r.signal))))}_requestTileData(e,t,i,r){return t===le.ELEVATION?Pe(i)?this._requestElevationTileData(e,i,r):Promise.reject():be(i)?this._requestMapTileData(e,i,r):Promise.reject()}_requestElevationTileData(e,t,i){++this._asyncWorkItems;const r=r=>{if(f(i))return;const s=this._layerIndexByUid[le.ELEVATION].get(t.uid);null!=s?(this._usedMemory=null,this.requestUpdate(),this._elevationDataArrived(e,s,r)):l.getLogger(this.declaredClass).warn("TerrainSurface: received data from unknown layer %d %s",le.ELEVATION,e.lij.toString())},s=i=>{m(i)||(this._dataMissing(e,le.ELEVATION,t,i),this.requestUpdate())};if(Ue(t.layer))return t.layer.fetchTile(e.lij[0],e.lij[1],e.lij[2],{noDataValue:fe,signal:i.signal}).then((e=>{if(!f(i))return this._frameTask.schedule((()=>r(e)),i.signal,s);l.getLogger(this.declaredClass).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true.")}),s).finally((()=>{--this._asyncWorkItems}));const a=t.getTileUrl(e.lij[0],e.lij[1],e.lij[2]);return this._elevationDataRequester.request(a,"binary",i).then((e=>this._lercDecoder.decode(e,{noDataValue:fe},i.signal))).then((e=>{e?r({values:e.pixelData,width:e.width,height:e.height,noDataValue:e.noDataValue,minValue:e.minValue,maxValue:e.maxValue}):s(new Error("LERC decoding failed"))}),s).finally((()=>{--this._asyncWorkItems}))}_requestMapTileData(e,t,i){++this._asyncWorkItems;const r=(r,s)=>{--this._asyncWorkItems,je(s),f(i)||(this._dataMissing(e,le.MAP,t,r),this.requestUpdate())},s=e=>t=>r(t,e),a=r=>this._frameTask.schedule((()=>{--this._asyncWorkItems,this.requestUpdate(),f(i)?je(r):this._mapTileDataArrived(e,t,r)}),i.signal,s(r)).catch(s(r)),n=(e,t=null)=>this._frameTask.schedule((()=>r(e,t)));if(xe(t)){const r=t.schemaHelper.getLevelRowColumn(e.lij);return t.fetchTile(r[0],r[1],r[2],i).then(a,n)}if(Re(t))return t.fetchTile(e.lij[0],e.lij[1],e.lij[2],i).then(a,n);if(Me(t)&&Ue(t.layer))return t.layer.fetchTile(e.lij[0],e.lij[1],e.lij[2],i).then((e=>{if(f(i))return l.getLogger(this.declaredClass).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true."),void n(T());a(e)}),n);let o=t.getTileUrl(e.lij[0],e.lij[1],e.lij[2]);W(t.layer)&&t.layer.refreshTimestamp&&(o+=`${o.includes("?")?"&":"?"}_ts=${t.layer.refreshTimestamp}`);const h=t.hasMixedImageFormats?"image+type":"image";return this._mapDataRequester.request(o,h,i).then(a,n)}_mapTileDataArrived(e,t,i){const r=this._getLayerIdxByUID(le.MAP,t.uid);u(r)?e.dataArrived(r,le.MAP,i):(je(i),l.getLogger(this.declaredClass).warn("TerrainSurface: received data from unknown layer"))}_getLayerIdxByUID(e,t){return this._layerIndexByUid[e].get(t)}_dataMissing(e,t,i,r){const s=this._getLayerIdxByUID(t,i.uid);u(s)?e.dataMissing(s,t,r):l.getLogger(this.declaredClass).warn("TerrainSurface: received data from unknown layer")}updateTileOverlayParams(e){this.rootTiles&&this.overlayManager&&(this._allTiles.forAll((e=>{e.renderData&&this.overlayManager.setTileParameters(e)})),this._renderer.setNeedsRender(e))}get performanceInfo(){const e=this._performanceInfo;return e.numNodes=this._allTiles.length,e.numLeaves=e.numVisible=e.numRendered=e.numLoadedPerLevel.length=e.numRenderedPerLevel.length=0,this._allTiles.forAll((t=>{t.isLeaf&&e.numLeaves++;const i=t.level;t.renderData&&(e.numLoadedPerLevel[i]=(e.numLoadedPerLevel[i]||0)+1),t.visible&&(e.numVisible++,t.rendered&&(e.numRenderedPerLevel[i]=(e.numRenderedPerLevel[i]||0)+1,e.numRendered++))})),e}getUsedMemory(){return this.tilingScheme?(p(this._usedMemory)&&(this._usedMemory=this._recalculateUsedMemory()),u(this._usedMemory)?this._usedMemory:0):0}_recalculateUsedMemory(){return this.tilingScheme?this._allTiles.reduce(((e,t)=>e+t.usedMemory),0):null}getUsedMemoryForLayerView(e){let t=0;const i=this._layerClassFromLayerView(e),r=this._getLayerIdxByUID(i,e.uid);return u(r)&&this._allTiles.forAll((e=>t+=e.getUsedMemoryForLayer(i,r))),t}getTile(e){if(p(e)||p(this.rootTiles))return null;const t=e.split("/").map((e=>+e));if(0===t[0])return this.rootTiles.find((e=>e.lij[1]===t[1]&&e.lij[2]===t[2]));const i=2**t[0],r=Math.floor(t[1]/i),s=Math.floor(t[2]/i);let a;if(this.rootTiles.some((e=>e.lij[1]===r&&e.lij[2]===s&&(a=e,!0))),a){let e=1<<t[0]-1;for(;a.lij[0]<t[0];){let i=t[1]&e?2:0;if((t[2]&e)>0&&i++,!a.children[i])return null;a=a.children[i],e>>=1}return we(a.lij[0]===t[0]&&a.lij[1]===t[1]&&a.lij[2]===t[2],"not the right tile?"),a}return null}get renderPatchBorders(){return this._renderer.renderPatchBorders}set renderPatchBorders(e){this._renderer.renderPatchBorders=e}get visualizeNormals(){return this._renderer.visualizeNormals}set visualizeNormals(e){this._renderer.visualizeNormals=e}get renderingDisabled(){return this._renderer.renderingDisabled}set renderingDisabled(e){this._renderer.renderingDisabled=e}get test(){const e=this;return{renderer:e._renderer,lercDecoder:e._lercDecoder,forceReload:()=>{u(e.rootTiles)&&(e._mergeTile(e.rootTiles[0]),e._viewChangeUpdate())},getTiles:()=>e._allTiles.toArray(),getRenderedTiles(){ut.clear(),e._allTiles.forAll((e=>{e.visible&&e.rendered&&ut.push(e)}));const t=ut.toArray();return Qe(e.renderOrder,t),t},lockTilingScheme(t,i){e._extentHelper.defaultTiledLayersExtent=i,e.tilingSchemeLogic.test.lockTilingScheme(t)}}}checkAllTilesWaterproofness(){if(!Oe)return;const e=this.rootTiles;if(p(e))return;const t=e=>e?.renderData?.geometryInfo?.indices?.length>0,i=(e,i)=>{t(e)&&console.error("Tile[",e.lij,"] has geometry although parent[",i.lij,"] has geom")},r=e=>{if(e.intersectsClippingArea)if(e.renderData&&!e.renderData.geometryState&&console.error("Tile[",e.lij,"] has renderData but not geometryState"),e.renderData&&!e.renderData.geometryInfo&&console.error("Tile[",e.lij,"] has renderData but not geometryInfo"),!e.renderData?.geometryInfo||(e.renderData.geometryInfo.indices?.length??0)>0||console.error("Tile[",e.lij,"] has renderData but no indices - geometryInfo: ",e.renderData.geometryInfo),t(e)){e.checkGeometryWaterproofness();for(const t of e.children)i(t,e)}else if(e.isLeaf)console.error("Tile[",e.lij,"] has no geometry and no children, from root to leaf");else for(const t of e.children)r(t)},s=e=>{const t=e.parent?.visible??!0,i=e.visible;e.computeVisibility();const r=e.visible;if(i!==r&&t&&console.error(" Tile[",e.lij,"] has out of date visibility: ",i," instead of ",r),!e.isLeaf)for(const a of e.children)s(a)};for(const a of e)r(a),s(a)}get isGlobal(){return this._isGlobal}get shading(){return this._shading}_updateShadingIfChanged(){const e=this.view?.map?.ground?.shading;e!==this._shading&&this._updateShading()}_updateShading(){const e=this.view?.map?.ground?.shading;this._shading=e,this.renderer&&(this.renderer.shading=e,this.renderer.setNeedsRender()),this._updateAllTileGeometries()}get isWebMercator(){return this._isWebMercator}get isWebMercatorOnPlateeCarree(){return this._isWebMercatorOnPlateeCarree}isEastEndWrap(e){return this.isGlobal&&e[2]===this.lijEastEnd(e[0])-1}isWestEndWrap(e){return this.isGlobal&&0===e[2]}lijEastEnd(e){return 2**(e+(u(this.spatialReference)&&this.spatialReference.isGeographic?1:0))}wrapEastWest(e){const t=this.lijEastEnd(e[0]),i=e[2];if(0<=i&&i<t)return e;if(!this.isGlobal)return null;const r=(i+(i<0?t:0))%t;return[e[0],e[1],r]}enableInternalChecks(e){Ve(e)}enableWaterproofnessChecks(e){ke(e)}};e([E()],st.prototype,"_renderer",void 0),e([E()],st.prototype,"_hasPendingUpdates",void 0),e([E()],st.prototype,"_asyncWorkItems",void 0),e([E()],st.prototype,"_allTilesDirty",void 0),e([E()],st.prototype,"_allTilesSorted",void 0),e([E()],st.prototype,"_viewChanged",void 0),e([E({readOnly:!0})],st.prototype,"_watchUpdatingTracking",void 0),e([E()],st.prototype,"_frameTask",void 0),e([E({readOnly:!0})],st.prototype,"snapLevel",null),e([E({readOnly:!0})],st.prototype,"lodSnapping",null),e([E({constructOnly:!0})],st.prototype,"view",void 0),e([E()],st.prototype,"_userClippingExtent",null),e([E()],st.prototype,"_rootTilesExtent",void 0),e([E({readOnly:!0})],st.prototype,"extent",null),e([E({readOnly:!0})],st.prototype,"groundExtent",null),e([E({readOnly:!0})],st.prototype,"_tilingSchemeExtent",null),e([E({readOnly:!0})],st.prototype,"updating",null),e([E({readOnly:!0})],st.prototype,"running",null),e([E(ee)],st.prototype,"updatingProgress",void 0),e([E({readOnly:!0})],st.prototype,"updatingProgressValue",null),e([E()],st.prototype,"_maxNumUpdating",void 0),e([E()],st.prototype,"baseOpacity",null),e([E()],st.prototype,"hasCompositeBlendMode",void 0),e([E({readOnly:!0})],st.prototype,"overlayManager",void 0),e([E({readOnly:!0})],st.prototype,"viewingMode",null),e([E()],st.prototype,"maxTextureScale",void 0),e([E({readOnly:!0})],st.prototype,"ready",null),e([E({value:pe.FRONT_TO_BACK})],st.prototype,"renderOrder",null),e([E({readOnly:!0})],st.prototype,"rootTiles",void 0),e([E({readOnly:!0})],st.prototype,"spatialReference",null),e([E({type:t})],st.prototype,"backgroundColor",null),e([E({value:!1})],st.prototype,"slicePlaneEnabled",null),e([E({readOnly:!0})],st.prototype,"tilingScheme",void 0),e([E({readOnly:!0})],st.prototype,"tilingSchemeLocked",null),e([E({readOnly:!0})],st.prototype,"tilingSchemeLogic",void 0),e([E({value:!0})],st.prototype,"velvetOverground",null),e([E()],st.prototype,"wireframe",null),e([E({value:!1})],st.prototype,"suspended",null),e([E()],st.prototype,"textureFadeDuration",null),e([E()],st.prototype,"visibleElevationBounds",void 0),e([E()],st.prototype,"rootTileElevationBounds",void 0),e([E()],st.prototype,"_layerViewsDirty",void 0),e([E()],st.prototype,"renderPatchBorders",null),e([E()],st.prototype,"visualizeNormals",null),e([E()],st.prototype,"renderingDisabled",null),st=e([L("esri.views.3d.terrain.TerrainSurface")],st);const at=st;function nt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function lt(e){return!e.isLeaf&&(e.children.some((e=>e.shouldLoad))||e.children.some((e=>lt(e))))}function ot(e){return e.isLeaf&&e.parent&&e.parent.shouldLoad}const ht=x(),dt=I(),pt=[0,0,0],ut=new _,ct={spatialReference:null,extent:I(),context:"ground"},_t={spatialReference:null,extent:null,scale:0};function gt(e,t,i){for(const r of e){if(!r.containsPointXY(t,i))continue;let e=r;for(;e&&!e.renderData;){const r=(t>e.extentMidX?1:0)+(i<e.extentMidY?2:0);e=e.children[r]}const s=e?.renderData?.geometryState.samplerData??null;return re(t,i,s)}return null}export{at as default};
5
+ import{_ as e}from"../../../chunks/tslib.es6.js";import t from"../../../Color.js";import i from"../../../core/Accessor.js";import{difference as r}from"../../../core/arrayUtils.js";import s from"../../../core/CollectionFlattener.js";import a from"../../../core/Evented.js";import n from"../../../core/Handles.js";import l from"../../../core/Logger.js";import{clamp as o}from"../../../core/mathUtils.js";import{releaseMaybe as h,destroyMaybe as d,isNone as p,isSome as u}from"../../../core/maybe.js";import c from"../../../core/ObjectPool.js";import _ from"../../../core/PooledArray.js";import{throwIfAborted as g,isAbortError as m,isAborted as T,createAbortError as f}from"../../../core/promiseUtils.js";import{watch as y,syncAndInitial as v,sync as w,initial as S}from"../../../core/reactiveUtils.js";import{property as E}from"../../../core/accessorSupport/decorators/property.js";import"../../../core/accessorSupport/ensureType.js";import{subclass as L}from"../../../core/accessorSupport/decorators/subclass.js";import{m as D}from"../../../chunks/mat4.js";import{c as b}from"../../../chunks/mat4f64.js";import{c as P}from"../../../chunks/vec3.js";import{c as C}from"../../../chunks/vec3f64.js";import{c as U}from"../../../chunks/vec4f64.js";import{WatchUpdatingTracking as x}from"../../../core/support/WatchUpdatingTracking.js";import{projectVectorToVector as R,projectPointToVector as M}from"../../../geometry/projection.js";import{getReferenceEllipsoid as j}from"../../../geometry/projectionEllipsoid.js";import A from"../../../geometry/SpatialReference.js";import{create as I,equals as O,intersection as V,empty as k,expand as B,intersectsSphere as N}from"../../../geometry/support/aaBoundingRect.js";import{create as F,copy as G}from"../../../geometry/support/frustum.js";import{isPlateCarree as q}from"../../../geometry/support/spatialReferenceUtils.js";import{isRefreshableLayer as W}from"../../../layers/mixins/RefreshableLayer.js";import{ElevationQueryTileCache as H}from"../../../layers/support/ElevationQueryTileCache.js";import{isBaseLayer as z}from"../../../layers/support/layerUtils.js";import{acquireDecoder as X}from"../../../layers/support/LercDecoder.js";import{printAllocations as Q}from"../../2d/engine/vectorTiles/VectorTile.js";import{directionToHeadingTilt as Y,scaleToZoom as $}from"../support/cameraUtils.js";import K from"../support/debugFlags.js";import{toBoundingRect as J}from"../support/extentUtils.js";import{ClientType as Z}from"../support/index.js";import{updatingProgress as ee}from"../support/updatingProperties.js";import{ElevationBounds as te}from"./ElevationBounds.js";import{ElevationData as ie,sampleElevation as re}from"./ElevationData.js";import{create as se}from"./ExtentHelper.js";import{LODSnapping as ae,TextureUpdate as ne}from"./interfaces.js";import{LayerClass as le,LayerClasses as oe}from"./LayerClass.js";import{OverlayManager as he}from"./OverlayManager.js";import{PlanarPatch as de}from"./PlanarPatch.js";import{RenderOrder as pe}from"./RenderOrder.js";import{SphericalPatch as ue}from"./SphericalPatch.js";import{MAX_ROOT_TILES as ce,TOO_MANY_ROOT_TILES_AFTER_CHANGE_ERROR as _e,TOO_MANY_ROOT_TILES_FOR_LAYER_ERROR as ge,MAX_MEMORY_LOD_BIAS as me,ELEVATION_NODATA_VALUE as Te}from"./TerrainConst.js";import{TerrainRenderer as fe,TransparencyMode as ye}from"./TerrainRenderer.js";import ve from"./TerrainSurfacePerformanceInfo.js";import{weakAssert as we,internalAssert as Se,oppositeEdge as Ee,isSurfaceLayerView as Le,isGroupLayerView as De,isMapTileLayerView as be,isBlendableLayerView as Pe,isElevationLayerView as Ce,isVectorTileLayerView as Ue,useFetchTileForLayer as xe,isImageryTileLayerView as Re,isTileLayerView as Me,releaseTileData as je,neighborEdgeIndices as Ae,ENABLE_TERRAIN_INTERNAL_CHECKS as Ie,ENABLE_WATERPROOFNESS_TESTS as Oe,enableTerrainInternalChecks as Ve,enableTerrainWaterproofnessChecks as ke}from"./terrainUtils.js";import{SplitLimits as Be,Tile as Ne}from"./Tile.js";import{printAllocations as Fe}from"./TilePerLayerInfo.js";import{TileUpdate as Ge}from"./TileUpdate.js";import{IteratorPreorder as qe,IteratorPostorder as We,compareTilesByLij as He,hasLoadableSiblings as ze,sortTilesByPOI as Xe,sortTiles as Qe}from"./tileUtils.js";import{TilingSchemeLogic as Ye}from"./TilingSchemeLogic.js";import{UpsampleInfo as $e}from"./UpsampleInfo.js";import{isCompositeBlendMode as Ke,blendModeFromString as Je}from"../webgl-engine/core/shaderLibrary/output/BlendOptions.js";import{RenderRequestType as Ze}from"../webgl-engine/lib/basicInterfaces.js";import{RenderState as et}from"../../support/RenderState.js";import{ImmediateTask as tt,TaskPriority as it,noBudget as rt}from"../../support/Scheduler.js";let st=class extends(a.EventedMixin(i)){constructor(e){super(e),this._iteratorPool=new c(qe,(e=>e.remove=()=>this._iteratorPool.release(e))),this._postorderIterator=new We,this._hasPendingUpdates=!1,this._pendingUpdates=0,this._asyncWorkItems=0,this._allTilesDirty=!0,this._allTilesSorted=!0,this._visibleCached=!1,this._usedMemory=null,this._performanceInfo=new ve,this._viewChanged=!1,this._inFrameTask=!1,this._viewChangeUpdateDirty=!1,this._eyePosRenderSR=C(),this._eyePosSurfaceSR=C(),this._splitLimits=new Be,this._snapLevel=1/0,this._frustum=F(),this._viewProjectionMatrix=b(),this._layerViews=[new Array,new Array],this._layerIndexByUid=[new Map,new Map],this._basemapLayerViewHandles=new Map,this._handles=new n,this._watchUpdatingTracking=new x,this._frameTask=tt,this._allTiles=new _,this._upsampleInfoPool=new c($e),this._rootTilesExtent=I(),this._maxNumUpdating=1,this.maxTextureScale=1.2,this._spatialReference=A.WebMercator,this.visibleElevationBounds=new te(1/0,-1/0),this.rootTileElevationBounds=new te(1/0,-1/0),this._updatingRootTiles=!1,this._pendingTilesForElevationUpdateEvent=new Set,this._pendingTilesToUpdate=new Set,this.totalGeometryUpdates=0,this.totalTileUpdates=0,this.oneBatchPerFrameTask=!0,this._layerViewsDirty=!1,this._shading=!0,this._isWebMercator=!1,this._isWebMercatorOnPlateeCarree=!1,this._isGlobal=!e.view?.state?.isLocal}initialize(){this._lercDecoder=X(this.view.resourceController),this._tilePool=this.view.state.isLocal?new c(de):new c(ue);const e=this.view.resourceController.memoryController;this._upsampleMapCache=e.newCache("esri.views.3d.terrain.upsample",(e=>e.unloadMapData())),this._elevationQueryCache=new H(e.newCache("elevation-query")),this._set("overlayManager",new he({surface:this})),this._handles.add([y((()=>this.overlayManager.hasHighlights),(e=>this._renderer.setNeedsHighlight(e))),y((()=>this.overlayManager.rendersOccluded),(e=>this._renderer.setRenderOccludedOverlay(e)))],"overlayManager"),this._renderer=new fe({_overlayRenderer:this.overlayManager.renderer,_ellipsoidRadius:j(this.view.spatialReference).radius,_stage:this.view._stage,_allTiles:this._allTiles}),this._handles.add([y((()=>this.baseOpacity),(e=>{this._handleLayerViewChanges(),this._updateBaseOpacity(e)}),v),y((()=>this.hasCompositeBlendMode),(()=>{this._updateBaseOpacity(this.baseOpacity)}),v),y((()=>this.renderingDisabled),(()=>this.view?._stage?.renderView.setRenderParameters({terrainRenderingEnabled:!this.renderingDisabled})),w),y((()=>this.backgroundColor),(e=>{this._handleLayerViewChanges(),this._renderer.updateTileBackground(e)}),v),y((()=>this.view.pointsOfInterest),(e=>{this._renderer.pointsOfInterest=e,this._watchUpdatingTracking.removeAll(),e&&this._watchUpdatingTracking.add((()=>e.focus.renderLocation),(()=>()=>this._allTilesSorted=!1))})),y((()=>K.TERRAIN_TILE_TREE_SHOW_TILES),(e=>{e&&!this._treeDebugger?import("../layers/support/TerrainTileTree3DDebugger.js").then((({TerrainTileTree3DDebugger:e})=>{!this._treeDebugger&&K.TERRAIN_TILE_TREE_SHOW_TILES&&(this._treeDebugger=new e({view:this.view}))})):e||(this._treeDebugger=d(this._treeDebugger))}),S)]),this._extentHelper=se(this.viewingMode,{layers:this.view.map.allLayers,layerViews:this.view.allLayerViews,viewSpatialReference:this.view.spatialReference});const t=this.view.defaultsFromMap?new s({getCollections:()=>this.view?.defaultsFromMap?.mapCollections?.map((({layers:e})=>e)),getChildrenFunction:e=>e&&"layers"in e?e.layers:null}):this.view.map.allLayers,i=new Ye({layers:t,extentHelper:this._extentHelper,viewingMode:this.viewingMode,viewSpatialReference:this.view.spatialReference});this._set("tilingSchemeLogic",i),this._updateTilingScheme(),this._elevationDataRequester=this.view.resourceController.createStreamDataRequester(Z.ELEVATION),this._mapDataRequester=this.view.resourceController.createStreamDataRequester(Z.BASEMAP);const r=this.view.resourceController.scheduler;this._frameTask=r.registerTask(it.TERRAIN_SURFACE,this),this._handles.add([y((()=>this._extentHelper.stencilEnabledExtents),(e=>this._renderer.setStencilEnabledLayerExtents(e)),S),y((()=>this.tilingSchemeLogic.tilingScheme),(()=>this._updateTilingScheme()),w),y((()=>this.extent),(()=>this._updateRootTiles()),S),this.view.on("resize",(()=>this._viewChangeUpdate())),y((()=>{const e=this.view,t=e.state;return[this._lodBias,this.lodSnapping,e.resourceController?.memoryController?.memoryFactor,t.camera,t.contentCamera,t.fixedContentCamera]}),(()=>this._viewChangeUpdate()),v),y((()=>this.view.qualitySettings?.tiledSurface?.textureFadeDuration),(e=>this._renderer.textureFadingEnabled=e>0),S),y((()=>this._userClippingExtent),(()=>this._updateClippingExtent()),w)]),this._handles.add(this.view.allLayerViews.on("after-changes",(()=>this._layerViewsDirty=!0))),this._handles.add([y((()=>this.view?.map.ground.shading),(()=>{this._updateShadingIfChanged()}))]),this._updateShading(),this._layerViewsDirty=!0,this._handleLayerViewChanges()}destroy(){this._frameTask.remove(),this._handles.destroy(),this._watchUpdatingTracking.destroy(),this._lercDecoder=h(this._lercDecoder),this._removeAllTiles(),this._upsampleMapCache=d(this._upsampleMapCache),this._elevationQueryCache=d(this._elevationQueryCache),this._set("tilingSchemeLogic",d(this.tilingSchemeLogic)),this._extentHelper=d(this._extentHelper),this._basemapLayerViewHandles.forEach(((e,t)=>this._unregisterTiledLayerView(t))),this._elevationDataRequester=null,this._mapDataRequester=null,this._set("overlayManager",d(this.overlayManager)),this._tilePool=d(this._tilePool),Ne.prune(),this._treeDebugger&&(this._treeDebugger.destroy(),this._treeDebugger=null),this._renderer=d(this._renderer),this._iteratorPool=d(this._iteratorPool),this._set("view",null),this._upsampleInfoPool=d(this._upsampleInfoPool),Q(),Fe()}get renderer(){return this._renderer}get frustum(){return this._frustum}get snapLevel(){const e=this.view.pointsOfInterest?.contentCameraOnSurface?.scale;if(e){const t=this.view.state.contentCamera;let i=Y(this.view,t.eye,t.viewForward,t.up).tilt;i>90&&(i=180-i);const r=2*(i/90)**2,s=$(this.view,e)-r;Math.round(s)!==Math.round(this._snapLevel)&&(this._viewChanged=!0),this._snapLevel=s}return Math.round(this._snapLevel)}get lodSnapping(){return this.view.qualitySettings.tiledSurface.reduceTileLevelDifferences?ae.ON:ae.OFF}get upsampleInfoPool(){return this._upsampleInfoPool}get upsampleMapCache(){return this._upsampleMapCache}get elevationQueryCache(){return this._elevationQueryCache}get mapTileRequester(){return this._mapDataRequester}get _userClippingExtent(){const{spatialReference:e}=this,{clippingArea:t}=this.view;if(p(t)||p(e))return null;const i=I(),r=J(t,i,e)?i:null,s=this._get("extent");return O(r,s)?s:r}get rootTilesExtent(){return this._rootTilesExtent}get extent(){const e=V(this.groundExtent,this._userClippingExtent,I()),t=this._get("extent");return O(e,t)?t:e}get groundExtent(){return u(this._tilingSchemeExtent)?this._tilingSchemeExtent:this._rootTilesExtent}get _tilingSchemeExtent(){return this.tilingSchemeLogic?.extent}get updating(){return this._hasPendingUpdates||(this._maxNumUpdating=1),!!((this.running||this._watchUpdatingTracking.updating||this._asyncWorkItems>0)&&this.ready&&!this.suspended||this.overlayManager.updating)}get running(){return(this._hasPendingUpdates||this._viewChanged||this._allTilesDirty||!this._allTilesSorted||this._layerViewsDirty||this._frameTask.updating)&&this.ready&&!this.suspended}get updatingProgressValue(){return this._maxNumUpdating=Math.max(this._pendingUpdates,this._maxNumUpdating),1-this._pendingUpdates/this._maxNumUpdating}get baseOpacity(){return this.view.map.ground.opacity}set baseOpacity(e){this.view.map.ground.opacity=e}get viewingMode(){return this.view.state.viewingMode}get ready(){return u(this.rootTiles)}set renderOrder(e){this._renderer.renderOrder=e,this._set("renderOrder",e)}get spatialReference(){return this.tilingScheme?.spatialReference??null}get backgroundColor(){return this.view.map.ground.surfaceColor}set backgroundColor(e){this.view.map.ground.surfaceColor=e}set slicePlaneEnabled(e){this._renderer.slicePlaneEnabled=e,this._set("slicePlaneEnabled",e),this._evaluateTransparency(this.baseOpacity)}get tilingSchemeLocked(){return this.tilingSchemeLogic?.tilingSchemeLocked??!1}set velvetOverground(e){e!==this.velvetOverground&&(this._renderer.velvetOverground=e),this._set("velvetOverground",e)}get wireframe(){return this._renderer.wireframe}set wireframe(e){e!==this._renderer.wireframe&&(this._renderer.wireframe=e,this._updateAllTileGeometries())}set _visible(e){e!==this._visibleCached&&(this._visibleCached=e,this._renderer.setVisibility(e),this.suspended=!e)}get opaque(){return this._renderer.transparency===ye.Opaque}set suspended(e){this._set("suspended",e),this._viewChangeUpdate()}get textureFadeDuration(){return this.view.qualitySettings.tiledSurface.textureFadeDuration??0}intersect(e,t,i,r){this._renderer.intersect(e,t,i,r)}getElevation(e,t,i,r){const s=this.rootTiles;if(p(s)||!s.length)return null;if(0===s[0].layerInfo[le.ELEVATION].length)return null;const a=ht;if(a[0]=e,a[1]=t,a[2]=i,!R(a,r,a,this._spatialReference))return l.getLogger(this.declaredClass).error("TerrainSurface.getElevation(): could not project given point to tiling scheme coordinate system"),null;return gt(s,a[0],a[1])}getElevations(e,t,i){const r=this.rootTiles,s=r?r[0].layerInfo[le.ELEVATION].length:0;if(!p(r)&&r.length&&0!==s)for(let a=0;a<t;++a){const t=3*a;i(a,gt(r,e[t+0],e[t+1]))}else for(let a=0;a<t;++a)i(a,null)}getScale(e){if(this.tilingScheme){if(!M(e,ht,this.spatialReference))return l.getLogger(this.declaredClass).error("TerrainSurface.getScale(): could not project given point to tiling scheme coordinate system"),null;const t=this.rootTiles;if(u(t))for(let e of t)if(e?.containsPoint(ht)){for(;!e.isLeaf&&!e.rendered;){let t=0;ht[0]>e.children[0].extent[2]&&(t+=1),ht[1]<e.children[0].extent[1]&&(t+=2),e=e.children[t]}return this._getLodBiasCorrectedScale(e.level)}}return 1e100}getSphereElevationBounds(e,t,i,r,s){if(ht[0]=e,ht[1]=t,ht[2]=i,ht[3]=r,!R(ht,s,ht,this.tilingScheme?.spatialReference))return l.getLogger(this.declaredClass).error("TerrainSurface.getSphereElevationBounds(): could not project given point to tiling scheme coordinate system"),null;let a=1/0,n=-1/0;const o=e=>{if(e&&N(e.extent,ht))if(e.isLeaf||e.rendered)a=Math.min(a,e.elevationBounds[0]),n=Math.max(n,e.elevationBounds[1]);else for(const t of e.children)o(t)},h=this.rootTiles;if(u(h))for(const l of h)o(l);return{min:a,max:n}}getSphereScale(e,t){if(!this.tilingScheme)return null;if(!M(e,ht,this.spatialReference))return l.getLogger(this.declaredClass).error("TerrainSurface.getSphereScale(): could not project given point to tiling scheme coordinate system"),null;ht[3]=t;let i=null;const r=e=>{if(e&&N(e.extent,ht))if(e.isLeaf||e.rendered){const t=this._getLodBiasCorrectedScale(e.level);i=null==i?t:Math.min(i,t)}else for(const t of e.children)r(t)},s=this.rootTiles;if(u(s))for(const a of s)r(a);return i}queryVisibleScaleRange(e,t,i,r){const s=t?this.tilingScheme.levelAtScale(t):0,a=i?this.tilingScheme.levelAtScale(i):1/0,n=this._lodBias;this._renderer.queryVisibleLevelRange(e,s+n,a+n,r)}_evaluateTransparency(e){const t=this._renderer.transparency,i=this._allSurfaceLayersTransparent()?ye.Invisible:e>=1&&!this.hasCompositeBlendMode&&!this._renderer.slicePlaneEnabled?ye.Opaque:ye.Semitransparent,r=t!==i;return r&&(this._renderer.transparency=i,this.view?._stage?.renderView.setRenderParameters({terrainTransparency:this._renderer.transparency})),r}_updateBaseOpacity(e){const t=this._evaluateTransparency(e);this._updateTileTextures(t?ne.UNFADED:ne.IMMEDIATE)}_updateTilingScheme(){const e=this.tilingSchemeLogic.tilingScheme;e!==this.tilingScheme&&(we(!!e,"tiling scheme cannot be reset to undefined"),this._isGlobal=!this.view?.state?.isLocal,this.tilingScheme&&this._removeAllTiles(),this._spatialReference=e?.spatialReference??A.WebMercator,this._set("tilingScheme",e),this._updateClippingExtent(),e&&(this._updateTiledLayers(),this._renderer.setTileSize(e.pixelSize),this.overlayManager.setSpatialReference(e.spatialReference),this._updateRootTiles()),this._isWebMercator=!!this.tilingScheme?.spatialReference.isWebMercator,this._isWebMercatorOnPlateeCarree=this._isWebMercator&&q(this.view?.renderSpatialReference))}_acquireTile(e,t,i,r){const s=this._tilePool.acquire();return pt[0]=e,pt[1]=t,pt[2]=i,s.init(pt,r,this),s}get updatingRootTiles(){return this._updatingRootTiles}_updateRootTiles(){const{extent:e,tilingScheme:t}=this;if(!t)return;const i=dt;let s=t.rootTilesInExtent(e,i,5*ce);if(u(this.rootTiles)){if(s.length>ce)return void l.getLogger(this.declaredClass).warn(_e);const e=this.rootTiles.map((e=>e.lij)),t=r(e,s,nt);if(this._updatingRootTiles=!0,t.removed.length>0||t.added.length>0){const e=this.rootTiles.filter((e=>!(t.removed.findIndex((t=>nt(t,e.lij)))>-1)||(this._purgeTile(e),!1)));t.added.forEach((t=>e.push(this._newRootTile(t)))),this._setRootTiles(e)}}else this._updatingRootTiles=!0,s.length>ce&&(l.getLogger(this.declaredClass).warn(ge),s=t.rootTilesInExtent(e,i,ce)),this._setRootTiles(s.map((e=>this._newRootTile(e))));O(i,this._rootTilesExtent)||(this._rootTilesExtent=I(i)),this._visible=!0,this._viewChangeUpdate(),this.overlayManager.setPlacementDirty(),this.notifyChange("ready"),this._updateAllTileGeometries(),this._updatingRootTiles=!1,this.checkAllTilesWaterproofness()}_updateAllTileGeometries(){const e=this._allTiles.filter((e=>e.isLoaded&&e.intersectsClippingArea));e.forEach((e=>this._renderer.updateTileGeometryState(e))),e.forEach((e=>e.renderData.updateNeighborData())),this._updateTilesGeometries(e),this._pendingTilesToUpdate.clear()}_updateTilesGeometries(e){if(0===e.length)return;e.sort(He);const t=this.renderer;e.forEach((e=>t.updateGeometryIfNeeded(e))),e.forEach((e=>this._pendingTilesForElevationUpdateEvent.add(e)))}_newRootTile(e){const t=this._acquireTile(0,e[1],e[2],null);return t.shouldSplit(this._splitLimits,this._eyePosRenderSR,this.lodSnapping)===Ge.SPLIT&&t.setPendingUpdate(Ge.SPLIT),this._loadTile(t),this._markTileToUpdate(t),this._updateRootTileElevationBounds(),t}_setRootTiles(e){if(this._set("rootTiles",e),this._allTiles.clear(),u(e)){const t=this._iteratorPool.acquire();for(t.reset(e);!t.done;)this._allTiles.push(t.next());t.remove()}this._renderer.setRootTiles(this.rootTiles),this._updateTilesVisibility(e)}_runViewChangeUpdateIfDirty(){this._viewChangeUpdateDirty&&(this._viewChangeUpdateDirty=!1,this._viewChangeUpdate())}_viewChangeUpdate(){this.view&&!this.suspended&&this.tilingScheme&&this._visibleCached&&(this._inFrameTask?this._viewChangeUpdateDirty=!0:(this._viewChangeUpdateDirty=!1,this._updateViewDependentParameters(),this._updateTilesVisibility(this.rootTiles)))}_updateClippingStatus(e){e.updateClippingStatus(this.extent)&&e.resetPendingUpdate(Ge.GEOMETRY)&&this._updateTileGeometryState(e)}_updateTilesVisibility(e){if(p(e))return;const t=ze(e),i=this.visibleElevationBounds;let r=t?i.min:1/0,s=t?i.max:-1/0;const a=this.extent,n=this._viewProjectionMatrix;this.setTileTreeDirty();const l=this._iteratorPool.acquire();for(l.reset(e);!l.done;){const e=l.next();e.updateClippingStatus(a)&&e.resetPendingUpdate(Ge.GEOMETRY)&&this._updateTileGeometryState(e),e.setPendingUpdate(Ge.RENDERDATA),e.computeVisibility(),e.updateScreenDepth(n),e.renderData&&(r=Math.min(e.elevationBounds[0],r),s=Math.max(e.elevationBounds[1],s))}l.remove(),this._viewChanged=!0,this._allTilesDirty=!0,this._batchUpdatePendingTileGeometries(),isFinite(r)&&isFinite(s)&&(i.min!==r||i.max!==s)&&(this.visibleElevationBounds=new te(r,s))}_updateRootTileElevationBounds(){let e=1/0,t=-1/0;const i=this.rootTiles;u(i)&&i.forEach((({elevationBounds:i})=>{e=Math.min(e,i[0]),t=Math.max(t,i[1])}));const r=this.rootTileElevationBounds;r.min===e&&r.max===t||(this.rootTileElevationBounds=new te(e,t))}_updateViewDependentParameters(){const e=this.view.state.camera,t=this.view.state.contentCamera,i=Math.tan(.5*t.fovX),r=Math.tan(.5*t.fovY),s=this.tilingScheme.pixelSize,a=2**-this._lodBias*e.pixelRatio;this._splitLimits.aboveGround=e.aboveGround,this._splitLimits.fovX=i,this._splitLimits.fovY=r,this._splitLimits.relativeWidthLimit=s/e.width*this.maxTextureScale*a,this._splitLimits.relativeHeightLimit=s/e.height*this.maxTextureScale*a,this._splitLimits.maxLod=this.tilingScheme.getMaxLod(),this._splitLimits.angledSplitBias=this.view.qualitySettings.tiledSurface.angledSplitBias,this.view.state.fixedContentCamera?(p(this._splitLimits.frustum)&&(this._splitLimits.frustum=F()),G(this._splitLimits.frustum,t.frustum)):this._splitLimits.frustum=null,G(this._frustum,e.frustum),D(this._viewProjectionMatrix,t.projectionMatrix,t.viewMatrix),P(this._eyePosRenderSR,t.eye),R(e.eye,this.view.renderSpatialReference,this._eyePosSurfaceSR,this.spatialReference)}_updateRenderData(e){e.rendered&&!e.shouldLoad&&(lt(e)?this._loadChildren(e):ot(e)&&this._loadParent(e))}_updateTileGeometryState(e){e.updateVisibility();this._renderer.updateTileGeometryState(e)&&this._markTileToUpdate(e),this._usedMemory=null}_markAllTileNeighborsForGeometryUpdate(e){const t=this._pendingTilesToUpdate;e.forEachLoadedNeighbor((e=>{t.add(e)}))}_updateTileTexture(e,t){const i=e.resetPendingUpdate(Ge.TEXTURE_FADING)?Ge.TEXTURE_FADING:!!e.resetPendingUpdate(Ge.TEXTURE_NOFADING)&&Ge.TEXTURE_NOFADING;i&&(this._renderer.updateTileTexture(e,i),this._usedMemory=null,t.madeProgress())}_emitElevationUpdateEventForTiles(){const e=ct.extent;k(e),this._pendingTilesForElevationUpdateEvent.forEach((t=>B(e,t.extent,e))),this._pendingTilesForElevationUpdateEvent.clear(),ct.spatialReference=this.spatialReference,this.emit("elevation-change",ct)}runTask(e){this._handleLayerViewChanges(e),this._frameTask.processQueue(e),this._inFrameTask=!0,this._pendingUpdates=0,this._hasPendingUpdates=!1,this._updateAllTilesStatus(e),this._sortTiles(e);const t=!this.view.state.fixedContentCamera;this._mergeAndSplit(e,t),this._updateElevation(e),this._updateTextures(e),t||this._mergeAndSplit(e,!0),this._inFrameTask=!1,this._runViewChangeUpdateIfDirty(),this._batchUpdatePendingTileGeometries(),this._emitElevationUpdateEventForTiles(),e.done?this.requestUpdate():this.getUsedMemory(),this.notifyChange("updatingProgressValue")}_updateAllTilesStatus(e){if(!this._viewChanged||!this.rootTiles||e.done)return;this._viewChanged=!1;const t=this._iteratorPool.acquire();for(t.reset(this.rootTiles);!t.done;){const e=t.next(),i=e.shouldSplit(this._splitLimits,this._eyePosRenderSR,this.lodSnapping);if(i!==Ge.SPLIT){if(e.resetPendingUpdate(Ge.SPLIT)&&e.updateAgentSuspension(),i===Ge.VSPLITMERGE&&e.updateAgents(le.ELEVATION),t.skipSubtree(),!e.isLeaf){e.setPendingUpdate(Ge.MERGE),e.resetPendingUpdate(Ge.SPLIT);const t=this._iteratorPool.acquire();t.resetOne(e);for(let e=t.next();!t.done;e=t.next())this._updateClippingStatus(e),e.updateVisibility(),e.updateScreenDepth(this._viewProjectionMatrix);t.remove()}}else e.resetPendingUpdate(Ge.MERGE),e.isLeaf&&(e.setPendingUpdate(Ge.SPLIT),t.skipSubtree()),e.rendered&&e.setPendingUpdate(Ge.RENDERDATA)}t.remove(),this.requestUpdate(),(this.shortBatches||!this.oneBatchPerFrameTask)&&this._batchUpdatePendingTileGeometries(),e.madeProgress()}_sortTiles(e){e.done||this._allTilesSorted||(Xe(this._allTiles,this.view.pointsOfInterest.focus.renderLocation),this._allTilesSorted=!0,this._treeDebugger&&this._treeDebugger.update(),e.madeProgress())}_markTileToUpdate(e){Se(e.isLoaded),e.intersectsClippingArea&&(this._pendingTilesToUpdate.add(e),this._markAllTileNeighborsForGeometryUpdate(e))}_batchUpdatePendingTileGeometries(){const e=this._pendingTilesToUpdate;if(0===e.size)return;const t=Array.from(this._pendingTilesToUpdate.keys()).filter((e=>e.isLoaded&&e.intersectsClippingArea)),i=(i,r)=>{!r?.isLoaded||!r.intersectsClippingArea||r.level<i.level||e.has(r)||(e.add(r),t.push(r),r.renderData.updateNeighborData())};t.sort(He);const r=t.length;for(let s=0;s<r;++s){const r=t[s];Se(r.isLoaded),Se(r.intersectsClippingArea);const a=r.renderData;a.updateNeighborData();const n=a._dirtyEdgeResolutions,l=a.geometryState.neighborData;for(let t=0;t<4;++t)if(n&1<<t){const s=r.renderData.geometryState.neighborData.edgePeerNeighbors[t];s&&s?.level>=r.level&&s.forAllSubtreeOnSide(Ee(Ae[t]),(t=>!(!t.isLoaded||!t.intersectsClippingArea)&&(Se(e.has(t)||He(r,t)<0),i(r,t),!0))),i(r,l.cornerPeerNeighbors[t]),i(r,l.cornerPeerNeighbors[(t+1)%4])}}e.clear(),this._updateTilesGeometries(t),Ie&&Oe&&this.checkAllTilesWaterproofness()}_mergeAndSplit(e,t){if(this.suspended||e.done||!this._allTilesDirty)return;this._allTilesDirty=!1,this.requestUpdate();let i=!1,r=!1;for(;!e.done;){r=!0;let s=!1;const a=!this._allTiles.some((r=>{if(!i&&!r.loadable)return e.done;let a=r;if(r.resetPendingUpdate(Ge.MERGE)){if(!t)return r.setPendingUpdate(Ge.MERGE),e.done;for(;a.parent?.resetPendingUpdate(Ge.MERGE);)a=a.parent;this._mergeTile(a),s=!0,e.madeProgress()}else r.resetPendingUpdate(Ge.SPLIT)&&(this._splitTile(r),s=!0,e.madeProgress());return!e.done&&a===r&&r.resetPendingUpdate(Ge.RENDERDATA)&&(this._updateRenderData(r),e.madeProgress()),e.done}));if(s&&(this._allTilesSorted=!1,this._allTilesDirty=!0),a){if(!i){i=!0;continue}if(!s)break}else this._allTilesDirty=!0}r||(this._allTilesDirty=!0),!this.oneBatchPerFrameTask&&this._batchUpdatePendingTileGeometries(),this._sortTiles(e)}_updateElevation(e){e.done||(this._allTiles.some((t=>(t.resetPendingUpdate(Ge.GEOMETRY)&&(this._updateTileGeometryState(t),this._updateTileTexture(t,e),this.shortBatches&&this._batchUpdatePendingTileGeometries(),e.madeProgress()),e.done))),!this.oneBatchPerFrameTask&&this._batchUpdatePendingTileGeometries())}_updateTextures(e){e.done||this._allTiles.some((t=>(this._updateTileTexture(t,e),e.done)))}_updateClippingExtent(){this.spatialReference&&(this.updateTileOverlayParams(Ze.UPDATE),this.overlayManager.setPlacementDirty(),this._updateRootTiles())}get _lodBias(){const e=this.view.resourceController.memoryController.memoryFactor;return this.view.qualitySettings.tiledSurface.lodBias-(1-e)*me}_getLodBiasCorrectedScale(e){const t=this.tilingScheme.levels,i=o(e-this._lodBias,0,t.length-1),r=i-Math.floor(i);return t[Math.floor(i)].scale*(1-r)+t[Math.ceil(i)].scale*r}_removeAllTiles(){u(this.rootTiles)&&(this.rootTiles.forEach((e=>this._purgeTile(e))),this._setRootTiles(null),this.notifyChange("ready")),this._allTiles.clear(),this._visible=!1}_purgeDescendantTiles(e){if(e.isLeaf)return!1;let t=!1;for(let i=0;i<4;++i)t=this._purgeTile(e.children[i])||t;return e.unsetChildren(),t}_purgeTile(e){const t=this._purgeDescendantTiles(e)||e.rendered;return this._allTiles.removeUnordered(e),this._unloadTile(e),this._tilePool.release(e),t}_unloadTile(e){this._pendingTilesToUpdate.delete(e),this._pendingTilesForElevationUpdateEvent.delete(e),e.unload(this._renderer)}_splitTile(e){we(e.isLeaf,"tile that is already split should not be split again!");const t=e.level+1,i=2*e.lij[1],r=2*e.lij[2];e.setChildren(this._createTile(t,i,r,e),this._createTile(t,i,r+1,e),this._createTile(t,i+1,r,e),this._createTile(t,i+1,r+1,e)),e.setPendingUpdate(Ge.RENDERDATA),e.updateAgentSuspension(),this._allTiles.pushArray(e.children),this._allTilesDirty=!0,++this._performanceInfo.numSplit}_emitTileScaleChange(e,t=e.level){_t.spatialReference=this.spatialReference,_t.extent=e.extent,_t.scale=this._getLodBiasCorrectedScale(t),this.emit("scale-change",_t)}_createTile(e,t,i,r){we(!!r,"_createTile sanity check");const s=this._acquireTile(e,t,i,r);return s.updateClippingStatus(this.extent),s.updateScreenDepth(this._viewProjectionMatrix),s.shouldSplit(this._splitLimits,this._eyePosRenderSR,this.lodSnapping)===Ge.SPLIT&&s.setPendingUpdate(Ge.SPLIT),s}get shortBatches(){return this.view.state.mode!==et.IDLE}_mergeTile(e){we(!e.hasPendingUpdate(Ge.SPLIT),"_mergeTile sanity check"),this._purgeDescendantTiles(e)&&(we(!e.renderData,"_mergeTile sanity check"),this._loadTile(e),this._markTileToUpdate(e),this._emitTileScaleChange(e),this.shortBatches&&this._batchUpdatePendingTileGeometries()),this._allTilesDirty=!0,++this._performanceInfo.numMerged}_loadChildren(e){we(e.rendered,"parent should be rendered"),this._unloadTile(e);const t=e.children;t.forEach((e=>this._loadTile(e))),t.forEach((e=>this._pendingTilesToUpdate.add(e))),this._markAllTileNeighborsForGeometryUpdate(e),this._emitTileScaleChange(e,e.level+1),this.shortBatches&&this._batchUpdatePendingTileGeometries()}_loadParent(e){const t=e.parent;this._unloadChildren(t),this._loadTile(t),this._markTileToUpdate(t),this._emitTileScaleChange(t,t.level),this.shortBatches&&this._batchUpdatePendingTileGeometries()}_unloadChildren(e){if(!e.isLeaf)for(let t=0;t<4;++t){const i=e.children[t];this._unloadChildren(i),this._unloadTile(i)}}_loadTile(e){e.load(),e.setPendingUpdate(Ge.RENDERDATA),this.requestUpdate(),this._allTilesDirty=!0,this.overlayManager&&this.overlayManager.hasOverlays&&this.overlayManager.setTileParameters(e)}_elevationDataArrived(e,t,i){const r=new ie(e.lij,e.extent,i);e.dataArrived(t,le.ELEVATION,r);const s=[e],a=e.level,n=this._iteratorPool.acquire();for(n.reset(s);!n.done;){const e=n.next();e.findElevationBoundsForLayer(t,a),e.computeElevationBounds()}0===a&&this._updateRootTileElevationBounds(),n.remove(),this._updateTilesVisibility(s)}_handleLayerViewChanges(e=rt){if(!this._layerViewsDirty)return;this._layerViewsDirty=!1;let t=!1;const i=new Set;let r=-1;for(const s of this.view.allLayerViews.items)if(i.add(s.uid),Le(s)||De(s))if(this._basemapLayerViewHandles.has(s.uid)&&!De(s)){const e=this._layerClassFromLayerView(s),i=this._getLayerIdxByUID(e,s.uid);u(i)&&((i<r||p(r))&&(t=!0),r=i)}else this._registerTiledLayerView(s),s.layer.loaded&&(t=!0);this._basemapLayerViewHandles.forEach(((e,r)=>{i.has(r)||(this._unregisterTiledLayerView(r),t=!0)})),t&&this._updateTiledLayers(),this._renderer.transparency=this._allSurfaceLayersTransparent()?ye.Invisible:this._renderer.transparency,this.hasCompositeBlendMode=this._hasCompositeBlendMode(),e.madeProgress()}_allSurfaceLayersTransparent(){let e=0===this.view.map?.ground?.opacity;for(const t of this.view.allLayerViews.items)if(be(t)&&!z(t.layer)&&0!==t.fullOpacity)return e=!1,e;return e}_hasCompositeBlendMode(){for(const e of this.view.allLayerViews.items)if((Pe(e)||De(e))&&Ke(Je[e.layer.blendMode]))return!0;return!1}_layerClassFromLayerView(e){return Ce(e)?le.ELEVATION:le.MAP}_registerTiledLayerView(e){const t=[];if((Pe(e)||De(e))&&t.push(y((()=>e.layer.blendMode),(()=>{this.hasCompositeBlendMode=this._hasCompositeBlendMode(),this._updateTileTextures(ne.UNFADED)}))),De(e))return;const i=this._layerClassFromLayerView(e);t.push(y((()=>e.suspended),(()=>this._updateTiledLayers()))),t.push(y((()=>e.fullOpacity),(()=>this._updateTileTextures(ne.UNFADED)))),t.push(y((()=>"effectiveScaleRange"in e.layer?e.layer.effectiveScaleRange:null),(()=>this._restartAllAgents(i)))),e.on("data-changed",(()=>{const t=this._getLayerIdxByUID(i,e.uid);u(t)&&this._invalidateLayerData(t,i)})),this._basemapLayerViewHandles.set(e.uid,t)}_unregisterTiledLayerView(e){const t=this._basemapLayerViewHandles.get(e);if(t){for(let e=0;e<t.length;e++)t[e].remove();this._basemapLayerViewHandles.delete(e)}}_updateTiledLayers(){if(!this.tilingScheme||this.view.suspended)return;const e=this.view.allLayerViews,t=[[],[]];let i=null;e.forEach((e=>{if(!e.layer||e.suspended||!Le(e)||!e.fullExtent)return;const r=this._layerClassFromLayerView(e);if(r===le.MAP){const t=e.displayLevelRange.maxLevel;t!==1/0&&(null===i||t>i)&&(i=t)}t[r].push(e)}));for(const r of oe){const e=this._layerViews[r],i=t[r];i.reverse();const s=i.length;let a=e.length!==s;const n=new Array(s),l=new Array(e.length);this._layerIndexByUid[r].clear();for(let t=0;t<s;t++){const s=i[t].uid;this._layerIndexByUid[r].set(s,t);const o=e.indexOf(i[t]);n[t]=o,t!==o&&(a=!0),o>-1&&(l[o]=t)}if(a){const e=this._postorderIterator;for(e.reset(this.rootTiles);!e.done;)e.next().modifyLayers(l,n,r);this._layerViews[r]=i,this._restartAllAgents(r),this._updateTilesVisibility(this.rootTiles)}}this.tilingScheme.ensureMaxLod(i)&&this._viewChangeUpdate()}_restartAllAgents(e){const t=this._postorderIterator;for(t.reset(this.rootTiles);!t.done;){const i=t.next();i.restartAgents(e),e===le.ELEVATION&&i.computeElevationBounds()}this._updateRootTileElevationBounds()}layerViewByIndex(e,t){return this._layerViews[t][e]}numLayers(e){return this._layerViews[e].length}_updateTileTextures(e){this._allTiles.forAll((t=>{t.updateAgents(le.MAP),e===ne.IMMEDIATE?this.renderer.updateTileTexture(t,Ge.TEXTURE_NOFADING):t.updateRenderData(le.MAP,e)})),this._renderer.transparency=this._allSurfaceLayersTransparent()?ye.Invisible:this._renderer.transparency}_invalidateLayerData(e,t){this._allTiles.forAll((i=>i.removeLayerAgent(e,t))),this._allTiles.forAll((i=>i.invalidateLayerData(e,t)))}setTileTreeDirty(){this._allTilesDirty=!0}requestRender(e=Ze.UPDATE){this.renderer.setNeedsRender(e)}requestUpdate(){1==++this._pendingUpdates&&(this._hasPendingUpdates=!0)}requestTileData(e,t,i,r){const s=this.layerViewByIndex(t,i),a=s.layer;return!a.tilemapCache||Ue(s)?this._requestTileData(e,i,s,r):(++this._asyncWorkItems,a.tilemapCache.fetchAvailability(e.lij[0],e.lij[1],e.lij[2],{...r,timeout:6e3}).then((()=>--this._asyncWorkItems)).catch((t=>{throw--this._asyncWorkItems,g(r),m(t)||this._dataMissing(e,i,s,{notInTilemap:!0}),t})).then((()=>this._frameTask.schedule((()=>this._requestTileData(e,i,s,r)),r.signal))))}_requestTileData(e,t,i,r){return t===le.ELEVATION?Ce(i)?this._requestElevationTileData(e,i,r):Promise.reject():be(i)?this._requestMapTileData(e,i,r):Promise.reject()}_requestElevationTileData(e,t,i){++this._asyncWorkItems;const r=r=>{if(T(i))return;const s=this._layerIndexByUid[le.ELEVATION].get(t.uid);null!=s?(this._usedMemory=null,this.requestUpdate(),this._elevationDataArrived(e,s,r)):l.getLogger(this.declaredClass).warn("TerrainSurface: received data from unknown layer %d %s",le.ELEVATION,e.lij.toString())},s=i=>{m(i)||(this._dataMissing(e,le.ELEVATION,t,i),this.requestUpdate())};if(xe(t.layer))return t.layer.fetchTile(e.lij[0],e.lij[1],e.lij[2],{noDataValue:Te,signal:i.signal}).then((e=>{if(!T(i))return this._frameTask.schedule((()=>r(e)),i.signal,s);l.getLogger(this.declaredClass).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true.")}),s).finally((()=>{--this._asyncWorkItems}));const a=t.getTileUrl(e.lij[0],e.lij[1],e.lij[2]);return this._elevationDataRequester.request(a,"binary",i).then((e=>this._lercDecoder.decode(e,{noDataValue:Te},i.signal))).then((e=>{e?r({values:e.pixelData,width:e.width,height:e.height,noDataValue:e.noDataValue,minValue:e.minValue,maxValue:e.maxValue}):s(new Error("LERC decoding failed"))}),s).finally((()=>{--this._asyncWorkItems}))}_requestMapTileData(e,t,i){++this._asyncWorkItems;const r=(r,s)=>{--this._asyncWorkItems,je(s),T(i)||(this._dataMissing(e,le.MAP,t,r),this.requestUpdate())},s=e=>t=>r(t,e),a=r=>this._frameTask.schedule((()=>{--this._asyncWorkItems,this.requestUpdate(),T(i)?je(r):this._mapTileDataArrived(e,t,r)}),i.signal,s(r)).catch(s(r)),n=(e,t=null)=>this._frameTask.schedule((()=>r(e,t)));if(Ue(t)){const r=t.schemaHelper.getLevelRowColumn(e.lij);return t.fetchTile(r[0],r[1],r[2],i).then(a,n)}if(Re(t))return t.fetchTile(e.lij[0],e.lij[1],e.lij[2],i).then(a,n);if(Me(t)&&xe(t.layer))return t.layer.fetchTile(e.lij[0],e.lij[1],e.lij[2],i).then((e=>{if(T(i))return l.getLogger(this.declaredClass).warnOnce("A call to fetchTile resolved even though the request was aborted. fetchTile should not resolve if options.signal.aborted is true."),void n(f());a(e)}),n);let o=t.getTileUrl(e.lij[0],e.lij[1],e.lij[2]);W(t.layer)&&t.layer.refreshTimestamp&&(o+=`${o.includes("?")?"&":"?"}_ts=${t.layer.refreshTimestamp}`);const h=t.hasMixedImageFormats?"image+type":"image";return this._mapDataRequester.request(o,h,i).then(a,n)}_mapTileDataArrived(e,t,i){const r=this._getLayerIdxByUID(le.MAP,t.uid);u(r)?e.dataArrived(r,le.MAP,i):(je(i),l.getLogger(this.declaredClass).warn("TerrainSurface: received data from unknown layer"))}_getLayerIdxByUID(e,t){return this._layerIndexByUid[e].get(t)}_dataMissing(e,t,i,r){const s=this._getLayerIdxByUID(t,i.uid);u(s)?e.dataMissing(s,t,r):l.getLogger(this.declaredClass).warn("TerrainSurface: received data from unknown layer")}updateTileOverlayParams(e){this.rootTiles&&this.overlayManager&&(this._allTiles.forAll((e=>{e.renderData&&this.overlayManager.setTileParameters(e)})),this._renderer.setNeedsRender(e))}get performanceInfo(){const e=this._performanceInfo;return e.numNodes=this._allTiles.length,e.numLeaves=e.numVisible=e.numRendered=e.numLoadedPerLevel.length=e.numRenderedPerLevel.length=0,this._allTiles.forAll((t=>{t.isLeaf&&e.numLeaves++;const i=t.level;t.renderData&&(e.numLoadedPerLevel[i]=(e.numLoadedPerLevel[i]||0)+1),t.visible&&(e.numVisible++,t.rendered&&(e.numRenderedPerLevel[i]=(e.numRenderedPerLevel[i]||0)+1,e.numRendered++))})),e}getUsedMemory(){return this.tilingScheme?(p(this._usedMemory)&&(this._usedMemory=this._recalculateUsedMemory()),u(this._usedMemory)?this._usedMemory:0):0}_recalculateUsedMemory(){return this.tilingScheme?this._allTiles.reduce(((e,t)=>e+t.usedMemory),0):null}getUsedMemoryForLayerView(e){let t=0;const i=this._layerClassFromLayerView(e),r=this._getLayerIdxByUID(i,e.uid);return u(r)&&this._allTiles.forAll((e=>t+=e.getUsedMemoryForLayer(i,r))),t}getTile(e){if(p(e)||p(this.rootTiles))return null;const t=e.split("/").map((e=>+e));if(0===t[0])return this.rootTiles.find((e=>e.lij[1]===t[1]&&e.lij[2]===t[2]));const i=2**t[0],r=Math.floor(t[1]/i),s=Math.floor(t[2]/i);let a;if(this.rootTiles.some((e=>e.lij[1]===r&&e.lij[2]===s&&(a=e,!0))),a){let e=1<<t[0]-1;for(;a.lij[0]<t[0];){let i=t[1]&e?2:0;if((t[2]&e)>0&&i++,!a.children[i])return null;a=a.children[i],e>>=1}return we(a.lij[0]===t[0]&&a.lij[1]===t[1]&&a.lij[2]===t[2],"not the right tile?"),a}return null}get renderPatchBorders(){return this._renderer.renderPatchBorders}set renderPatchBorders(e){this._renderer.renderPatchBorders=e}get visualizeNormals(){return this._renderer.visualizeNormals}set visualizeNormals(e){this._renderer.visualizeNormals=e}get renderingDisabled(){return this._renderer.renderingDisabled}set renderingDisabled(e){this._renderer.renderingDisabled=e}get test(){const e=this;return{renderer:e._renderer,lercDecoder:e._lercDecoder,forceReload:()=>{u(e.rootTiles)&&(e._mergeTile(e.rootTiles[0]),e._viewChangeUpdate())},getTiles:()=>e._allTiles.toArray(),getRenderedTiles(){ut.clear(),e._allTiles.forAll((e=>{e.visible&&e.rendered&&ut.push(e)}));const t=ut.toArray();return Qe(e.renderOrder,t),t},lockTilingScheme(t,i){e._extentHelper.defaultTiledLayersExtent=i,e.tilingSchemeLogic.test.lockTilingScheme(t)}}}checkAllTilesWaterproofness(){if(!Oe)return;const e=this.rootTiles;if(p(e))return;const t=e=>e?.renderData?.geometryInfo?.indices?.length>0,i=(e,i)=>{t(e)&&console.error("Tile[",e.lij,"] has geometry although parent[",i.lij,"] has geom")},r=e=>{if(e.intersectsClippingArea)if(e.renderData&&!e.renderData.geometryState&&console.error("Tile[",e.lij,"] has renderData but not geometryState"),e.renderData&&!e.renderData.geometryInfo&&console.error("Tile[",e.lij,"] has renderData but not geometryInfo"),!e.renderData?.geometryInfo||(e.renderData.geometryInfo.indices?.length??0)>0||console.error("Tile[",e.lij,"] has renderData but no indices - geometryInfo: ",e.renderData.geometryInfo),t(e)){e.checkGeometryWaterproofness();for(const t of e.children)i(t,e)}else if(e.isLeaf)console.error("Tile[",e.lij,"] has no geometry and no children, from root to leaf");else for(const t of e.children)r(t)},s=e=>{const t=e.parent?.visible??!0,i=e.visible;e.computeVisibility();const r=e.visible;if(i!==r&&t&&console.error(" Tile[",e.lij,"] has out of date visibility: ",i," instead of ",r),!e.isLeaf)for(const a of e.children)s(a)};for(const a of e)r(a),s(a)}get isGlobal(){return this._isGlobal}get shading(){return this._shading}_updateShadingIfChanged(){const e=this.view?.map?.ground?.shading;e!==this._shading&&this._updateShading()}_updateShading(){const e=this.view?.map?.ground?.shading;this._shading=e,this.renderer&&(this.renderer.shading=e,this.renderer.setNeedsRender()),this._updateAllTileGeometries()}get isWebMercator(){return this._isWebMercator}get isWebMercatorOnPlateeCarree(){return this._isWebMercatorOnPlateeCarree}isEastEndWrap(e){return this.isGlobal&&e[2]===this.lijEastEnd(e[0])-1}isWestEndWrap(e){return this.isGlobal&&0===e[2]}lijEastEnd(e){return 2**(e+(u(this.spatialReference)&&this.spatialReference.isGeographic?1:0))}wrapEastWest(e){const t=this.lijEastEnd(e[0]),i=e[2];if(0<=i&&i<t)return e;if(!this.isGlobal)return null;const r=(i+(i<0?t:0))%t;return[e[0],e[1],r]}enableInternalChecks(e){Ve(e)}enableWaterproofnessChecks(e){ke(e)}};e([E()],st.prototype,"_renderer",void 0),e([E()],st.prototype,"_hasPendingUpdates",void 0),e([E()],st.prototype,"_asyncWorkItems",void 0),e([E()],st.prototype,"_allTilesDirty",void 0),e([E()],st.prototype,"_allTilesSorted",void 0),e([E()],st.prototype,"_viewChanged",void 0),e([E({readOnly:!0})],st.prototype,"_watchUpdatingTracking",void 0),e([E()],st.prototype,"_frameTask",void 0),e([E({readOnly:!0})],st.prototype,"snapLevel",null),e([E({readOnly:!0})],st.prototype,"lodSnapping",null),e([E({constructOnly:!0})],st.prototype,"view",void 0),e([E()],st.prototype,"_userClippingExtent",null),e([E()],st.prototype,"_rootTilesExtent",void 0),e([E({readOnly:!0})],st.prototype,"extent",null),e([E({readOnly:!0})],st.prototype,"groundExtent",null),e([E({readOnly:!0})],st.prototype,"_tilingSchemeExtent",null),e([E({readOnly:!0})],st.prototype,"updating",null),e([E({readOnly:!0})],st.prototype,"running",null),e([E(ee)],st.prototype,"updatingProgress",void 0),e([E({readOnly:!0})],st.prototype,"updatingProgressValue",null),e([E()],st.prototype,"_maxNumUpdating",void 0),e([E()],st.prototype,"baseOpacity",null),e([E()],st.prototype,"hasCompositeBlendMode",void 0),e([E({readOnly:!0})],st.prototype,"overlayManager",void 0),e([E({readOnly:!0})],st.prototype,"viewingMode",null),e([E()],st.prototype,"maxTextureScale",void 0),e([E({readOnly:!0})],st.prototype,"ready",null),e([E({value:pe.FRONT_TO_BACK})],st.prototype,"renderOrder",null),e([E({readOnly:!0})],st.prototype,"rootTiles",void 0),e([E({readOnly:!0})],st.prototype,"spatialReference",null),e([E({type:t})],st.prototype,"backgroundColor",null),e([E({value:!1})],st.prototype,"slicePlaneEnabled",null),e([E({readOnly:!0})],st.prototype,"tilingScheme",void 0),e([E({readOnly:!0})],st.prototype,"tilingSchemeLocked",null),e([E({readOnly:!0})],st.prototype,"tilingSchemeLogic",void 0),e([E({value:!0})],st.prototype,"velvetOverground",null),e([E()],st.prototype,"wireframe",null),e([E({value:!1})],st.prototype,"suspended",null),e([E()],st.prototype,"textureFadeDuration",null),e([E()],st.prototype,"visibleElevationBounds",void 0),e([E()],st.prototype,"rootTileElevationBounds",void 0),e([E()],st.prototype,"_layerViewsDirty",void 0),e([E()],st.prototype,"renderPatchBorders",null),e([E()],st.prototype,"visualizeNormals",null),e([E()],st.prototype,"renderingDisabled",null),st=e([L("esri.views.3d.terrain.TerrainSurface")],st);const at=st;function nt(e,t){return e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]}function lt(e){return!e.isLeaf&&(e.children.some((e=>e.shouldLoad))||e.children.some((e=>lt(e))))}function ot(e){return e.isLeaf&&e.parent&&e.parent.shouldLoad}const ht=U(),dt=I(),pt=[0,0,0],ut=new _,ct={spatialReference:null,extent:I(),context:"ground"},_t={spatialReference:null,extent:null,scale:0};function gt(e,t,i){for(const r of e){if(!r.containsPointXY(t,i))continue;let e=r;for(;e&&!e.renderData;){const r=(t>e.extentMidX?1:0)+(i<e.extentMidY?2:0);e=e.children[r]}const s=e?.renderData?.geometryState.samplerData??null;return re(t,i,s)}return null}export{at as default};