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

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 (1098) hide show
  1. package/WebLinkChart.d.ts +1 -1
  2. package/WebMap.d.ts +2 -2
  3. package/WebScene.d.ts +3 -3
  4. package/analysis/SliceAnalysis.d.ts +1 -1
  5. package/applications/Components/analysisUtils.d.ts +24 -0
  6. package/applications/Components/analysisUtils.js +1 -1
  7. package/arcade/Dictionary.js +1 -1
  8. package/arcade/Feature.js +1 -1
  9. package/arcade/Pixel.js +1 -1
  10. package/arcade/Voxel.js +1 -1
  11. package/arcade/arcade.js +1 -1
  12. package/arcade/arcadeAsyncRuntime.js +1 -1
  13. package/arcade/arcadeCompiler.js +1 -1
  14. package/arcade/arcadeRuntime.js +1 -1
  15. package/arcade/containerUtils.js +1 -1
  16. package/arcade/debug.js +1 -1
  17. package/arcade/deepClone.js +1 -1
  18. package/arcade/featureSetUtils.js +1 -1
  19. package/arcade/featureset/actions/GroupBy.js +1 -1
  20. package/arcade/featureset/actions/OrderBy.js +1 -1
  21. package/arcade/functions/convertdirection.js +1 -1
  22. package/arcade/functions/date.js +1 -1
  23. package/arcade/functions/feature.js +1 -1
  24. package/arcade/functions/featuresetbase.js +1 -1
  25. package/arcade/functions/featuresetgeom.js +1 -1
  26. package/arcade/functions/featuresetstats.js +1 -1
  27. package/arcade/functions/featuresetstring.js +1 -1
  28. package/arcade/functions/fieldStats.js +1 -1
  29. package/arcade/functions/geomasync.js +1 -1
  30. package/arcade/functions/geometry.js +1 -1
  31. package/arcade/functions/geomsync.js +1 -1
  32. package/arcade/functions/knowledgegraph.js +1 -1
  33. package/arcade/functions/maths.js +1 -1
  34. package/arcade/functions/stats.js +1 -1
  35. package/arcade/functions/string.js +1 -1
  36. package/arcade/functions/track.js +1 -1
  37. package/arcade/geometry/constructors.js +1 -1
  38. package/arcade/geometry/functions.js +1 -1
  39. package/arcade/geometry/operators.js +1 -1
  40. package/arcade/languageUtils.js +1 -1
  41. package/arcade.d.ts +9 -9
  42. package/arcgisGlobal.d.ts +4 -0
  43. package/assets/components/assets/icon/orientedImageryFullSuperimpose16.json +1 -0
  44. package/assets/components/assets/icon/orientedImageryFullSuperimpose24.json +1 -0
  45. package/assets/components/assets/icon/orientedImageryFullSuperimpose32.json +1 -0
  46. package/assets/components/assets/icon/orientedImageryHalfSuperimpose16.json +1 -0
  47. package/assets/components/assets/icon/orientedImageryHalfSuperimpose24.json +1 -0
  48. package/assets/components/assets/icon/orientedImageryHalfSuperimpose32.json +1 -0
  49. package/assets/components/assets/icon/orientedImagerySceneOnly16.json +1 -0
  50. package/assets/components/assets/icon/orientedImagerySceneOnly24.json +1 -0
  51. package/assets/components/assets/icon/orientedImagerySceneOnly32.json +1 -0
  52. package/assets/components/assets/icon/parquetFeatureLayer16.json +1 -0
  53. package/assets/components/assets/icon/parquetFeatureLayer24.json +1 -0
  54. package/assets/components/assets/icon/parquetFeatureLayer32.json +1 -0
  55. package/assets/esri/core/workers/RemoteClient.js +1 -1
  56. package/assets/esri/core/workers/chunks/013708f40f811158d42c.js +1 -0
  57. package/assets/esri/core/workers/chunks/03354ad3d74d858173b4.js +1 -0
  58. package/assets/esri/core/workers/chunks/{544174c33628846284a1.js → 09a4139fc6d069ab6928.js} +1 -1
  59. package/assets/esri/core/workers/chunks/09d0e430c66788a2626f.js +640 -0
  60. package/assets/esri/core/workers/chunks/0a510acf50915e00c62b.js +1 -0
  61. package/assets/esri/core/workers/chunks/{7e0daf0864005cdd63c5.js → 0a780a883abfcdf0b900.js} +1 -1
  62. package/assets/esri/core/workers/chunks/{829a0583b8a228c65379.js → 0b169bb1969f86232a1a.js} +1 -1
  63. package/assets/esri/core/workers/chunks/0d9d33f29124d464a4cb.js +1 -0
  64. package/assets/esri/core/workers/chunks/0ded58ccb83f624f1460.js +1 -0
  65. package/assets/esri/core/workers/chunks/0f3654c8157ec8f22869.js +262 -0
  66. package/assets/esri/core/workers/chunks/119d352dd586f2bb61ec.js +1 -0
  67. package/assets/esri/core/workers/chunks/{8cbaaea72f4ca2f023be.js → 129fdd1636e67997337c.js} +1 -1
  68. package/assets/esri/core/workers/chunks/130784a27661de6b52a5.js +1 -0
  69. package/assets/esri/core/workers/chunks/{942e527b9b92999886c7.js → 145364aa20b4435294c2.js} +1 -1
  70. package/assets/esri/core/workers/chunks/{9a3344f1dd22c425b8cc.js → 1595dc499a06b23b6a96.js} +1 -1
  71. package/assets/esri/core/workers/chunks/{6c97b5bc408f051606d2.js → 166a0df6e37627e18976.js} +1 -1
  72. package/assets/esri/core/workers/chunks/168be2eac0fa3c67ae27.js +1 -0
  73. package/assets/esri/core/workers/chunks/{aea8e0577fb48d5c9577.js → 181e948d076a9a7aae8a.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{176e676879666f784599.js → 18e7784f13a57a75585a.js} +1 -1
  75. package/assets/esri/core/workers/chunks/19dcae83be0fc0aced02.js +1 -0
  76. package/assets/esri/core/workers/chunks/{d66f68a811c90739951a.js → 1c029b03ed836f393a50.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{0aaee272520c6e5bb617.js → 1c64e10f966e26af6fed.js} +1 -1
  78. package/assets/esri/core/workers/chunks/{b5d0898406c7d6e6a717.js → 1dacc0b64bd27ce2de3a.js} +1 -1
  79. package/assets/esri/core/workers/chunks/1eabe746481e0b228498.js +1 -0
  80. package/assets/esri/core/workers/chunks/1eeb1edca0ad5db6917c.js +1 -0
  81. package/assets/esri/core/workers/chunks/{425c04b26a6ec6d04b08.js → 201007cf1a91e2b126fc.js} +1 -1
  82. package/assets/esri/core/workers/chunks/20d0adc678f11981059c.js +1 -0
  83. package/assets/esri/core/workers/chunks/{696967c8c6f53b94f851.js → 227eff8aa4a6f5f03bc2.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{d21bf107698fef03125e.js → 238478cfe493fd4a6100.js} +1 -1
  85. package/assets/esri/core/workers/chunks/{79b64a52ff57c40c7800.js → 2413b383b7f2bdcd4ced.js} +1 -1
  86. package/assets/esri/core/workers/chunks/24646a1176ce34039155.js +1 -0
  87. package/assets/esri/core/workers/chunks/24647e7424798dccdaf5.js +1 -0
  88. package/assets/esri/core/workers/chunks/{7601408e242dca1d25bd.js → 249616ea2d90d40a8299.js} +1 -1
  89. package/assets/esri/core/workers/chunks/277718031c903da2b3b9.js +1 -0
  90. package/assets/esri/core/workers/chunks/{7ed5b669010db58845f8.js → 294f2803aac000c99693.js} +1 -1
  91. package/assets/esri/core/workers/chunks/{093f27e4e4781870b431.js → 297ae764445e6f73a5ea.js} +1 -1
  92. package/assets/esri/core/workers/chunks/2b36a54927f5a7281da3.js +1 -0
  93. package/assets/esri/core/workers/chunks/{be0eab592db0e651b023.js → 2b814bb51704a5b4fdc2.js} +6 -6
  94. package/assets/esri/core/workers/chunks/{a320c69bc7528ff0d0cf.js → 2c8584ec1c3c9fd5aba2.js} +1 -1
  95. package/assets/esri/core/workers/chunks/{6ca81e34854ce7ec6f6e.js → 2ce845c990bb4d701362.js} +1 -1
  96. package/assets/esri/core/workers/chunks/2d374cc8c54a722a7afe.js +1 -0
  97. package/assets/esri/core/workers/chunks/{0bd2b035c6ee89c725f9.js → 31442f25d550ead58fc4.js} +1 -1
  98. package/assets/esri/core/workers/chunks/3172d7fc23787a287191.js +1 -0
  99. package/assets/esri/core/workers/chunks/{8b8b63be961eb73250a0.js → 32323b0e0fcecd8f640e.js} +1 -1
  100. package/assets/esri/core/workers/chunks/33b4f5dfe1a16b59b010.js +1 -0
  101. package/assets/esri/core/workers/chunks/{86a767c2b0b1e37ff493.js → 33e0130e6a40fc768978.js} +1 -1
  102. package/assets/esri/core/workers/chunks/343ba5ea459e96ba79c6.js +1 -0
  103. package/assets/esri/core/workers/chunks/359d3acb3953e64e5a78.js +1 -0
  104. package/assets/esri/core/workers/chunks/388e71e8f2ec41bfa5a9.js +1 -0
  105. package/assets/esri/core/workers/chunks/{a2159df718a7f2f59271.js → 38a2f34661563c7c29c1.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{dd58bc675b85b4d90afa.js → 39974d1e5d3820ef1680.js} +1 -1
  107. package/assets/esri/core/workers/chunks/3a5c1c501808352857bd.js +1 -0
  108. package/assets/esri/core/workers/chunks/3aacaa1be5efeac23a37.js +1 -0
  109. package/assets/esri/core/workers/chunks/{d19600336cb6023d3e34.js → 3b765a8cac9e92f644f2.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{a96c7432ca97cbeef4b8.js → 3db898a38a7c5f0efb48.js} +1 -1
  111. package/assets/esri/core/workers/chunks/{b7a0a5b895ddd2d3d038.js → 3df5394b17e9659ecb8f.js} +1 -1
  112. package/assets/esri/core/workers/chunks/3e012cd3ca4451f89f59.js +1 -0
  113. package/assets/esri/core/workers/chunks/3fbb6ff940156a981983.js +1 -0
  114. package/assets/esri/core/workers/chunks/{c06ae3a6ecc4a4fc67b2.js → 40910c69307e2d2d3f28.js} +1 -1
  115. package/assets/esri/core/workers/chunks/{55d168c13491fcdfb284.js → 40c4e14e7bb505ef10a3.js} +1 -1
  116. package/assets/esri/core/workers/chunks/4104fa1ede36bcee9be5.js +1 -0
  117. package/assets/esri/core/workers/chunks/428561df7ba6f02e2d80.js +1 -0
  118. package/assets/esri/core/workers/chunks/{0881929a4a457f94f317.js → 4301cb9670fa7c907460.js} +1 -1
  119. package/assets/esri/core/workers/chunks/{299b4eecd0288348c971.js → 45323491f9005629c602.js} +1 -1
  120. package/assets/esri/core/workers/chunks/46d0a25d33b5b328cfce.js +1 -0
  121. package/assets/esri/core/workers/chunks/46d3ddf62fa7a76dd57d.js +1 -0
  122. package/assets/esri/core/workers/chunks/{b002304a45856b024b46.js → 4714241189c13d0db897.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{d9d716bfd0aab30b6caf.js → 47656ec12401e53f4bd3.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{c0d7e4afbad0b20e2502.js → 47dd2bfecc5c4b5f10f0.js} +1 -1
  125. package/assets/esri/core/workers/chunks/{f7698c855800e0af3038.js → 4845df00f6ebcce6ea3e.js} +1 -1
  126. package/assets/esri/core/workers/chunks/485d20152495c27b8074.js +1 -0
  127. package/assets/esri/core/workers/chunks/{cf3036711bbe6095eaed.js → 4894997bfa438f66da36.js} +1 -1
  128. package/assets/esri/core/workers/chunks/4a23b27bfbcfa08fd9a7.js +1 -0
  129. package/assets/esri/core/workers/chunks/{8b5ee6be52e892fbd325.js → 4a9dd9f8aa98882218f3.js} +1 -1
  130. package/assets/esri/core/workers/chunks/4c54cb80c4dc9bbbd395.js +1 -0
  131. package/assets/esri/core/workers/chunks/{325bfac7cfa28a6d568f.js → 520e0e5307eef27becc6.js} +1 -1
  132. package/assets/esri/core/workers/chunks/{a0296e6d6c37b861c5fb.js → 5359ff9492383c5bd9b1.js} +1 -1
  133. package/assets/esri/core/workers/chunks/{728ad5bbbcbf88d6249f.js → 537c5dd4cd0a067199d1.js} +1 -1
  134. package/assets/esri/core/workers/chunks/53d165b4f30fd64e5d8a.js +1 -0
  135. package/assets/esri/core/workers/chunks/542f5469f7b42026b24f.js +1 -0
  136. package/assets/esri/core/workers/chunks/54d7f07e3348ddb6d9a2.js +1 -0
  137. package/assets/esri/core/workers/chunks/{48440a071a37590846ff.js → 54dad475dc806a38c287.js} +1 -1
  138. package/assets/esri/core/workers/chunks/5500dc39e11a0057ae16.js +1 -0
  139. package/assets/esri/core/workers/chunks/5553279998ae07b60f5f.js +1 -0
  140. package/assets/esri/core/workers/chunks/{2b2a09ce14d00b4b1187.js → 58155f24f8ed6aca7a21.js} +1 -1
  141. package/assets/esri/core/workers/chunks/{224a9f39876aa426a9bc.js → 5838f46d341d2fde42ee.js} +1 -1
  142. package/assets/esri/core/workers/chunks/592a599f514de373dead.js +1 -0
  143. package/assets/esri/core/workers/chunks/{1ff61d8a8ea060e78b83.js → 5aba23584e0b230c75f5.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{7dc2c21d61ba66a3f461.js → 5b238f9c345f10c5c2fa.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{8d4881c879c86b353e08.js → 5cb1b950249d651f3837.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{85bba0db8a7a5fc1be44.js → 5e3e0d7b85dfd52d1c7d.js} +1 -1
  147. package/assets/esri/core/workers/chunks/5f9bacee6fbf9ac1bca0.js +1 -0
  148. package/assets/esri/core/workers/chunks/60915a3708a34da1977e.js +1 -0
  149. package/assets/esri/core/workers/chunks/62206d5d497b95fc4caf.js +1 -0
  150. package/assets/esri/core/workers/chunks/{6a53c8db554be55c5885.js → 62dfbdc847be4800e833.js} +44 -32
  151. package/assets/esri/core/workers/chunks/62e77e3c5ca9b4887923.js +2 -0
  152. package/assets/esri/core/workers/chunks/{7a3b05e25de2ff150f38.js → 62fc3c367f736c73b0d7.js} +1 -1
  153. package/assets/esri/core/workers/chunks/{4e97c01698ef36cc5e0e.js → 643c33a98f2d30a92001.js} +1 -1
  154. package/assets/esri/core/workers/chunks/{69a1cbf0af059548f96a.js → 64daa2a714e59d22bbd4.js} +1 -1
  155. package/assets/esri/core/workers/chunks/65520a443e3811255bea.js +1 -0
  156. package/assets/esri/core/workers/chunks/{7c86099ed17f420b0489.js → 67ebde34377f98d17cda.js} +1 -1
  157. package/assets/esri/core/workers/chunks/{e6e15e9e890b864fb395.js → 6a5356ebed70e0f8f979.js} +1 -1
  158. package/assets/esri/core/workers/chunks/{cdef9c3f80588ae45a04.js → 6c9933f948efd7923aa1.js} +1 -1
  159. package/assets/esri/core/workers/chunks/{fe2325efd0d8ad8369ed.js → 6cab67fc7044ee9b863b.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{aea384f4d88121da8f54.js → 6f0341cfa4c68e6e60b3.js} +1 -1
  161. package/assets/esri/core/workers/chunks/737de87bfb9b5f5a9c6c.js +1 -0
  162. package/assets/esri/core/workers/chunks/{558606a1af22e4a0d536.js → 73c355b895fd6a34fcb8.js} +1 -1
  163. package/assets/esri/core/workers/chunks/{7f1fcddc8dd42a1b67d9.js → 75839240022b280929f7.js} +1 -1
  164. package/assets/esri/core/workers/chunks/{b09ae8eb5e97fb27382f.js → 76589434d573111a8fb4.js} +1 -1
  165. package/assets/esri/core/workers/chunks/{1f3a676e7a4eae5ad566.js → 767ea5b455b3823afd09.js} +1 -1
  166. package/assets/esri/core/workers/chunks/77a4f6f224d7ca4b69f4.js +1 -0
  167. package/assets/esri/core/workers/chunks/78aa5bc6af2758da20d0.js +1 -0
  168. package/assets/esri/core/workers/chunks/79f2d4b3af5776ec2045.js +1 -0
  169. package/assets/esri/core/workers/chunks/{c8dedc010fcc2382af24.js → 7b564226def99fcf79d8.js} +1 -1
  170. package/assets/esri/core/workers/chunks/7cadb872b9ca96eedca5.js +1 -0
  171. package/assets/esri/core/workers/chunks/7df94cb985db41815fad.js +2 -0
  172. package/assets/esri/core/workers/chunks/7ed3d6c72f23c628df3b.js +1 -0
  173. package/assets/esri/core/workers/chunks/{ed939fd5d3827a3f70e0.js → 81e3bd1a0634ddc2b833.js} +1 -1
  174. package/assets/esri/core/workers/chunks/{062aadf426fe97a76bbb.js → 8351012ceb466f01b8fd.js} +1 -1
  175. package/assets/esri/core/workers/chunks/8407c91cce31e087b41b.js +1 -0
  176. package/assets/esri/core/workers/chunks/8419934bec7723b0feef.js +1 -0
  177. package/assets/esri/core/workers/chunks/875cce0be4f6c89f80f3.js +2 -0
  178. package/assets/esri/core/workers/chunks/{c319c3b85cdec73a9f45.js → 877c848beaf9a939862c.js} +1 -1
  179. package/assets/esri/core/workers/chunks/{24acf3dd541347c2b297.js → 882ee7ed8a3a0215f9b9.js} +1 -1
  180. package/assets/esri/core/workers/chunks/{ae74f722fb385e45fcf1.js → 893c0d28a5bf3f9f29f1.js} +1 -1
  181. package/assets/esri/core/workers/chunks/{98b4408e12684e37b395.js → 8a48a6760c33ed50b650.js} +1 -1
  182. package/assets/esri/core/workers/chunks/8bdca6f06c8b5fedd917.js +1 -0
  183. package/assets/esri/core/workers/chunks/8e1865392681d390ab2e.js +1 -0
  184. package/assets/esri/core/workers/chunks/{566c36032b456ec5b5d7.js → 90953a827bc89d0e6bd5.js} +1 -1
  185. package/assets/esri/core/workers/chunks/92ab5886aa2d8b9b179f.js +1 -0
  186. package/assets/esri/core/workers/chunks/{4e676e888a935c507d90.js → 93d4bda22bde33fafa57.js} +1 -1
  187. package/assets/esri/core/workers/chunks/9482a6d7baa24bbf5693.js +1 -0
  188. package/assets/esri/core/workers/chunks/94fac056e14caed09682.js +1 -0
  189. package/assets/esri/core/workers/chunks/{fbb23db01f3cf629d32e.js → 992a90ecbab931198fd0.js} +1 -1
  190. package/assets/esri/core/workers/chunks/{1765042635084f75d2b3.js → 9b676606bf839b7aa433.js} +1 -1
  191. package/assets/esri/core/workers/chunks/{f931d560f3f14598f454.js → 9dcfaca1f4fa8c8026ac.js} +1 -1
  192. package/assets/esri/core/workers/chunks/{5570d47533efab56c732.js → 9f4681713f03365a2a53.js} +1 -1
  193. package/assets/esri/core/workers/chunks/a0fa60a24e58f7a47e41.js +1 -0
  194. package/assets/esri/core/workers/chunks/a261f4c22224511fdfff.js +1 -0
  195. package/assets/esri/core/workers/chunks/{ea8f642b1db933d2c26f.js → a2ac139d0975085279a6.js} +1 -1
  196. package/assets/esri/core/workers/chunks/{b32a13972cb3de652339.js → a320998f18922a35899f.js} +1 -1
  197. package/assets/esri/core/workers/chunks/{aa55923ca939a0d4606c.js → a3a28c4887f802e8d96d.js} +1 -1
  198. package/assets/esri/core/workers/chunks/a4d3cbc02dc1186a9a6d.js +1 -0
  199. package/assets/esri/core/workers/chunks/a806ac351ef5da04c250.js +1 -0
  200. package/assets/esri/core/workers/chunks/a8ec5b85c2fa6fb4f391.js +1 -0
  201. package/assets/esri/core/workers/chunks/{8795c4895df229cb471c.js → ab94c9f62462d7a98f6a.js} +1 -1
  202. package/assets/esri/core/workers/chunks/{2a8f198f6c272f92bad5.js → abdb05754c50776c3edd.js} +1 -1
  203. package/assets/esri/core/workers/chunks/ad488985824fbb830ed6.js +1 -0
  204. package/assets/esri/core/workers/chunks/af8ef6701631ed5e5b80.js +1 -0
  205. package/assets/esri/core/workers/chunks/{a95398214e530f896a2d.js → af96cbc4fb7bef726635.js} +1 -1
  206. package/assets/esri/core/workers/chunks/{170f8dc97614e9609443.js → b0ac4b0b7aec70cfe6eb.js} +1 -1
  207. package/assets/esri/core/workers/chunks/b23009d9f8eb7c20ce45.js +1 -0
  208. package/assets/esri/core/workers/chunks/b79428c5093614174e76.js +1 -0
  209. package/assets/esri/core/workers/chunks/{2f925a424b60b4a5e8e5.js → b803e7b0d489bb628d72.js} +1 -1
  210. package/assets/esri/core/workers/chunks/b9bdb1f05e904c3655e4.js +1 -0
  211. package/assets/esri/core/workers/chunks/bb24972603fb35dd8dcf.js +1 -0
  212. package/assets/esri/core/workers/chunks/bca6abc185dedec0f41b.js +1 -0
  213. package/assets/esri/core/workers/chunks/bfbd1ca28ed2f263e58f.js +1 -0
  214. package/assets/esri/core/workers/chunks/c1189316d24fb4cdb2a0.js +1 -0
  215. package/assets/esri/core/workers/chunks/c44be4aaba829e6d149d.js +1 -0
  216. package/assets/esri/core/workers/chunks/c4fc85281ca83af7abaf.js +1 -0
  217. package/assets/esri/core/workers/chunks/c983e5ce0ff952b65d7f.js +1 -0
  218. package/assets/esri/core/workers/chunks/ca6907e14b1dde4d5c07.js +1 -0
  219. package/assets/esri/core/workers/chunks/ca7d4d76a6bf5a3046cd.js +1 -0
  220. package/assets/esri/core/workers/chunks/cb8c4d8334fab9bd9a04.js +1 -0
  221. package/assets/esri/core/workers/chunks/cbbd94c53e75efc99876.js +1 -0
  222. package/assets/esri/core/workers/chunks/{c1ffb879e0283fb2815f.js → cc62e5095e328bed3e01.js} +1 -1
  223. package/assets/esri/core/workers/chunks/{a53a3e5548fef65a2710.js → cf826787ab8d4b27ad80.js} +1 -1
  224. package/assets/esri/core/workers/chunks/{7a823bb1b72764897dd5.js → cfd28eba44cf5a296c6d.js} +1 -1
  225. package/assets/esri/core/workers/chunks/d1d135a54233092ad637.js +1 -0
  226. package/assets/esri/core/workers/chunks/d21480b078ec9680d4c4.js +1 -0
  227. package/assets/esri/core/workers/chunks/d56780290e0218d3e9de.js +1 -0
  228. package/assets/esri/core/workers/chunks/{bbaf8baa3ca6195467e4.js → d64613209a9eb1eafb11.js} +1 -1
  229. package/assets/esri/core/workers/chunks/{988e91cc6cf88c34c2de.js → d6bb8db22ba85ad05fd7.js} +1 -1
  230. package/assets/esri/core/workers/chunks/{cb26966cc205bd338c76.js → d81291dac1932350eccd.js} +1 -1
  231. package/assets/esri/core/workers/chunks/d9d4754062758789f186.js +2 -0
  232. package/assets/esri/core/workers/chunks/dddb57ff637643ccfc87.js +1 -0
  233. package/assets/esri/core/workers/chunks/{0ded5c114cbb7574f2f4.js → dfeddb7b17fa9eaae64c.js} +1 -1
  234. package/assets/esri/core/workers/chunks/e094364e54981c91e1b4.js +1 -0
  235. package/assets/esri/core/workers/chunks/e178cd0e9178d6716410.js +1 -0
  236. package/assets/esri/core/workers/chunks/{7f54d3835c0ce573a942.js → e25bcfdd8f20f8a08b19.js} +1 -1
  237. package/assets/esri/core/workers/chunks/e33d2ede6c9f1527d51b.js +1 -0
  238. package/assets/esri/core/workers/chunks/e3b713a590cce6245ee2.js +1 -0
  239. package/assets/esri/core/workers/chunks/e545df5ea7c0ced92cee.js +30 -0
  240. package/assets/esri/core/workers/chunks/{a40003dfe3c081d1a1d2.js → e638391801ad83fe4a68.js} +1 -1
  241. package/assets/esri/core/workers/chunks/{0b76534b60014d74ecb9.js → e7712467db46e1385cf4.js} +1 -1
  242. package/assets/esri/core/workers/chunks/e785f76c1a75cb1d1e1f.js +1 -0
  243. package/assets/esri/core/workers/chunks/{76a9b64fd573775bf6cd.js → e82488b9b3bb0c1dedb4.js} +1 -1
  244. package/assets/esri/core/workers/chunks/{15fa8b5b472131aaa68e.js → e92698f50089484c4901.js} +1 -1
  245. package/assets/esri/core/workers/chunks/ed2cb60e4f17f46fb78d.js +1 -0
  246. package/assets/esri/core/workers/chunks/edcde00495727d506c46.js +1 -0
  247. package/assets/esri/core/workers/chunks/f02fe24177e56a7e42b2.js +1 -0
  248. package/assets/esri/core/workers/chunks/{009250a7bded12099dd1.js → f1fb2f12371f4c562079.js} +1 -1
  249. package/assets/esri/core/workers/chunks/{466c250537415f12eb59.js → f31a8e76f1dde23c0900.js} +1 -1
  250. package/assets/esri/core/workers/chunks/f3dfe1bd1146a6927407.js +1 -0
  251. package/assets/esri/core/workers/chunks/{6b5d2df9123dfe7e00b3.js → f563dd6cace047108b3c.js} +1 -1
  252. package/assets/esri/core/workers/chunks/{1252da05832e576d4def.js → f5731ad4cfbbf1cc569a.js} +2 -2
  253. package/assets/esri/core/workers/chunks/f60292d97bcdbf19165b.js +1 -0
  254. package/assets/esri/core/workers/chunks/f9e22cf59e2e2782d70f.js +1 -0
  255. package/assets/esri/core/workers/chunks/fce7995c26953bfd8d3d.js +1 -0
  256. package/assets/esri/core/workers/chunks/{e227ae2c1a63e30e62d9.js → ff48334528d2554db4fe.js} +1 -1
  257. package/assets/esri/themes/base/widgets/_BatchAttributeForm.scss +18 -14
  258. package/assets/esri/themes/base/widgets/_DatePicker.scss +1 -1
  259. package/assets/esri/themes/base/widgets/_Grid.scss +3 -3
  260. package/assets/esri/themes/dark/main.css +1 -1
  261. package/assets/esri/themes/light/main.css +1 -1
  262. package/assets/esri/themes/light/view.css +1 -1
  263. package/chunks/AtmosphereCompositing.glsl.js +1 -1
  264. package/chunks/Bufferer-Dw9Qi4T1.js +1 -1
  265. package/chunks/Centroid-DZi-eb9F.js +1 -1
  266. package/chunks/Clouds.glsl.js +1 -1
  267. package/chunks/Compositing.glsl.js +1 -1
  268. package/chunks/CutFillComposition.glsl.js +1 -1
  269. package/chunks/CutFillDepth.glsl.js +1 -1
  270. package/chunks/CutFillMask.glsl.js +1 -1
  271. package/chunks/CutFillReduction.glsl.js +1 -1
  272. package/chunks/CutFillTargetDepth.glsl.js +1 -1
  273. package/chunks/Distance2DCalculator-CXhBP-8I.js +1 -1
  274. package/chunks/Envelope.js +1 -1
  275. package/chunks/Envelope2D.js +1 -1
  276. package/chunks/FlatGeometry.js +1 -1
  277. package/chunks/FocusAreaColor.glsl.js +1 -1
  278. package/chunks/FocusAreaMask.glsl.js +1 -1
  279. package/chunks/Fog.glsl.js +1 -1
  280. package/chunks/GaussianSplat.glsl.js +1 -1
  281. package/chunks/GaussianSplatShadow.glsl.js +1 -1
  282. package/chunks/GeodeticDistanceCalculator-Ce-woMPw.js +1 -1
  283. package/chunks/GeodeticUtils.js +1 -1
  284. package/chunks/Geometry.js +1 -1
  285. package/chunks/GeometryCleaner-BEJM7I4l.js +1 -1
  286. package/chunks/GlobalIllumination.glsl.js +20 -19
  287. package/chunks/GlobalIlluminationBlur.glsl.js +15 -12
  288. package/chunks/GlobalIlluminationUpscale.glsl.js +4 -3
  289. package/chunks/GlowBlur.glsl.js +1 -1
  290. package/chunks/GlowComposition.glsl.js +1 -1
  291. package/chunks/HazeCompositing.glsl.js +1 -1
  292. package/chunks/HighlightBlur.glsl.js +1 -1
  293. package/chunks/HighlightDownsample.glsl.js +1 -1
  294. package/chunks/Magnifier.glsl.js +1 -1
  295. package/chunks/MultiPathImpl.js +1 -1
  296. package/chunks/NoiseTextureAtlas.glsl.js +1 -1
  297. package/chunks/OITBlend.glsl.js +2 -2
  298. package/chunks/OITBlendEmission.glsl.js +1 -1
  299. package/chunks/OITDimOpaque.glsl.js +1 -1
  300. package/chunks/OperatorClip.js +1 -1
  301. package/chunks/OperatorCrosses.js +1 -1
  302. package/chunks/OperatorCut.js +1 -1
  303. package/chunks/OperatorDensify.js +1 -1
  304. package/chunks/OperatorGeneralize.js +1 -1
  305. package/chunks/OperatorGeodesicBuffer.js +1 -1
  306. package/chunks/OperatorGeodeticArea.js +1 -1
  307. package/chunks/OperatorGeodeticDensifyByLength.js +1 -1
  308. package/chunks/OperatorGeodeticDistance.js +1 -1
  309. package/chunks/OperatorGeodeticLength.js +1 -1
  310. package/chunks/OperatorIntegrate.js +1 -1
  311. package/chunks/OperatorIntersects.js +1 -1
  312. package/chunks/OperatorMultiPartToSinglePart.js +1 -1
  313. package/chunks/OperatorOverlaps.js +1 -1
  314. package/chunks/OperatorProject.js +1 -1
  315. package/chunks/OperatorProximity.js +1 -1
  316. package/chunks/OperatorProximityGeodesic.js +1 -1
  317. package/chunks/OperatorShapePreservingDensify.js +1 -1
  318. package/chunks/OperatorShapePreservingLength.js +1 -1
  319. package/chunks/OperatorShapePreservingProject.js +1 -1
  320. package/chunks/OperatorSimplifyOGC.js +1 -1
  321. package/chunks/OperatorTouches.js +1 -1
  322. package/chunks/OperatorWithin.js +1 -1
  323. package/chunks/OverlayCompositing.glsl.js +1 -1
  324. package/chunks/Point2D.js +1 -1
  325. package/chunks/PointRenderer.glsl.js +1 -1
  326. package/chunks/ProjectionTransformation.js +1 -1
  327. package/chunks/RasterColorizer.glsl.js +1 -1
  328. package/chunks/RealisticTree.glsl.js +17 -15
  329. package/chunks/ShadowCastAccumulate.glsl.js +1 -1
  330. package/chunks/ShadowCastVisualize.glsl.js +2 -2
  331. package/chunks/SideCalculator2D-BNwb5gvz.js +1 -1
  332. package/chunks/SimpleAtmosphere.glsl.js +1 -1
  333. package/chunks/SpatialReference.js +1 -1
  334. package/chunks/Terrain.glsl.js +1 -1
  335. package/chunks/Texture.glsl.js +1 -1
  336. package/chunks/Transformation2D.js +1 -1
  337. package/chunks/Viewshed.glsl.js +1 -1
  338. package/chunks/aiServices.js +1 -1
  339. package/chunks/arcade.js +1 -1
  340. package/chunks/array.js +1 -1
  341. package/chunks/boundedPlane.js +1 -1
  342. package/chunks/bundle.js +1 -1
  343. package/chunks/bundle2.js +1 -1
  344. package/chunks/constants.js +1 -1
  345. package/chunks/containsOperator.js +1 -1
  346. package/chunks/disjointOperator.js +1 -1
  347. package/chunks/distanceOperator.js +1 -1
  348. package/chunks/equalsOperator.js +1 -1
  349. package/chunks/languageUtils.js +1 -1
  350. package/chunks/pe.js +1 -1
  351. package/chunks/persistableUrlUtils.js +1 -1
  352. package/chunks/relateOperator.js +1 -1
  353. package/chunks/symmetricDifferenceOperator.js +1 -1
  354. package/chunks/unionOperator.js +1 -1
  355. package/chunks/vec2.js +1 -1
  356. package/chunks/vec3.js +1 -1
  357. package/chunks/vec4.js +1 -1
  358. package/config.d.ts +2 -2
  359. package/config.js +1 -1
  360. package/core/Collection.d.ts +25 -25
  361. package/core/Error.d.ts +1 -1
  362. package/core/JSONSupport.d.ts +1 -1
  363. package/core/accessorSupport/decorators/persistable.js +1 -1
  364. package/core/mapCollectionUtils.js +1 -1
  365. package/core/promiseUtils.d.ts +3 -3
  366. package/core/quantityFormatUtils.js +1 -1
  367. package/core/reactiveUtils.d.ts +4 -4
  368. package/core/sql/WhereClause.d.ts +1 -1
  369. package/core/timeUtils.d.ts +1 -1
  370. package/core/unitFormatUtils.js +1 -1
  371. package/core/workers/Connection.d.ts +9 -9
  372. package/core/workers.d.ts +1 -1
  373. package/editing/sharedTemplates/templateDefinitions/FeatureTemplateDefinition.js +1 -1
  374. package/editing/sharedTemplates/templateDefinitions/GroupTemplateDefinition.js +1 -1
  375. package/editing/sharedTemplates/templateDefinitions/PresetTemplateDefinition.js +1 -1
  376. package/editing/types.d.ts +3 -3
  377. package/effects/FocusArea.js +1 -1
  378. package/geometry/Circle.js +1 -1
  379. package/geometry/Mesh.d.ts +9 -2
  380. package/geometry/Mesh.js +1 -1
  381. package/geometry/coordinateFormatter.js +1 -1
  382. package/geometry/geodesicUtils.js +1 -1
  383. package/geometry/operators/extendOperator.js +1 -1
  384. package/geometry/operators/gx/geodeticUtils.js +1 -1
  385. package/geometry/operators/gx/operatorAffineTransform.js +1 -1
  386. package/geometry/operators/gx/operatorAlphaShape.js +1 -1
  387. package/geometry/operators/gx/operatorAutoComplete.js +1 -1
  388. package/geometry/operators/gx/operatorBoundary.js +1 -1
  389. package/geometry/operators/gx/operatorBuffer.js +1 -1
  390. package/geometry/operators/gx/operatorConvexHull.js +1 -1
  391. package/geometry/operators/gx/operatorDifference.js +1 -1
  392. package/geometry/operators/gx/operatorGeodesicBuffer.js +1 -1
  393. package/geometry/operators/gx/operatorGeodeticArea.js +1 -1
  394. package/geometry/operators/gx/operatorGeodeticDensify.js +1 -1
  395. package/geometry/operators/gx/operatorGeodeticDistance.js +1 -1
  396. package/geometry/operators/gx/operatorGeodeticLength.js +1 -1
  397. package/geometry/operators/gx/operatorGraphicBuffer.js +1 -1
  398. package/geometry/operators/gx/operatorIntersection.js +1 -1
  399. package/geometry/operators/gx/operatorLabelPoint.js +1 -1
  400. package/geometry/operators/gx/operatorLinesToPolygons.js +1 -1
  401. package/geometry/operators/gx/operatorLocateBetween.js +1 -1
  402. package/geometry/operators/gx/operatorMinimumBoundingCircle.js +1 -1
  403. package/geometry/operators/gx/operatorOffset.js +1 -1
  404. package/geometry/operators/gx/operatorPolygonOverlay.js +1 -1
  405. package/geometry/operators/gx/operatorPolygonSlicer.js +1 -1
  406. package/geometry/operators/gx/operatorProject.js +1 -1
  407. package/geometry/operators/gx/operatorProximityGeodesic.js +1 -1
  408. package/geometry/operators/gx/operatorShapePreservingProject.js +1 -1
  409. package/geometry/operators/gx/operatorSimplify.js +1 -1
  410. package/geometry/operators/gx/operatorSinglePartToMultiPart.js +1 -1
  411. package/geometry/operators/gx/operatorSymmetricDifference.js +1 -1
  412. package/geometry/operators/gx/operatorUnion.js +1 -1
  413. package/geometry/operators/isNearOperator.js +1 -1
  414. package/geometry/operators/json/containsOperator.js +1 -1
  415. package/geometry/operators/json/disjointOperator.js +1 -1
  416. package/geometry/operators/locateBetweenOperator.js +1 -1
  417. package/geometry/operators/offsetOperator.js +1 -1
  418. package/geometry/operators/reshapeOperator.js +1 -1
  419. package/geometry/operators/support/apiConverter.js +1 -1
  420. package/geometry/operators/support/geographicTransformationUtils.js +1 -1
  421. package/geometry/operators/support/initNoPeFactory.js +1 -1
  422. package/geometry/operators/support/jsonConverter.js +1 -1
  423. package/geometry/operators/support/projectionTransformation.js +1 -1
  424. package/geometry/operators/symmetricDifferenceOperator.js +1 -1
  425. package/geometry/operators/unionOperator.js +1 -1
  426. package/geometry/pe.js +1 -1
  427. package/geometry/support/MeshMaterial.d.ts +5 -5
  428. package/geometry/support/MeshTexture.d.ts +19 -19
  429. package/geometry/support/MeshTexture.js +1 -1
  430. package/geometry/support/boundedPlane.js +1 -1
  431. package/geometry/support/buffer/math/vec3.js +1 -1
  432. package/geometry/support/buffer/math/vec4.js +1 -1
  433. package/geometry/support/buffer/utils/vec2.js +1 -1
  434. package/geometry/support/coordinateSystem.js +1 -1
  435. package/geometry/support/frustum.js +1 -1
  436. package/geometry/support/jsonUtils.d.ts +1 -1
  437. package/geometry/support/meshUtils/extent.js +1 -1
  438. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  439. package/geometry/support/meshUtils/projection.js +1 -1
  440. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  441. package/geometry/support/meshUtils.d.ts +130 -2
  442. package/geometry/support/meshUtils.js +1 -1
  443. package/geometry/support/spatialReferenceUtils.js +1 -1
  444. package/identity/Credential.d.ts +1 -1
  445. package/identity/IdentityManager.d.ts +1 -1
  446. package/identity/OAuthInfo.d.ts +1 -1
  447. package/identity/ServerInfo.d.ts +2 -2
  448. package/interfaces.d.ts +13 -0
  449. package/intl/number.d.ts +3 -3
  450. package/intl/substitute.d.ts +2 -2
  451. package/intl.d.ts +28 -28
  452. package/kernel.js +1 -1
  453. package/layers/AnnotationLayer.js +1 -1
  454. package/layers/BaseDynamicLayer.d.ts +5 -5
  455. package/layers/BaseTileLayer.d.ts +4 -4
  456. package/layers/BuildingSceneLayer.d.ts +1 -1
  457. package/layers/CSVLayer.d.ts +7 -1
  458. package/layers/CatalogLayer.d.ts +6 -0
  459. package/layers/DimensionFeatureLayer.js +1 -1
  460. package/layers/FeatureLayer.d.ts +45 -8
  461. package/layers/FeatureLayer.js +1 -1
  462. package/layers/GeoJSONLayer.d.ts +7 -1
  463. package/layers/IntegratedMesh3DTilesLayer.js +1 -1
  464. package/layers/IntegratedMeshLayer.js +1 -1
  465. package/layers/KnowledgeGraphLayer.js +1 -1
  466. package/layers/LinkChartLayer.js +1 -1
  467. package/layers/MapImageLayer.d.ts +5 -5
  468. package/layers/MediaLayer.d.ts +3 -3
  469. package/layers/OrientedImageryLayer.d.ts +29 -2
  470. package/layers/ParquetLayer.d.ts +7 -1
  471. package/layers/SceneLayer.d.ts +3 -3
  472. package/layers/SceneLayer.js +1 -1
  473. package/layers/StreamLayer.d.ts +1 -1
  474. package/layers/SubtypeGroupLayer.d.ts +7 -1
  475. package/layers/TileLayer.d.ts +2 -2
  476. package/layers/UnsupportedLayer.d.ts +10 -2
  477. package/layers/VectorTileLayer.d.ts +2 -2
  478. package/layers/VideoLayer.d.ts +1 -1
  479. package/layers/VoxelLayer.d.ts +4 -4
  480. package/layers/WCSLayer.d.ts +2 -2
  481. package/layers/WFSLayer.d.ts +6 -0
  482. package/layers/WebTileLayer.d.ts +1 -1
  483. package/layers/catalog/CatalogFootprintLayer.d.ts +20 -1
  484. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  485. package/layers/graphics/sources/FeatureLayerSource.js +1 -1
  486. package/layers/knowledgeGraph/KnowledgeGraphSublayer.d.ts +6 -0
  487. package/layers/mixins/ArcGISImageService.d.ts +7 -1
  488. package/layers/mixins/ArcGISImageService.js +1 -1
  489. package/layers/mixins/BlendLayer.d.ts +2 -2
  490. package/layers/mixins/DataSeriesLayer.d.ts +161 -0
  491. package/layers/mixins/DataSeriesLayer.js +2 -0
  492. package/layers/mixins/FeatureLayerBase.d.ts +3 -3
  493. package/layers/orientedImagery/core/coverageUtils.js +1 -1
  494. package/layers/orientedImagery/transformations/utils.js +1 -1
  495. package/layers/raster/functions/rasterProjectionHelper.js +1 -1
  496. package/layers/save/featureLayerUtils.js +1 -1
  497. package/layers/support/DateTimeFieldFormat.d.ts +10 -10
  498. package/layers/support/FeatureEffect.d.ts +22 -22
  499. package/layers/support/FeatureFilter.d.ts +1 -1
  500. package/layers/support/FeatureReductionBinning.d.ts +12 -0
  501. package/layers/support/FeatureReductionCluster.d.ts +12 -0
  502. package/layers/support/FeatureReductionSelection.d.ts +1 -1
  503. package/layers/support/Field.d.ts +2 -2
  504. package/layers/support/ImageElement.d.ts +1 -1
  505. package/layers/support/ImageElement.js +1 -1
  506. package/layers/support/MosaicRule.d.ts +0 -2
  507. package/layers/support/NumberFieldFormat.d.ts +5 -5
  508. package/layers/support/ParquetFilesData.js +1 -1
  509. package/layers/support/RasterJobHandler.js +1 -1
  510. package/layers/support/RasterWorker.js +1 -1
  511. package/layers/support/SceneFilter.js +1 -1
  512. package/layers/support/StreamConnection.d.ts +1 -1
  513. package/layers/support/Sublayer.d.ts +2 -2
  514. package/layers/support/SubtypeSublayer.d.ts +14 -1
  515. package/layers/support/TimeSeriesFieldTimeMapping.d.ts +30 -0
  516. package/layers/support/TimeSeriesFieldTimeMapping.js +2 -0
  517. package/layers/support/TimeSeriesInfo.d.ts +149 -0
  518. package/layers/support/TimeSeriesInfo.js +2 -0
  519. package/layers/support/VideoElement.d.ts +1 -1
  520. package/layers/support/arcgisLayers.js +1 -1
  521. package/layers/support/dataSeriesUtils.d.ts +18 -0
  522. package/layers/support/dataSeriesUtils.js +2 -0
  523. package/layers/support/fetchService.js +1 -1
  524. package/layers/support/kmlUtils.js +1 -1
  525. package/layers/support/layerUtils.js +1 -1
  526. package/layers/support/layersLoader.js +1 -1
  527. package/layers/support/timeSeriesUtils.d.ts +27 -0
  528. package/layers/support/timeSeriesUtils.js +2 -0
  529. package/layers/types.d.ts +1 -1
  530. package/libs/parquet/loadParquetModule.js +1 -1
  531. package/libs/text/loadTextModule.js +1 -1
  532. package/linkChart/ChronologicalLayoutSettings.d.ts +1 -1
  533. package/linkChart/LinkChartProperties.js +1 -1
  534. package/networks/CircuitManager.d.ts +1 -1
  535. package/networks/Network.d.ts +1 -1
  536. package/networks/UnitIdentifierManager.d.ts +1 -1
  537. package/networks/support/NamedTraceConfiguration.d.ts +1 -1
  538. package/networks/support/TraceConfiguration.d.ts +2 -2
  539. package/networks/support/UNTraceConfiguration.d.ts +3 -3
  540. package/networks/support/jsonTypes.d.ts +7 -1
  541. package/networks/support/utils.js +1 -1
  542. package/package.json +4 -4
  543. package/popup/content/CustomContent.d.ts +1 -1
  544. package/portal/Portal.d.ts +2 -2
  545. package/portal/PortalItem.js +1 -1
  546. package/portal/jsonTypes.d.ts +2 -2
  547. package/renderers/FlowRenderer.d.ts +2 -2
  548. package/renderers/UniqueValueRenderer.js +1 -1
  549. package/renderers/support/AuthoringInfo.d.ts +14 -1
  550. package/renderers/support/AuthoringInfo.js +1 -1
  551. package/renderers/support/AuthoringInfoVisualVariable.d.ts +14 -1
  552. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  553. package/renderers/support/jsonUtils.d.ts +1 -1
  554. package/renderers/support/utils.d.ts +1 -1
  555. package/renderers/visualVariables/RotationVariable.d.ts +16 -1
  556. package/renderers/visualVariables/RotationVariable.js +1 -1
  557. package/request/types.d.ts +23 -23
  558. package/rest/geometryService.d.ts +1 -1
  559. package/rest/knowledgeGraph/CreateReplicaResponse.d.ts +1 -1
  560. package/rest/knowledgeGraph/GraphApplyEdits.d.ts +1 -1
  561. package/rest/knowledgeGraph/GraphProperty.d.ts +5 -1
  562. package/rest/knowledgeGraph/GraphQueryStreamingResult.d.ts +2 -2
  563. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  564. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  565. package/rest/knowledgeGraph/wasmInterface/wasmToReplicaFactories.js +1 -1
  566. package/rest/knowledgeGraphService.d.ts +13 -13
  567. package/rest/layerSources/DynamicDataLayer.d.ts +1 -1
  568. package/rest/print.d.ts +1 -1
  569. package/rest/support/AttributeBinsQuery.d.ts +16 -2
  570. package/rest/support/ClosestFacilityParameters.d.ts +6 -6
  571. package/rest/support/IdentifyParameters.js +1 -1
  572. package/rest/support/IdentifyResult.js +1 -1
  573. package/rest/support/LastMileDeliveryParameters.d.ts +4 -4
  574. package/rest/support/LocationToAddressParameters.d.ts +1 -1
  575. package/rest/support/PrintTemplate.d.ts +5 -5
  576. package/rest/support/Query.d.ts +18 -4
  577. package/rest/support/RouteParameters.d.ts +5 -5
  578. package/rest/support/ServiceAreaParameters.d.ts +6 -6
  579. package/rest/support/TopFeaturesQuery.d.ts +16 -2
  580. package/rest/support/meshFeatureSet.js +1 -1
  581. package/smartMapping/raster/renderers/flow.d.ts +2 -2
  582. package/smartMapping/renderers/color.d.ts +40 -0
  583. package/smartMapping/renderers/color.js +1 -1
  584. package/smartMapping/renderers/opacity.d.ts +8 -0
  585. package/smartMapping/renderers/opacity.js +1 -1
  586. package/smartMapping/renderers/size.d.ts +38 -0
  587. package/smartMapping/renderers/size.js +1 -1
  588. package/smartMapping/renderers/support/regenerateUtils.js +1 -1
  589. package/smartMapping/renderers/support/timeSeriesUtils.js +2 -0
  590. package/smartMapping/renderers/type.d.ts +20 -1
  591. package/smartMapping/renderers/type.js +1 -1
  592. package/smartMapping/renderers/univariateColorSize.d.ts +19 -0
  593. package/smartMapping/renderers/univariateColorSize.js +1 -1
  594. package/smartMapping/symbology/flow.d.ts +2 -2
  595. package/smartMapping/symbology/types.d.ts +2 -2
  596. package/support/arcadeUtils.js +1 -1
  597. package/support/persistableUrlUtils.js +1 -1
  598. package/support/revision.js +1 -1
  599. package/support/tests/setupServiceMocksMesh.js +1 -1
  600. package/support/timeUtils.d.ts +3 -3
  601. package/symbols/Font.d.ts +7 -7
  602. package/symbols/Symbol3D.js +1 -1
  603. package/symbols/WebStyleSymbol.d.ts +11 -11
  604. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  605. package/symbols/cim/CIMSymbolHelper.js +1 -1
  606. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  607. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  608. package/symbols/support/Symbol3DEmissive.d.ts +8 -2
  609. package/symbols/support/Symbol3DVerticalOffset.d.ts +2 -2
  610. package/symbols/support/jsonUtils.d.ts +1 -1
  611. package/symbols/support/previewSymbol2D.js +1 -1
  612. package/symbols/support/urlUtils.js +1 -1
  613. package/symbols/support/webStyleSymbolUtils.js +1 -1
  614. package/time/TimeExtent.d.ts +2 -2
  615. package/versionManagement/VersionManagementService.d.ts +8 -8
  616. package/versionManagement/VersionManager.d.ts +13 -3
  617. package/versionManagement/VersioningState.d.ts +4 -4
  618. package/views/2d/MapViewConstraints.d.ts +29 -25
  619. package/views/2d/ViewStateManager.js +1 -1
  620. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  621. package/views/2d/engine/flow/styles/Particles.js +1 -1
  622. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  623. package/views/2d/engine/vectorTiles/VectorTileFeatureIndex.js +1 -1
  624. package/views/2d/engine/vectorTiles/shaders/VTLBackgroundMaterial.js +1 -1
  625. package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
  626. package/views/2d/engine/webgl/shaderGraph/graph/glsl.js +1 -1
  627. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  628. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  629. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedFillShader.js +1 -1
  630. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
  631. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  632. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPointShader.js +1 -1
  633. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityPolygonShader.js +1 -1
  634. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerShader.js +1 -1
  635. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/AFeatureShader.js +1 -1
  636. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlendShader.js +1 -1
  637. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlitShader.js +1 -1
  638. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BloomShader.js +1 -1
  639. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/BlurShader.js +1 -1
  640. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ClipShader.js +1 -1
  641. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ColorizeShader.js +1 -1
  642. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexFillShader.js +1 -1
  643. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/ComplexOutlineFillShader.js +1 -1
  644. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/DropShadowShader.js +1 -1
  645. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/FillShader.js +1 -1
  646. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientFillShader.js +1 -1
  647. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GradientStrokeShader.js +1 -1
  648. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/GridShader.js +1 -1
  649. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapAccumulateShader.js +1 -1
  650. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/HeatmapResolveShader.js +1 -1
  651. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/LineShader.js +1 -1
  652. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/MagnifierShader.js +1 -1
  653. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OpacityShader.js +1 -1
  654. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OutlineFillShader.js +1 -1
  655. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/OverlayShader.js +1 -1
  656. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternFillShader.js +1 -1
  657. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PatternOutlineFillShader.js +1 -1
  658. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/PostProcessingShader.js +1 -1
  659. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TexturedLineShader.js +1 -1
  660. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileDebugInfoShader.js +1 -1
  661. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/TileStencilShader.js +1 -1
  662. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VideoScreenShader.js +1 -1
  663. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowImageryShader.js +1 -1
  664. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowParticlesShader.js +1 -1
  665. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowStreamlinesShader.js +1 -1
  666. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/flow/FlowUtils.js +1 -1
  667. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/hittestUtils.js +1 -1
  668. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/raster/processor/MultiRasterMixin.js +1 -1
  669. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/utils.js +1 -1
  670. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/vvUtils.js +1 -1
  671. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  672. package/views/2d/engine/webgl/shaders/sources/shaderRepository.js +1 -1
  673. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  674. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  675. package/views/2d/layers/BaseLayerView2D.d.ts +1 -1
  676. package/views/2d/layers/BaseLayerViewGL2D.d.ts +3 -3
  677. package/views/2d/layers/FeatureLikeLayerView2D.js +1 -1
  678. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  679. package/views/2d/layers/features/FeaturePipelineWorker.js +1 -1
  680. package/views/2d/layers/features/Processor.js +1 -1
  681. package/views/2d/layers/features/processor/AProcessorStrategy.js +1 -1
  682. package/views/2d/layers/features/processor/ClusterStrategy.js +1 -1
  683. package/views/2d/layers/features/sources/strategies/ParquetTileLoadStrategy.js +1 -1
  684. package/views/2d/layers/features/support/FeatureSetReader.js +1 -1
  685. package/views/2d/layers/features/support/FeatureSetReaderParquet.js +1 -1
  686. package/views/2d/layers/graphics/GraphicsView2D.js +1 -1
  687. package/views/2d/navigation/ZoomBox.js +1 -1
  688. package/views/2d/navigation/actions/Pan.js +1 -1
  689. package/views/2d/navigation/actions/Pinch.js +1 -1
  690. package/views/2d/navigation/actions/Rotate.js +1 -1
  691. package/views/3d/analysis/AnalysisView3D.js +1 -1
  692. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  693. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  694. package/views/3d/analysis/LineOfSight/LineOfSightAuthoringUtils.js +1 -1
  695. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  696. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  697. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  698. package/views/3d/analysis/LineOfSightAnalysisResult.js +1 -1
  699. package/views/3d/analysis/ShadowCast/ShadowCastTooltip.js +1 -1
  700. package/views/3d/analysis/ShadowCastAnalysisView3D.js +1 -1
  701. package/views/3d/analysis/Slice/SliceController.js +1 -1
  702. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  703. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  704. package/views/3d/analysis/Viewshed/ViewshedDrawToolRenderer.js +1 -1
  705. package/views/3d/analysis/Viewshed/ViewshedEditTool.js +1 -1
  706. package/views/3d/analysis/Viewshed/ViewshedFieldOfViewManipulation.js +1 -1
  707. package/views/3d/analysis/Viewshed/ViewshedPlacementController.js +1 -1
  708. package/views/3d/analysis/Viewshed/ViewshedPlacementOperation.js +1 -1
  709. package/views/3d/analysis/Viewshed/ViewshedScaleOrientManipulation.js +1 -1
  710. package/views/3d/analysis/Viewshed/ViewshedSubTool.js +1 -1
  711. package/views/3d/analysis/Viewshed/ViewshedSubVisualization.js +1 -1
  712. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  713. package/views/3d/analysis/Viewshed/ViewshedTool2.js +1 -1
  714. package/views/3d/analysis/Viewshed/placementUtils.js +1 -1
  715. package/views/3d/analysis/Viewshed/viewshedToolManipulatorUtils.js +1 -1
  716. package/views/3d/analysis/Viewshed/viewshedToolUtils.js +1 -1
  717. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  718. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillController.js +1 -1
  719. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementCutFillVisualization.js +1 -1
  720. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementResult.js +1 -1
  721. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementShiftTool.js +1 -1
  722. package/views/3d/analysis/VolumeMeasurement/VolumeMeasurementTool.js +1 -1
  723. package/views/3d/focusAreaUtils.js +1 -1
  724. package/views/3d/glTF/internal/resourceUtils.js +1 -1
  725. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
  726. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  727. package/views/3d/interactive/editingTools/transform/extentTransform/extentUtils.js +1 -1
  728. package/views/3d/interactive/measurementTools/areaMeasurement3D/AreaMeasurement3DTool.js +1 -1
  729. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  730. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  731. package/views/3d/layers/DrapedSubView3D.js +1 -1
  732. package/views/3d/layers/FlowSubView3D.js +1 -1
  733. package/views/3d/layers/GaussianSplatLayerView3D.js +1 -1
  734. package/views/3d/layers/I3SMeshView3D.js +1 -1
  735. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  736. package/views/3d/layers/ImagerySubView3D.js +1 -1
  737. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  738. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  739. package/views/3d/layers/PointCloudWorker.js +1 -1
  740. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  741. package/views/3d/layers/SceneLayerWorker.js +1 -1
  742. package/views/3d/layers/SubView3D.js +1 -1
  743. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  744. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  745. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  746. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  747. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  748. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  749. package/views/3d/layers/i3s/I3SGeometryUtil.js +1 -1
  750. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  751. package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
  752. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  753. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  754. package/views/3d/layers/i3s/LoDUtil.js +1 -1
  755. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  756. package/views/3d/layers/i3s/meshUtils.js +1 -1
  757. package/views/3d/layers/support/FeatureTile.js +1 -1
  758. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  759. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  760. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  761. package/views/3d/layers/support/I3STreeDebugger.js +1 -1
  762. package/views/3d/layers/support/MediaLayerInteractionOptions.js +1 -1
  763. package/views/3d/layers/support/MediaLayerInteractionReshapeOptions.js +1 -1
  764. package/views/3d/layers/support/edgeUtils.js +1 -1
  765. package/views/3d/state/ScreenSizePerspective.js +1 -1
  766. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  767. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  768. package/views/3d/state/utils/navigationUtils.js +1 -1
  769. package/views/3d/support/ViewSlice.js +1 -1
  770. package/views/3d/support/dito.js +1 -1
  771. package/views/3d/support/flow/FlowSubViewExtent3D.js +1 -1
  772. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  773. package/views/3d/support/gaussianSplatting/GaussianTile.js +1 -1
  774. package/views/3d/support/orientedBoundingBox.js +1 -1
  775. package/views/3d/support/sunUtils.js +1 -1
  776. package/views/3d/terrain/OverlayRenderer.js +1 -1
  777. package/views/3d/terrain/RasterColorizer.glsl.js +1 -1
  778. package/views/3d/terrain/RasterTile.js +1 -1
  779. package/views/3d/terrain/TerrainRenderer.js +1 -1
  780. package/views/3d/webgl/RenderCamera.js +1 -1
  781. package/views/3d/webgl/RenderNode.d.ts +7 -7
  782. package/views/3d/webgl/RenderNode.js +1 -1
  783. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  784. package/views/3d/webgl-engine/collections/Component/DepthRange.js +1 -1
  785. package/views/3d/webgl-engine/effects/atmosphere/ChapmanAtmosphere.js +1 -1
  786. package/views/3d/webgl-engine/effects/atmosphere/LocalAtmosphere.js +1 -1
  787. package/views/3d/webgl-engine/effects/atmosphere/MarsAtmosphere.js +1 -1
  788. package/views/3d/webgl-engine/effects/atmosphere/SimpleAtmosphere.glsl.js +1 -1
  789. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  790. package/views/3d/webgl-engine/effects/clouds/Clouds.glsl.js +1 -1
  791. package/views/3d/webgl-engine/effects/clouds/CloudsRenderer.js +1 -1
  792. package/views/3d/webgl-engine/effects/clouds/CloudsTechnique.js +1 -1
  793. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.glsl.js +1 -1
  794. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlas.js +1 -1
  795. package/views/3d/webgl-engine/effects/clouds/NoiseTextureAtlasTechnique.js +1 -1
  796. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColor.glsl.js +1 -1
  797. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  798. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  799. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMask.glsl.js +1 -1
  800. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  801. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  802. package/views/3d/webgl-engine/effects/fog/Fog.glsl.js +1 -1
  803. package/views/3d/webgl-engine/effects/fog/Fog.js +1 -1
  804. package/views/3d/webgl-engine/effects/fog/FogTechnique.js +1 -1
  805. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.glsl.js +1 -1
  806. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIllumination.js +1 -1
  807. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlur.glsl.js +1 -1
  808. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationBlurTechnique.js +1 -1
  809. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationColorQuantization.glsl.js +7 -0
  810. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechnique.js +1 -1
  811. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationTechniqueConfiguration.js +1 -1
  812. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscale.glsl.js +1 -1
  813. package/views/3d/webgl-engine/effects/globalIllumination/GlobalIlluminationUpscaleTechnique.js +1 -1
  814. package/views/3d/webgl-engine/effects/glow/Glow.js +1 -1
  815. package/views/3d/webgl-engine/effects/glow/GlowBlur.glsl.js +1 -1
  816. package/views/3d/webgl-engine/effects/glow/GlowBlurTechnique.js +1 -1
  817. package/views/3d/webgl-engine/effects/glow/GlowComposition.glsl.js +1 -1
  818. package/views/3d/webgl-engine/effects/glow/GlowCompositionTechnique.js +1 -1
  819. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  820. package/views/3d/webgl-engine/effects/haze/HazeCompositing.glsl.js +1 -1
  821. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  822. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  823. package/views/3d/webgl-engine/effects/highlight/HighlightBlur.glsl.js +1 -1
  824. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  825. package/views/3d/webgl-engine/effects/highlight/HighlightDownsample.glsl.js +1 -1
  826. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  827. package/views/3d/webgl-engine/effects/magnifier/Magnifier.glsl.js +1 -1
  828. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  829. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  830. package/views/3d/webgl-engine/effects/transparency/OITBlend.glsl.js +1 -1
  831. package/views/3d/webgl-engine/effects/transparency/OITBlend.js +1 -1
  832. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  833. package/views/3d/webgl-engine/effects/transparency/OITDimOpaque.glsl.js +1 -1
  834. package/views/3d/webgl-engine/effects/transparency/OITDimOpaqueTechnique.js +1 -1
  835. package/views/3d/webgl-engine/lib/Compositor.js +1 -1
  836. package/views/3d/webgl-engine/lib/CutFillComputationRenderNode.js +1 -1
  837. package/views/3d/webgl-engine/lib/CutFillVisualizationRenderNode.js +1 -1
  838. package/views/3d/webgl-engine/lib/GaussianSplatRenderNode.js +1 -1
  839. package/views/3d/webgl-engine/lib/GaussianSplatShadowRenderNode.js +1 -1
  840. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  841. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  842. package/views/3d/webgl-engine/lib/SliceHelper.js +1 -1
  843. package/views/3d/webgl-engine/lib/Texture.glsl.js +1 -1
  844. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  845. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  846. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  847. package/views/3d/webgl-engine/lib/intersectorUtils.js +1 -1
  848. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  849. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  850. package/views/3d/webgl-engine/shaders/AtmosphereCompositing.glsl.js +1 -1
  851. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  852. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  853. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  854. package/views/3d/webgl-engine/shaders/CutFillComposition.glsl.js +1 -1
  855. package/views/3d/webgl-engine/shaders/CutFillCompositionTechnique.js +1 -1
  856. package/views/3d/webgl-engine/shaders/CutFillDepth.glsl.js +1 -1
  857. package/views/3d/webgl-engine/shaders/CutFillDepthTechnique.js +1 -1
  858. package/views/3d/webgl-engine/shaders/CutFillDepthTechniqueConfiguration.js +1 -1
  859. package/views/3d/webgl-engine/shaders/CutFillMask.glsl.js +1 -1
  860. package/views/3d/webgl-engine/shaders/CutFillMaskTechnique.js +1 -1
  861. package/views/3d/webgl-engine/shaders/CutFillReduction.glsl.js +1 -1
  862. package/views/3d/webgl-engine/shaders/CutFillReductionTechnique.js +1 -1
  863. package/views/3d/webgl-engine/shaders/CutFillReductionTechniqueConfiguration.js +1 -1
  864. package/views/3d/webgl-engine/shaders/CutFillTargetDepth.glsl.js +1 -1
  865. package/views/3d/webgl-engine/shaders/CutFillTargetDepthTechnique.js +1 -1
  866. package/views/3d/webgl-engine/shaders/GaussianSplat.glsl.js +1 -1
  867. package/views/3d/webgl-engine/shaders/GaussianSplatCompositionTechniqueConfiguration.js +1 -1
  868. package/views/3d/webgl-engine/shaders/GaussianSplatShadow.glsl.js +1 -1
  869. package/views/3d/webgl-engine/shaders/GaussianSplatShadowTechnique.js +1 -1
  870. package/views/3d/webgl-engine/shaders/GaussianSplatTechnique.js +1 -1
  871. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
  872. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  873. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  874. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  875. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  876. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  877. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  878. package/views/3d/webgl-engine/shaders/ShadowCastMaskTechnique.js +1 -1
  879. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  880. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  881. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  882. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  883. package/views/3d/webgl-engine/shaders/Viewshed.glsl.js +1 -1
  884. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  885. package/views/BreakpointsOwner.d.ts +1 -1
  886. package/views/DOMContainer.d.ts +6 -6
  887. package/views/Magnifier.d.ts +1 -1
  888. package/views/MapView.d.ts +1 -1
  889. package/views/SceneView.d.ts +3 -3
  890. package/views/Theme.js +1 -1
  891. package/views/View.js +1 -1
  892. package/views/View2D.d.ts +62 -54
  893. package/views/Viewport2DMixin.d.ts +1 -1
  894. package/views/analysis/ElevationProfile/ElevationProfileChart.js +1 -1
  895. package/views/analysis/LengthDimensionResult.js +1 -1
  896. package/views/draw/drawSurfaces.js +1 -1
  897. package/views/input/gamepad/GamepadInputDevice.d.ts +1 -1
  898. package/views/input/types.d.ts +15 -15
  899. package/views/interactive/Tooltip.js +1 -1
  900. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  901. package/views/interactive/sketch/SketchLabelOptions.js +1 -1
  902. package/views/interactive/sketch/SketchTooltipOptions.d.ts +1 -1
  903. package/views/interactive/sketch/constraints.js +1 -1
  904. package/views/interactive/sketch/normalizedPoint.js +1 -1
  905. package/views/interactive/snapping/SnappingOptions.d.ts +3 -3
  906. package/views/interactive/snapping/featureSources/featureServiceSource/tileUtils.js +1 -1
  907. package/views/interactive/support/utils.js +1 -1
  908. package/views/interactive/tooltip/components/DrawHeaderActions.js +1 -1
  909. package/views/interactive/tooltip/content/TooltipContent.js +1 -1
  910. package/views/interactive/tooltip/fields/fields.js +1 -1
  911. package/views/interactive/tooltip/fields/parsingAndFormattingUtils.js +1 -1
  912. package/views/interactive/tooltip/tooltipCommonUtils.js +1 -1
  913. package/views/layers/BuildingComponentSublayerView.js +1 -1
  914. package/views/layers/FeatureLikeLayerView.d.ts +6 -3
  915. package/views/layers/FeatureLikeLayerView.js +1 -1
  916. package/views/layers/GraphicsLayerView.d.ts +6 -3
  917. package/views/layers/GroupLayerView.js +1 -1
  918. package/views/layers/ImageryLayerView.d.ts +4 -0
  919. package/views/layers/SceneLayerView.js +1 -1
  920. package/views/navigation/Navigation.d.ts +1 -1
  921. package/views/overlay/CrosshairOverlayItem.js +1 -1
  922. package/views/overlay/LineOverlayItem.js +1 -1
  923. package/views/support/WebAssemblyRequirements.js +1 -1
  924. package/views/support/angularMeasurementUtils.js +1 -1
  925. package/views/support/euclideanLengthMeasurementUtils.js +1 -1
  926. package/views/support/flow/dataUtils.js +1 -1
  927. package/views/support/geometry2dUtils.js +1 -1
  928. package/views/support/geometry3dUtils.js +1 -1
  929. package/views/types.d.ts +1 -1
  930. package/views/webgl/RenderingContext.js +1 -1
  931. package/webscene/Glow.d.ts +0 -4
  932. package/widgets/BasemapGallery.d.ts +1 -1
  933. package/widgets/BasemapLayerList.d.ts +1 -1
  934. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.d.ts +30 -2
  935. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  936. package/widgets/BatchAttributeForm/css.js +1 -1
  937. package/widgets/BatchAttributeForm/inputs/AttachmentElementInput.js +1 -1
  938. package/widgets/BatchAttributeForm/inputs/FieldInput.d.ts +0 -5
  939. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  940. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  941. package/widgets/BatchAttributeForm/rendered-content/RelationshipDetails.js +1 -1
  942. package/widgets/BatchAttributeForm/types.d.ts +68 -1
  943. package/widgets/BatchAttributeForm.d.ts +1 -1
  944. package/widgets/BatchAttributeForm.js +1 -1
  945. package/widgets/Bookmarks.d.ts +1 -1
  946. package/widgets/BuildingExplorer/BuildingLevelPicker/BuildingLevelPicker.js +1 -1
  947. package/widgets/BuildingExplorer/BuildingLevelPicker/constants.js +1 -1
  948. package/widgets/BuildingExplorer.d.ts +1 -1
  949. package/widgets/CoordinateConversion/CoordinateConversionViewModel.d.ts +2 -2
  950. package/widgets/CoordinateConversion/CoordinateConversionViewModel.js +1 -1
  951. package/widgets/CoordinateConversion.d.ts +2 -2
  952. package/widgets/Daylight.d.ts +2 -2
  953. package/widgets/Directions/DirectionsViewModel.js +1 -1
  954. package/widgets/Directions.d.ts +1 -1
  955. package/widgets/Editor/components/Settings.js +1 -1
  956. package/widgets/Editor.d.ts +9 -9
  957. package/widgets/ElevationProfile.d.ts +1 -1
  958. package/widgets/Feature.d.ts +1 -1
  959. package/widgets/FeatureForm.d.ts +1 -1
  960. package/widgets/FeatureTable/ActionColumn.d.ts +1 -1
  961. package/widgets/FeatureTable/Grid/Column.d.ts +1 -1
  962. package/widgets/FeatureTable/support/ColumnTemplateBase.d.ts +1 -1
  963. package/widgets/FeatureTemplates.d.ts +1 -1
  964. package/widgets/FloorFilter.d.ts +1 -1
  965. package/widgets/Fullscreen/FullscreenViewModel.d.ts +3 -3
  966. package/widgets/Fullscreen/FullscreenViewModel.js +1 -1
  967. package/widgets/Fullscreen.d.ts +3 -3
  968. package/widgets/Histogram/HistogramViewModel.js +1 -1
  969. package/widgets/LayerList/ListItemPanel.d.ts +5 -5
  970. package/widgets/Legend.d.ts +1 -1
  971. package/widgets/Locate/LocateViewModel.d.ts +2 -2
  972. package/widgets/Locate.d.ts +1 -1
  973. package/widgets/PanoramicViewer/utils.js +1 -1
  974. package/widgets/Popup.d.ts +1 -1
  975. package/widgets/Print/PrintViewModel.d.ts +2 -2
  976. package/widgets/Print/TemplateOptions.d.ts +4 -4
  977. package/widgets/Print.d.ts +6 -6
  978. package/widgets/Search/SearchViewModel.d.ts +5 -5
  979. package/widgets/Search.d.ts +4 -4
  980. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  981. package/widgets/ShadowCast.d.ts +1 -1
  982. package/widgets/Sketch/SketchViewModel.d.ts +39 -39
  983. package/widgets/Sketch.d.ts +39 -39
  984. package/widgets/Sketch.js +1 -1
  985. package/widgets/Slice.d.ts +2 -2
  986. package/widgets/TableList/ListItemPanel.d.ts +5 -5
  987. package/widgets/Track/TrackViewModel.d.ts +3 -3
  988. package/widgets/Track.d.ts +3 -3
  989. package/widgets/UtilityNetworkTrace.d.ts +2 -2
  990. package/widgets/UtilityNetworkValidateTopology.d.ts +1 -1
  991. package/widgets/VersionManagement/VersionManagementViewModel.d.ts +2 -2
  992. package/widgets/Weather.d.ts +1 -1
  993. package/widgets/Widget.d.ts +1 -1
  994. package/widgets/support/ContingentValuesManager.js +1 -1
  995. package/widgets/support/forms/formUtils.js +1 -1
  996. package/widgets/support/types.d.ts +1 -1
  997. package/widgets/support/widget.d.ts +6 -6
  998. package/assets/esri/core/workers/chunks/069459519477bb3dc91b.js +0 -1
  999. package/assets/esri/core/workers/chunks/0b445c1cf281f158c1f1.js +0 -1
  1000. package/assets/esri/core/workers/chunks/0e9804ece1fd2d59751b.js +0 -1
  1001. package/assets/esri/core/workers/chunks/115664cb7d7b22a315bb.js +0 -1
  1002. package/assets/esri/core/workers/chunks/123a67e84ed68b96ac59.js +0 -1
  1003. package/assets/esri/core/workers/chunks/163ce1be8bfe20e77f97.js +0 -1
  1004. package/assets/esri/core/workers/chunks/169c9eb6cd000e067c4b.js +0 -1
  1005. package/assets/esri/core/workers/chunks/18201119828664373165.js +0 -1
  1006. package/assets/esri/core/workers/chunks/18ebf1d3ed05c8057f7d.js +0 -1
  1007. package/assets/esri/core/workers/chunks/19f07c8d0f32ec889861.js +0 -1
  1008. package/assets/esri/core/workers/chunks/1bd8a7f92a428eedb22e.js +0 -1
  1009. package/assets/esri/core/workers/chunks/1f537c05c2f643acb5e7.js +0 -1
  1010. package/assets/esri/core/workers/chunks/241aeff6afd074ce105b.js +0 -1
  1011. package/assets/esri/core/workers/chunks/2562d8905bd05ef6fd07.js +0 -1
  1012. package/assets/esri/core/workers/chunks/2855357a2c1f2ab03fb7.js +0 -1
  1013. package/assets/esri/core/workers/chunks/2bd334f9ab89334df713.js +0 -1
  1014. package/assets/esri/core/workers/chunks/2e8db0f05df2e38a14e1.js +0 -2
  1015. package/assets/esri/core/workers/chunks/30e191d36aa95823c018.js +0 -1
  1016. package/assets/esri/core/workers/chunks/315bf08dff4757ffbed3.js +0 -1
  1017. package/assets/esri/core/workers/chunks/31c01885ee6d70a2bde2.js +0 -1
  1018. package/assets/esri/core/workers/chunks/3292b3883f203637b5a7.js +0 -1
  1019. package/assets/esri/core/workers/chunks/32f24a66f684de3c243d.js +0 -1
  1020. package/assets/esri/core/workers/chunks/35527a01d61cabbfd33e.js +0 -1
  1021. package/assets/esri/core/workers/chunks/3aebbed6d4fd1b993a35.js +0 -1
  1022. package/assets/esri/core/workers/chunks/3f1d533efe4300d19e6a.js +0 -1
  1023. package/assets/esri/core/workers/chunks/413d2fa54508e6f42c74.js +0 -1
  1024. package/assets/esri/core/workers/chunks/4325fa92dafca465ae26.js +0 -1
  1025. package/assets/esri/core/workers/chunks/4364a3e706294bb6ae41.js +0 -1
  1026. package/assets/esri/core/workers/chunks/438f35d41c6851736818.js +0 -30
  1027. package/assets/esri/core/workers/chunks/453c9e8d438d061e1736.js +0 -1
  1028. package/assets/esri/core/workers/chunks/479e34b0abc10499bd3a.js +0 -1
  1029. package/assets/esri/core/workers/chunks/47d49777a3b3cd8e18bd.js +0 -1
  1030. package/assets/esri/core/workers/chunks/49675e77a351abda2728.js +0 -1
  1031. package/assets/esri/core/workers/chunks/4cdf80e2e60501dd4756.js +0 -1
  1032. package/assets/esri/core/workers/chunks/51816d79c6be15e4bfcf.js +0 -1
  1033. package/assets/esri/core/workers/chunks/51edfe21d4c6ee22c83d.js +0 -1
  1034. package/assets/esri/core/workers/chunks/5524a71d1abc9568ce26.js +0 -1
  1035. package/assets/esri/core/workers/chunks/557e39e5156b313597f9.js +0 -1
  1036. package/assets/esri/core/workers/chunks/55b765c72d13b3b911f9.js +0 -1
  1037. package/assets/esri/core/workers/chunks/5dc86a3a40d16b576bb5.js +0 -1
  1038. package/assets/esri/core/workers/chunks/6182d39e2095d4460b88.js +0 -1
  1039. package/assets/esri/core/workers/chunks/621d71d26bd20e296138.js +0 -1
  1040. package/assets/esri/core/workers/chunks/67dffb896b6ef4b2038b.js +0 -1
  1041. package/assets/esri/core/workers/chunks/694f9571e2723d3d4b02.js +0 -1
  1042. package/assets/esri/core/workers/chunks/69ad5930ff6040c6c561.js +0 -1
  1043. package/assets/esri/core/workers/chunks/6af88bb722bbb37db198.js +0 -2
  1044. package/assets/esri/core/workers/chunks/70d8f5bdb452cee41536.js +0 -2
  1045. package/assets/esri/core/workers/chunks/728151d24334027af635.js +0 -1
  1046. package/assets/esri/core/workers/chunks/77769663cd712822d33e.js +0 -1
  1047. package/assets/esri/core/workers/chunks/78af4b7a379c40f497a7.js +0 -1
  1048. package/assets/esri/core/workers/chunks/7c292f7b181f3b93352b.js +0 -1
  1049. package/assets/esri/core/workers/chunks/86443e47ad99e555753a.js +0 -1
  1050. package/assets/esri/core/workers/chunks/86f2de7dda7992ae706c.js +0 -1
  1051. package/assets/esri/core/workers/chunks/895114ccd2603830960f.js +0 -1
  1052. package/assets/esri/core/workers/chunks/9250615c78f8570a9cda.js +0 -1
  1053. package/assets/esri/core/workers/chunks/927c8ca7fd385b28a1b7.js +0 -640
  1054. package/assets/esri/core/workers/chunks/95d82c619dcbec2e1050.js +0 -1
  1055. package/assets/esri/core/workers/chunks/979bab62cad788180770.js +0 -1
  1056. package/assets/esri/core/workers/chunks/9d70247d820085a2c190.js +0 -1
  1057. package/assets/esri/core/workers/chunks/a0aaf14c8f9a007d88ac.js +0 -1
  1058. package/assets/esri/core/workers/chunks/a0b6eef4890cc61609dc.js +0 -1
  1059. package/assets/esri/core/workers/chunks/a0fce639319d59becd01.js +0 -2
  1060. package/assets/esri/core/workers/chunks/aa03f770178693167aa0.js +0 -1
  1061. package/assets/esri/core/workers/chunks/aea439d4c2308f88b295.js +0 -1
  1062. package/assets/esri/core/workers/chunks/af45110f07e4b5162bae.js +0 -1
  1063. package/assets/esri/core/workers/chunks/b0c647af49c9d563b852.js +0 -1
  1064. package/assets/esri/core/workers/chunks/b44f1d08784f2e50c853.js +0 -1
  1065. package/assets/esri/core/workers/chunks/b640651c7d86cfe654bf.js +0 -1
  1066. package/assets/esri/core/workers/chunks/b78fb24b47d9f31f18c6.js +0 -1
  1067. package/assets/esri/core/workers/chunks/b8dda9e55caba0e2b4c2.js +0 -1
  1068. package/assets/esri/core/workers/chunks/ba693317ed3939587f30.js +0 -1
  1069. package/assets/esri/core/workers/chunks/c13c532fe38ddc5d7ca6.js +0 -1
  1070. package/assets/esri/core/workers/chunks/c4872cf3b71d00f450e1.js +0 -1
  1071. package/assets/esri/core/workers/chunks/c5b7ff8650235c464dbf.js +0 -1
  1072. package/assets/esri/core/workers/chunks/ca1b0cb14ea9ae1bf2a3.js +0 -1
  1073. package/assets/esri/core/workers/chunks/caf80facb0322be054ab.js +0 -1
  1074. package/assets/esri/core/workers/chunks/cc48354c54358777e996.js +0 -1
  1075. package/assets/esri/core/workers/chunks/d5423df247be82fa085a.js +0 -1
  1076. package/assets/esri/core/workers/chunks/d598d08dbf2796742e8c.js +0 -1
  1077. package/assets/esri/core/workers/chunks/d6d87bfa9e6d233385a9.js +0 -262
  1078. package/assets/esri/core/workers/chunks/da4f7d7099ba88f31f45.js +0 -1
  1079. package/assets/esri/core/workers/chunks/dbb1ac41fd5da4fd849b.js +0 -1
  1080. package/assets/esri/core/workers/chunks/dc259eed58fde3f5cb5c.js +0 -1
  1081. package/assets/esri/core/workers/chunks/e0036fa0324a96a88248.js +0 -1
  1082. package/assets/esri/core/workers/chunks/e0bd550b10dd402c48f1.js +0 -1
  1083. package/assets/esri/core/workers/chunks/e29d182460564c2a52ad.js +0 -1
  1084. package/assets/esri/core/workers/chunks/e645f992ec6f935ee3a5.js +0 -1
  1085. package/assets/esri/core/workers/chunks/eabd4a78221b7e733793.js +0 -1
  1086. package/assets/esri/core/workers/chunks/eda083e9d12e45da0a7b.js +0 -1
  1087. package/assets/esri/core/workers/chunks/f05932aea4eb267cba4d.js +0 -1
  1088. package/assets/esri/core/workers/chunks/f0b5c140a5ba174572b6.js +0 -1
  1089. package/assets/esri/core/workers/chunks/f239a8ecad8b692d5eaa.js +0 -1
  1090. package/assets/esri/core/workers/chunks/f286680e363eefdf27df.js +0 -1
  1091. package/assets/esri/core/workers/chunks/fa3138dd8139008b430d.js +0 -1
  1092. package/assets/esri/core/workers/chunks/fb0afb41a3d87d59f574.js +0 -1
  1093. package/assets/esri/core/workers/chunks/fc9fbc8e4e459edf4e37.js +0 -1
  1094. /package/assets/esri/core/workers/chunks/{70d8f5bdb452cee41536.js.LICENSE.txt → 62e77e3c5ca9b4887923.js.LICENSE.txt} +0 -0
  1095. /package/assets/esri/core/workers/chunks/{6af88bb722bbb37db198.js.LICENSE.txt → 7df94cb985db41815fad.js.LICENSE.txt} +0 -0
  1096. /package/assets/esri/core/workers/chunks/{a0fce639319d59becd01.js.LICENSE.txt → 875cce0be4f6c89f80f3.js.LICENSE.txt} +0 -0
  1097. /package/assets/esri/core/workers/chunks/{2e8db0f05df2e38a14e1.js.LICENSE.txt → d9d4754062758789f186.js.LICENSE.txt} +0 -0
  1098. /package/assets/esri/core/workers/chunks/{1252da05832e576d4def.js.LICENSE.txt → f5731ad4cfbbf1cc569a.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as t}from"tslib";import"../../../../../core/has.js";import{destroyMaybe as e}from"../../../../../core/maybe.js";import{memoize as i}from"../../../../../core/memoize.js";import{when as n,syncAndInitial as a,watch as s}from"../../../../../core/reactiveUtils.js";import{property as r,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as l}from"../../../../../core/support/UpdatingHandles.js";import u from"../../../../../geometry/Point.js";import{clonePoint as p}from"../../../../../layers/graphics/hydratedFeatures.js";import{isPrimaryPointerAction as c}from"../../../analysis/support/measurementUtils.js";import{SnappingVisualizer3D as d}from"../../SnappingVisualizer3D.js";import{screenToMap3D as h,hideManipulatorWhileDragging as m}from"../../editingTools/dragEventPipeline3D.js";import{DirectLineMeasurement3DView as g}from"./DirectLineMeasurement3DView.js";import{getElevationAtPoint as v}from"../../../support/ElevationProvider.js";import{AnalysisToolBase as P}from"../../../../interactive/AnalysisToolBase.js";import{createCoordinateHelper as y}from"../../../../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as f,resetProperties as w}from"../../../../interactive/dragEventPipeline.js";import{EditGeometry as _}from"../../../../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as M}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{SnappingContext as S}from"../../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as D}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{acquire as j}from"../../../../interactive/snapping/SnappingManagerPool.js";import{setupSnappingToggleHandles as b}from"../../../../interactive/snapping/snappingUtils.js";import{createScreenPointFromEvent as L}from"../../../../support/screenUtils.js";let x=class extends P{constructor(t){super(t),this._updatingHandles=new l,this._snappingManagerResult=null,this._emulatedDrag=null,this.lineState="initial",this.removeIncompleteOnCancel=!1,this.startPointSurfaceLocation=null,this.endPointSurfaceLocation=null,this.cursorPointSurfaceLocation=null,this.startManipulator=null,this.endManipulator=null,this.cursorManipulator=null,this._getSnappingContext=i(t=>new S({elevationInfo:{mode:"absolute-height",offset:0},pointer:t,editGeometryOperations:new M(new _("point",y(!0,!1,this.view.spatialReference)),this.view.state.viewingMode),visualizer:new d}))}initialize(){const{view:t,analysis:e,analysisViewData:i,visible:r}=this;this.measurementView=new g({toolState:this,view:t,analysis:e,analysisViewData:i,visible:r});const{start:o,end:l,cursor:c}=this.measurementView.createManipulators(),d=(t,e,i)=>{const n=f(t,(t,n,a,s)=>{const r=m(t),o=this._ensureSnappingManager(),l=this._getSnappingContext(s),c=this._updatingHandles,{lineState:d}=this;a=a.next(r).next(w(this,[i,e])).next(i=>{if("cursorPoint"!==e){const i=this.analysis[e];null!=i&&(t.location=i)}return i});const g=h(this.view),v=t=>{const n=g(t);return n||"drawing"!==this.lineState&&"initial"!==this.lineState||(this[e]=null,this[i]=null),n};let P=n.next(r).next(v);if("touch"!==s||"editing"===d){const{snappingStep:t,cancelSnapping:e}=D({snappingManager:o,snappingContext:l,updatingHandles:c});a.next(e),P=P.next(...t)}P.next(t=>"start"!==t.action?t:null).next(n=>{const a=p(n.mapEnd,new u);this[e]=a,t.location=a,this[i]=this._surfaceLocation(a,n.surfaceType)})});return"cursorPoint"===e?[n]:[n,t.events.on("grab-changed",()=>{const t=o.grabbing||l.grabbing;this.lineState=t?"editing":"measured"}),s(()=>this.analysis[e],e=>{e&&(t.location=e)})]};this.startManipulator=o,this.endManipulator=l,this.cursorManipulator=c,this.manipulators.add(o),this.manipulators.add(l),this.manipulators.add(c),this.addHandles([...d(o,"startPoint","startPointSurfaceLocation"),...d(l,"endPoint","endPointSurfaceLocation"),...d(c,"cursorPoint","cursorPointSurfaceLocation"),n(()=>"measured"===this.state,()=>{this.finishToolCreation(),this.active&&(this.view.activeTool=null)},a),s(()=>({startPointAvailable:null!=this.startPoint,endPointAvailable:null!=this.endPoint}),({startPointAvailable:t,endPointAvailable:e})=>{this.startManipulator.available=t,this.endManipulator.available=e},a)]),b(this)}destroy(){this._updatingHandles=e(this._updatingHandles),this.measurementView=e(this.measurementView)}get _snappingManager(){return this._snappingManagerResult?.snappingManager}_ensureSnappingManager(){if(null==this._snappingManagerResult){const t=j(this.view);this._snappingManagerResult=t,this.addHandles(t)}return this._snappingManagerResult.snappingManager}get state(){const{analysis:t}=this;if(null==t.startPoint&&null==t.endPoint)return"ready";const{lineState:e}=this;return this.validMeasurement&&"editing"!==e&&"drawing"!==e?"measured":"measuring"}get cursor(){return!this.active||"ready"!==this.state&&"measured"===this.lineState?null:"crosshair"}get startPoint(){return this.analysis.startPoint}set startPoint(t){this.analysis.startPoint=t}get endPoint(){return this.analysis.endPoint}set endPoint(t){this.analysis.endPoint=t}get cursorPoint(){return this.measurementView.cursorPoint}set cursorPoint(t){this.measurementView.cursorPoint=t}get snappingOptions(){return this._snappingManager?.options}get validMeasurement(){return null!=this.analysis.startPoint&&null!=this.analysis.endPoint}get updating(){return this._updatingHandles.updating||!!this._snappingManager?.updating}resetCreated(){super.resetCreated(),this.lineState="initial",this.cursorPoint=null,"measured"===this.state&&this.finishToolCreation()}onShow(){this.measurementView.show()}onHide(){this.measurementView.hide()}onDeactivate(){this._emulatedDrag?.cancel(),this._emulatedDrag=null}onInputEvent(t){switch(t.type){case"immediate-click":this._handleImmediateClick(t);break;case"pointer-move":this._handlePointerMove(t)}}_handlePointerMove(t){if(!this.active||this.view.navigating)return;const{pointerType:e}=t;if("mouse"!==e)return;const i=L(t),{lineState:n,cursorManipulator:a,endManipulator:s}=this;let r=!1;null==this.cursorPoint&&(this._emulatedDrag?.cancel(),this._emulatedDrag=V(a,e,i),r=!0),"initial"===n&&(this._emulatedDrag?.update(i),r=!0),"drawing"===n&&(s.events.emit("drag",{action:"update",start:i,screenPoint:i}),r=!0),r&&t.stopPropagation()}_handleImmediateClick(t){if(!this.active||!c(t))return;const e=L(t),{pointerType:i}=t,{cursorManipulator:n,startManipulator:a,endManipulator:s,lineState:r}=this;let o=!1;switch(null==this.cursorPoint&&(this._emulatedDrag?.cancel(),this._emulatedDrag=V(n,i,e)),r){case"initial":if(this._emulatedDrag?.update(e),null!=this.cursorPoint){this._emulatedDrag?.end(e),this._emulatedDrag=null,this.endPoint=null;const{cursorPoint:t}=this;this.startPoint=t,this.startPointSurfaceLocation=this.cursorPointSurfaceLocation,a.location=t,a.interactive=!1,s.interactive=!1,this.lineState="drawing",this._emulatedDrag=V(s,i,e),o=!0}break;case"drawing":this._emulatedDrag?.update(e),null!=this.endPoint&&(this._emulatedDrag?.end(e),this._emulatedDrag=null,a.interactive=!0,s.interactive=!0,this.lineState="measured",o=!0)}o&&t.stopPropagation()}_surfaceLocation(t,e){return 0===e?"on-the-surface":(t.z??0)>=this._getElevation(t)?"above-the-surface":"below-the-surface"}_getElevation(t){return this.view.groundView?.ready?v(this.view.elevationProvider,t)??0:0}get test(){}};function V(t,e,i){return t.events.emit("drag",{action:"start",pointerType:e,start:i,screenPoint:i}),{update:e=>t.events.emit("drag",{action:"update",start:e,screenPoint:e}),end:e=>t.events.emit("drag",{action:"end",start:e,screenPoint:e}),cancel:()=>t.events.emit("drag",{action:"cancel"})}}t([r()],x.prototype,"_snappingManagerResult",void 0),t([r()],x.prototype,"_snappingManager",null),t([r({readOnly:!0})],x.prototype,"state",null),t([r()],x.prototype,"lineState",void 0),t([r({readOnly:!0})],x.prototype,"cursor",null),t([r()],x.prototype,"startPoint",null),t([r()],x.prototype,"endPoint",null),t([r()],x.prototype,"cursorPoint",null),t([r({constructOnly:!0})],x.prototype,"analysis",void 0),t([r({constructOnly:!0})],x.prototype,"analysisViewData",void 0),t([r()],x.prototype,"measurementView",void 0),t([r()],x.prototype,"removeIncompleteOnCancel",void 0),t([r({constructOnly:!0})],x.prototype,"view",void 0),t([r({readOnly:!0})],x.prototype,"validMeasurement",null),t([r({value:null})],x.prototype,"startPointSurfaceLocation",void 0),t([r({value:null})],x.prototype,"endPointSurfaceLocation",void 0),t([r({value:null})],x.prototype,"cursorPointSurfaceLocation",void 0),t([r()],x.prototype,"updating",null),x=t([o("esri.views.3d.interactive.measurementTools.directLineMeasurement3D.DirectLineMeasurement3DTool")],x);export{x as default};
2
+ import{__decorate as t}from"tslib";import"../../../../../core/has.js";import{destroyMaybe as e}from"../../../../../core/maybe.js";import{memoize as i}from"../../../../../core/memoize.js";import{when as n,syncAndInitial as a,watch as s}from"../../../../../core/reactiveUtils.js";import{property as r,subclass as o}from"../../../../../core/accessorSupport/decorators.js";import{UpdatingHandles as l}from"../../../../../core/support/UpdatingHandles.js";import u from"../../../../../geometry/Point.js";import{clonePoint as p}from"../../../../../layers/graphics/hydratedFeatures.js";import{isPrimaryPointerAction as c}from"../../../analysis/support/measurementUtils.js";import{SnappingVisualizer3D as d}from"../../SnappingVisualizer3D.js";import{screenToMap3D as h,hideManipulatorWhileDragging as m}from"../../editingTools/dragEventPipeline3D.js";import{DirectLineMeasurement3DView as g}from"./DirectLineMeasurement3DView.js";import{getElevationAtPoint as v}from"../../../support/ElevationProvider.js";import{AnalysisToolBase as P}from"../../../../interactive/AnalysisToolBase.js";import{createCoordinateHelper as y}from"../../../../interactive/coordinateHelper.js";import{createManipulatorDragEventPipeline as f,resetProperties as w}from"../../../../interactive/dragEventPipeline.js";import{EditGeometry as _}from"../../../../interactive/editGeometry/EditGeometry.js";import{EditGeometryOperations as M}from"../../../../interactive/editGeometry/EditGeometryOperations.js";import{SnappingContext as S}from"../../../../interactive/snapping/SnappingContext.js";import{createSnapDragEventPipelineStep as D}from"../../../../interactive/snapping/SnappingDragPipelineStep.js";import{acquire as j}from"../../../../interactive/snapping/SnappingManagerPool.js";import{setupSnappingToggleHandles as b}from"../../../../interactive/snapping/snappingUtils.js";import{createScreenPointFromEvent as L}from"../../../../support/screenUtils.js";let x=class extends P{constructor(t){super(t),this._updatingHandles=new l,this._snappingManagerResult=null,this._emulatedDrag=null,this.lineState="initial",this.removeIncompleteOnCancel=!1,this.startPointSurfaceLocation=null,this.endPointSurfaceLocation=null,this.cursorPointSurfaceLocation=null,this.startManipulator=null,this.endManipulator=null,this.cursorManipulator=null,this._getSnappingContext=i(t=>new S({elevationInfo:{mode:"absolute-height",offset:0},pointer:t,editGeometryOperations:new M(new _("point",y(!0,!1,this.view.spatialReference)),this.view.state.viewingMode),visualizer:new d}))}initialize(){const{view:t,analysis:e,analysisViewData:i,visible:r}=this;this.measurementView=new g({toolState:this,view:t,analysis:e,analysisViewData:i,visible:r});const{start:o,end:l,cursor:c}=this.measurementView.createManipulators(),d=(t,e,i)=>{const n=f(t,(t,n,a,s)=>{const r=m(t),o=this._ensureSnappingManager(),l=this._getSnappingContext(s),c=this._updatingHandles,{lineState:d}=this;a=a.next(r).next(w(this,[i,e])).next(i=>{if("cursorPoint"!==e){const i=this.analysis[e];null!=i&&(t.location=i)}return i});const g=h(this.view),v=t=>{const n=g(t);return n||"drawing"!==this.lineState&&"initial"!==this.lineState||(this[e]=null,this[i]=null),n};let P=n.next(r).next(v);if("touch"!==s||"editing"===d){const{snappingStep:t,cancelSnapping:e}=D({snappingManager:o,snappingContext:l,updatingHandles:c});a.next(e),P=P.next(...t)}P.next(t=>"start"!==t.action?t:null).next(n=>{const a=p(n.mapEnd,new u);this[e]=a,t.location=a,this[i]=this._surfaceLocation(a,n.surfaceType)})});return"cursorPoint"===e?[n]:[n,t.events.on("grab-changed",()=>{const t=o.grabbing||l.grabbing;this.lineState=t?"editing":"measured"}),s(()=>this.analysis[e],e=>{e&&(t.location=e)})]};this.startManipulator=o,this.endManipulator=l,this.cursorManipulator=c,this.manipulators.add(o),this.manipulators.add(l),this.manipulators.add(c),this.addHandles([...d(o,"startPoint","startPointSurfaceLocation"),...d(l,"endPoint","endPointSurfaceLocation"),...d(c,"cursorPoint","cursorPointSurfaceLocation"),n(()=>"measured"===this.state,()=>{this.finishToolCreation(),this.active&&(this.view.activeTool=null)},a),s(()=>({startPointAvailable:null!=this.startPoint,endPointAvailable:null!=this.endPoint}),({startPointAvailable:t,endPointAvailable:e})=>{this.startManipulator.available=t,this.endManipulator.available=e},a)]),b(this)}destroy(){this._updatingHandles=e(this._updatingHandles),this.measurementView=e(this.measurementView)}get _snappingManager(){return this._snappingManagerResult?.snappingManager}_ensureSnappingManager(){if(null==this._snappingManagerResult){const t=j(this.view);this._snappingManagerResult=t,this.addHandles(t)}return this._snappingManagerResult.snappingManager}get state(){const{analysis:t}=this;if(null==t.startPoint&&null==t.endPoint)return"ready";const{lineState:e}=this;return this.validMeasurement&&"editing"!==e&&"drawing"!==e?"measured":"measuring"}get cursor(){return!this.active||"ready"!==this.state&&"measured"===this.lineState?null:"crosshair"}get startPoint(){return this.analysis.startPoint}set startPoint(t){this.analysis.startPoint=t}get endPoint(){return this.analysis.endPoint}set endPoint(t){this.analysis.endPoint=t}get cursorPoint(){return this.measurementView.cursorPoint}set cursorPoint(t){this.measurementView.cursorPoint=t}get snappingOptions(){return this._snappingManager?.options}get validMeasurement(){return null!=this.analysis.startPoint&&null!=this.analysis.endPoint}get updating(){return this._updatingHandles.updating||!!this._snappingManager?.updating}resetCreated(){super.resetCreated(),this.lineState="initial",this.cursorPoint=null,"measured"===this.state&&this.finishToolCreation()}onShow(){this.measurementView.show()}onHide(){this.measurementView.hide()}onDeactivate(){this._emulatedDrag?.cancel(),this._emulatedDrag=null}onInputEvent(t){switch(t.type){case"immediate-click":this._handleImmediateClick(t);break;case"pointer-move":this._handlePointerMove(t)}}_handlePointerMove(t){if(!this.active||this.view.navigating)return;const{pointerType:e}=t;if("mouse"!==e)return;const i=L(t),{lineState:n,cursorManipulator:a,endManipulator:s}=this;let r=!1;null==this.cursorPoint&&(this._emulatedDrag?.cancel(),this._emulatedDrag=V(a,e,i),r=!0),"initial"===n&&(this._emulatedDrag?.update(i),r=!0),"drawing"===n&&(s.events.emit("drag",{action:"update",start:i,screenPoint:i}),r=!0),r&&t.stopPropagation()}_handleImmediateClick(t){if(!this.active||!c(t))return;const e=L(t),{pointerType:i}=t,{cursorManipulator:n,startManipulator:a,endManipulator:s,lineState:r}=this;let o=!1;switch(null==this.cursorPoint&&(this._emulatedDrag?.cancel(),this._emulatedDrag=V(n,i,e)),r){case"initial":if(this._emulatedDrag?.update(e),null!=this.cursorPoint){this._emulatedDrag?.end(e),this._emulatedDrag=null,this.endPoint=null;const{cursorPoint:t}=this;this.startPoint=t,this.startPointSurfaceLocation=this.cursorPointSurfaceLocation,a.location=t,a.interactive=!1,s.interactive=!1,this.lineState="drawing",this._emulatedDrag=V(s,i,e),o=!0}break;case"drawing":this._emulatedDrag?.update(e),null!=this.endPoint&&(this._emulatedDrag?.end(e),this._emulatedDrag=null,a.interactive=!0,s.interactive=!0,this.lineState="measured",o=!0)}o&&t.stopPropagation()}_surfaceLocation(t,e){return 0===e?"on-the-surface":(t.z??0)>=this._getElevation(t)?"above-the-surface":"below-the-surface"}_getElevation(t){return this.view.groundView?.ready?v(this.view.elevationProvider,t)??0:0}get test(){}};function V(t,e,i){return t.events.emit("drag",{action:"start",pointerType:e,start:i,screenPoint:i}),{update:e=>t.events.emit("drag",{action:"update",start:e,screenPoint:e}),end:e=>t.events.emit("drag",{action:"end",start:e,screenPoint:e}),cancel:()=>t.events.emit("drag",{action:"cancel"})}}t([r()],x.prototype,"_snappingManagerResult",void 0),t([r()],x.prototype,"_snappingManager",null),t([r({readOnly:!0})],x.prototype,"state",null),t([r()],x.prototype,"lineState",void 0),t([r({readOnly:!0})],x.prototype,"cursor",null),t([r()],x.prototype,"startPoint",null),t([r()],x.prototype,"endPoint",null),t([r()],x.prototype,"cursorPoint",null),t([r({constructOnly:!0})],x.prototype,"analysis",void 0),t([r({constructOnly:!0})],x.prototype,"analysisViewData",void 0),t([r()],x.prototype,"measurementView",void 0),t([r()],x.prototype,"removeIncompleteOnCancel",void 0),t([r({constructOnly:!0})],x.prototype,"view",void 0),t([r({readOnly:!0})],x.prototype,"validMeasurement",null),t([r({value:null})],x.prototype,"startPointSurfaceLocation",void 0),t([r({value:null})],x.prototype,"endPointSurfaceLocation",void 0),t([r({value:null})],x.prototype,"cursorPointSurfaceLocation",void 0),t([r()],x.prototype,"updating",null),x=t([o("esri.views.3d.interactive.measurementTools.directLineMeasurement3D.DirectLineMeasurement3DTool")],x);const C=x;export{C as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import r from"../../../Graphic.js";import t from"../../../core/Error.js";import i from"../../../core/Logger.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{throwIfAborted as l,throwIfAbortError as a}from"../../../core/promiseUtils.js";import{syncAndInitial as n,initial as o}from"../../../core/reactiveUtils.js";import{property as u,subclass as d}from"../../../core/accessorSupport/decorators.js";import p from"../../../core/sql/WhereClause.js";import{fallbackObjectIDAttribute as h}from"../../../layers/LayerConstants.js";import"../../../layers/buildingSublayers/BuildingComponentSublayer.js";import y from"../../../layers/support/FeatureFilter.js";import{fixFields as c,unpackFieldNames as g,populateMissingFields as f}from"../../../layers/support/fieldUtils.js";import m from"../../../rest/support/Query.js";import{isNumber as F}from"../../../support/guards.js";import{BuildingSublayerView3DMixin as b}from"./BuildingSublayerView3D.js";import{I3SMeshView3D as _}from"./I3SMeshView3D.js";import{applyFilterMode as w}from"./i3s/BuildingFilterUtil.js";import{createGetFeatureExtent as E}from"./i3s/I3SGeometryUtil.js";import{I3SMeshViewFilter as x}from"./i3s/I3SMeshViewFilter.js";import{I3SQueryEngine as S}from"./i3s/I3SQueryEngine.js";import{I3SQueryFeatureAdapter as j,I3SQueryFeature as v}from"./i3s/I3SQueryFeatureAdapter.js";import{I3SQueryFeatureStore as I}from"./i3s/I3SQueryFeatureStore.js";import{findFieldsCaseInsensitive as Q,getIndexCrs as q}from"./i3s/I3SUtil.js";import{DefinitionExpressionSceneLayerView as L}from"./support/DefinitionExpressionSceneLayerView.js";import{TemporalSceneLayerView as R}from"./support/TemporalSceneLayerView.js";import O from"../../layers/BuildingComponentSublayerView.js";import{hasPopupTemplate as V,getRequiredFields as U,getFetchPopupTemplate as C}from"../../layers/support/popupUtils.js";import{isInEffectiveScaleRange as A}from"../../support/layerViewUtils.js";import{TaskPriority as H}from"../../support/Scheduler.js";let D=class extends(R(L(_(b(O))))){constructor(e){super(e),this.type="building-component-sublayer-3d",this._elevationContext=2,this._supportsLabeling=!1,this.requiredFields=[],this.progressiveLoadFactor=1,this._queryEngine=null,this.layer=e.sublayer}get layerViewUid(){return this.layerView.uid}get layerId(){return this.sublayer.layer.id}get sublayerId(){return this.sublayer.id}get layerPopupEnabledAndHasTemplate(){return this.sublayer.popupEnabled&&V(this.sublayer,this.layerView.view.popup?.defaultPopupTemplateEnabled)}initialize(){this._updatingHandles.add(()=>this.mergedFilter,e=>{null!=e&&x.checkSupport(e)?null==this._i3sFilter?this._i3sFilter=new x({viewFilter:e,layerFieldsIndex:this.sublayer.fieldsIndex,loadAsyncModule:e=>this._loadAsyncModule(e),addSqlFilter:(e,r)=>this.addSqlFilter(e,r,this.logError),addTimeFilter:(e,r)=>this.addTimeFilter(e,r)}):this._i3sFilter.viewFilter=e:this._i3sFilter=s(this._i3sFilter)},n),this._updatingHandles.add(()=>[this.sublayer.renderer,this.definitionExpressionFields,this.filterExpressionFields],()=>this._updateRequiredFields()),this._updatingHandles.add(()=>this.sublayer.renderer,e=>this._rendererChange(e),o);const e=()=>this._filterChange();this._updatingHandles.add(()=>this.parsedDefinitionExpression,e),this._updatingHandles.add(()=>this._i3sFilter?.sortedObjectIds,e),this._updatingHandles.add(()=>this._i3sFilter?.parsedWhereClause,e),this._updatingHandles.add(()=>this.getTimeFilterDependencies(),e),this._updatingHandles.add(()=>this.mergedFilter,e),this._updatingHandles.add(()=>[this._i3sFilter?.parsedGeometry,this.filter?.spatialRelationship],()=>this._geometryFilterChange()),this._updatingHandles.add(()=>this.parsedFilterExpressions,()=>this._updateSymbologyOverride(),o),this.addResolvingPromise(this._updateRequiredFields())}get lodFactor(){return this.view.qualitySettings.sceneService.objectLoDFactor}get parsedFilterExpressions(){return"Overview"===this.sublayer.modelName?[]:this.layerView.filterExpressions.map(([e,r])=>{let t;try{t=p.create(e,{fieldsIndex:this.sublayer.fieldsIndex})}catch(a){return i.getLogger(this).error("Failed to parse filterExpression: "+a),null}if(!t.isStandardized)return i.getLogger(this).error("filterExpression is using non standard function"),null;const s=[],l=t.fieldNames;return Q(l,this.sublayer.fieldsIndex,{missingFields:s}),s.length>0?(i.getLogger(this).error(`filterExpression references unknown fields: ${s.join(", ")}`),null):[t,r]}).filter(e=>null!=e)}get filter(){return this._get("filter")}set filter(e){this._set("filter",x.checkSupport(e)?e:null)}isUpdating(){return super.isUpdating()||(this._i3sFilter?.updating??!1)}_updateSymbologyOverride(){const e=this.parsedFilterExpressions;e.length>0?this._setSymbologyOverride((r,t)=>{for(const[s,l]of e)try{if(s.testFeature(r))return w(t,l)}catch(i){this.logError(i)}return w(t,null)},this.filterExpressionFields):this._setSymbologyOverride(null,null)}get filterExpressionFields(){return c(this.sublayer.fieldsIndex,this.parsedFilterExpressions.reduce((e,[r])=>e.concat(r.fieldNames),new Array))}get availableFields(){const e=this.sublayer,r=e.fieldsIndex;let t=this.requiredFields;if(e.outFields||e.layer.outFields){const i=[...e.outFields||[],...e.layer.outFields||[]];t=[...g(r,i),...t]}return t=[...t,e.objectIdField??h],c(r,t)}get _graphicOrigin(){return this.sublayer.graphicOrigin}_createLayerGraphic(e){return new r({attributes:e,layer:this.sublayer.layer,sourceLayer:this.sublayer,origin:this._graphicOrigin})}canResume(){return super.canResume()&&A(this.sublayer.effectiveScaleRange,this.view.scale)&&(!this._controller||this._controller.rootNodeVisible)}async patchFeaturesForPopup(e,r){const t=this._validateFetchPopupFeatures(r);if(t)throw t;if(0===e.length)return[];const s=[],n=[],o=null!=this.sublayer.associatedLayer?await this.sublayer.associatedLayer.load(r):this.sublayer,u=g(this.sublayer.fieldsIndex,await U(o,C(this.sublayer,r)));l(r);const d=new Set;for(const i of e)f(i,u,d)?n.push(i):s.push(i);return 0===n.length?s:(null!=this.sublayer.associatedLayer&&await this.sublayer.associatedLayer.load().catch(()=>i.getLogger(this).warn("Failed to load associated feature layer. Displaying popup attributes from cached attributes.")),this.whenGraphicAttributes(n,Array.from(d)).catch(e=>(a(e),n)).then(e=>s.concat(e)))}async _updateRequiredFields(){const e=c(this.sublayer.fieldsIndex,[...this.sublayer.renderer?await this.sublayer.renderer.getRequiredFields(this.sublayer.fieldsIndex):[],...this.definitionExpressionFields,...this.filterExpressionFields]);this._set("requiredFields",e)}_validateFetchPopupFeatures(e){const{sublayer:r}=this,{popupEnabled:i}=r;return i?C(r,e)?void 0:new t("buildingscenelayerview3d:fetchPopupFeatures","Layer does not define a popup template",{sublayer:r}):new t("buildingscenelayerview3d:fetchPopupFeatures","Popups are disabled",{sublayer:r})}getFilters(){const e=super.getFilters();return this.addSqlFilter(e,this.parsedDefinitionExpression,this.logError),this._i3sFilter?.addFilters(e,this.view,this._controller.crsIndex,this._collection),e}createQuery(){const e={outFields:["*"],returnGeometry:!1,outSpatialReference:this.view.spatialReference};return null!=this.filter?this.filter.createQuery(e):new m(e)}queryExtent(e,r){return this._ensureQueryEngine().executeQueryForExtent(this._ensureQuery(e),r?.signal)}queryFeatureCount(e,r){return this._ensureQueryEngine().executeQueryForCount(this._ensureQuery(e),r?.signal)}queryFeatures(e,r){return this._ensureQueryEngine().executeQuery(this._ensureQuery(e),r?.signal).then(e=>{if(!e?.features)return e;const r=this.sublayer,t=r.layer,i=this._graphicOrigin;for(const s of e.features)s.layer=t,s.sourceLayer=r,s.origin=i;return e})}async queryObjectIds(e,r){return(await this._ensureQueryEngine().executeQueryForIds(this._ensureQuery(e),r?.signal)).filter(F)}_ensureQueryEngine(){return this._queryEngine??=this._createQueryEngine(),this._queryEngine}_createQueryEngine(){const e=E(this.view.spatialReference,this.view.renderSpatialReference,this._collection);return new S({layerView:this,priority:H.FEATURE_QUERY_ENGINE,spatialIndex:new I({featureAdapter:new j({objectIdField:this.sublayer.objectIdField,attributeStorageInfo:this.sublayer.attributeStorageInfo,getFeatureExtent:e}),forAllFeatures:(e,r)=>this._forAllFeatures((r,t,i)=>e(new v(r,t,i)),r,2),getFeatureExtent:e,sourceSpatialReference:q(this.sublayer),viewSpatialReference:this.view.spatialReference})})}_ensureQuery(e){return this._addDefinitionExpressionToQuery(null==e?this.createQuery():m.from(e))}};e([u()],D.prototype,"layerView",void 0),e([u()],D.prototype,"lodFactor",null),e([u({readOnly:!0})],D.prototype,"parsedFilterExpressions",null),e([u({type:y})],D.prototype,"filter",null),e([u()],D.prototype,"_i3sFilter",void 0),e([u({type:[String],readOnly:!0})],D.prototype,"filterExpressionFields",null),e([u({type:[String],readOnly:!0})],D.prototype,"requiredFields",void 0),e([u({type:[String],readOnly:!0})],D.prototype,"availableFields",null),e([u()],D.prototype,"_graphicOrigin",null),D=e([d("esri.views.3d.layers.BuildingComponentSublayerView3D")],D);export{D as default};
2
+ import{__decorate as e}from"tslib";import r from"../../../Graphic.js";import t from"../../../core/Error.js";import i from"../../../core/Logger.js";import{destroyMaybe as s}from"../../../core/maybe.js";import{throwIfAborted as l,throwIfAbortError as a}from"../../../core/promiseUtils.js";import{syncAndInitial as n,initial as o}from"../../../core/reactiveUtils.js";import{property as u,subclass as d}from"../../../core/accessorSupport/decorators.js";import p from"../../../core/sql/WhereClause.js";import{fallbackObjectIDAttribute as h}from"../../../layers/LayerConstants.js";import"../../../layers/buildingSublayers/BuildingComponentSublayer.js";import y from"../../../layers/support/FeatureFilter.js";import{fixFields as c,unpackFieldNames as g,populateMissingFields as f}from"../../../layers/support/fieldUtils.js";import m from"../../../rest/support/Query.js";import{isNumber as F}from"../../../support/guards.js";import{BuildingSublayerView3DMixin as b}from"./BuildingSublayerView3D.js";import{I3SMeshView3D as _}from"./I3SMeshView3D.js";import{applyFilterMode as w}from"./i3s/BuildingFilterUtil.js";import{createGetFeatureExtent as E}from"./i3s/I3SGeometryUtil.js";import{I3SMeshViewFilter as x}from"./i3s/I3SMeshViewFilter.js";import{I3SQueryEngine as S}from"./i3s/I3SQueryEngine.js";import{I3SQueryFeatureAdapter as j,I3SQueryFeature as v}from"./i3s/I3SQueryFeatureAdapter.js";import{I3SQueryFeatureStore as I}from"./i3s/I3SQueryFeatureStore.js";import{findFieldsCaseInsensitive as Q,getIndexCrs as q}from"./i3s/I3SUtil.js";import{DefinitionExpressionSceneLayerView as L}from"./support/DefinitionExpressionSceneLayerView.js";import{TemporalSceneLayerView as R}from"./support/TemporalSceneLayerView.js";import O from"../../layers/BuildingComponentSublayerView.js";import{hasPopupTemplate as V,getRequiredFields as U,getFetchPopupTemplate as C}from"../../layers/support/popupUtils.js";import{isInEffectiveScaleRange as A}from"../../support/layerViewUtils.js";import{TaskPriority as H}from"../../support/Scheduler.js";let D=class extends(R(L(_(b(O))))){constructor(e){super(e),this.type="building-component-sublayer-3d",this._elevationContext=2,this._supportsLabeling=!1,this.requiredFields=[],this.progressiveLoadFactor=1,this._queryEngine=null,this.layer=e.sublayer}get layerViewUid(){return this.layerView.uid}get layerId(){return this.sublayer.layer.id}get sublayerId(){return this.sublayer.id}get layerPopupEnabledAndHasTemplate(){return this.sublayer.popupEnabled&&V(this.sublayer,this.layerView.view.popup?.defaultPopupTemplateEnabled)}initialize(){this._updatingHandles.add(()=>this.mergedFilter,e=>{null!=e&&x.checkSupport(e)?null==this._i3sFilter?this._i3sFilter=new x({viewFilter:e,layerFieldsIndex:this.sublayer.fieldsIndex,loadAsyncModule:e=>this._loadAsyncModule(e),addSqlFilter:(e,r)=>this.addSqlFilter(e,r,this.logError),addTimeFilter:(e,r)=>this.addTimeFilter(e,r)}):this._i3sFilter.viewFilter=e:this._i3sFilter=s(this._i3sFilter)},n),this._updatingHandles.add(()=>[this.sublayer.renderer,this.definitionExpressionFields,this.filterExpressionFields],()=>this._updateRequiredFields()),this._updatingHandles.add(()=>this.sublayer.renderer,e=>this._rendererChange(e),o);const e=()=>this._filterChange();this._updatingHandles.add(()=>this.parsedDefinitionExpression,e),this._updatingHandles.add(()=>this._i3sFilter?.sortedObjectIds,e),this._updatingHandles.add(()=>this._i3sFilter?.parsedWhereClause,e),this._updatingHandles.add(()=>this.getTimeFilterDependencies(),e),this._updatingHandles.add(()=>this.mergedFilter,e),this._updatingHandles.add(()=>[this._i3sFilter?.parsedGeometry,this.filter?.spatialRelationship],()=>this._geometryFilterChange()),this._updatingHandles.add(()=>this.parsedFilterExpressions,()=>this._updateSymbologyOverride(),o),this.addResolvingPromise(this._updateRequiredFields())}get lodFactor(){return this.view.qualitySettings.sceneService.objectLoDFactor}get parsedFilterExpressions(){return"Overview"===this.sublayer.modelName?[]:this.layerView.filterExpressions.map(([e,r])=>{let t;try{t=p.create(e,{fieldsIndex:this.sublayer.fieldsIndex})}catch(a){return i.getLogger(this).error("Failed to parse filterExpression: "+a),null}if(!t.isStandardized)return i.getLogger(this).error("filterExpression is using non standard function"),null;const s=[],l=t.fieldNames;return Q(l,this.sublayer.fieldsIndex,{missingFields:s}),s.length>0?(i.getLogger(this).error(`filterExpression references unknown fields: ${s.join(", ")}`),null):[t,r]}).filter(e=>null!=e)}get filter(){return this._get("filter")}set filter(e){this._set("filter",x.checkSupport(e)?e:null)}isUpdating(){return super.isUpdating()||(this._i3sFilter?.updating??!1)}_updateSymbologyOverride(){const e=this.parsedFilterExpressions;e.length>0?this._setSymbologyOverride((r,t)=>{for(const[s,l]of e)try{if(s.testFeature(r))return w(t,l)}catch(i){this.logError(i)}return w(t,null)},this.filterExpressionFields):this._setSymbologyOverride(null,null)}get filterExpressionFields(){return c(this.sublayer.fieldsIndex,this.parsedFilterExpressions.reduce((e,[r])=>e.concat(r.fieldNames),new Array))}get availableFields(){const e=this.sublayer,r=e.fieldsIndex;let t=this.requiredFields;if(e.outFields||e.layer.outFields){const i=[...e.outFields||[],...e.layer.outFields||[]];t=[...g(r,i),...t]}return t=[...t,e.objectIdField??h],c(r,t)}get _graphicOrigin(){return this.sublayer.graphicOrigin}_createLayerGraphic(e){return new r({attributes:e,layer:this.sublayer.layer,sourceLayer:this.sublayer,origin:this._graphicOrigin})}canResume(){return super.canResume()&&A(this.sublayer.effectiveScaleRange,this.view.scale)&&(!this._controller||this._controller.rootNodeVisible)}async patchFeaturesForPopup(e,r){const t=this._validateFetchPopupFeatures(r);if(t)throw t;if(0===e.length)return[];const s=[],n=[],o=null!=this.sublayer.associatedLayer?await this.sublayer.associatedLayer.load(r):this.sublayer,u=g(this.sublayer.fieldsIndex,await U(o,C(this.sublayer,r)));l(r);const d=new Set;for(const i of e)f(i,u,d)?n.push(i):s.push(i);return 0===n.length?s:(null!=this.sublayer.associatedLayer&&await this.sublayer.associatedLayer.load().catch(()=>i.getLogger(this).warn("Failed to load associated feature layer. Displaying popup attributes from cached attributes.")),this.whenGraphicAttributes(n,Array.from(d)).catch(e=>(a(e),n)).then(e=>s.concat(e)))}async _updateRequiredFields(){const e=c(this.sublayer.fieldsIndex,[...this.sublayer.renderer?await this.sublayer.renderer.getRequiredFields(this.sublayer.fieldsIndex):[],...this.definitionExpressionFields,...this.filterExpressionFields]);this._set("requiredFields",e)}_validateFetchPopupFeatures(e){const{sublayer:r}=this,{popupEnabled:i}=r;return i?C(r,e)?void 0:new t("buildingscenelayerview3d:fetchPopupFeatures","Layer does not define a popup template",{sublayer:r}):new t("buildingscenelayerview3d:fetchPopupFeatures","Popups are disabled",{sublayer:r})}getFilters(){const e=super.getFilters();return this.addSqlFilter(e,this.parsedDefinitionExpression,this.logError),this._i3sFilter?.addFilters(e,this.view,this._controller.crsIndex,this._collection),e}createQuery(){const e={outFields:["*"],returnGeometry:!1,outSpatialReference:this.view.spatialReference};return null!=this.filter?this.filter.createQuery(e):new m(e)}queryExtent(e,r){return this._ensureQueryEngine().executeQueryForExtent(this._ensureQuery(e),r?.signal)}queryFeatureCount(e,r){return this._ensureQueryEngine().executeQueryForCount(this._ensureQuery(e),r?.signal)}queryFeatures(e,r){return this._ensureQueryEngine().executeQuery(this._ensureQuery(e),r?.signal).then(e=>{if(!e?.features)return e;const r=this.sublayer,t=r.layer,i=this._graphicOrigin;for(const s of e.features)s.layer=t,s.sourceLayer=r,s.origin=i;return e})}async queryObjectIds(e,r){return(await this._ensureQueryEngine().executeQueryForIds(this._ensureQuery(e),r?.signal)).filter(F)}_ensureQueryEngine(){return this._queryEngine??=this._createQueryEngine(),this._queryEngine}_createQueryEngine(){const e=E(this.view.spatialReference,this.view.renderSpatialReference,this._collection);return new S({layerView:this,priority:H.FEATURE_QUERY_ENGINE,spatialIndex:new I({featureAdapter:new j({objectIdField:this.sublayer.objectIdField,attributeStorageInfo:this.sublayer.attributeStorageInfo,getFeatureExtent:e}),forAllFeatures:(e,r)=>this._forAllFeatures((r,t,i)=>e(new v(r,t,i)),r,2),getFeatureExtent:e,sourceSpatialReference:q(this.sublayer),viewSpatialReference:this.view.spatialReference})})}_ensureQuery(e){return this._addDefinitionExpressionToQuery(null==e?this.createQuery():m.from(e))}};e([u()],D.prototype,"layerView",void 0),e([u()],D.prototype,"lodFactor",null),e([u({readOnly:!0})],D.prototype,"parsedFilterExpressions",null),e([u({type:y})],D.prototype,"filter",null),e([u()],D.prototype,"_i3sFilter",void 0),e([u({type:[String],readOnly:!0})],D.prototype,"filterExpressionFields",null),e([u({type:[String],readOnly:!0})],D.prototype,"requiredFields",void 0),e([u({type:[String],readOnly:!0})],D.prototype,"availableFields",null),e([u()],D.prototype,"_graphicOrigin",null),D=e([d("esri.views.3d.layers.BuildingComponentSublayerView3D")],D);const P=D;export{P as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{forEach as t,result as r}from"../../../core/asyncUtils.js";import{makeHandle as i}from"../../../core/handleUtils.js";import a from"../../../core/Logger.js";import{abortMaybe as s}from"../../../core/maybe.js";import{isAbortError as n,onAbort as o,throwIfAborted as l,isAborted as h,createAbortError as m}from"../../../core/promiseUtils.js";import{whenOnce as g}from"../../../core/reactiveUtils.js";import{property as d,subclass as u}from"../../../core/accessorSupport/decorators.js";import c from"../../../geometry/Extent.js";import{equals as p,create as x,width as y,height as f,copy as w,intersection as _}from"../../../geometry/support/aaBoundingRect.js";import v from"./SubView3D.js";import{computeImageExportSize as b,createGeometryForExtent as R,createOuterImageGeometry as E}from"./support/overlayImageUtils.js";import{debugFlags as M}from"../support/debugFlags.js";import{ManagedTexture as S}from"../webgl-engine/lib/ManagedTexture.js";import{RenderGeometry as j}from"../webgl-engine/lib/RenderGeometry.js";import{ImageMaterial as A,Parameters as I}from"../webgl-engine/materials/ImageMaterial.js";let G=class extends v{constructor(e){super(e),this.drapeSourceType=0,this.updatePolicy=1,this.type="draped",this.maximumDataResolution=null,this._images=new Array,this._extents=new Array,this._overlays=new Array,this._drapeSourceRenderer=null}initialize(){this._drapeSourceRenderer=this.view.overlayManager.registerGeometryDrapeSource(this),this.addHandles(i(()=>this.view.overlayManager.unregisterDrapeSource(this)))}setDrapingExtent(e,t){this._spatialReference=t,e.forEach((e,t)=>{this._overlays[t]=e,this._updateImageExtent(e,t)})}destroy(){this.clear()}get spatialReference(){return this._spatialReference}_updateImageExtent(e,t){const r=this._clippedExtent(e.extent,D);if(null==r)return;const i=b(e.extent,r,e.resolution);let s=e.pixelRatio*this.view.state.pixelRatio;const{layer:o}=this;if("imageMaxWidth"in o&&null!=o.imageMaxWidth||"imageMaxHeight"in o&&null!=o.imageMaxHeight){const e=o.imageMaxWidth,t=o.imageMaxHeight;if(i.width>e){const t=e/i.width;i.height=Math.floor(i.height*t),i.width=e,s*=t}if(i.height>t){const e=t/i.height;i.width=Math.floor(i.width*e),i.height=t,s*=e}}const l=this._extents[t];l&&p(l.extent,r)&&this._imageSizeEquals(r,l.imageSize,i)||(this._extents[t]={extent:x(r),imageSize:i,pixelRatio:s},this.suspended||this._fetch(t).catch(e=>{n(e)||a.getLogger(this).error(e)}))}clear(){for(let e=0;e<this._images.length;e++)this._clearImage(e)}async doRefresh(e){const t=[];for(let r=0;r<this._extents.length;r++)this._extents[r]&&t.push(this._fetch(r,e));await Promise.allSettled(t)}async processResult(e,t,r){(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement)&&(e.image=t)}findExtentInfoAt(e){for(const t of this._extents){const r=t.extent;if(new c(r[0],r[1],r[2],r[3],this._spatialReference).contains(e))return t}return null}async redraw(e,r){await t(this._images,async(t,i)=>{t&&(await e(t,r),await this._createStageObjects(i,t.image,r))})}_imageSizeEquals(e,t,r){if(!this.maximumDataResolution)return!1;const i=y(e)/this.maximumDataResolution.x,a=f(e)/this.maximumDataResolution.y,s=i/t.width,n=a/t.height,o=i/r.width,l=a/r.height,h=Math.abs(s-o),m=Math.abs(n-l),g=M.ENABLE_OPTIMIZATIONS?1.5:0;return h<=g&&m<=g}async _fetch(e,t){if(this.suspended)return;const r=this._extents[e],i=r.extent;this._images[e]||(this._images[e]={texture:null,material:null,renderGeometry:null,loadingPromise:null,loadingAbortController:null,image:null,pixelData:null,renderExtent:x(i)});const g=this._images[e];g.loadingAbortController=s(g.loadingAbortController);const d=new c(i[0],i[1],i[2],i[3],this._spatialReference);if(0===d.width||0===d.height)return void this._clearImage(e);const u=new AbortController;g.loadingAbortController=u,o(t,()=>u.abort());const p=u.signal,y=this._waitFetchReady(p).then(async()=>{l(p);const t={requestAsImageElement:!0,pixelRatio:this._overlays[e].pixelRatio,...this.layerView.getFetchOptions(),signal:p},{height:i,width:a}=r.imageSize;return this.layer?"imagery"===this.layer.type?this.layer.internalFetchImage(d,a,i,t):this.layer.fetchImage(d,a,i,t):null}).then(e=>{if(h(p))throw a.getLogger(this).warnOnce("A call to fetchImage resolved even though the request was aborted. fetchImage should not resolve if options.signal.aborted is true."),m();return this.processResult(g,e)}).then(()=>{w(g.renderExtent,i)});g.loadingPromise=y,await this.updatingHandles.addPromise(y.then(async()=>{l(p),await this._createStageObjects(e,g.image,p)}).catch(e=>{throw e&&!n(e)&&a.getLogger(this).error(e),e}).finally(()=>{y===g.loadingPromise&&(g.loadingPromise=null,g.loadingAbortController=null)}))}_clearImage(e){const t=this._images[e];if(t){null!=t.renderGeometry&&(this._drapeSourceRenderer.removeGeometries([t.renderGeometry],1),t.renderGeometry=null);const e=this.view.stage,r=t.texture;r?.unload(),e.removeTexture(r),t.texture=null,t.material=null,t.loadingAbortController=s(t.loadingAbortController),t.loadingPromise=null,t.image=null,t.pixelData=null}}async _createStageObjects(e,t,i){const a=this.view.stage,s=this._images[e],n=()=>{s.texture?.unload(),a.removeTexture(s.texture),s.texture=null,s.renderGeometry&&(this._drapeSourceRenderer.removeGeometries([s.renderGeometry],1),s.renderGeometry=null)};if(t){const o=new S(t,{width:t.width,height:t.height,preMultiplyAlpha:!0,wrap:{s:33071,t:33071}});if(await r(this._images[0===e?1:0].loadingPromise),l(i),n(),await a.schedule(()=>o.load(a.renderView.renderingContext),i),!o.loaded)return void n();let h;if(a.addTexture(o),s.texture=o,s.material??=new A(new I(o,!0)),s.material.setParameters({managedTexture:o}),0===e)h=R(s.material,s.renderExtent);else{const e=this._images[0].renderExtent;if(!e)return void n();h=E(s.material,e,s.renderExtent)}s.renderGeometry=new j(h),s.renderGeometry.localOrigin=this._overlays[e].renderLocalOrigin,this._drapeSourceRenderer.addGeometries([s.renderGeometry],1)}else n(),s.material=null}_clippedExtent(e,t){if("local"!==this.view.viewingMode)return w(t,e);const{groundView:r}=this.view;return r.ready?_(e,r.groundExtent,t):w(t,e)}async _waitFetchReady(e){await g(()=>this.view.stationary,e),l(e)}get usedMemory(){return this._images.reduce((e,t)=>e+(t.texture?.usedMemory??0),0)}};e([d()],G.prototype,"type",void 0),G=e([u("esri.views.3d.layers.DrapedSubView3D")],G);const D=x();export{G as default};
2
+ import{__decorate as e}from"tslib";import{forEach as t,result as r}from"../../../core/asyncUtils.js";import{makeHandle as i}from"../../../core/handleUtils.js";import a from"../../../core/Logger.js";import{abortMaybe as s}from"../../../core/maybe.js";import{isAbortError as n,onAbort as o,throwIfAborted as l,isAborted as h,createAbortError as m}from"../../../core/promiseUtils.js";import{whenOnce as g}from"../../../core/reactiveUtils.js";import{property as d,subclass as u}from"../../../core/accessorSupport/decorators.js";import c from"../../../geometry/Extent.js";import{create as p,equals as x,width as y,height as f,copy as w,intersection as _}from"../../../geometry/support/aaBoundingRect.js";import v from"./SubView3D.js";import{computeImageExportSize as b,createGeometryForExtent as R,createOuterImageGeometry as E}from"./support/overlayImageUtils.js";import{debugFlags as M}from"../support/debugFlags.js";import{ManagedTexture as S}from"../webgl-engine/lib/ManagedTexture.js";import{RenderGeometry as j}from"../webgl-engine/lib/RenderGeometry.js";import{ImageMaterial as A,Parameters as I}from"../webgl-engine/materials/ImageMaterial.js";let G=class extends v{constructor(e){super(e),this.drapeSourceType=0,this.updatePolicy=1,this.type="draped",this.maximumDataResolution=null,this._images=new Array,this._extents=new Array,this._overlays=new Array,this._drapeSourceRenderer=null}initialize(){this._drapeSourceRenderer=this.view.overlayManager.registerGeometryDrapeSource(this),this.addHandles(i(()=>this.view.overlayManager.unregisterDrapeSource(this)))}setDrapingExtent(e,t){this._spatialReference=t,e.forEach((e,t)=>{this._overlays[t]=e,this._updateImageExtent(e,t)})}destroy(){this.clear()}get spatialReference(){return this._spatialReference}_updateImageExtent(e,t){const r=this._clippedExtent(e.extent,P);if(null==r)return;const i=b(e.extent,r,e.resolution);let s=e.pixelRatio*this.view.state.pixelRatio;const{layer:o}=this;if("imageMaxWidth"in o&&null!=o.imageMaxWidth||"imageMaxHeight"in o&&null!=o.imageMaxHeight){const e=o.imageMaxWidth,t=o.imageMaxHeight;if(i.width>e){const t=e/i.width;i.height=Math.floor(i.height*t),i.width=e,s*=t}if(i.height>t){const e=t/i.height;i.width=Math.floor(i.width*e),i.height=t,s*=e}}const l=this._extents[t];l&&x(l.extent,r)&&this._imageSizeEquals(r,l.imageSize,i)||(this._extents[t]={extent:p(r),imageSize:i,pixelRatio:s},this.suspended||this._fetch(t).catch(e=>{n(e)||a.getLogger(this).error(e)}))}clear(){for(let e=0;e<this._images.length;e++)this._clearImage(e)}async doRefresh(e){const t=[];for(let r=0;r<this._extents.length;r++)this._extents[r]&&t.push(this._fetch(r,e));await Promise.allSettled(t)}async processResult(e,t,r){(t instanceof HTMLImageElement||t instanceof HTMLCanvasElement)&&(e.image=t)}findExtentInfoAt(e){for(const t of this._extents){const r=t.extent;if(new c(r[0],r[1],r[2],r[3],this._spatialReference).contains(e))return t}return null}async redraw(e,r){await t(this._images,async(t,i)=>{t&&(await e(t,r),await this._createStageObjects(i,t.image,r))})}_imageSizeEquals(e,t,r){if(!this.maximumDataResolution)return!1;const i=y(e)/this.maximumDataResolution.x,a=f(e)/this.maximumDataResolution.y,s=i/t.width,n=a/t.height,o=i/r.width,l=a/r.height,h=Math.abs(s-o),m=Math.abs(n-l),g=M.ENABLE_OPTIMIZATIONS?1.5:0;return h<=g&&m<=g}async _fetch(e,t){if(this.suspended)return;const r=this._extents[e],i=r.extent;this._images[e]||(this._images[e]={texture:null,material:null,renderGeometry:null,loadingPromise:null,loadingAbortController:null,image:null,pixelData:null,renderExtent:p(i)});const g=this._images[e];g.loadingAbortController=s(g.loadingAbortController);const d=new c(i[0],i[1],i[2],i[3],this._spatialReference);if(0===d.width||0===d.height)return void this._clearImage(e);const u=new AbortController;g.loadingAbortController=u,o(t,()=>u.abort());const x=u.signal,y=this._waitFetchReady(x).then(async()=>{l(x);const t={requestAsImageElement:!0,pixelRatio:this._overlays[e].pixelRatio,...this.layerView.getFetchOptions(),signal:x},{height:i,width:a}=r.imageSize;return this.layer?"imagery"===this.layer.type?this.layer.internalFetchImage(d,a,i,t):this.layer.fetchImage(d,a,i,t):null}).then(e=>{if(h(x))throw a.getLogger(this).warnOnce("A call to fetchImage resolved even though the request was aborted. fetchImage should not resolve if options.signal.aborted is true."),m();return this.processResult(g,e)}).then(()=>{w(g.renderExtent,i)});g.loadingPromise=y,await this.updatingHandles.addPromise(y.then(async()=>{l(x),await this._createStageObjects(e,g.image,x)}).catch(e=>{throw e&&!n(e)&&a.getLogger(this).error(e),e}).finally(()=>{y===g.loadingPromise&&(g.loadingPromise=null,g.loadingAbortController=null)}))}_clearImage(e){const t=this._images[e];if(t){null!=t.renderGeometry&&(this._drapeSourceRenderer.removeGeometries([t.renderGeometry],1),t.renderGeometry=null);const e=this.view.stage,r=t.texture;r?.unload(),e.removeTexture(r),t.texture=null,t.material=null,t.loadingAbortController=s(t.loadingAbortController),t.loadingPromise=null,t.image=null,t.pixelData=null}}async _createStageObjects(e,t,i){const a=this.view.stage,s=this._images[e],n=()=>{s.texture?.unload(),a.removeTexture(s.texture),s.texture=null,s.renderGeometry&&(this._drapeSourceRenderer.removeGeometries([s.renderGeometry],1),s.renderGeometry=null)};if(t){const o=new S(t,{width:t.width,height:t.height,preMultiplyAlpha:!0,wrap:{s:33071,t:33071}});if(await r(this._images[0===e?1:0].loadingPromise),l(i),n(),await a.schedule(()=>o.load(a.renderView.renderingContext),i),!o.loaded)return void n();let h;if(a.addTexture(o),s.texture=o,s.material??=new A(new I(o,!0)),s.material.setParameters({managedTexture:o}),0===e)h=R(s.material,s.renderExtent);else{const e=this._images[0].renderExtent;if(!e)return void n();h=E(s.material,e,s.renderExtent)}s.renderGeometry=new j(h),s.renderGeometry.localOrigin=this._overlays[e].renderLocalOrigin,this._drapeSourceRenderer.addGeometries([s.renderGeometry],1)}else n(),s.material=null}_clippedExtent(e,t){if("local"!==this.view.viewingMode)return w(t,e);const{groundView:r}=this.view;return r.ready?_(e,r.groundExtent,t):w(t,e)}async _waitFetchReady(e){await g(()=>this.view.stationary,e),l(e)}get usedMemory(){return this._images.reduce((e,t)=>e+(t.texture?.usedMemory??0),0)}};e([d()],G.prototype,"type",void 0),G=e([u("esri.views.3d.layers.DrapedSubView3D")],G);const D=G,P=p();export{D as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import{equals as t}from"../../../core/arrayUtils.js";import"../../../core/has.js";import{removeMaybe as i,abortMaybe as s}from"../../../core/maybe.js";import{debounce as r,throwIfAborted as n,ignoreAbortErrors as l}from"../../../core/promiseUtils.js";import{watch as a,sync as o,when as u,whenOnce as d}from"../../../core/reactiveUtils.js";import{addFrameTask as h}from"../../../core/scheduling.js";import{signal as p}from"../../../core/signal.js";import{Seconds as c,secondsFromMilliseconds as m}from"../../../core/time.js";import{property as g,subclass as _}from"../../../core/accessorSupport/decorators.js";import{projectOrLoad as f}from"../../../geometry/projectionUtils.js";import y from"../../../geometry/SpatialReference.js";import{fromExtent as v,intersection as w,toExtent as T,create as S,intersects as b}from"../../../geometry/support/aaBoundingRect.js";import{getInfo as R}from"../../../geometry/support/spatialReferenceUtils.js";import x from"../../../symbols/support/ElevationInfo.js";import A from"./SubView3D.js";import{getFeatureTileId as L}from"./support/FeatureTileDescriptor.js";import{makeScheduleFunction as E}from"./support/makeScheduleFunction.js";import{debugFlags as j}from"../support/debugFlags.js";import{tileFilterDistance as M,scaleThresholdForLoadingAllTiles as O,defaultTransitionDuration as I,transitionDurationFactor as C,seamlessTransitionEnabled as P,densityFactor as U,loadAllTilesDensityFactor as D,averageLoadingTimeSmoothingFactor as W,fadeOutTime as k,fadeInTime as F,minimumTracingResolution as q}from"../support/flow/constants.js";import{isFullExtent as B,wrappedWidth as V,FlowQuery3D as G}from"../support/flow/FlowQuery3D.js";import{FlowWorkerHandle as H}from"../support/flow/FlowWorkerHandle.js";import{materialParametersFromRenderer as z,createStreamlineGeometry as N}from"../support/flow/geometryUtils.js";import{boundingRectOfTiles as Q}from"../support/flow/loadUtils.js";import{StreamlineResources3DOverlay as J}from"../support/flow/StreamlineResources3DOverlay.js";import{StreamlineResources3DShape as K}from"../support/flow/StreamlineResources3DShape.js";import{webMercatorWorldExtent as X}from"../terrain/TerrainConst.js";import{descendantsAtLevel as Y,tilesAreRelated as Z}from"../terrain/tileUtils.js";import{isScreenSizePerspectiveEnabled as $}from"../webgl-engine/lib/screenSizePerspectiveUtils.js";import{RibbonLineMaterial as ee}from"../webgl-engine/materials/RibbonLineMaterial.js";import{hasLayerBasedScaleVisibility as te,isInEffectiveScaleRange as ie}from"../../support/layerViewUtils.js";import{TaskPriority as se}from"../../support/Scheduler.js";import{simulationSettingsEqual as re,getPositions as ne,getFlowSimulationSettings as le}from"../../support/flow/utils.js";let ae=class extends A{constructor(e){super(e),this.type="flow",this.renderedTiles=null,this.tilesIntersectDataBounds=!0,this.requireLoad=!1,this.workerHandle=null,this.frameTask=null,this._averageLoadingTime=c(0),this._abortController=null,this._loadingState="ready-to-load",this._tilesUpdateIsWaiting=!1,this._debugAllowAutoLoading=p(!0),this.emissiveStrength=0,this._materialParametersOverridde=null,this._suspendedOverride=null,this._simulationSettingsOverride=null,this._seamlessTransitionEnabledOverride=null,this._updateTask=null,this._debouncedTileUpdate=r(async e=>{const{allTiles:t}=this.surface,i=this._getTileFilterFunction(),{_dataBounds:s}=this,r=new Set;let l=!1;function*a(e){for(let n=0;n<t.length;++n){const a=t.at(n),o=ue(s,a.extent);i(a)&&o&&(r.add(a),l=!0),e.madeProgress(),e.done&&(e=yield)}}await this.frameTask.scheduleGenerator(a,e.signal),n(e.signal),this.tilesIntersectDataBounds=!(0!==t.length&&!this.loadAllTiles)||l,this.renderedTiles=r})}initialize(){const{surface:e,view:t}=this,{resourceController:i}=t;this.workerHandle=new H(E(i)),this.frameTask=i.scheduler.registerTask(se.FLOW_GENERATOR),this._updateTask=h({update:()=>this._update()}),this.addHandles([a(()=>this._simulationSettings,()=>this.triggerLoad(),{sync:!0,equals:(e,t)=>null==e&&null==t||null!=e&&null!=t&&re(e,t)}),this.updatingHandles.add(()=>this.suspended,e=>{e?this._suspend():this._resume()},o),a(()=>{const{elevationInfo:e}=this;return[this._clippingArea,this.visible,this._draped,this.view.state.contentPixelRatio,this.view.viewingMode,e?.mode,e?.offset,e?.unit,this._effectiveDensity]},()=>this.triggerLoad(),o),u(()=>!this.view.animationsEnabled,()=>{const{_resources:e,_lastResources:t}=this;null!=e&&(e.startTime=he),null!=t&&(t.startTime=he)},o),a(()=>this._materialParameters,e=>{this._resources?.setMaterialParameters(e),this._lastResources?.setMaterialParameters(e)}),u(()=>e.allTilesCreated,()=>this._triggerTilesUpdate(),o),t.enableFeatureTiles(),a(()=>[this._dataBounds,this._featureTilesBounds,this.loadAllTiles],()=>this._triggerTilesUpdate()),a(()=>this._flowRenderer,(e,t)=>{const i=t?.visualVariables??[],s=e?.visualVariables??[];s.length===i.length&&s.every((e,t)=>e.type===i[t].type)||this.clear()}),u(()=>!t.featureTiles?.updating,()=>{this._triggerTilesUpdate()})]),this.suspended&&this._suspend(),this._triggerTilesUpdate()}destroy(){this._updateTask=i(this._updateTask),this.abort(),this.clear(),this.notifyChange("updating")}abort(){this._abortController=s(this._abortController),this._tilesUpdateIsWaiting=!1,this.requireLoad=!1}_ensureAbortController(){return null==this._abortController&&(this._abortController=new AbortController),this._abortController}_resume(){this._updateTask.resume(),this._triggerTilesUpdate(),this.triggerLoad()}_suspend(){this._updateTask.pause(),this.abort(),this.clear()}get _clippingArea(){const e=f(this.view.clippingArea,this.surface.spatialReference).geometry;return null==e?null:v(e)}get _dataBounds(){const e=this._fullExtentSurfaceSpatialReference;return null==e?null:v(e)}get suspended(){return null!=this._suspendedOverride?this._suspendedOverride:this.layerView.suspended||this.view.groundView.hasTerrainReplacement}get _fullExtentSurfaceSpatialReference(){return f(this.layer.fullExtent,this.surface.spatialReference).geometry}get _draped(){return"on-the-ground"===this.elevationInfo.mode}get extent(){if(this.loadAllTiles)return pe(this._fullExtentSurfaceSpatialReference);const{spatialReference:e}=this.surface;let t=this.renderedTiles;if(null==e||null==t)return null;const i=this.view.terrainLevel;if(null!=i){const e=new Set;t.forEach(t=>{Math.abs(i-t.level)<M&&e.add(t)}),t=e}const s=Q(t,this.spatialReferenceInfo);return null==s?null:(w(s,this._clippingArea,s),pe(T(s,e)))}get loadAllTiles(){return this.view.scale>(j.FLOW_GLOBAL_SCALE_THRESHOLD??O)}get isDataGlobal(){const{extent:e,spatialReferenceInfo:t}=this;return null!=e&&B(e.xmin,e.xmax,t)}get loadAllTilesLevel(){const{tilingScheme:e}=this.surface;return Math.min(Math.ceil(e.levelAtScale(j.FLOW_GLOBAL_SCALE_THRESHOLD??O)),e.getMaxLod())}get targetTiles(){const e=new Map;if(this.loadAllTiles){const{_dataBounds:t}=this;if(null==t)return e;const i=S(),s=this.loadAllTilesLevel,r=this.surface.tilingScheme,n=r.rootTilesInExtent(t).flatMap(e=>Y(e,s));for(const l of n){const[n,a,o]=l;r.getExtent(s,a,o,i),ue(t,i)&&e.set(L(s,a,o),l)}return e}const{renderedTiles:t}=this;for(const i of t??[])e.set(i.key,i.lij);return e}get _featureTilesBounds(){const e=this.view.featureTiles?.filterExtent,t=f(e,this.surface.spatialReference).geometry;return null==t?null:v(t)}get _flowRenderer(){const e=this.layer.renderer;return"flow"===e?.type?e:null}get _materialParameters(){return{...z(this._flowRenderer,this.layerView.fullOpacity,this.emissiveStrength),...this._materialParametersOverridde,hasSlicePlane:this.layerView.slicePlaneEnabled,screenSizePerspective:!this._draped&&"screenSizePerspectiveEnabled"in this.layer&&$(this.layer.screenSizePerspectiveEnabled)?this.view.screenSizePerspective.parameters:null}}get _opacity(){return this.layerView.fullOpacity}get _seamlessTransitionWaitingTime(){const{_averageLoadingTime:e}=this;return c(0===e?I:this._averageLoadingTime*C)}get _transitionEnabled(){return this.view.qualitySettings.flow.transitionEnabled}get _seamlessTransitionEnabled(){return!!this._transitionEnabled&&(null!=this._seamlessTransitionEnabledOverride?this._seamlessTransitionEnabledOverride:P)}get _tracingResolution(){const{extent:e}=this;if(!e)return[0,0];const t=V(e.xmin,e.xmax,this.spatialReferenceInfo?.valid)/(e.ymax-e.ymin),[i,s]=this.view.size;let r,n;i<s?(r=i,n=i/t):(r=s*t,n=s);const l=q,a=this.view.qualitySettings.flow.maxTracingResolution,o=Math.max(1,l/Math.min(r,n)),u=o*Math.min(1,a/Math.max(r*o,n*o));return[Math.round(r*u),Math.round(n*u)]}get visible(){const e=this._flowRenderer?.color;return this.visibleAtCurrentScale&&this.layer.effectiveVisible&&this._opacity>0&&(null==e||e.a>0)}get _effectiveDensity(){const{_simulationSettings:e}=this;if(null==e)return 0;const t=e.density*this.view.quality;return e.lineSpacing/Math.sqrt(t)<e.lineCollisionWidth?(e.lineSpacing/e.lineCollisionWidth)**2:t}get elevationInfo(){return("elevationInfo"in this.layer?this.layer.elevationInfo:void 0)??oe}startPositions(e){if(!this._seamlessTransitionEnabled)return[];const{_flowRenderer:t,_resources:i}=this;return null==t||null==i?[]:ne(i.streamlines,i.query,e,t.flowSpeed)}get needsMagnitude(){return this._flowRenderer?.hasVisualVariables()??!1}get spatialReferenceInfo(){return R(this.surface.spatialReference)}get loadingState(){return this._loadingState}get loadRequirementsMet(){return null!=this.renderedTiles&&(this.renderedTiles.size>0||this.loadAllTiles)&&null!=this.extent}hasWork(){return this.updatingHandles.updating||this.requireLoad||"before-transition"===this._loadingState}get updating(){return this._debugAllowAutoLoading.value&&this.visible&&!(this.destroyed||this.destroying)&&this.hasWork()}get visibleAtCurrentScale(){return!te()||ie(this.layer.effectiveScaleRange,this.view.scale)}get _simulationSettings(){const{_flowRenderer:e,_simulationSettingsOverride:t}=this;if(null==e)return null;let i=le(e);return i.segmentLength=i.lineCollisionWidth/2,i.onlyForwardTracing=!1,i.maxNumberOfStreamlines=this.view.qualitySettings.flow.maxTotalNumberOfStreamlines,i.density*=U,this.loadAllTiles&&this.isDataGlobal&&(i.density*=D),null!=t&&(i={...i,...t}),i}getSimulationSettings(e){const{_simulationSettings:t,spatialReferenceInfo:i}=this;if(null==t)return null;const s="global"===this.view.viewingMode&&null!=i&&B(e.extent.xmin,e.extent.xmax,i);return{...t,wrapAround:s,density:this._effectiveDensity}}get surface(){return this.view.basemapTerrain}doRefresh(){}clear(){this._resources?.detach(),this._resources=null,this._lastResources?.detach(),this._lastResources=null,this.tilesIntersectDataBounds=!0,this._loadingState="ready-to-load"}_update(){const e=this._time;this._lastResources?.hasFadedOut(e)&&this._lastResources.detach();const t=this._nextStateForTransition(e);if(!this.requireLoad||this.updatingHandles.updating||"ready-to-load"!==t||!this.loadRequirementsMet)return this._loadingState=t,void(this.tilesIntersectDataBounds||(this.requireLoad=!1));this._loadingState="loading";const i=async()=>{const t=this._time,i=this._seamlessTransitionEnabled&&null!=this._resources?c(e+this._seamlessTransitionWaitingTime):e;await this._load(i);const s=c((this._time-t)/1e3);this._updateAverageLoadingTime(s)};this.updatingHandles.consumePromise(l(i())),this.requireLoad=!1}_updateAverageLoadingTime(e){const t=W;this._averageLoadingTime=c(t*e+(1-t)*this._averageLoadingTime)}triggerLoad(){!this.suspended&&this._debugAllowAutoLoading.value&&(this.visible?this.requireLoad=!0:this.clear())}get _time(){return m(this.layerView.view.stage.renderer.renderContext.time)}async _load(e){const{extent:t,view:i}=this;if(!this.visible)return void this.clear();if(null==t)return void(this._loadingState="ready-to-load");this._transitionEnabled||(this._lastResources?.detach(),this._lastResources=null,this._resources?.detach(),this._resources=null);const s=new G(t,this.layerView.timeExtent,this._tracingResolution,i.state.contentPixelRatio,e),r=this._ensureAbortController();try{const t=await this._loadStreamlines(s,r.signal);if(n(r.signal),null!=t){this._lastResources?.detach(),this._lastResources=this._resources,this._resources=t;const i=this._getStartTime(e);null!=this._lastResources&&(this._lastResources.endTime=i),this._resources.startTime=i,this.view.animationsEnabled||(this._lastResources?.detach(),this._lastResources=null),await t.attach(),this.suspended&&this.clear(),n(r.signal),this._loadingState=this._seamlessTransitionEnabled?"before-transition":"transitioning"}else this._loadingState="ready-to-load"}catch(l){this._loadingState="ready-to-load"}}async _loadStreamlines(e,t){const i=await this.fetchDataAndGenerateStreamlines(e,t);if(null==i)return null;const{geometries:s,material:r}=await this._createGeometry(e,i,t);return this._draped?new J(e,i,r,s,this.layerView):new K(e,i,r,s,this.view)}async fetchDataAndGenerateStreamlines(e,t){return null}async _createGeometry(e,t,i){const s=new ee(this._materialParameters,this.view.state.isGlobal),r=new Array,{elevationInfo:l,_draped:a,view:o}=this;function*u(i){for(let n=0;n<t.length;++n)r.push(N(o,e,t[n],l,s,a)),i.madeProgress(),i.done&&(i=yield)}return await this.frameTask.scheduleGenerator(u,i),n(i),{geometries:r,material:s}}_triggerTilesUpdate(){if(this.suspended)return;if(this._tilesUpdateIsWaiting)return;this._tilesUpdateIsWaiting=!0;const e=this._ensureAbortController(),t=async()=>{try{await d(()=>this.view.stationary),n(e.signal),await this._debouncedTileUpdate(e)}finally{this._tilesUpdateIsWaiting=!1}};this.updatingHandles.consumePromise(l(t()))}_getTileFilterFunction(){const{view:e,_featureTilesBounds:i,loadAllTiles:s}=this;if(s){const{loadAllTilesLevel:e}=this;return t=>t.level===e}const r=e=>e.rendered&&e.visible,{featureTiles:n}=e;if(!n)return r;const l=n.tiles.filter(e=>e.measures.visible);return e=>r(e)&&ue(i,e.extent)&&l.some(({lij:i})=>t(i,e.lij)||Z(i,e.lij))}_nextStateForTransition(e){const{_resources:t}=this;if(null==this._flowRenderer||null==t||"ready-to-load"===this._loadingState||"loading"===this._loadingState)return this._loadingState;const i=t.startTime;return e<i?"before-transition":e<i+k?"transitioning":"ready-to-load"}_getStartTime(e){if(!this.view.animationsEnabled)return he;const t=this._time;return c(t>e?t:e)}get usedMemory(){return(this._lastResources?.usedMemory??0)+(this._resources?.usedMemory??0)}get test(){}};e([g()],ae.prototype,"type",void 0),e([g()],ae.prototype,"renderedTiles",void 0),e([g()],ae.prototype,"_resources",void 0),e([g()],ae.prototype,"_lastResources",void 0),e([g()],ae.prototype,"tilesIntersectDataBounds",void 0),e([g()],ae.prototype,"requireLoad",void 0),e([g()],ae.prototype,"_averageLoadingTime",void 0),e([g()],ae.prototype,"_loadingState",void 0),e([g()],ae.prototype,"emissiveStrength",void 0),e([g()],ae.prototype,"_clippingArea",null),e([g()],ae.prototype,"_dataBounds",null),e([g()],ae.prototype,"suspended",null),e([g()],ae.prototype,"_fullExtentSurfaceSpatialReference",null),e([g()],ae.prototype,"_draped",null),e([g()],ae.prototype,"extent",null),e([g()],ae.prototype,"loadAllTiles",null),e([g()],ae.prototype,"isDataGlobal",null),e([g()],ae.prototype,"loadAllTilesLevel",null),e([g()],ae.prototype,"targetTiles",null),e([g()],ae.prototype,"_featureTilesBounds",null),e([g()],ae.prototype,"_flowRenderer",null),e([g()],ae.prototype,"_materialParameters",null),e([g()],ae.prototype,"_opacity",null),e([g()],ae.prototype,"_seamlessTransitionWaitingTime",null),e([g()],ae.prototype,"_transitionEnabled",null),e([g()],ae.prototype,"_seamlessTransitionEnabled",null),e([g()],ae.prototype,"_tracingResolution",null),e([g()],ae.prototype,"visible",null),e([g()],ae.prototype,"_effectiveDensity",null),e([g()],ae.prototype,"elevationInfo",null),e([g()],ae.prototype,"needsMagnitude",null),e([g()],ae.prototype,"spatialReferenceInfo",null),e([g()],ae.prototype,"loadingState",null),e([g()],ae.prototype,"updating",null),e([g()],ae.prototype,"visibleAtCurrentScale",null),e([g()],ae.prototype,"_materialParametersOverridde",void 0),e([g()],ae.prototype,"_suspendedOverride",void 0),e([g()],ae.prototype,"_simulationSettingsOverride",void 0),e([g()],ae.prototype,"_seamlessTransitionEnabledOverride",void 0),e([g()],ae.prototype,"_simulationSettings",null),e([g()],ae.prototype,"surface",null),ae=e([_("esri.views.3d.layers.FlowSubView3D")],ae);const oe=new x({mode:"on-the-ground"});function ue(e,t){return null==e||null==t||b(e,t)}const de=T(X,y.WebMercator),he=c(-F);function pe(e){return null!=e&&e.spatialReference.isWebMercator?e?.intersection(de):e}export{ae as default};
2
+ import{__decorate as e}from"tslib";import{equals as t}from"../../../core/arrayUtils.js";import"../../../core/has.js";import{removeMaybe as i,abortMaybe as s}from"../../../core/maybe.js";import{debounce as r,throwIfAborted as n,ignoreAbortErrors as l}from"../../../core/promiseUtils.js";import{watch as a,sync as o,when as u,whenOnce as d}from"../../../core/reactiveUtils.js";import{addFrameTask as h}from"../../../core/scheduling.js";import{signal as p}from"../../../core/signal.js";import{Seconds as c,secondsFromMilliseconds as m}from"../../../core/time.js";import{property as g,subclass as _}from"../../../core/accessorSupport/decorators.js";import{projectOrLoad as f}from"../../../geometry/projectionUtils.js";import y from"../../../geometry/SpatialReference.js";import{toExtent as v,fromExtent as w,intersection as T,create as S,intersects as b}from"../../../geometry/support/aaBoundingRect.js";import{getInfo as R}from"../../../geometry/support/spatialReferenceUtils.js";import x from"../../../symbols/support/ElevationInfo.js";import A from"./SubView3D.js";import{getFeatureTileId as L}from"./support/FeatureTileDescriptor.js";import{makeScheduleFunction as E}from"./support/makeScheduleFunction.js";import{debugFlags as j}from"../support/debugFlags.js";import{tileFilterDistance as M,scaleThresholdForLoadingAllTiles as O,defaultTransitionDuration as I,transitionDurationFactor as C,seamlessTransitionEnabled as P,densityFactor as U,loadAllTilesDensityFactor as D,averageLoadingTimeSmoothingFactor as W,fadeOutTime as k,fadeInTime as F,minimumTracingResolution as q}from"../support/flow/constants.js";import{isFullExtent as B,wrappedWidth as V,FlowQuery3D as G}from"../support/flow/FlowQuery3D.js";import{FlowWorkerHandle as H}from"../support/flow/FlowWorkerHandle.js";import{materialParametersFromRenderer as z,createStreamlineGeometry as N}from"../support/flow/geometryUtils.js";import{boundingRectOfTiles as Q}from"../support/flow/loadUtils.js";import{StreamlineResources3DOverlay as J}from"../support/flow/StreamlineResources3DOverlay.js";import{StreamlineResources3DShape as K}from"../support/flow/StreamlineResources3DShape.js";import{webMercatorWorldExtent as X}from"../terrain/TerrainConst.js";import{descendantsAtLevel as Y,tilesAreRelated as Z}from"../terrain/tileUtils.js";import{isScreenSizePerspectiveEnabled as $}from"../webgl-engine/lib/screenSizePerspectiveUtils.js";import{RibbonLineMaterial as ee}from"../webgl-engine/materials/RibbonLineMaterial.js";import{hasLayerBasedScaleVisibility as te,isInEffectiveScaleRange as ie}from"../../support/layerViewUtils.js";import{TaskPriority as se}from"../../support/Scheduler.js";import{simulationSettingsEqual as re,getPositions as ne,getFlowSimulationSettings as le}from"../../support/flow/utils.js";let ae=class extends A{constructor(e){super(e),this.type="flow",this.renderedTiles=null,this.tilesIntersectDataBounds=!0,this.requireLoad=!1,this.workerHandle=null,this.frameTask=null,this._averageLoadingTime=c(0),this._abortController=null,this._loadingState="ready-to-load",this._tilesUpdateIsWaiting=!1,this._debugAllowAutoLoading=p(!0),this.emissiveStrength=0,this._materialParametersOverridde=null,this._suspendedOverride=null,this._simulationSettingsOverride=null,this._seamlessTransitionEnabledOverride=null,this._updateTask=null,this._debouncedTileUpdate=r(async e=>{const{allTiles:t}=this.surface,i=this._getTileFilterFunction(),{_dataBounds:s}=this,r=new Set;let l=!1;function*a(e){for(let n=0;n<t.length;++n){const a=t.at(n),o=de(s,a.extent);i(a)&&o&&(r.add(a),l=!0),e.madeProgress(),e.done&&(e=yield)}}await this.frameTask.scheduleGenerator(a,e.signal),n(e.signal),this.tilesIntersectDataBounds=!(0!==t.length&&!this.loadAllTiles)||l,this.renderedTiles=r})}initialize(){const{surface:e,view:t}=this,{resourceController:i}=t;this.workerHandle=new H(E(i)),this.frameTask=i.scheduler.registerTask(se.FLOW_GENERATOR),this._updateTask=h({update:()=>this._update()}),this.addHandles([a(()=>this._simulationSettings,()=>this.triggerLoad(),{sync:!0,equals:(e,t)=>null==e&&null==t||null!=e&&null!=t&&re(e,t)}),this.updatingHandles.add(()=>this.suspended,e=>{e?this._suspend():this._resume()},o),a(()=>{const{elevationInfo:e}=this;return[this._clippingArea,this.visible,this._draped,this.view.state.contentPixelRatio,this.view.viewingMode,e?.mode,e?.offset,e?.unit,this._effectiveDensity]},()=>this.triggerLoad(),o),u(()=>!this.view.animationsEnabled,()=>{const{_resources:e,_lastResources:t}=this;null!=e&&(e.startTime=pe),null!=t&&(t.startTime=pe)},o),a(()=>this._materialParameters,e=>{this._resources?.setMaterialParameters(e),this._lastResources?.setMaterialParameters(e)}),u(()=>e.allTilesCreated,()=>this._triggerTilesUpdate(),o),t.enableFeatureTiles(),a(()=>[this._dataBounds,this._featureTilesBounds,this.loadAllTiles],()=>this._triggerTilesUpdate()),a(()=>this._flowRenderer,(e,t)=>{const i=t?.visualVariables??[],s=e?.visualVariables??[];s.length===i.length&&s.every((e,t)=>e.type===i[t].type)||this.clear()}),u(()=>!t.featureTiles?.updating,()=>{this._triggerTilesUpdate()})]),this.suspended&&this._suspend(),this._triggerTilesUpdate()}destroy(){this._updateTask=i(this._updateTask),this.abort(),this.clear(),this.notifyChange("updating")}abort(){this._abortController=s(this._abortController),this._tilesUpdateIsWaiting=!1,this.requireLoad=!1}_ensureAbortController(){return null==this._abortController&&(this._abortController=new AbortController),this._abortController}_resume(){this._updateTask.resume(),this._triggerTilesUpdate(),this.triggerLoad()}_suspend(){this._updateTask.pause(),this.abort(),this.clear()}get _clippingArea(){const e=f(this.view.clippingArea,this.surface.spatialReference).geometry;return null==e?null:w(e)}get _dataBounds(){const e=this._fullExtentSurfaceSpatialReference;return null==e?null:w(e)}get suspended(){return null!=this._suspendedOverride?this._suspendedOverride:this.layerView.suspended||this.view.groundView.hasTerrainReplacement}get _fullExtentSurfaceSpatialReference(){return f(this.layer.fullExtent,this.surface.spatialReference).geometry}get _draped(){return"on-the-ground"===this.elevationInfo.mode}get extent(){if(this.loadAllTiles)return ce(this._fullExtentSurfaceSpatialReference);const{spatialReference:e}=this.surface;let t=this.renderedTiles;if(null==e||null==t)return null;const i=this.view.terrainLevel;if(null!=i){const e=new Set;t.forEach(t=>{Math.abs(i-t.level)<M&&e.add(t)}),t=e}const s=Q(t,this.spatialReferenceInfo);return null==s?null:(T(s,this._clippingArea,s),ce(v(s,e)))}get loadAllTiles(){return this.view.scale>(j.FLOW_GLOBAL_SCALE_THRESHOLD??O)}get isDataGlobal(){const{extent:e,spatialReferenceInfo:t}=this;return null!=e&&B(e.xmin,e.xmax,t)}get loadAllTilesLevel(){const{tilingScheme:e}=this.surface;return Math.min(Math.ceil(e.levelAtScale(j.FLOW_GLOBAL_SCALE_THRESHOLD??O)),e.getMaxLod())}get targetTiles(){const e=new Map;if(this.loadAllTiles){const{_dataBounds:t}=this;if(null==t)return e;const i=S(),s=this.loadAllTilesLevel,r=this.surface.tilingScheme,n=r.rootTilesInExtent(t).flatMap(e=>Y(e,s));for(const l of n){const[n,a,o]=l;r.getExtent(s,a,o,i),de(t,i)&&e.set(L(s,a,o),l)}return e}const{renderedTiles:t}=this;for(const i of t??[])e.set(i.key,i.lij);return e}get _featureTilesBounds(){const e=this.view.featureTiles?.filterExtent,t=f(e,this.surface.spatialReference).geometry;return null==t?null:w(t)}get _flowRenderer(){const e=this.layer.renderer;return"flow"===e?.type?e:null}get _materialParameters(){return{...z(this._flowRenderer,this.layerView.fullOpacity,this.emissiveStrength),...this._materialParametersOverridde,hasSlicePlane:this.layerView.slicePlaneEnabled,screenSizePerspective:!this._draped&&"screenSizePerspectiveEnabled"in this.layer&&$(this.layer.screenSizePerspectiveEnabled)?this.view.screenSizePerspective.parameters:null}}get _opacity(){return this.layerView.fullOpacity}get _seamlessTransitionWaitingTime(){const{_averageLoadingTime:e}=this;return c(0===e?I:this._averageLoadingTime*C)}get _transitionEnabled(){return this.view.qualitySettings.flow.transitionEnabled}get _seamlessTransitionEnabled(){return!!this._transitionEnabled&&(null!=this._seamlessTransitionEnabledOverride?this._seamlessTransitionEnabledOverride:P)}get _tracingResolution(){const{extent:e}=this;if(!e)return[0,0];const t=V(e.xmin,e.xmax,this.spatialReferenceInfo?.valid)/(e.ymax-e.ymin),[i,s]=this.view.size;let r,n;i<s?(r=i,n=i/t):(r=s*t,n=s);const l=q,a=this.view.qualitySettings.flow.maxTracingResolution,o=Math.max(1,l/Math.min(r,n)),u=o*Math.min(1,a/Math.max(r*o,n*o));return[Math.round(r*u),Math.round(n*u)]}get visible(){const e=this._flowRenderer?.color;return this.visibleAtCurrentScale&&this.layer.effectiveVisible&&this._opacity>0&&(null==e||e.a>0)}get _effectiveDensity(){const{_simulationSettings:e}=this;if(null==e)return 0;const t=e.density*this.view.quality;return e.lineSpacing/Math.sqrt(t)<e.lineCollisionWidth?(e.lineSpacing/e.lineCollisionWidth)**2:t}get elevationInfo(){return("elevationInfo"in this.layer?this.layer.elevationInfo:void 0)??ue}startPositions(e){if(!this._seamlessTransitionEnabled)return[];const{_flowRenderer:t,_resources:i}=this;return null==t||null==i?[]:ne(i.streamlines,i.query,e,t.flowSpeed)}get needsMagnitude(){return this._flowRenderer?.hasVisualVariables()??!1}get spatialReferenceInfo(){return R(this.surface.spatialReference)}get loadingState(){return this._loadingState}get loadRequirementsMet(){return null!=this.renderedTiles&&(this.renderedTiles.size>0||this.loadAllTiles)&&null!=this.extent}hasWork(){return this.updatingHandles.updating||this.requireLoad||"before-transition"===this._loadingState}get updating(){return this._debugAllowAutoLoading.value&&this.visible&&!(this.destroyed||this.destroying)&&this.hasWork()}get visibleAtCurrentScale(){return!te()||ie(this.layer.effectiveScaleRange,this.view.scale)}get _simulationSettings(){const{_flowRenderer:e,_simulationSettingsOverride:t}=this;if(null==e)return null;let i=le(e);return i.segmentLength=i.lineCollisionWidth/2,i.onlyForwardTracing=!1,i.maxNumberOfStreamlines=this.view.qualitySettings.flow.maxTotalNumberOfStreamlines,i.density*=U,this.loadAllTiles&&this.isDataGlobal&&(i.density*=D),null!=t&&(i={...i,...t}),i}getSimulationSettings(e){const{_simulationSettings:t,spatialReferenceInfo:i}=this;if(null==t)return null;const s="global"===this.view.viewingMode&&null!=i&&B(e.extent.xmin,e.extent.xmax,i);return{...t,wrapAround:s,density:this._effectiveDensity}}get surface(){return this.view.basemapTerrain}doRefresh(){}clear(){this._resources?.detach(),this._resources=null,this._lastResources?.detach(),this._lastResources=null,this.tilesIntersectDataBounds=!0,this._loadingState="ready-to-load"}_update(){const e=this._time;this._lastResources?.hasFadedOut(e)&&this._lastResources.detach();const t=this._nextStateForTransition(e);if(!this.requireLoad||this.updatingHandles.updating||"ready-to-load"!==t||!this.loadRequirementsMet)return this._loadingState=t,void(this.tilesIntersectDataBounds||(this.requireLoad=!1));this._loadingState="loading";const i=async()=>{const t=this._time,i=this._seamlessTransitionEnabled&&null!=this._resources?c(e+this._seamlessTransitionWaitingTime):e;await this._load(i);const s=c((this._time-t)/1e3);this._updateAverageLoadingTime(s)};this.updatingHandles.consumePromise(l(i())),this.requireLoad=!1}_updateAverageLoadingTime(e){const t=W;this._averageLoadingTime=c(t*e+(1-t)*this._averageLoadingTime)}triggerLoad(){!this.suspended&&this._debugAllowAutoLoading.value&&(this.visible?this.requireLoad=!0:this.clear())}get _time(){return m(this.layerView.view.stage.renderer.renderContext.time)}async _load(e){const{extent:t,view:i}=this;if(!this.visible)return void this.clear();if(null==t)return void(this._loadingState="ready-to-load");this._transitionEnabled||(this._lastResources?.detach(),this._lastResources=null,this._resources?.detach(),this._resources=null);const s=new G(t,this.layerView.timeExtent,this._tracingResolution,i.state.contentPixelRatio,e),r=this._ensureAbortController();try{const t=await this._loadStreamlines(s,r.signal);if(n(r.signal),null!=t){this._lastResources?.detach(),this._lastResources=this._resources,this._resources=t;const i=this._getStartTime(e);null!=this._lastResources&&(this._lastResources.endTime=i),this._resources.startTime=i,this.view.animationsEnabled||(this._lastResources?.detach(),this._lastResources=null),await t.attach(),this.suspended&&this.clear(),n(r.signal),this._loadingState=this._seamlessTransitionEnabled?"before-transition":"transitioning"}else this._loadingState="ready-to-load"}catch(l){this._loadingState="ready-to-load"}}async _loadStreamlines(e,t){const i=await this.fetchDataAndGenerateStreamlines(e,t);if(null==i)return null;const{geometries:s,material:r}=await this._createGeometry(e,i,t);return this._draped?new J(e,i,r,s,this.layerView):new K(e,i,r,s,this.view)}async fetchDataAndGenerateStreamlines(e,t){return null}async _createGeometry(e,t,i){const s=new ee(this._materialParameters,this.view.state.isGlobal),r=new Array,{elevationInfo:l,_draped:a,view:o}=this;function*u(i){for(let n=0;n<t.length;++n)r.push(N(o,e,t[n],l,s,a)),i.madeProgress(),i.done&&(i=yield)}return await this.frameTask.scheduleGenerator(u,i),n(i),{geometries:r,material:s}}_triggerTilesUpdate(){if(this.suspended)return;if(this._tilesUpdateIsWaiting)return;this._tilesUpdateIsWaiting=!0;const e=this._ensureAbortController(),t=async()=>{try{await d(()=>this.view.stationary),n(e.signal),await this._debouncedTileUpdate(e)}finally{this._tilesUpdateIsWaiting=!1}};this.updatingHandles.consumePromise(l(t()))}_getTileFilterFunction(){const{view:e,_featureTilesBounds:i,loadAllTiles:s}=this;if(s){const{loadAllTilesLevel:e}=this;return t=>t.level===e}const r=e=>e.rendered&&e.visible,{featureTiles:n}=e;if(!n)return r;const l=n.tiles.filter(e=>e.measures.visible);return e=>r(e)&&de(i,e.extent)&&l.some(({lij:i})=>t(i,e.lij)||Z(i,e.lij))}_nextStateForTransition(e){const{_resources:t}=this;if(null==this._flowRenderer||null==t||"ready-to-load"===this._loadingState||"loading"===this._loadingState)return this._loadingState;const i=t.startTime;return e<i?"before-transition":e<i+k?"transitioning":"ready-to-load"}_getStartTime(e){if(!this.view.animationsEnabled)return pe;const t=this._time;return c(t>e?t:e)}get usedMemory(){return(this._lastResources?.usedMemory??0)+(this._resources?.usedMemory??0)}get test(){}};e([g()],ae.prototype,"type",void 0),e([g()],ae.prototype,"renderedTiles",void 0),e([g()],ae.prototype,"_resources",void 0),e([g()],ae.prototype,"_lastResources",void 0),e([g()],ae.prototype,"tilesIntersectDataBounds",void 0),e([g()],ae.prototype,"requireLoad",void 0),e([g()],ae.prototype,"_averageLoadingTime",void 0),e([g()],ae.prototype,"_loadingState",void 0),e([g()],ae.prototype,"emissiveStrength",void 0),e([g()],ae.prototype,"_clippingArea",null),e([g()],ae.prototype,"_dataBounds",null),e([g()],ae.prototype,"suspended",null),e([g()],ae.prototype,"_fullExtentSurfaceSpatialReference",null),e([g()],ae.prototype,"_draped",null),e([g()],ae.prototype,"extent",null),e([g()],ae.prototype,"loadAllTiles",null),e([g()],ae.prototype,"isDataGlobal",null),e([g()],ae.prototype,"loadAllTilesLevel",null),e([g()],ae.prototype,"targetTiles",null),e([g()],ae.prototype,"_featureTilesBounds",null),e([g()],ae.prototype,"_flowRenderer",null),e([g()],ae.prototype,"_materialParameters",null),e([g()],ae.prototype,"_opacity",null),e([g()],ae.prototype,"_seamlessTransitionWaitingTime",null),e([g()],ae.prototype,"_transitionEnabled",null),e([g()],ae.prototype,"_seamlessTransitionEnabled",null),e([g()],ae.prototype,"_tracingResolution",null),e([g()],ae.prototype,"visible",null),e([g()],ae.prototype,"_effectiveDensity",null),e([g()],ae.prototype,"elevationInfo",null),e([g()],ae.prototype,"needsMagnitude",null),e([g()],ae.prototype,"spatialReferenceInfo",null),e([g()],ae.prototype,"loadingState",null),e([g()],ae.prototype,"updating",null),e([g()],ae.prototype,"visibleAtCurrentScale",null),e([g()],ae.prototype,"_materialParametersOverridde",void 0),e([g()],ae.prototype,"_suspendedOverride",void 0),e([g()],ae.prototype,"_simulationSettingsOverride",void 0),e([g()],ae.prototype,"_seamlessTransitionEnabledOverride",void 0),e([g()],ae.prototype,"_simulationSettings",null),e([g()],ae.prototype,"surface",null),ae=e([_("esri.views.3d.layers.FlowSubView3D")],ae);const oe=ae,ue=new x({mode:"on-the-ground"});function de(e,t){return null==e||null==t||b(e,t)}const he=v(X,y.WebMercator),pe=c(-F);function ce(e){return null!=e&&e.spatialReference.isWebMercator?e?.intersection(he):e}export{oe as default};
@@ -1,2 +1,2 @@
1
1
  /* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
2
- import{__decorate as e}from"tslib";import"../../../core/has.js";import t from"../../../core/Logger.js";import{removeMaybe as i}from"../../../core/maybe.js";import{watch as s,initial as a}from"../../../core/reactiveUtils.js";import{unitFromRESTJSON as r,convertUnit as n}from"../../../core/units.js";import{property as l,subclass as o}from"../../../core/accessorSupport/decorators.js";import{fromValues as h}from"../../../core/libs/gl-matrix-2/factories/quatf64.js";import{getReferenceEllipsoid as d}from"../../../geometry/ellipsoidUtils.js";import u from"../../../geometry/HeightModelInfo.js";import{create as c}from"../../../geometry/support/aaBoundingBox.js";import{isCompatible as p}from"../../../geometry/support/heightModelInfoUtils.js";import{isPlateCarree as m,isWebMercator as f,equals as g,isGeographic as y}from"../../../geometry/support/spatialReferenceUtils.js";import _ from"../../../geometry/support/WKIDUnitConversion.js";import{getHeightModelInfoFromVCS as w}from"../../../layers/support/tiles3DUtils.js";import{getElevationOffsetInMeters as v}from"../../../support/elevationInfoUtils.js";import{getMetersPerUnit as b}from"../../../symbols/support/unitConversionUtils.js";import{GaussianSplatLayerViewPerformanceInfo as S}from"./GaussianSplatLayerViewPerformanceInfo.js";import{LayerView3D as C}from"./LayerView3D.js";import{addLayerViewToWasm as M,getLyr3DWasm as x,removeLayerViewFromWasm as H}from"./Lyr3DWasm.js";import{LayerElevationProvider as I}from"./i3s/LayerElevationProvider.js";import{ElevationRange as T}from"../support/ElevationRange.js";import{projectToBoundingBox as A}from"../support/extentUtils.js";import{Obb as P}from"../support/orientedBoundingBox.js";import{splatPageSizeInU32 as F,packedGaussianSizeInU32 as R,splatPageSizeInU32WithoutHeader as V,gaussiansPerSplatPage as j,elementsPerSplatPage as O,splatAtlasTextureWidth as G}from"../support/gaussianSplatting/GaussianSplatAtlasPages.js";import{GaussianSplatDataStore as U}from"../support/gaussianSplatting/GaussianSplatDataStore.js";import{GaussianSplatFadeHelper as E}from"../support/gaussianSplatting/GaussianSplatFadeHelper.js";import{GaussianSplatIntersectionHandler as D}from"../support/gaussianSplatting/GaussianSplatIntersectionHandler.js";import{GaussianTile as L}from"../support/gaussianSplatting/GaussianTile.js";import{GaussianSplatRenderNode as B}from"../webgl-engine/lib/GaussianSplatRenderNode.js";import{GaussianSplatShadowRenderNode as z}from"../webgl-engine/lib/GaussianSplatShadowRenderNode.js";import k from"../../layers/LayerView.js";import{spatialReferenceIncompatibleError as N,isInEffectiveScaleRange as q}from"../../support/layerViewUtils.js";import{TaskPriority as W}from"../../support/Scheduler.js";var $;const X=()=>t.getLogger("esri.views.3d.layers.GaussianSplatLayerView3D"),Z=3,J=Z*Z,K=255,Y=(()=>{const e=new Int16Array(K+1);e[0]=-255;for(let t=1;t<e.length;t++)e[t]=Math.round(16*Math.log(t/K));return e})();let Q=class extends(C(k)){static{$=this}static{this.createRenderableBatchSize=64}constructor(e){super(e),this.type="gaussian-splat-3d",this.ignoresMemoryFactor=!1,this._tileHandles=new Map,this._pageBuffer=new Uint32Array(F),this._tmpTilesWithChangedVisibility=new Array,this._currentLyr3dVisibilityChange=0,this._tileFadeInsAwaitingInitialSort=new Map,this._tileFadeOutsAwaitingInitialSort=new Map,this._fadeDurationPerVisibilityChange=new Map,this._tmpSortedTileHandles=new Set,this._createRenderableAbortController=new AbortController,this._wasmLayerId=-1,this._metersPerVCSUnit=1,this._usedTileMemory=0,this._cacheTileMemory=0,this._useEsriCrs=!1,this.fullExtentInLocalViewSpatialReference=null,this._suspendedHandle=null,this._conversionBuffer=new ArrayBuffer(4),this._u32View=new Uint32Array(this._conversionBuffer),this._f32View=new Float32Array(this._conversionBuffer);const t=e.view.resourceController;this._memCache=t.memoryController.newCache(`GaussianSplat-${this.uid}`,e=>this._deleteTile(e)),this._frameTask=t.scheduler.registerTask(W.GAUSSIAN_SPLAT_TEXTURE_ATLAS)}get _clippingBox(){if(!this.view?.clippingArea)return null;const e=c();return A(this.view.clippingArea,e,this.view.renderSpatialReference)?e:null}get clippingBox(){return this._renderNode?.clippingBox??null}initialize(){if(!this._canProjectWithoutEngine())throw N("layer",this.layer.spatialReference.wkid,this.view.renderSpatialReference?.wkid);const e=M(this).then(e=>{this._wasmLayerId=e,this._renderNode=new B({view:this.view,layerView:this}),this.data=new U(this._renderNode,(e,t)=>this._onSortComplete(e,t)),this._shadowRenderNode=new z({view:this.view,layerView:this}),this.fadeHelper=new E(this),this._intersectionHandler=new D(this),this.view.sceneIntersectionHelper.addIntersectionHandler(this._intersectionHandler),this._elevationProvider=new I({view:this.view,layerElevationSource:this,intersectionHandler:this._intersectionHandler}),this.view.elevationProvider.register(2,this._elevationProvider),this.addHandles([s(()=>this.layer.elevationInfo,e=>this._elevationInfoChanged(e)),s(()=>this.slicePlaneEnabled,e=>this._slicePlaneEnabledChanged(e),a)]),this._suspendedHandle=s(()=>this.suspended,e=>this._wasm?.setEnabled(this,!e),a),this.addHandles([s(()=>this._clippingBox,e=>this._renderNode.clippingBox=e,a)]),this.setMaximumGaussianCount(this.view.qualitySettings.gaussianSplat.maximumNumberOfGaussians)});this.addHandles([s(()=>this.view.qualitySettings.fadeDuration,e=>{this.fadeHelper.onFadeDurationChanged(e),this.data.fadingTexture.updateTexture(this.data.textureAtlas.pageAllocator.pageCount)}),s(()=>this.view.qualitySettings.gaussianSplat.maximumNumberOfGaussians,e=>this.setMaximumGaussianCount(e*this.view.quality)),s(()=>this.view.quality,e=>this.setMaximumGaussianCount(this.view.qualitySettings.gaussianSplat.maximumNumberOfGaussians*e))]),this.addResolvingPromise(e)}get wasmLayerId(){return this._wasmLayerId}get metersPerVCSUnit(){return this._metersPerVCSUnit}get tileHandles(){return this._tileHandles}get _wasm(){return x(this.view)}get usedMemory(){return this._usedTileMemory+(this.data?.usedMemory??0)}get cachedMemory(){return this._cacheTileMemory}get unloadedMemory(){return 0}get useEsriCrs(){return this._useEsriCrs}get elevationProvider(){return this._elevationProvider}get elevationOffset(){return v(this.layer.elevationInfo)}get elevationRange(){const e=this.fullExtent;return e?.zmin&&e?.zmax?new T(e.zmin,e.zmax):null}getElevationRange(e){return this._intersectionHandler.getElevationRange(e)}get fullExtent(){return this.layer.fullExtent}get visibleAtCurrentScale(){return q(this.layer.effectiveScaleRange,this.view.scale)}isUpdating(){const e=this._wasm;return!(this._wasmLayerId<0||null==e)&&(e.isUpdating(this._wasmLayerId)||this.data.updating||this.fadeHelper.updating)}updatingFlagChanged(){this.notifyChange("updating")}async createRenderable(e){const t=e.meshData;if(null==t.data)throw new Error("meshData.data undefined");if(t.desc=JSON.parse(t.desc),null==t.desc)throw new Error("meshData.desc undefined");const i=t.desc.prims[0],s=i.vertexCount;if(0===s)return()=>({memUsageBytes:0,numGaussians:0});const a=i.atrbs[0].view,r=i.atrbs[0].view.byteCount,n=i.atrbs[0].view.byteOffset;let l=null;if("U32"!==a.type)return X().warnOnce("unexpected meshData.data format"),()=>({memUsageBytes:0,numGaussians:0});l=new Uint32Array(t.data.buffer,n,r/4);const o=this.extractHeader(l),u=2.048,c=o.tileOrigin.x*u,p=o.tileOrigin.y*u,m=o.tileOrigin.z*u;let f=null;if(t.desc.obb){const e=t.desc.obb.quaternion;f=new P(t.desc.obb.center,t.desc.obb.halfSize,h(...e))}f||(X().warnOnce("encountered tile without a bounding box"),f=new P);const g=this.view.state.isGlobal,y=g?d(this.view.spatialReference).radius:0,_={handle:e.handle,bufferView:l,totalGaussians:s,packedHeader:o.packedHeader,tileOrigin:{x:c,y:p,z:m},invPosScale:o.invPosScale,obb:f,origin:{x:f.centerX,y:f.centerY,z:f.centerZ},isGlobal:g,ellipsoidRadius:y},w=await this._frameTask.scheduleGenerator(e=>this._createRenderableTask(_,e),this._createRenderableAbortController.signal);return()=>w}*_createRenderableTask(e,t){const{handle:i,bufferView:s,totalGaussians:a,packedHeader:r,tileOrigin:n,invPosScale:l,obb:o,origin:h,isGlobal:d,ellipsoidRadius:u}=e,c=n.x,p=n.y,m=n.z,f=h.x,g=h.y,y=h.z,_=new Uint32Array(a),w=new Float32Array(3*a),v=new Uint32Array(a),b=new Uint32Array(a),S=new Array,C=Math.ceil(a/j);for(let T=0;T<C;T++){let e=this.data.textureAtlas.requestPage();if(null===e&&(this._freeInvisibleTiles(),e=this.data.textureAtlas.requestPage()),null===e)return X().warnOnce("ran out of gaussian splat memory"),{memUsageBytes:0,numGaussians:0};S.push(e);const i=a-T*j,n=Math.min(i,j),l=T*j,o=O*e;for(let t=0;t<n;t++)_[l+t]=o+t;const h=T*V;this._pageBuffer.set(s.subarray(h,h+n*R)),this._pageBuffer.set(r,V);const d=e*O,u=d%G,c=Math.floor(d/G);this.data.textureAtlas.update(u,c,this._pageBuffer),t.madeProgress()&&(t=yield)}let M=1/0,x=-1/0,H=1/0,I=-1/0,A=0,P=-1,F=0;for(let T=0;T<a;T++){const e=T*R,i=s[e],a=s[e+1],r=s[e+2],n=s[e+3],o=16383&a,h=a>>>14&16383,u=a>>>28&15|(1023&r)<<4,_=Y[n>>>24],S=(r>>>10&255)+_,C=(r>>>18&255)+_,V=(r>>>26&63|(3&n)<<6)+_,j=S>0?S:0,O=C>0?C:0,G=V>0?V:0,U=j|O<<8|G<<16,E=Math.max(j,O,G),D=o*l+c,L=h*l+p,B=u*l+m;if(w[A]=D-f,w[A+1]=L-g,w[A+2]=B-y,d){const e=D*D+L*L+B*B;H=Math.min(H,e),I=Math.max(I,e)}else M=Math.min(M,B),x=Math.max(x,B);v[T]=i,b[T]=U,E>P&&(P=E),A+=3,F++,F===$.createRenderableBatchSize&&(F=0,t.madeProgress()&&(t=yield))}F>0&&t.madeProgress(),d&&(M=Math.sqrt(H)-u,x=Math.sqrt(I)-u);const U=this._extractGaussianSplatMbsRadiusSquared(P),{fullExtent:E}=this.layer;E?.hasZ&&E.zmax&&E.zmin&&(M=Math.max(M,E.zmin),x=Math.min(x,E.zmax));const D=new T(M,x),B=new L(i,o,_,S,w,v,b,a,U,D);return this._memCache.put(`${B.handle}`,B),this._tileHandles.set(i,B),this._cacheTileMemory+=B.usedMemory,{memUsageBytes:B.usedMemory,numGaussians:a}}_extractGaussianSplatMbsRadiusSquared(e){return Math.exp(e/8-20)*J}freeRenderable(e){this._tileFadeInsAwaitingInitialSort.delete(e),this._tileFadeOutsAwaitingInitialSort.delete(e);let t=!1;const i=this._tileHandles.get(e);if(i){0!==i.lifecycleState?(t=!0,this.fadeHelper.onTileDiscarded(i),this._usedTileMemory-=i.usedMemory,this._intersectionHandler.removeTile(i)):this._cacheTileMemory-=i.usedMemory,i.pageIds.forEach(e=>this.data.textureAtlas.freePage(e)),this.freeObject(i),this._tileHandles.delete(e)}t&&this.updateGaussians()}freeObject(e){this._memCache.pop(`${e.handle}`)}notifyTileObbsChanged(e){this._elevationProvider&&this._elevationProvider.notifyObjectsChangedFunctional(t=>{for(const i of e)t(i.obb)})}setRenderableVisibility(e,t,i){const s=this._currentLyr3dVisibilityChange+1,a=this.fadeHelper.updateFadeDuration();this._fadeDurationPerVisibilityChange.set(s,a);let r=!1;for(let n=0;n<i;n++){const i=this._tileHandles.get(e[n]);if(!i)continue;const l=t[n]?this._prepareTileFadeIn(i,s,a):this._prepareTileFadeOut(i,s);r||=l}r?(this._currentLyr3dVisibilityChange=s,this.updateGaussians()):this._fadeDurationPerVisibilityChange.delete(s)}_prepareTileFadeIn(e,t,i){const s=this._tileFadeOutsAwaitingInitialSort.delete(e.handle);return 2===e.lifecycleState?(this.fadeHelper.fadeTile(e,0,i),!1):this._tileFadeInsAwaitingInitialSort.get(e.handle)!==t?(0===e.lifecycleState&&this._popTileFromCache(e),e.lifecycleState=1,this._tileFadeInsAwaitingInitialSort.set(e.handle,t),!0):s}_prepareTileFadeOut(e,t){const i=this._tileFadeInsAwaitingInitialSort.delete(e.handle);return i&&1===e.lifecycleState&&(this.moveTileToCache(e),e.lifecycleState=0),2!==e.lifecycleState?i:this._tileFadeOutsAwaitingInitialSort.get(e.handle)!==t?(this._tileFadeOutsAwaitingInitialSort.set(e.handle,t),!0):i}_onSortComplete(e,t){const i=this._tmpTilesWithChangedVisibility;i.length=0;const s=this._tmpSortedTileHandles;s.clear();for(let r=0;r<e.length;r++){const t=e[r];s.add(t.handle)}this._triggerFadeIns(t,s,i);const a=this._triggerFadeOuts(t,i);s.clear(),i.length>0&&this.notifyTileObbsChanged(i),a&&this.updateGaussians(),this._cleanupVisibilityChangeFadeDurations(t)}_triggerFadeIns(e,t,i){for(const[s,a]of this._tileFadeInsAwaitingInitialSort){if(a>e||!t.has(s))continue;const r=this._tileHandles.get(s);if(!r){this._tileFadeInsAwaitingInitialSort.delete(s);continue}const n=this._getFadeDurationForPendingVisibilityChange(a),l=0===r.lifecycleState;2!==r.lifecycleState&&(r.lifecycleState=2,l&&this._popTileFromCache(r),i.push(r)),this.fadeHelper.fadeTile(r,0,n),this._tileFadeInsAwaitingInitialSort.delete(s)}}_triggerFadeOuts(e,t){let i=!1;for(const[s,a]of this._tileFadeOutsAwaitingInitialSort){if(a>e)continue;const r=this._tileHandles.get(s);if(r){const e=2===r.lifecycleState,s=this._getFadeDurationForPendingVisibilityChange(a);this.fadeHelper.fadeTile(r,1,s),e&&0===r.lifecycleState&&(t.push(r),i=!0)}this._tileFadeOutsAwaitingInitialSort.delete(s)}return i}_getFadeDurationForPendingVisibilityChange(e){return this._fadeDurationPerVisibilityChange.get(e)??this.fadeHelper.baseFadeDuration}_cleanupVisibilityChangeFadeDurations(e){if(0!==this._fadeDurationPerVisibilityChange.size)for(const t of this._fadeDurationPerVisibilityChange.keys())t<=e&&this._fadeDurationPerVisibilityChange.delete(t)}_popTileFromCache(e){this._usedTileMemory+=e.usedMemory,this._cacheTileMemory-=e.usedMemory,this._intersectionHandler.addTile(e),this._memCache.pop(`${e.handle}`)}moveTileToCache(e){this._usedTileMemory-=e.usedMemory,this._cacheTileMemory+=e.usedMemory,this._intersectionHandler.removeTile(e),this._memCache.put(`${e.handle}`,e)}destroy(){this._createRenderableAbortController.abort(),H(this),this._suspendedHandle&&(this._suspendedHandle=i(this._suspendedHandle)),this._intersectionHandler&&(this.view.sceneIntersectionHelper.removeIntersectionHandler(this._intersectionHandler),this._intersectionHandler=null),this._elevationProvider&&this.view.elevationProvider&&(this._elevationProvider.notifyObjectsChangedFunctional(e=>{for(const t of this._tileHandles.values())e(t.obb)}),this.view.elevationProvider.unregister(this._elevationProvider),this._elevationProvider=null),this._frameTask.remove(),this._shadowRenderNode.destroy(),this._renderNode.destroy(),this.data.destroy(),this._memCache.destroy()}_canProjectWithoutEngine(){if(1===this.view.state.viewingMode)return!0;if(m(this.view.renderSpatialReference)||f(this.view.renderSpatialReference))return!0;if(this.layer.esriCrsSpatialReference&&g(this.layer.esriCrsSpatialReference,this.view.renderSpatialReference)){if(115700===this.layer.esriCrsSpatialReference.vcsWkid)return!1;let e=w(this.layer.esriCrsSpatialReference);if(!e){const t=this.layer.esriCrsSpatialReference;let i="meters";!y(t)&&t.wkid&&-1!==t.wkid&&(i=r(_.units[_[t.wkid]])),i&&(e=new u({heightModel:"gravity-related-height",heightUnit:i}))}const t=this.view.heightModelInfo;return this._useEsriCrs=0===p(e,t,!1),this._useEsriCrs&&(e&&(this._metersPerVCSUnit=n(1,e.heightUnit,"meters")),this.fullExtentInLocalViewSpatialReference=this.layer.esriCrsFullExtent),this._useEsriCrs}return!1}_elevationInfoChanged(e){if(e?.offset)if(this._useEsriCrs){const t=b(e?.unit)/this._metersPerVCSUnit,i=e?.offset??0;this._wasm?.setLayerOffset(this,i*t)}else this._wasm?.setLayerOffset(this,v(e));else this._wasm?.setLayerOffset(this,0)}_slicePlaneEnabledChanged(e){this._renderNode&&(this._renderNode.slicePlaneEnabled=e),this._intersectionHandler&&(this._intersectionHandler.slicePlaneEnabled=e)}updateGaussians(){const e=new Array;for(const t of this._tileHandles.values())0!==t.lifecycleState&&e.push(t);this.data.updateGaussianVisibility(e,this._currentLyr3dVisibilityChange),this.notifyChange("updating")}setMaximumGaussianCount(e){this._wasm?.setMaximumGaussianSplatCount(e)}_freeInvisibleTiles(){for(const e of this._tileHandles.values())0===e.lifecycleState&&this._deleteTile(e)}extractHeader(e){const t=e.length-4,i=this.reinterpretU32AsFloat(e[t]),s=this.reinterpretU32AsFloat(e[t+1]),a=this.reinterpretU32AsFloat(e[t+2]),r=1/(1<<(255&e[t+3]));return{packedHeader:e.subarray(t,t+4),tileOrigin:{x:i,y:s,z:a},invPosScale:r}}_deleteTile(e){this._wasm?.onRenderableEvicted(this,e.handle,e.usedMemory),this.freeRenderable(e.handle)}reinterpretU32AsFloat(e){return this._u32View[0]=e,this._f32View[0]}get performanceInfo(){let e=0,t=0;this._tileHandles.forEach(i=>{0===i.lifecycleState?t++:e++});const i=this.data?.textureAtlasMemory??0,s=this.data?.orderTextureMemory??0,a=this.data?.fadingTextureMemory??0,r=this.data?.sortBufferMemory??0;return new S(this.usedMemory,e,this._usedTileMemory,t,this._cacheTileMemory,i,s,a,r)}get test(){}};e([l()],Q.prototype,"layer",void 0),e([l({readOnly:!0})],Q.prototype,"_clippingBox",null),e([l()],Q.prototype,"elevationOffset",null),e([l({readOnly:!0})],Q.prototype,"visibleAtCurrentScale",null),e([l()],Q.prototype,"fullExtentInLocalViewSpatialReference",void 0),Q=$=e([o("esri.views.3d.layers.GaussianSplatLayerView3D")],Q);const ee=Q;export{ee as default};
2
+ import{__decorate as e}from"tslib";import"../../../core/has.js";import t from"../../../core/Logger.js";import{removeMaybe as i,destroyMaybe as s}from"../../../core/maybe.js";import{watch as a,initial as r}from"../../../core/reactiveUtils.js";import{unitFromRESTJSON as n,convertUnit as l}from"../../../core/units.js";import{property as o,subclass as h}from"../../../core/accessorSupport/decorators.js";import{fromValues as d}from"../../../core/libs/gl-matrix-2/factories/quatf64.js";import{getReferenceEllipsoid as u}from"../../../geometry/ellipsoidUtils.js";import c from"../../../geometry/HeightModelInfo.js";import{create as p}from"../../../geometry/support/aaBoundingBox.js";import{isCompatible as m}from"../../../geometry/support/heightModelInfoUtils.js";import{isPlateCarree as f,isWebMercator as g,equals as _,isGeographic as y}from"../../../geometry/support/spatialReferenceUtils.js";import w from"../../../geometry/support/WKIDUnitConversion.js";import{getHeightModelInfoFromVCS as v}from"../../../layers/support/tiles3DUtils.js";import{getElevationOffsetInMeters as b}from"../../../support/elevationInfoUtils.js";import{getMetersPerUnit as S}from"../../../symbols/support/unitConversionUtils.js";import{GaussianSplatLayerViewPerformanceInfo as C}from"./GaussianSplatLayerViewPerformanceInfo.js";import{LayerView3D as M}from"./LayerView3D.js";import{addLayerViewToWasm as x,getLyr3DWasm as H,removeLayerViewFromWasm as I}from"./Lyr3DWasm.js";import{LayerElevationProvider as T}from"./i3s/LayerElevationProvider.js";import{ElevationRange as A}from"../support/ElevationRange.js";import{projectToBoundingBox as P}from"../support/extentUtils.js";import{Obb as F}from"../support/orientedBoundingBox.js";import{splatPageSizeInU32 as R,packedGaussianSizeInU32 as V,splatPageSizeInU32WithoutHeader as j,gaussiansPerSplatPage as O,elementsPerSplatPage as G,splatAtlasTextureWidth as U}from"../support/gaussianSplatting/GaussianSplatAtlasPages.js";import{GaussianSplatDataStore as E}from"../support/gaussianSplatting/GaussianSplatDataStore.js";import{GaussianSplatFadeHelper as D}from"../support/gaussianSplatting/GaussianSplatFadeHelper.js";import{GaussianSplatIntersectionHandler as L}from"../support/gaussianSplatting/GaussianSplatIntersectionHandler.js";import{GaussianTile as B}from"../support/gaussianSplatting/GaussianTile.js";import{GaussianSplatRenderNode as z}from"../webgl-engine/lib/GaussianSplatRenderNode.js";import{GaussianSplatShadowRenderNode as N}from"../webgl-engine/lib/GaussianSplatShadowRenderNode.js";import k from"../../layers/LayerView.js";import{spatialReferenceIncompatibleError as q,isInEffectiveScaleRange as W}from"../../support/layerViewUtils.js";import{TaskPriority as $}from"../../support/Scheduler.js";var X;const Z=()=>t.getLogger("esri.views.3d.layers.GaussianSplatLayerView3D"),J=3,K=J*J,Y=255,Q=(()=>{const e=new Int16Array(Y+1);e[0]=-255;for(let t=1;t<e.length;t++)e[t]=Math.round(16*Math.log(t/Y));return e})();let ee=class extends(M(k)){static{X=this}static{this.createRenderableBatchSize=64}constructor(e){super(e),this.type="gaussian-splat-3d",this.ignoresMemoryFactor=!1,this._tileHandles=new Map,this._pageBuffer=new Uint32Array(R),this._tmpTilesWithChangedVisibility=new Array,this._currentLyr3dVisibilityChange=0,this._tileFadeInsAwaitingInitialSort=new Map,this._tileFadeOutsAwaitingInitialSort=new Map,this._fadeDurationPerVisibilityChange=new Map,this._tmpSortedTileHandles=new Set,this._createRenderableAbortController=new AbortController,this._wasmLayerId=-1,this._metersPerVCSUnit=1,this._usedTileMemory=0,this._cacheTileMemory=0,this._useEsriCrs=!1,this.fullExtentInLocalViewSpatialReference=null,this._suspendedHandle=null,this._conversionBuffer=new ArrayBuffer(4),this._u32View=new Uint32Array(this._conversionBuffer),this._f32View=new Float32Array(this._conversionBuffer);const t=e.view.resourceController;this._memCache=t.memoryController.newCache(`GaussianSplat-${this.uid}`,e=>this._deleteTile(e)),this._frameTask=t.scheduler.registerTask($.GAUSSIAN_SPLAT_TEXTURE_ATLAS)}get _clippingBox(){if(!this.view?.clippingArea)return null;const e=p();return P(this.view.clippingArea,e,this.view.renderSpatialReference)?e:null}get clippingBox(){return this._renderNode?.clippingBox??null}initialize(){if(!this._canProjectWithoutEngine())throw q("layer",this.layer.spatialReference.wkid,this.view.renderSpatialReference?.wkid);const e=x(this).then(e=>{this._wasmLayerId=e,this._renderNode=new z({view:this.view,layerView:this}),this.data=new E(this._renderNode,(e,t)=>this._onSortComplete(e,t)),this._shadowRenderNode=new N({view:this.view,layerView:this}),this.fadeHelper=new D(this),this._intersectionHandler=new L(this),this.view.sceneIntersectionHelper.addIntersectionHandler(this._intersectionHandler),this._elevationProvider=new T({view:this.view,layerElevationSource:this,intersectionHandler:this._intersectionHandler}),this.view.elevationProvider.register(2,this._elevationProvider),this.addHandles([a(()=>this.layer.elevationInfo,e=>this._elevationInfoChanged(e)),a(()=>this.slicePlaneEnabled,e=>this._slicePlaneEnabledChanged(e),r)]),this._suspendedHandle=a(()=>this.suspended,e=>this._wasm?.setEnabled(this,!e),r),this.addHandles([a(()=>this._clippingBox,e=>this._renderNode.clippingBox=e,r)]),this.setMaximumGaussianCount(this.view.qualitySettings.gaussianSplat.maximumNumberOfGaussians)});this.addHandles([a(()=>this.view.qualitySettings.fadeDuration,e=>{const t=this.data;t&&(this.fadeHelper.onFadeDurationChanged(e),t.fadingTexture.updateTexture(t.textureAtlas.pageAllocator.pageCount))}),a(()=>this.view.qualitySettings.gaussianSplat.maximumNumberOfGaussians,e=>this.setMaximumGaussianCount(e*this.view.quality)),a(()=>this.view.quality,e=>this.setMaximumGaussianCount(this.view.qualitySettings.gaussianSplat.maximumNumberOfGaussians*e))]),this.addResolvingPromise(e)}get wasmLayerId(){return this._wasmLayerId}get metersPerVCSUnit(){return this._metersPerVCSUnit}get tileHandles(){return this._tileHandles}get _wasm(){return H(this.view)}get usedMemory(){return this._usedTileMemory+(this.data?.usedMemory??0)}get cachedMemory(){return this._cacheTileMemory}get unloadedMemory(){return 0}get useEsriCrs(){return this._useEsriCrs}get elevationProvider(){return this._elevationProvider}get elevationOffset(){return b(this.layer.elevationInfo)}get elevationRange(){const e=this.fullExtent;return e?.zmin&&e?.zmax?new A(e.zmin,e.zmax):null}getElevationRange(e){return this._intersectionHandler.getElevationRange(e)}get fullExtent(){return this.layer.fullExtent}get visibleAtCurrentScale(){return W(this.layer.effectiveScaleRange,this.view.scale)}isUpdating(){const e=this._wasm;return!(this._wasmLayerId<0||null==e)&&(e.isUpdating(this._wasmLayerId)||this.data.updating||this.fadeHelper.updating)}updatingFlagChanged(){this.notifyChange("updating")}async createRenderable(e){const t=e.meshData;if(null==t.data)throw new Error("meshData.data undefined");if(t.desc=JSON.parse(t.desc),null==t.desc)throw new Error("meshData.desc undefined");const i=t.desc.prims[0],s=i.vertexCount;if(0===s)return()=>({memUsageBytes:0,numGaussians:0});const a=i.atrbs[0].view,r=i.atrbs[0].view.byteCount,n=i.atrbs[0].view.byteOffset;let l=null;if("U32"!==a.type)return Z().warnOnce("unexpected meshData.data format"),()=>({memUsageBytes:0,numGaussians:0});l=new Uint32Array(t.data.buffer,n,r/4);const o=this.extractHeader(l),h=2.048,c=o.tileOrigin.x*h,p=o.tileOrigin.y*h,m=o.tileOrigin.z*h;let f=null;if(t.desc.obb){const e=t.desc.obb.quaternion;f=new F(t.desc.obb.center,t.desc.obb.halfSize,d(...e))}f||(Z().warnOnce("encountered tile without a bounding box"),f=new F);const g=this.view.state.isGlobal,_=g?u(this.view.spatialReference).radius:0,y={handle:e.handle,bufferView:l,totalGaussians:s,packedHeader:o.packedHeader,tileOrigin:{x:c,y:p,z:m},invPosScale:o.invPosScale,obb:f,origin:{x:f.centerX,y:f.centerY,z:f.centerZ},isGlobal:g,ellipsoidRadius:_},w=await this._frameTask.scheduleGenerator(e=>this._createRenderableTask(y,e),this._createRenderableAbortController.signal);return()=>w}*_createRenderableTask(e,t){const{handle:i,bufferView:s,totalGaussians:a,packedHeader:r,tileOrigin:n,invPosScale:l,obb:o,origin:h,isGlobal:d,ellipsoidRadius:u}=e,c=n.x,p=n.y,m=n.z,f=h.x,g=h.y,_=h.z,y=new Uint32Array(a),w=new Float32Array(3*a),v=new Uint32Array(a),b=new Uint32Array(a),S=new Array,C=Math.ceil(a/O);for(let A=0;A<C;A++){let e=this.data.textureAtlas.requestPage();if(null===e&&(this._freeInvisibleTiles(),e=this.data.textureAtlas.requestPage()),null===e)return Z().warnOnce("ran out of gaussian splat memory"),{memUsageBytes:0,numGaussians:0};S.push(e);const i=a-A*O,n=Math.min(i,O),l=A*O,o=G*e;for(let t=0;t<n;t++)y[l+t]=o+t;const h=A*j;this._pageBuffer.set(s.subarray(h,h+n*V)),this._pageBuffer.set(r,j);const d=e*G,u=d%U,c=Math.floor(d/U);this.data.textureAtlas.update(u,c,this._pageBuffer),t.madeProgress()&&(t=yield)}let M=1/0,x=-1/0,H=1/0,I=-1/0,T=0,P=-1,F=0;for(let A=0;A<a;A++){const e=A*V,i=s[e],a=s[e+1],r=s[e+2],n=s[e+3],o=16383&a,h=a>>>14&16383,u=a>>>28&15|(1023&r)<<4,y=Q[n>>>24],S=(r>>>10&255)+y,C=(r>>>18&255)+y,R=(r>>>26&63|(3&n)<<6)+y,j=S>0?S:0,O=C>0?C:0,G=R>0?R:0,U=j|O<<8|G<<16,E=Math.max(j,O,G),D=o*l+c,L=h*l+p,B=u*l+m;if(w[T]=D-f,w[T+1]=L-g,w[T+2]=B-_,d){const e=D*D+L*L+B*B;H=Math.min(H,e),I=Math.max(I,e)}else M=Math.min(M,B),x=Math.max(x,B);v[A]=i,b[A]=U,E>P&&(P=E),T+=3,F++,F===X.createRenderableBatchSize&&(F=0,t.madeProgress()&&(t=yield))}F>0&&t.madeProgress(),d&&(M=Math.sqrt(H)-u,x=Math.sqrt(I)-u);const R=this._extractGaussianSplatMbsRadiusSquared(P),{fullExtent:E}=this.layer;E?.hasZ&&E.zmax&&E.zmin&&(M=Math.max(M,E.zmin),x=Math.min(x,E.zmax));const D=new A(M,x),L=new B(i,o,y,S,w,v,b,a,R,D);return this._memCache.put(`${L.handle}`,L),this._tileHandles.set(i,L),this._cacheTileMemory+=L.usedMemory,{memUsageBytes:L.usedMemory,numGaussians:a}}_extractGaussianSplatMbsRadiusSquared(e){return Math.exp(e/8-20)*K}freeRenderable(e){this._tileFadeInsAwaitingInitialSort.delete(e),this._tileFadeOutsAwaitingInitialSort.delete(e);const t=this.data?.textureAtlas;let i=!1;const s=this._tileHandles.get(e);if(s){0!==s.lifecycleState?(i=!0,this.fadeHelper.onTileDiscarded(s),this._usedTileMemory-=s.usedMemory,this._intersectionHandler.removeTile(s)):this._cacheTileMemory-=s.usedMemory,t&&s.pageIds.forEach(e=>t.freePage(e)),this.freeObject(s),this._tileHandles.delete(e)}i&&this.updateGaussians()}freeObject(e){this._memCache.pop(`${e.handle}`)}notifyTileObbsChanged(e){this._elevationProvider&&this._elevationProvider.notifyObjectsChangedFunctional(t=>{for(const i of e)t(i.obb)})}setRenderableVisibility(e,t,i){const s=this._currentLyr3dVisibilityChange+1,a=this.fadeHelper.updateFadeDuration();this._fadeDurationPerVisibilityChange.set(s,a);let r=!1;for(let n=0;n<i;n++){const i=this._tileHandles.get(e[n]);if(!i)continue;const l=t[n]?this._prepareTileFadeIn(i,s,a):this._prepareTileFadeOut(i,s);r||=l}r?(this._currentLyr3dVisibilityChange=s,this.updateGaussians()):this._fadeDurationPerVisibilityChange.delete(s)}_prepareTileFadeIn(e,t,i){const s=this._tileFadeOutsAwaitingInitialSort.delete(e.handle);return 2===e.lifecycleState?(this.fadeHelper.fadeTile(e,0,i),!1):this._tileFadeInsAwaitingInitialSort.get(e.handle)!==t?(0===e.lifecycleState&&this._popTileFromCache(e),e.lifecycleState=1,this._tileFadeInsAwaitingInitialSort.set(e.handle,t),!0):s}_prepareTileFadeOut(e,t){const i=this._tileFadeInsAwaitingInitialSort.delete(e.handle);return i&&1===e.lifecycleState&&(this.moveTileToCache(e),e.lifecycleState=0),2!==e.lifecycleState?i:this._tileFadeOutsAwaitingInitialSort.get(e.handle)!==t?(this._tileFadeOutsAwaitingInitialSort.set(e.handle,t),!0):i}_onSortComplete(e,t){const i=this._tmpTilesWithChangedVisibility;i.length=0;const s=this._tmpSortedTileHandles;s.clear();for(let r=0;r<e.length;r++){const t=e[r];s.add(t.handle)}this._triggerFadeIns(t,s,i);const a=this._triggerFadeOuts(t,i);s.clear(),i.length>0&&this.notifyTileObbsChanged(i),a&&this.updateGaussians(),this._cleanupVisibilityChangeFadeDurations(t)}_triggerFadeIns(e,t,i){for(const[s,a]of this._tileFadeInsAwaitingInitialSort){if(a>e||!t.has(s))continue;const r=this._tileHandles.get(s);if(!r){this._tileFadeInsAwaitingInitialSort.delete(s);continue}const n=this._getFadeDurationForPendingVisibilityChange(a),l=0===r.lifecycleState;2!==r.lifecycleState&&(r.lifecycleState=2,l&&this._popTileFromCache(r),i.push(r)),this.fadeHelper.fadeTile(r,0,n),this._tileFadeInsAwaitingInitialSort.delete(s)}}_triggerFadeOuts(e,t){let i=!1;for(const[s,a]of this._tileFadeOutsAwaitingInitialSort){if(a>e)continue;const r=this._tileHandles.get(s);if(r){const e=2===r.lifecycleState,s=this._getFadeDurationForPendingVisibilityChange(a);this.fadeHelper.fadeTile(r,1,s),e&&0===r.lifecycleState&&(t.push(r),i=!0)}this._tileFadeOutsAwaitingInitialSort.delete(s)}return i}_getFadeDurationForPendingVisibilityChange(e){return this._fadeDurationPerVisibilityChange.get(e)??this.fadeHelper.baseFadeDuration}_cleanupVisibilityChangeFadeDurations(e){if(0!==this._fadeDurationPerVisibilityChange.size)for(const t of this._fadeDurationPerVisibilityChange.keys())t<=e&&this._fadeDurationPerVisibilityChange.delete(t)}_popTileFromCache(e){this._usedTileMemory+=e.usedMemory,this._cacheTileMemory-=e.usedMemory,this._intersectionHandler.addTile(e),this._memCache.pop(`${e.handle}`)}moveTileToCache(e){this._usedTileMemory-=e.usedMemory,this._cacheTileMemory+=e.usedMemory,this._intersectionHandler.removeTile(e),this._memCache.put(`${e.handle}`,e)}destroy(){this._createRenderableAbortController.abort(),I(this),this._suspendedHandle&&(this._suspendedHandle=i(this._suspendedHandle)),this._intersectionHandler&&(this.view.sceneIntersectionHelper.removeIntersectionHandler(this._intersectionHandler),this._intersectionHandler=null),this._elevationProvider&&this.view.elevationProvider&&(this._elevationProvider.notifyObjectsChangedFunctional(e=>{for(const t of this._tileHandles.values())e(t.obb)}),this.view.elevationProvider.unregister(this._elevationProvider),this._elevationProvider=null),this._frameTask.remove(),this._shadowRenderNode=s(this._shadowRenderNode),this._renderNode=s(this._renderNode),this._memCache.destroy(),this.data=s(this.data)}_canProjectWithoutEngine(){if(1===this.view.state.viewingMode)return!0;if(f(this.view.renderSpatialReference)||g(this.view.renderSpatialReference))return!0;if(this.layer.esriCrsSpatialReference&&_(this.layer.esriCrsSpatialReference,this.view.renderSpatialReference)){if(115700===this.layer.esriCrsSpatialReference.vcsWkid)return!1;let e=v(this.layer.esriCrsSpatialReference);if(!e){const t=this.layer.esriCrsSpatialReference;let i="meters";!y(t)&&t.wkid&&-1!==t.wkid&&(i=n(w.units[w[t.wkid]])),i&&(e=new c({heightModel:"gravity-related-height",heightUnit:i}))}const t=this.view.heightModelInfo;return this._useEsriCrs=0===m(e,t,!1),this._useEsriCrs&&(e&&(this._metersPerVCSUnit=l(1,e.heightUnit,"meters")),this.fullExtentInLocalViewSpatialReference=this.layer.esriCrsFullExtent),this._useEsriCrs}return!1}_elevationInfoChanged(e){if(e?.offset)if(this._useEsriCrs){const t=S(e?.unit)/this._metersPerVCSUnit,i=e?.offset??0;this._wasm?.setLayerOffset(this,i*t)}else this._wasm?.setLayerOffset(this,b(e));else this._wasm?.setLayerOffset(this,0)}_slicePlaneEnabledChanged(e){this._renderNode&&(this._renderNode.slicePlaneEnabled=e),this._intersectionHandler&&(this._intersectionHandler.slicePlaneEnabled=e)}updateGaussians(){const e=new Array;for(const t of this._tileHandles.values())0!==t.lifecycleState&&e.push(t);this.data.updateGaussianVisibility(e,this._currentLyr3dVisibilityChange),this.notifyChange("updating")}setMaximumGaussianCount(e){this._wasm?.setMaximumGaussianSplatCount(e)}_freeInvisibleTiles(){for(const e of this._tileHandles.values())0===e.lifecycleState&&this._deleteTile(e)}extractHeader(e){const t=e.length-4,i=this.reinterpretU32AsFloat(e[t]),s=this.reinterpretU32AsFloat(e[t+1]),a=this.reinterpretU32AsFloat(e[t+2]),r=1/(1<<(255&e[t+3]));return{packedHeader:e.subarray(t,t+4),tileOrigin:{x:i,y:s,z:a},invPosScale:r}}_deleteTile(e){this._wasm?.onRenderableEvicted(this,e.handle,e.usedMemory),this.freeRenderable(e.handle)}reinterpretU32AsFloat(e){return this._u32View[0]=e,this._f32View[0]}get performanceInfo(){let e=0,t=0;this._tileHandles.forEach(i=>{0===i.lifecycleState?t++:e++});const i=this.data?.textureAtlasMemory??0,s=this.data?.orderTextureMemory??0,a=this.data?.fadingTextureMemory??0,r=this.data?.sortBufferMemory??0;return new C(this.usedMemory,e,this._usedTileMemory,t,this._cacheTileMemory,i,s,a,r)}get test(){}};e([o()],ee.prototype,"layer",void 0),e([o({readOnly:!0})],ee.prototype,"_clippingBox",null),e([o()],ee.prototype,"elevationOffset",null),e([o({readOnly:!0})],ee.prototype,"visibleAtCurrentScale",null),e([o()],ee.prototype,"fullExtentInLocalViewSpatialReference",void 0),ee=X=e([h("esri.views.3d.layers.GaussianSplatLayerView3D")],ee);const te=ee;export{te as default};