@arcgis/core 4.34.0-next.37 → 4.34.0-next.38

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 (1022) hide show
  1. package/Basemap.js +1 -1
  2. package/Camera.js +1 -1
  3. package/Color.js +1 -1
  4. package/Graphic.js +1 -1
  5. package/Ground.js +1 -1
  6. package/PopupTemplate.js +1 -1
  7. package/Viewpoint.js +1 -1
  8. package/WebDocument2D.js +1 -1
  9. package/WebScene.js +1 -1
  10. package/analysis/Analysis.js +1 -1
  11. package/analysis/DimensionSimpleStyle.js +1 -1
  12. package/analysis/LengthDimension.js +1 -1
  13. package/analysis/LineOfSightAnalysisObserver.js +1 -1
  14. package/analysis/LineOfSightAnalysisTarget.js +1 -1
  15. package/analysis/SlicePlane.js +1 -1
  16. package/analysis/Viewshed.js +1 -1
  17. package/analysis/VolumeMeasurement/CutFillOptions.js +1 -1
  18. package/analysis/support/SliceAnalysisExcludedLayer.js +1 -1
  19. package/assets/esri/core/workers/RemoteClient.js +1 -1
  20. package/assets/esri/core/workers/chunks/{1c8dbdb833a66f7183fc.js → 00f3fe4a09bbdbc8f8b4.js} +1 -1
  21. package/assets/esri/core/workers/chunks/{36d15d1dd19417b37d2f.js → 01ae7d36bda6b6186786.js} +1 -1
  22. package/assets/esri/core/workers/chunks/01bd8f90e55081e65b38.js +1 -0
  23. package/assets/esri/core/workers/chunks/022091e5240b9d872dd2.js +1 -0
  24. package/assets/esri/core/workers/chunks/03df4668002eb4cb4f98.js +1 -0
  25. package/assets/esri/core/workers/chunks/{c4a20b8038bfbb2af329.js → 09f0c9f0b6aa58ae3c52.js} +1 -1
  26. package/assets/esri/core/workers/chunks/0a27f9b11d03874809ee.js +346 -0
  27. package/assets/esri/core/workers/chunks/{1a5ddb6d36249fe09cc8.js → 0e8d3d38e9b1f6abf6f2.js} +1 -1
  28. package/assets/esri/core/workers/chunks/0faec78b2dd6990a5da0.js +1 -0
  29. package/assets/esri/core/workers/chunks/{2d7bbd001b64138db3c1.js → 14b536e0c1de6c7422bc.js} +1 -1
  30. package/assets/esri/core/workers/chunks/19391d60c76a1dc7c262.js +1 -0
  31. package/assets/esri/core/workers/chunks/{7e9d5beca1991c961ed8.js → 1acc620bfd2983d6853f.js} +1 -1
  32. package/assets/esri/core/workers/chunks/{6b5be459ec4c418cc6fd.js → 1d9212a70df68a508dca.js} +1 -1
  33. package/assets/esri/core/workers/chunks/{ee28cd411a93245fb90c.js → 21aaf2dede61f28727a9.js} +1 -1
  34. package/assets/esri/core/workers/chunks/{5d4e74eb4c659e8f42d6.js → 21dd626a5b5ea6a7e18e.js} +1 -1
  35. package/assets/esri/core/workers/chunks/224872bfd923cf4c9d78.js +1 -0
  36. package/assets/esri/core/workers/chunks/{5c5509147bda78ce338a.js → 23a85252e4164354553e.js} +1 -1
  37. package/assets/esri/core/workers/chunks/257428fff4bef42716e0.js +1 -0
  38. package/assets/esri/core/workers/chunks/27027493a8dba8305693.js +1 -0
  39. package/assets/esri/core/workers/chunks/{2b9c403f4b20b8f62804.js → 2a26c3fc324d672ebe88.js} +1 -1
  40. package/assets/esri/core/workers/chunks/{7efc3ac70a005a771b9c.js → 2c399991e8627baa51b3.js} +1 -1
  41. package/assets/esri/core/workers/chunks/306a68137e62656b0f05.js +1 -0
  42. package/assets/esri/core/workers/chunks/{4c54239974a5847b8fdd.js → 30b9c131b69297ee186f.js} +1 -1
  43. package/assets/esri/core/workers/chunks/31ad9949b08a5b07218c.js +989 -0
  44. package/assets/esri/core/workers/chunks/{2177c0ef06c8e7e3e28e.js → 31c6716d9ca188d3b870.js} +1 -1
  45. package/assets/esri/core/workers/chunks/{e4d08a85d158c705aa3d.js → 31e6eb2685872baf538a.js} +1 -1
  46. package/assets/esri/core/workers/chunks/3264d58aeef8cf074b86.js +1 -0
  47. package/assets/esri/core/workers/chunks/3358c1b04490706681cc.js +1 -0
  48. package/assets/esri/core/workers/chunks/3386420c9ae891db5be7.js +2 -0
  49. package/assets/esri/core/workers/chunks/3488e88882f40199ab33.js +1 -0
  50. package/assets/esri/core/workers/chunks/34f677e8c1691c10e4e9.js +1 -0
  51. package/assets/esri/core/workers/chunks/35df19d1eab3a694c3fa.js +1 -0
  52. package/assets/esri/core/workers/chunks/{33aafaabea07b4f80209.js → 3984ca7e05f30724adaf.js} +1 -1
  53. package/assets/esri/core/workers/chunks/{02435c653064f879f547.js → 4162c633efefc63c5506.js} +1 -1
  54. package/assets/esri/core/workers/chunks/{0852abaa440c14cc2b36.js → 4459c8e495a37d4c4eb8.js} +1 -1
  55. package/assets/esri/core/workers/chunks/{6e36b247a24172edd5ea.js → 476a6e5ca558db2adaa1.js} +1 -1
  56. package/assets/esri/core/workers/chunks/48369e4c340413c531ff.js +1 -0
  57. package/assets/esri/core/workers/chunks/49eac96a01931b8c4ace.js +1 -0
  58. package/assets/esri/core/workers/chunks/{5228f535719f5fc38b28.js → 4ae15645e68e7f6dd6b7.js} +1 -1
  59. package/assets/esri/core/workers/chunks/508c302fed242956d3b7.js +1 -0
  60. package/assets/esri/core/workers/chunks/5156410dd84ea1232a6c.js +1 -0
  61. package/assets/esri/core/workers/chunks/{c64aa9793764eba2c6da.js → 51ddda291bbbf5db9905.js} +1 -1
  62. package/assets/esri/core/workers/chunks/54658c87396223d85abd.js +1 -0
  63. package/assets/esri/core/workers/chunks/{5fac0b2a5aa33e8a3a84.js → 5b2d40a2ce2594ce8eef.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{36024406932b0a44a74a.js → 5b2ff220aebe464dac23.js} +1 -1
  65. package/assets/esri/core/workers/chunks/5b91a49202129eedaf00.js +1 -0
  66. package/assets/esri/core/workers/chunks/{a0dfd99dc8f4eac0b7ae.js → 5d1d909354c90cb8eb60.js} +1 -1
  67. package/assets/esri/core/workers/chunks/5fe3c279d57f44416c28.js +1 -0
  68. package/assets/esri/core/workers/chunks/60d889c58a542e59b07b.js +1 -0
  69. package/assets/esri/core/workers/chunks/{1c87ed3a5960f8f06fc8.js → 647cff1eaaf1b622f439.js} +1 -1
  70. package/assets/esri/core/workers/chunks/6530449cd1975deb61f1.js +1 -0
  71. package/assets/esri/core/workers/chunks/{c78d98ab82f31ddda362.js → 6759319f3fd2d03c446b.js} +1 -1
  72. package/assets/esri/core/workers/chunks/{e91800c1ea026e5b2d9b.js → 6acffacbb4a03af52e3b.js} +1 -1
  73. package/assets/esri/core/workers/chunks/{23e0fd2d921f74834b12.js → 6b5b609b357924fa35be.js} +1 -1
  74. package/assets/esri/core/workers/chunks/{170fa807b71babedd185.js → 6e82c1d1e02e320ec5e7.js} +1 -1
  75. package/assets/esri/core/workers/chunks/{cab294fd04f2a5eda81d.js → 712c740cf58c2e282efc.js} +1 -1
  76. package/assets/esri/core/workers/chunks/{54a686643e1ec1ea00ac.js → 7159e7a3274e64b337ce.js} +1 -1
  77. package/assets/esri/core/workers/chunks/{68edbc3b124eb8e28dd6.js → 719b89341b26c3568c2f.js} +1 -1
  78. package/assets/esri/core/workers/chunks/7617fe2fbf223c108f1e.js +1 -0
  79. package/assets/esri/core/workers/chunks/{6f122e4a2a1f913523b4.js → 774844eea928efa811f2.js} +1 -1
  80. package/assets/esri/core/workers/chunks/{5cdeb6dc72f452d6d1bc.js → 77ee4afaa4a1c7047940.js} +1 -1
  81. package/assets/esri/core/workers/chunks/{904e701e1a12f67beaee.js → 787d281b2fe1edf6cf30.js} +1 -1
  82. package/assets/esri/core/workers/chunks/78de16f65ea297452a65.js +1 -0
  83. package/assets/esri/core/workers/chunks/{056fdd5570af28d334cd.js → 79b389baf972d329c38d.js} +1 -1
  84. package/assets/esri/core/workers/chunks/{cf1f8fd1d62be0e02e10.js → 7a5808c6e67c43274d86.js} +1 -1
  85. package/assets/esri/core/workers/chunks/7b1fc59822ac2d421a5a.js +1 -0
  86. package/assets/esri/core/workers/chunks/{826e4bf6374f324d7f19.js → 7b82ed4cc475c782256b.js} +1 -1
  87. package/assets/esri/core/workers/chunks/7b95da70d39ba316b051.js +1 -0
  88. package/assets/esri/core/workers/chunks/{ccf3f29d0b1bde90c3cf.js → 7c97c4c8c2cf73835517.js} +1 -1
  89. package/assets/esri/core/workers/chunks/{bb1213adeb05d89fbfdb.js → 7d082bfcd13ad6e8c89d.js} +1 -1
  90. package/assets/esri/core/workers/chunks/7e04b4592128e884b58c.js +1 -0
  91. package/assets/esri/core/workers/chunks/{7641e24ffa0215d51c34.js → 7ef29640de297a0cf744.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{ac88e0aabbd6c1f1ec98.js → 7f523fa4d4ade4316625.js} +1 -1
  93. package/assets/esri/core/workers/chunks/{2f52a57e8c05a3ca1de8.js → 80a930881a99ceda240a.js} +1 -1
  94. package/assets/esri/core/workers/chunks/85bfd380d4f522ff8e83.js +1 -0
  95. package/assets/esri/core/workers/chunks/{21ea48186d01bf459ef6.js → 88308a0dcc479688e67c.js} +1 -1
  96. package/assets/esri/core/workers/chunks/{360223d8bd4ee77ecda1.js → 896c7d137bfd7a8fa0bc.js} +1 -1
  97. package/assets/esri/core/workers/chunks/{74db0831bcbd48152c1d.js → 899f493412acd5a5d91f.js} +1 -1
  98. package/assets/esri/core/workers/chunks/{b8c1a08020d44ee03a17.js → 8ad95fe91ba0a9f284a2.js} +1 -1
  99. package/assets/esri/core/workers/chunks/{b331543767c35e5edcc6.js → 8c1bd9bcfc59497de3b5.js} +1 -1
  100. package/assets/esri/core/workers/chunks/{ce211163d078d3d742ce.js → 8ca95499e00ce8b0af9a.js} +1 -1
  101. package/assets/esri/core/workers/chunks/{4ff7c8420c77256f595a.js → 8d51b6823ef5d290c670.js} +1 -1
  102. package/assets/esri/core/workers/chunks/{1512ed7b869b3e8e07bc.js → 8e40c409a9b0a2a768a9.js} +1 -1
  103. package/assets/esri/core/workers/chunks/{a76792c4edd1d688fba2.js → 9155dbfce5ef2c25bbbf.js} +1 -1
  104. package/assets/esri/core/workers/chunks/{938baf4f99332dfdf29d.js → 91be247f868ce6596c9e.js} +1 -1
  105. package/assets/esri/core/workers/chunks/{64553b5eae4edc7f46dc.js → 9247d768c3eccc0828a9.js} +1 -1
  106. package/assets/esri/core/workers/chunks/{02bd15e0adaffcdd645b.js → 947085d176bd3a930e6f.js} +1 -1
  107. package/assets/esri/core/workers/chunks/{dca2b487152cde45fb65.js → 94850c094e076d81a016.js} +1 -1
  108. package/assets/esri/core/workers/chunks/9595b39e882f9a9ac839.js +1 -0
  109. package/assets/esri/core/workers/chunks/{b45dbbeae54cea2bbc10.js → 962c0ef63de1635fb4aa.js} +1 -1
  110. package/assets/esri/core/workers/chunks/98ac849cccc4d5316021.js +1 -0
  111. package/assets/esri/core/workers/chunks/9928e432b884c75c3436.js +1 -0
  112. package/assets/esri/core/workers/chunks/{d80e26a1f4a61b1c4cf9.js → 9b5e04d87116ce2b68b2.js} +1 -1
  113. package/assets/esri/core/workers/chunks/9c60599131860f635483.js +1 -0
  114. package/assets/esri/core/workers/chunks/{ca5f63c0297612059486.js → 9cd9b22354dbdf1b1df0.js} +1 -1
  115. package/assets/esri/core/workers/chunks/{bd1ba44362b967977003.js → 9e7af4c3c0f8cf0f5c5b.js} +1 -1
  116. package/assets/esri/core/workers/chunks/9f869b331dff505b6b55.js +1 -0
  117. package/assets/esri/core/workers/chunks/9ffbd5216aa0a45a4199.js +1 -0
  118. package/assets/esri/core/workers/chunks/{183130521210c855c565.js → a13a36207f265f720255.js} +1 -1
  119. package/assets/esri/core/workers/chunks/a5c0b365b9f55e63ab52.js +1 -0
  120. package/assets/esri/core/workers/chunks/{afb51b8562f8cb29b97e.js → a89c060ad302381aaf7d.js} +1 -1
  121. package/assets/esri/core/workers/chunks/a939d2af7e4a359c7b4d.js +1 -0
  122. package/assets/esri/core/workers/chunks/{ada46055fafb8ae21dbe.js → aaab7694eb333ad480f5.js} +1 -1
  123. package/assets/esri/core/workers/chunks/{871da12fb3029177df6f.js → ad106f5f6d6848f40de3.js} +1 -1
  124. package/assets/esri/core/workers/chunks/{dec9656997683ef01ba6.js → ad1e5c24c1eae5ab8e45.js} +1 -1
  125. package/assets/esri/core/workers/chunks/b1c2e5e0a70fb5d27da5.js +1 -0
  126. package/assets/esri/core/workers/chunks/b40845b45f8d7cd347a1.js +1 -0
  127. package/assets/esri/core/workers/chunks/b5f6a0607b620b027cdd.js +1 -0
  128. package/assets/esri/core/workers/chunks/{8abcf9d3343dd8d45103.js → b884bd2f50aaccfa24c5.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{1285ccdde515aca9a2d5.js → bb23371335ac049861e6.js} +1 -1
  130. package/assets/esri/core/workers/chunks/{469a018d94080fbcde22.js → bbdadced49446c907361.js} +1 -1
  131. package/assets/esri/core/workers/chunks/{c06dda7263e64d696c88.js → c110941e87923ba47193.js} +1 -1
  132. package/assets/esri/core/workers/chunks/{67627b1965b27b2f1857.js → c51e2a048df152abd901.js} +1 -1
  133. package/assets/esri/core/workers/chunks/{b12c44faa1efa60067b0.js → c660b6e67d5d13583f19.js} +1 -1
  134. package/assets/esri/core/workers/chunks/c6e3d4c6bb02d58d5cfe.js +1 -0
  135. package/assets/esri/core/workers/chunks/{fae53d825dd9fef0426c.js → c8c85ba6451b5dfc2fc0.js} +1 -1
  136. package/assets/esri/core/workers/chunks/{a1591d7f82e06cab5de4.js → c8d57588267e2fc4406c.js} +1 -1
  137. package/assets/esri/core/workers/chunks/{f5bb7c90f48cae594bc3.js → ca7c9756802214e41c56.js} +1 -1
  138. package/assets/esri/core/workers/chunks/cf474c055a85bdbfa8d0.js +1 -0
  139. package/assets/esri/core/workers/chunks/{9f933a7e9d3b0cd69383.js → d08b80583a23ba253c7e.js} +1 -1
  140. package/assets/esri/core/workers/chunks/d29f894491618931d92a.js +1 -0
  141. package/assets/esri/core/workers/chunks/{d16484b389d56a43d204.js → d465e1b3a8a53d9c0a12.js} +1 -1
  142. package/assets/esri/core/workers/chunks/d5262c95116d3bdfd117.js +1 -0
  143. package/assets/esri/core/workers/chunks/{4c7162883b228db563c6.js → d578c3880eaf2dd62324.js} +1 -1
  144. package/assets/esri/core/workers/chunks/{b8bd0f1be54b318990f6.js → d7c679374aa2d256becf.js} +1 -1
  145. package/assets/esri/core/workers/chunks/{bb0c5275e51d170ac795.js → d93b24e863379116b2aa.js} +1 -1
  146. package/assets/esri/core/workers/chunks/{6589133542fa130c0628.js → dd1d9913b33d4e48baff.js} +1 -1
  147. package/assets/esri/core/workers/chunks/{b49b73e2d0d643dfa351.js → de499e33035b56b6697d.js} +1 -1
  148. package/assets/esri/core/workers/chunks/{c5c9f0c8da5f7bf41728.js → e177d0ab454dfa024b39.js} +1 -1
  149. package/assets/esri/core/workers/chunks/{948ecf0bfbc886ec3b52.js → e1b25b1ce3bd4f0f2cda.js} +1 -1
  150. package/assets/esri/core/workers/chunks/{eedf97211883713c413e.js → e1b573840ec1f7c3afd3.js} +1 -1
  151. package/assets/esri/core/workers/chunks/{b117e054a2bc54f5f93b.js → e3f2cdf5d71a7040894b.js} +1 -1
  152. package/assets/esri/core/workers/chunks/{dfc5936fbbd26f27a92a.js → e666ca4d14b6490485d6.js} +1 -1
  153. package/assets/esri/core/workers/chunks/{672751823261a5763684.js → e92d9e0ac789bcf1cdf4.js} +1 -1
  154. package/assets/esri/core/workers/chunks/{d3b932ff2299c89c2582.js → e95a8c988ef822723503.js} +1 -1
  155. package/assets/esri/core/workers/chunks/{ae667084cb6a08b97c37.js → eb7dd722e4cd7f83b3f5.js} +1 -1
  156. package/assets/esri/core/workers/chunks/ec9ed7c9d64f88fcb806.js +1 -0
  157. package/assets/esri/core/workers/chunks/{06bd2f5358c6b85d5420.js → f42938e1602306cfa7a8.js} +1 -1
  158. package/assets/esri/core/workers/chunks/{77e083d1e425026fa030.js → f4b145feab275b268c2e.js} +1 -1
  159. package/assets/esri/core/workers/chunks/{568f49f9e50c505b2736.js → f4d7cbd33ef8710d7316.js} +1 -1
  160. package/assets/esri/core/workers/chunks/{451ae19a0a120b27c6da.js → fb0f729eff2f2911d6c3.js} +1 -1
  161. package/assets/esri/core/workers/chunks/{ce0683921ccefc580018.js → fd3009164d5e38fda85f.js} +1 -1
  162. package/assets/esri/core/workers/chunks/{4c77102f083198ae2a6a.js → ff34fdda7899e784ac73.js} +1 -1
  163. package/chunks/ColorMaterial.glsl.js +2 -2
  164. package/chunks/DefaultMaterial.glsl.js +4 -4
  165. package/chunks/HUDMaterial.glsl.js +5 -5
  166. package/chunks/LineMarker.glsl.js +19 -19
  167. package/chunks/Pattern.glsl.js +6 -6
  168. package/chunks/RibbonLine.glsl.js +2 -2
  169. package/chunks/TimeExtent.js +1 -1
  170. package/chunks/TimeInterval.js +1 -1
  171. package/chunks/pe.js +1 -1
  172. package/colorUtils.js +1 -1
  173. package/config.js +1 -1
  174. package/core/JSONSupport.d.ts +1 -1
  175. package/core/JSONSupport.js +1 -1
  176. package/core/Loadable.js +1 -1
  177. package/core/Promise.d.ts +1 -1
  178. package/core/Promise.js +1 -1
  179. package/core/has.js +1 -1
  180. package/core/object.js +1 -1
  181. package/core/workers/RemoteClient.js +1 -1
  182. package/core/workers/utils.js +1 -1
  183. package/editing/sharedTemplates/SharedTemplate.js +1 -1
  184. package/editing/sharedTemplates/SharedTemplateMetadata.js +1 -1
  185. package/editing/sharedTemplates/templateDefinitions/TemplateDefinitionBase.js +1 -1
  186. package/editing/sharedTemplates/templateDefinitions/parts/TemplatePartBase.js +1 -1
  187. package/effects/FocusArea.js +1 -1
  188. package/effects/FocusAreaOutline.js +1 -1
  189. package/effects/FocusAreas.js +1 -1
  190. package/form/ExpressionInfo.js +1 -1
  191. package/form/FormTemplate.js +1 -1
  192. package/form/elements/Element.js +1 -1
  193. package/form/elements/inputs/Input.js +1 -1
  194. package/form/elements/inputs/attachments/Input.js +1 -1
  195. package/geometry/Geometry.js +1 -1
  196. package/geometry/HeightModelInfo.js +1 -1
  197. package/geometry/Mesh.js +1 -1
  198. package/geometry/SpatialReference.js +1 -1
  199. package/geometry/support/MeshComponent.js +1 -1
  200. package/geometry/support/MeshGeoreferencedVertexSpace.js +1 -1
  201. package/geometry/support/MeshLocalVertexSpace.js +1 -1
  202. package/geometry/support/MeshMaterial.js +1 -1
  203. package/geometry/support/MeshTexture.js +1 -1
  204. package/geometry/support/MeshTextureTransform.js +1 -1
  205. package/geometry/support/MeshTransform.js +1 -1
  206. package/geometry/support/MeshVertexAttributes.js +1 -1
  207. package/geometry/support/heightModelInfoUtils.js +1 -1
  208. package/grids/MeasuredGrid.js +1 -1
  209. package/ground/NavigationConstraint.js +1 -1
  210. package/identity/OAuthInfo.js +1 -1
  211. package/identity/ServerInfo.js +1 -1
  212. package/kernel.js +1 -1
  213. package/layers/BuildingSceneLayer.js +1 -1
  214. package/layers/GaussianSplatLayer.js +5 -0
  215. package/layers/buildingSublayers/BuildingComponentSublayer.js +1 -1
  216. package/layers/buildingSublayers/BuildingGroupSublayer.js +1 -1
  217. package/layers/buildingSublayers/utils.js +5 -0
  218. package/layers/graphics/controllers/FeatureTileController3D.js +1 -1
  219. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  220. package/layers/graphics/sources/MemorySource.js +1 -1
  221. package/layers/knowledgeGraph/IdealEdgeLengthTypeOptions.js +1 -1
  222. package/layers/mixins/OperationalLayer.js +1 -1
  223. package/layers/mixins/TemporalSceneLayer.js +1 -1
  224. package/layers/mixins/operationalLayerModuleMap.js +1 -1
  225. package/layers/orientedImagery/core/CameraOrientationHPR.js +1 -1
  226. package/layers/orientedImagery/core/CameraOrientationLTP.js +1 -1
  227. package/layers/orientedImagery/core/CameraOrientationOPK.js +1 -1
  228. package/layers/orientedImagery/core/CameraOrientationYPR.js +1 -1
  229. package/layers/orientedImagery/core/ElevationSourceDefinitions.js +1 -1
  230. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  231. package/layers/pointCloudFilters/PointCloudFilter.js +1 -1
  232. package/layers/support/AggregateField.js +1 -1
  233. package/layers/support/BuildingFilter.js +1 -1
  234. package/layers/support/BuildingFilterAuthoringInfo.js +1 -1
  235. package/layers/support/BuildingFilterAuthoringInfoBlock.js +1 -1
  236. package/layers/support/BuildingFilterAuthoringInfoType.js +1 -1
  237. package/layers/support/BuildingFilterBlock.js +1 -1
  238. package/layers/support/BuildingFilterMode.js +1 -1
  239. package/layers/support/BuildingSummaryStatistics.js +1 -1
  240. package/layers/support/CodedValue.js +1 -1
  241. package/layers/support/ControlPointsGeoreference.js +1 -1
  242. package/layers/support/DimensionalDefinition.js +1 -1
  243. package/layers/support/DisplayFilter.js +1 -1
  244. package/layers/support/DisplayFilterInfo.js +1 -1
  245. package/layers/support/Domain.js +1 -1
  246. package/layers/support/EditFieldsInfo.js +1 -1
  247. package/layers/support/ExportImageServiceParameters.js +1 -1
  248. package/layers/support/ExpressionInfo.js +1 -1
  249. package/layers/support/FacilityLayerInfo.js +1 -1
  250. package/layers/support/FeatureEffect.js +1 -1
  251. package/layers/support/FeatureFilter.js +1 -1
  252. package/layers/support/FeatureIndex.js +1 -1
  253. package/layers/support/FeatureReduction.js +1 -1
  254. package/layers/support/FeatureReductionCluster.js +1 -1
  255. package/layers/support/FeatureTemplate.js +1 -1
  256. package/layers/support/FeatureType.js +1 -1
  257. package/layers/support/Field.js +1 -1
  258. package/layers/support/GeometryFieldsInfo.js +1 -1
  259. package/layers/support/I3SLayerDefinitions.js +1 -1
  260. package/layers/support/KMLMapImage.js +1 -1
  261. package/layers/support/KMLSublayer.js +1 -1
  262. package/layers/support/LOD.js +1 -1
  263. package/layers/support/LabelClass.js +1 -1
  264. package/layers/support/LabelExpressionInfo.js +1 -1
  265. package/layers/support/LayerContingentValuesCache.js +1 -1
  266. package/layers/support/LayerFloorInfo.js +1 -1
  267. package/layers/support/LayerTimeOptions.js +1 -1
  268. package/layers/support/LevelLayerInfo.js +1 -1
  269. package/layers/support/LocalMediaElementSource.js +1 -1
  270. package/layers/support/MapImage.js +1 -1
  271. package/layers/support/MosaicRule.js +1 -1
  272. package/layers/support/MultidimensionalSubset.js +1 -1
  273. package/layers/support/OrderByInfo.js +1 -1
  274. package/layers/support/ParquetEncodingBase.js +1 -1
  275. package/layers/support/ParquetEncodingLocation.js +1 -1
  276. package/layers/support/ParquetEncodingWkb.js +1 -1
  277. package/layers/support/PixelBlock.js +1 -1
  278. package/layers/support/PlaybackInfo.js +1 -1
  279. package/layers/support/PolygonCollection.js +1 -1
  280. package/layers/support/PurgeOptions.js +1 -1
  281. package/layers/support/RangeInfo.js +1 -1
  282. package/layers/support/RasterBandInfo.js +1 -1
  283. package/layers/support/RasterFunction.js +1 -1
  284. package/layers/support/RasterFunctionInfo.js +1 -1
  285. package/layers/support/RasterFunctionProperties.js +1 -1
  286. package/layers/support/RasterFunctionTemplate.js +1 -1
  287. package/layers/support/RasterFunctionVariable.js +1 -1
  288. package/layers/support/RasterInfo.js +1 -1
  289. package/layers/support/RasterSensorInfo.js +1 -1
  290. package/layers/support/RasterStorageInfo.js +1 -1
  291. package/layers/support/Relationship.js +1 -1
  292. package/layers/support/RouteStopSymbols.js +1 -1
  293. package/layers/support/RouteSymbols.js +1 -1
  294. package/layers/support/SceneFilter.js +1 -1
  295. package/layers/support/SceneModification.js +1 -1
  296. package/layers/support/SceneModifications.js +1 -1
  297. package/layers/support/SiteLayerInfo.js +1 -1
  298. package/layers/support/Subtype.js +1 -1
  299. package/layers/support/TelemetryData.js +1 -1
  300. package/layers/support/TelemetryDisplay.js +1 -1
  301. package/layers/support/TileInfo.js +1 -1
  302. package/layers/support/TileMatrixSet.js +1 -1
  303. package/layers/support/TimeInfo.js +1 -1
  304. package/layers/support/TrackInfo.js +1 -1
  305. package/layers/support/TrackPartInfo.js +1 -1
  306. package/layers/support/VideoFrame.js +1 -1
  307. package/layers/support/VideoTimeExtent.js +1 -1
  308. package/layers/support/WMTSLayerInfo.js +1 -1
  309. package/layers/support/WMTSStyle.js +1 -1
  310. package/layers/support/WMTSSublayer.js +1 -1
  311. package/layers/support/lazyLayerLoader.js +1 -1
  312. package/layers/support/rasterDatasets/BaseRaster.js +1 -1
  313. package/layers/support/rasterFunctions/BaseFunctionArguments.js +1 -1
  314. package/layers/support/rasterFunctions/BaseRasterFunction.js +1 -1
  315. package/layers/support/rasterTransforms/BaseRasterTransform.js +1 -1
  316. package/layers/support/source/DataLayerSource.js +1 -1
  317. package/layers/support/source/MapLayerSource.js +1 -1
  318. package/layers/support/source/QueryTableDataSource.js +1 -1
  319. package/layers/support/source/RasterDataSource.js +1 -1
  320. package/layers/support/source/TableDataSource.js +1 -1
  321. package/layers/voxel/VoxelColorStop.js +1 -1
  322. package/layers/voxel/VoxelDimension.js +1 -1
  323. package/layers/voxel/VoxelDynamicSection.js +1 -1
  324. package/layers/voxel/VoxelFormat.js +1 -1
  325. package/layers/voxel/VoxelIrregularSpacing.js +1 -1
  326. package/layers/voxel/VoxelIsosurface.js +1 -1
  327. package/layers/voxel/VoxelOpacityStop.js +1 -1
  328. package/layers/voxel/VoxelRangeFilter.js +1 -1
  329. package/layers/voxel/VoxelRegularSpacing.js +1 -1
  330. package/layers/voxel/VoxelSection.js +1 -1
  331. package/layers/voxel/VoxelSimpleShading.js +1 -1
  332. package/layers/voxel/VoxelSlice.js +1 -1
  333. package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
  334. package/layers/voxel/VoxelUniqueValue.js +1 -1
  335. package/layers/voxel/VoxelVariable.js +1 -1
  336. package/layers/voxel/VoxelVariableStyle.js +1 -1
  337. package/layers/voxel/VoxelVolume.js +1 -1
  338. package/layers/voxel/VoxelVolumeIndex.js +1 -1
  339. package/layers/voxel/VoxelVolumeStyle.js +1 -1
  340. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  341. package/linkChart/ChronologicalLayoutSettings.js +1 -1
  342. package/linkChart/LayoutSettings.js +1 -1
  343. package/linkChart/NonspatialDataDisplay.js +1 -1
  344. package/linkChart/OrganicLayoutSettings.js +1 -1
  345. package/networks/CircuitManager.js +1 -1
  346. package/networks/RulesTable.js +1 -1
  347. package/networks/UnitIdentifierManager.js +1 -1
  348. package/networks/support/Terminal.js +1 -1
  349. package/networks/support/TerminalConfiguration.js +1 -1
  350. package/networks/support/TraceConfiguration.js +1 -1
  351. package/networks/support/UtilityNetworkLookupHelper.js +1 -1
  352. package/package.json +2 -2
  353. package/popup/ElementExpressionInfo.js +1 -1
  354. package/popup/ExpressionInfo.js +1 -1
  355. package/popup/FieldInfo.js +1 -1
  356. package/popup/LayerOptions.js +1 -1
  357. package/popup/RelatedRecordsInfo.js +1 -1
  358. package/popup/content/Content.js +1 -1
  359. package/popup/content/mixins/MediaInfo.js +1 -1
  360. package/popup/content/support/ChartMediaInfoValue.js +1 -1
  361. package/popup/content/support/ImageMediaInfoValue.js +1 -1
  362. package/popup/support/AttachmentsOrderByInfo.js +1 -1
  363. package/popup/support/FieldInfoFormat.js +1 -1
  364. package/popup/support/RelatedRecordsInfoFieldOrder.js +1 -1
  365. package/popup/support/UtilityNetworkAssociationType.js +1 -1
  366. package/portal/Portal.js +1 -1
  367. package/portal/PortalFolder.js +1 -1
  368. package/portal/PortalGroup.js +1 -1
  369. package/portal/PortalItem.js +1 -1
  370. package/portal/PortalUser.js +1 -1
  371. package/renderers/FlowRenderer.js +1 -1
  372. package/renderers/PointCloudClassBreaksRenderer.js +1 -1
  373. package/renderers/PointCloudRenderer.js +1 -1
  374. package/renderers/PointCloudStretchRenderer.js +1 -1
  375. package/renderers/PointCloudUniqueValueRenderer.js +1 -1
  376. package/renderers/RasterColormapRenderer.js +1 -1
  377. package/renderers/RasterShadedReliefRenderer.js +1 -1
  378. package/renderers/RasterStretchRenderer.js +1 -1
  379. package/renderers/Renderer.js +1 -1
  380. package/renderers/VectorFieldRenderer.js +1 -1
  381. package/renderers/support/AttributeColorInfo.js +1 -1
  382. package/renderers/support/AuthoringInfo.js +1 -1
  383. package/renderers/support/AuthoringInfoClassBreakInfo.js +1 -1
  384. package/renderers/support/AuthoringInfoFieldInfo.js +1 -1
  385. package/renderers/support/AuthoringInfoSizeStop.js +1 -1
  386. package/renderers/support/AuthoringInfoVisualVariable.js +1 -1
  387. package/renderers/support/ClassBreakInfo.js +1 -1
  388. package/renderers/support/ColormapInfo.js +1 -1
  389. package/renderers/support/DotDensityLegendOptions.js +1 -1
  390. package/renderers/support/HeatmapColorStop.js +1 -1
  391. package/renderers/support/HeatmapLegendOptions.js +1 -1
  392. package/renderers/support/OthersCategory.js +1 -1
  393. package/renderers/support/RasterPresetRenderer.js +1 -1
  394. package/renderers/support/RasterSymbolizer.js +1 -1
  395. package/renderers/support/RendererLegendOptions.js +1 -1
  396. package/renderers/support/UniqueValue.js +1 -1
  397. package/renderers/support/UniqueValueClass.js +1 -1
  398. package/renderers/support/UniqueValueGroup.js +1 -1
  399. package/renderers/support/UniqueValueInfo.js +1 -1
  400. package/renderers/support/pointCloud/ColorClassBreakInfo.js +1 -1
  401. package/renderers/support/pointCloud/ColorModulation.js +1 -1
  402. package/renderers/support/pointCloud/ColorUniqueValueInfo.js +1 -1
  403. package/renderers/support/pointCloud/PointSizeAlgorithm.js +1 -1
  404. package/renderers/support/pointCloud/fieldsMap.js +5 -0
  405. package/renderers/visualVariables/VisualVariable.js +1 -1
  406. package/renderers/visualVariables/support/ColorSizeStop.js +1 -1
  407. package/renderers/visualVariables/support/ColorStop.js +1 -1
  408. package/renderers/visualVariables/support/OpacityStop.js +1 -1
  409. package/renderers/visualVariables/support/SizeStop.js +1 -1
  410. package/renderers/visualVariables/support/VisualVariableLegendOptions.js +1 -1
  411. package/rest/featureService/FeatureService.js +1 -1
  412. package/rest/knowledgeGraph/DataModel.js +1 -1
  413. package/rest/knowledgeGraph/FieldIndex.js +1 -1
  414. package/rest/knowledgeGraph/GraphObject.js +1 -1
  415. package/rest/knowledgeGraph/GraphObjectType.js +1 -1
  416. package/rest/knowledgeGraph/GraphProperty.js +1 -1
  417. package/rest/knowledgeGraph/KnowledgeGraph.js +1 -1
  418. package/rest/knowledgeGraph/Path.js +1 -1
  419. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  420. package/rest/knowledgeGraph/ServiceDefinition.js +1 -1
  421. package/rest/knowledgeGraph/SourceTypeValueBehavior.js +1 -1
  422. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsConfiguration.js +1 -1
  423. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsEntity.js +1 -1
  424. package/rest/knowledgeGraph/toolService/findPaths/CIMFilteredFindPathsPathFilter.js +1 -1
  425. package/rest/knowledgeGraph/toolService/findPaths/CIMKGTraversalDirection.js +1 -1
  426. package/rest/knowledgeGraph/wasmInterface/WasmDataModelWrapperInterfaces.js +1 -1
  427. package/rest/knowledgeGraph/wasmInterface/WasmQueryWrapperInterfaces.js +1 -1
  428. package/rest/knowledgeGraph/wasmInterface/WasmSerializedLayerData.js +1 -1
  429. package/rest/knowledgeGraph/wasmInterface/wasmToDataModelFactories.js +1 -1
  430. package/rest/knowledgeGraph/wasmInterface/wasmToFeatureFactories.js +1 -1
  431. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  432. package/rest/networks/circuits/support/CircuitVerifyResult.js +1 -1
  433. package/rest/networks/circuits/support/CreateAlterCircuitParameters.js +1 -1
  434. package/rest/networks/circuits/support/DeleteCircuitsParameters.js +1 -1
  435. package/rest/networks/circuits/support/EditCircuitsResult.js +1 -1
  436. package/rest/networks/circuits/support/ExportCircuitsParameters.js +1 -1
  437. package/rest/networks/circuits/support/ExportCircuitsResult.js +1 -1
  438. package/rest/networks/circuits/support/QueryCircuitsParameters.js +1 -1
  439. package/rest/networks/circuits/support/QueryCircuitsResult.js +1 -1
  440. package/rest/networks/circuits/support/VerifyCircuitsParameters.js +1 -1
  441. package/rest/networks/circuits/support/VerifyCircuitsResult.js +1 -1
  442. package/rest/networks/support/AggregatedGeometry.js +1 -1
  443. package/rest/networks/support/Association.js +1 -1
  444. package/rest/networks/support/AssociationGeometriesResult.js +1 -1
  445. package/rest/networks/support/CircuitPath.js +1 -1
  446. package/rest/networks/support/CircuitPathConnectivityElement.js +1 -1
  447. package/rest/networks/support/CircuitTraceResult.js +1 -1
  448. package/rest/networks/support/FunctionResult.js +1 -1
  449. package/rest/networks/support/NetworkElement.js +1 -1
  450. package/rest/networks/support/QueryAssociationsParameters.js +1 -1
  451. package/rest/networks/support/QueryAssociationsResult.js +1 -1
  452. package/rest/networks/support/QueryNamedTraceConfigurationsParameters.js +1 -1
  453. package/rest/networks/support/QueryNamedTraceConfigurationsResult.js +1 -1
  454. package/rest/networks/support/SynthesizeAssociationGeometriesParameters.js +1 -1
  455. package/rest/networks/support/TraceLocation.js +1 -1
  456. package/rest/networks/support/TraceParameters.js +1 -1
  457. package/rest/networks/support/TraceResult.js +1 -1
  458. package/rest/networks/support/ValidateNetworkTopologyParameters.js +1 -1
  459. package/rest/networks/support/ValidateNetworkTopologyResult.js +1 -1
  460. package/rest/networks/unitIdentifiers/support/EditUnitIdentifiersResult.js +1 -1
  461. package/rest/networks/unitIdentifiers/support/InsertGapParameters.js +1 -1
  462. package/rest/networks/unitIdentifiers/support/QueryUnitIdentifiersParameters.js +1 -1
  463. package/rest/networks/unitIdentifiers/support/ResetParameters.js +1 -1
  464. package/rest/networks/unitIdentifiers/support/ResizeParameters.js +1 -1
  465. package/rest/networks/unitIdentifiers/support/UnitQueryResult.js +1 -1
  466. package/rest/query/support/AttachmentInfo.js +1 -1
  467. package/rest/support/AddressCandidate.js +1 -1
  468. package/rest/support/AddressToLocationsParameters.js +1 -1
  469. package/rest/support/AddressesToLocationsParameters.js +1 -1
  470. package/rest/support/ArealUnit.js +1 -1
  471. package/rest/support/AreasAndLengthsParameters.js +1 -1
  472. package/rest/support/AttachmentQuery.js +1 -1
  473. package/rest/support/AttributeBinsGrouping.js +1 -1
  474. package/rest/support/AttributeBinsQuery.js +1 -1
  475. package/rest/support/BaseImageMeasureParameters.js +1 -1
  476. package/rest/support/BaseImageMeasureResult.js +1 -1
  477. package/rest/support/BinParametersBase.js +1 -1
  478. package/rest/support/BufferParameters.js +1 -1
  479. package/rest/support/CameraInfo.js +1 -1
  480. package/rest/support/ClassBreaksDefinition.js +1 -1
  481. package/rest/support/ClosestFacilityParameters.js +1 -1
  482. package/rest/support/ClosestFacilitySolveResult.js +1 -1
  483. package/rest/support/ColorRamp.js +1 -1
  484. package/rest/support/DataFile.js +1 -1
  485. package/rest/support/DataLayer.js +1 -1
  486. package/rest/support/DateBinTimeInterval.js +1 -1
  487. package/rest/support/DensifyParameters.js +1 -1
  488. package/rest/support/DirectionLine.js +1 -1
  489. package/rest/support/DirectionPoint.js +1 -1
  490. package/rest/support/DirectionsEvent.js +1 -1
  491. package/rest/support/DirectionsString.js +1 -1
  492. package/rest/support/FeatureSet.js +1 -1
  493. package/rest/support/FindImagesParameters.js +1 -1
  494. package/rest/support/FindImagesResult.js +1 -1
  495. package/rest/support/FindParameters.js +1 -1
  496. package/rest/support/FindResult.js +1 -1
  497. package/rest/support/FullTextSearch.js +1 -1
  498. package/rest/support/GPMessage.js +1 -1
  499. package/rest/support/GeneralizeParameters.js +1 -1
  500. package/rest/support/GenerateRendererParameters.js +1 -1
  501. package/rest/support/IdentifyParameters.js +1 -1
  502. package/rest/support/IdentifyResult.js +1 -1
  503. package/rest/support/ImageAngleParameters.js +1 -1
  504. package/rest/support/ImageAngleResult.js +1 -1
  505. package/rest/support/ImageBoundaryParameters.js +1 -1
  506. package/rest/support/ImageBoundaryResult.js +1 -1
  507. package/rest/support/ImageGPSInfo.js +1 -1
  508. package/rest/support/ImageGPSInfoParameters.js +1 -1
  509. package/rest/support/ImageGPSInfoResult.js +1 -1
  510. package/rest/support/ImageHistogramParameters.js +1 -1
  511. package/rest/support/ImageIdentifyParameters.js +1 -1
  512. package/rest/support/ImageIdentifyResult.js +1 -1
  513. package/rest/support/ImageInspectionInfo.js +1 -1
  514. package/rest/support/ImagePixelLocationParameters.js +1 -1
  515. package/rest/support/ImagePixelLocationResult.js +1 -1
  516. package/rest/support/ImageSample.js +1 -1
  517. package/rest/support/ImageSampleParameters.js +1 -1
  518. package/rest/support/ImageSampleResult.js +1 -1
  519. package/rest/support/ImageToMapMultirayParameters.js +1 -1
  520. package/rest/support/ImageToMapParameters.js +1 -1
  521. package/rest/support/ImageUrlParameters.js +1 -1
  522. package/rest/support/ImageUrlResult.js +1 -1
  523. package/rest/support/ImageVolume.js +1 -1
  524. package/rest/support/ImageVolumeParameters.js +1 -1
  525. package/rest/support/ImageVolumeResult.js +1 -1
  526. package/rest/support/JobInfo.js +1 -1
  527. package/rest/support/LegendLayer.js +1 -1
  528. package/rest/support/LengthsParameters.js +1 -1
  529. package/rest/support/LinearUnit.js +1 -1
  530. package/rest/support/LocationToAddressParameters.js +1 -1
  531. package/rest/support/MapToImageParameters.js +1 -1
  532. package/rest/support/MeasureAreaFromImageResult.js +1 -1
  533. package/rest/support/MeasureFromImageParameters.js +1 -1
  534. package/rest/support/MeasureLengthFromImageResult.js +1 -1
  535. package/rest/support/MultipartColorRamp.js +1 -1
  536. package/rest/support/NetworkAttribute.js +1 -1
  537. package/rest/support/NetworkDataset.js +1 -1
  538. package/rest/support/NetworkServiceDescription.js +1 -1
  539. package/rest/support/NetworkUrl.js +1 -1
  540. package/rest/support/OffsetParameters.js +1 -1
  541. package/rest/support/ParameterValue.js +1 -1
  542. package/rest/support/PointBarrier.js +1 -1
  543. package/rest/support/PolygonBarrier.js +1 -1
  544. package/rest/support/PolylineBarrier.js +1 -1
  545. package/rest/support/ProjectParameters.js +1 -1
  546. package/rest/support/QuantizationParameters.js +1 -1
  547. package/rest/support/Query.js +1 -1
  548. package/rest/support/RasterData.js +1 -1
  549. package/rest/support/RelationParameters.js +1 -1
  550. package/rest/support/RelationshipQuery.js +1 -1
  551. package/rest/support/RouteInfo.js +1 -1
  552. package/rest/support/RouteParameters.js +1 -1
  553. package/rest/support/RouteResult.js +1 -1
  554. package/rest/support/RouteSettings.js +1 -1
  555. package/rest/support/RouteSolveResult.js +1 -1
  556. package/rest/support/ServiceAreaParameters.js +1 -1
  557. package/rest/support/ServiceAreaSolveResult.js +1 -1
  558. package/rest/support/StatisticDefinition.js +1 -1
  559. package/rest/support/Stop.js +1 -1
  560. package/rest/support/SuggestLocationsParameters.js +1 -1
  561. package/rest/support/SuggestionCandidate.js +1 -1
  562. package/rest/support/TopFeaturesQuery.js +1 -1
  563. package/rest/support/TopFilter.js +1 -1
  564. package/rest/support/TranslateContent.js +1 -1
  565. package/rest/support/TranslateParameters.js +1 -1
  566. package/rest/support/TranslateResult.js +1 -1
  567. package/rest/support/TravelMode.js +1 -1
  568. package/rest/support/TrimExtendParameters.js +1 -1
  569. package/rest/support/UniqueValueDefinition.js +1 -1
  570. package/rest/support/imageMeasureUtils.js +1 -1
  571. package/rest/versionManagement/gdbVersion/support/AlterVersionParameters.js +1 -1
  572. package/rest/versionManagement/gdbVersion/support/ConflictsParameters.js +1 -1
  573. package/rest/versionManagement/gdbVersion/support/ConflictsResult.js +1 -1
  574. package/rest/versionManagement/gdbVersion/support/DeleteForwardEditsParameters.js +1 -1
  575. package/rest/versionManagement/gdbVersion/support/DifferencesParameters.js +1 -1
  576. package/rest/versionManagement/gdbVersion/support/DifferencesResult.js +1 -1
  577. package/rest/versionManagement/gdbVersion/support/InspectConflictsParameters.js +1 -1
  578. package/rest/versionManagement/gdbVersion/support/PostParameters.js +1 -1
  579. package/rest/versionManagement/gdbVersion/support/PostResult.js +1 -1
  580. package/rest/versionManagement/gdbVersion/support/ReconcileParameters.js +1 -1
  581. package/rest/versionManagement/gdbVersion/support/ReconcileResult.js +1 -1
  582. package/rest/versionManagement/gdbVersion/support/RestoreRowsParameters.js +1 -1
  583. package/rest/versionManagement/gdbVersion/support/RestoreRowsResult.js +1 -1
  584. package/rest/versionManagement/support/CreateVersionParameters.js +1 -1
  585. package/rest/versionManagement/support/DeleteVersionParameters.js +1 -1
  586. package/rest/versionManagement/support/GetVersionInfosParameters.js +1 -1
  587. package/rest/versionManagement/support/GetVersionInfosResult.js +1 -1
  588. package/smartMapping/support/adapters/FeatureLayerBinningAdapter.js +1 -1
  589. package/smartMapping/support/adapters/InMemoryLayerAdapter.js +1 -1
  590. package/support/MapFloorInfo.js +1 -1
  591. package/support/revision.js +1 -1
  592. package/symbols/Font.js +1 -1
  593. package/symbols/LineStyleMarker3D.js +1 -1
  594. package/symbols/LineSymbolMarker.js +1 -1
  595. package/symbols/Symbol.js +1 -1
  596. package/symbols/Symbol3DLayer.js +1 -1
  597. package/symbols/WaterSymbol3DLayer.js +1 -1
  598. package/symbols/callouts/Callout3D.js +1 -1
  599. package/symbols/callouts/LineCallout3DBorder.js +1 -1
  600. package/symbols/edges/Edges3D.js +1 -1
  601. package/symbols/patterns/LinePattern3D.js +1 -1
  602. package/symbols/patterns/Pattern3D.js +1 -1
  603. package/symbols/support/ElevationInfo.js +1 -1
  604. package/symbols/support/FeatureExpressionInfo.js +1 -1
  605. package/symbols/support/IconSymbol3DLayerResource.js +1 -1
  606. package/symbols/support/ObjectSymbol3DLayerResource.js +1 -1
  607. package/symbols/support/Symbol3DEmissive.js +1 -1
  608. package/symbols/support/Symbol3DHalo.js +1 -1
  609. package/symbols/support/Symbol3DIconOutline.js +1 -1
  610. package/symbols/support/Symbol3DMaterial.js +1 -1
  611. package/symbols/support/Symbol3DOutline.js +1 -1
  612. package/symbols/support/Symbol3DTextBackground.js +1 -1
  613. package/symbols/support/Symbol3DVerticalOffset.js +1 -1
  614. package/tables/AttributeTableTemplate.js +1 -1
  615. package/tables/elements/AttributeTableElement.js +1 -1
  616. package/tables/support/FieldOrder.js +1 -1
  617. package/undoredo/support/Services.js +1 -1
  618. package/versionManagement/VersionManagementService.js +1 -1
  619. package/versionManagement/VersioningState.js +1 -1
  620. package/views/2d/AnimationManager.js +1 -1
  621. package/views/2d/ViewState.js +1 -1
  622. package/views/2d/engine/Stage.js +1 -1
  623. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  624. package/views/2d/engine/flow/styles/Particles.js +1 -1
  625. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  626. package/views/2d/engine/imagery/BrushVectorField.js +1 -1
  627. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  628. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  629. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  630. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  631. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  632. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  633. package/views/2d/engine/webgl/ClippingInfo.js +1 -1
  634. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  635. package/views/2d/engine/webgl/MaterialManager.js +1 -1
  636. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  637. package/views/2d/engine/webgl/Painter.js +1 -1
  638. package/views/2d/engine/webgl/Utils.js +1 -1
  639. package/views/2d/engine/webgl/VertexStream.js +1 -1
  640. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  641. package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
  642. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  643. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  644. package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
  645. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  646. package/views/2d/engine/webgl/cpuMapped/MappedMesh.js +1 -1
  647. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  648. package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
  649. package/views/2d/engine/webgl/effects/post-processing/Bloom.js +1 -1
  650. package/views/2d/engine/webgl/effects/post-processing/Blur.js +1 -1
  651. package/views/2d/engine/webgl/effects/post-processing/Colorize.js +1 -1
  652. package/views/2d/engine/webgl/effects/post-processing/DropShadow.js +1 -1
  653. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  654. package/views/2d/engine/webgl/shaderGraph/GLSLShaderModule.js +1 -1
  655. package/views/2d/engine/webgl/shaderGraph/GraphShaderModule.js +1 -1
  656. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  657. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  658. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  659. package/views/2d/engine/webgl/shaderGraph/typed/TypedShaderProgram.js +1 -1
  660. package/views/2d/engine/webgl/shaders/BackgroundPrograms.js +1 -1
  661. package/views/2d/engine/webgl/shaders/BitBlitPrograms.js +1 -1
  662. package/views/2d/engine/webgl/shaders/HighlightPrograms.js +1 -1
  663. package/views/2d/engine/webgl/shaders/MaterialPrograms.js +1 -1
  664. package/views/2d/engine/webgl/shaders/StencilPrograms.js +1 -1
  665. package/views/2d/engine/webgl/shaders/TileInfoPrograms.js +1 -1
  666. package/views/2d/layerViewModuleImportUtils.js +1 -1
  667. package/views/2d/layers/MediaLayerView2D.js +1 -1
  668. package/views/2d/layers/TileLayerView2D.js +1 -1
  669. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  670. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  671. package/views/2d/layers/support/DebugOverlay.js +1 -1
  672. package/views/3d/FocusAreasView.js +1 -1
  673. package/views/3d/analysis/AnalysisView3D.js +1 -1
  674. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  675. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  676. package/views/3d/environment/CloudsRenderer.js +1 -1
  677. package/views/3d/environment/CloudsTechnique.js +1 -1
  678. package/views/3d/environment/CloudyWeather.js +1 -1
  679. package/views/3d/environment/FogTechnique.js +1 -1
  680. package/views/3d/environment/FoggyWeather.js +1 -1
  681. package/views/3d/environment/LocalAtmosphere.js +1 -1
  682. package/views/3d/environment/MarsAtmosphere.js +1 -1
  683. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  684. package/views/3d/environment/Precipitation.js +1 -1
  685. package/views/3d/environment/RainyWeather.js +1 -1
  686. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  687. package/views/3d/environment/SnowyWeather.js +1 -1
  688. package/views/3d/environment/SunLighting.js +1 -1
  689. package/views/3d/environment/SunnyWeather.js +1 -1
  690. package/views/3d/glTF/internal/Resource.js +1 -1
  691. package/views/3d/glTF/loader.js +1 -1
  692. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  693. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  694. package/views/3d/layerViewModuleImportUtils.js +1 -1
  695. package/views/3d/layers/BuildingSublayerView3D.js +1 -1
  696. package/views/3d/layers/GaussianSplatLayerView3D.js +5 -0
  697. package/views/3d/layers/I3SMeshView3D.js +1 -1
  698. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  699. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  700. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  701. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  702. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  703. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  704. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  705. package/views/3d/layers/graphics/StreamController.js +1 -1
  706. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  707. package/views/3d/layers/graphics/pipeline/Feature3DPipelineWorkerHandle.js +1 -1
  708. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  709. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  710. package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
  711. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  712. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  713. package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +1 -1
  714. package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
  715. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  716. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  717. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  718. package/views/3d/layers/support/FeatureTile.js +1 -1
  719. package/views/3d/layers/support/FlowTileTree3DDebugger.js +5 -0
  720. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  721. package/views/3d/state/controllers/AnimationController.js +1 -1
  722. package/views/3d/support/DisplayQualityProfile.js +1 -1
  723. package/views/3d/support/buffer/InterleavedLayout.js +1 -1
  724. package/views/3d/support/buffer/glUtil.js +1 -1
  725. package/views/3d/terrain/BlendLayersTechnique.js +1 -1
  726. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  727. package/views/3d/terrain/PatchRenderData.js +1 -1
  728. package/views/3d/terrain/RasterColorizerTechnique.js +1 -1
  729. package/views/3d/terrain/TerrainAttributes.js +1 -1
  730. package/views/3d/terrain/TerrainAttributesCache.js +1 -1
  731. package/views/3d/terrain/TileCompositor.js +1 -1
  732. package/views/3d/terrain/isTerrainSurfaceLayer.js +1 -1
  733. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  734. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  735. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  736. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  737. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  738. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  739. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +2 -2
  740. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +2 -2
  741. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +4 -4
  742. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +2 -2
  743. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +1 -1
  744. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadShadowMap.glsl.js +1 -1
  745. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +4 -4
  746. package/views/3d/webgl-engine/core/shaderModules/glsl.js +1 -1
  747. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  748. package/views/3d/webgl-engine/effects/RenderNodes.js +1 -1
  749. package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
  750. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  751. package/views/3d/webgl-engine/effects/bloom/BloomCompositionTechnique.js +1 -1
  752. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +3 -3
  753. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorTechnique.js +1 -1
  754. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  755. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  756. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  757. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  758. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  759. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  760. package/views/3d/webgl-engine/effects/highlight/HighlightApplyTechnique.js +1 -1
  761. package/views/3d/webgl-engine/effects/highlight/HighlightBlurTechnique.js +1 -1
  762. package/views/3d/webgl-engine/effects/highlight/HighlightDownsampleTechnique.js +1 -1
  763. package/views/3d/webgl-engine/effects/highlight/HighlightToSingleTechnique.js +1 -1
  764. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  765. package/views/3d/webgl-engine/effects/highlight/ShadowHighlightTechnique.js +1 -1
  766. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  767. package/views/3d/webgl-engine/effects/laserlines/LaserlineTechnique.js +1 -1
  768. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  769. package/views/3d/webgl-engine/effects/magnifier/MagnifierTechnique.js +1 -1
  770. package/views/3d/webgl-engine/effects/smaa/SMAABlendWeightsTechnique.js +1 -1
  771. package/views/3d/webgl-engine/effects/smaa/SMAABlurTechnique.js +1 -1
  772. package/views/3d/webgl-engine/effects/smaa/SMAAEdgeDetectTechnique.js +1 -1
  773. package/views/3d/webgl-engine/effects/ssao/SSAOBlurTechnique.js +1 -1
  774. package/views/3d/webgl-engine/effects/ssao/SSAOTechnique.js +1 -1
  775. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  776. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  777. package/views/3d/webgl-engine/effects/transparency/OITBlendTechnique.js +1 -1
  778. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  779. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  780. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  781. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  782. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  783. package/views/3d/webgl-engine/lib/Material.js +1 -1
  784. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  785. package/views/3d/webgl-engine/lib/Program.js +1 -1
  786. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  787. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  788. package/views/3d/webgl-engine/lib/RenderingContextOptions.js +5 -0
  789. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  790. package/views/3d/webgl-engine/lib/ShadowCastRenderer.js +1 -1
  791. package/views/3d/webgl-engine/lib/TextureTechnique.js +1 -1
  792. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  793. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  794. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  795. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  796. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  797. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  798. package/views/3d/webgl-engine/lib/lodRendering/InstanceOctree.js +1 -1
  799. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  800. package/views/3d/webgl-engine/lib/lodRendering/LodLevel.js +1 -1
  801. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  802. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  803. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  804. package/views/3d/webgl-engine/lib/octreeUtils.js +1 -1
  805. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  806. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  807. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  808. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  809. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  810. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  811. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  812. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  813. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  814. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  815. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  816. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  817. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  818. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  819. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  820. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  821. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  822. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  823. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  824. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  825. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  826. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  827. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  828. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  829. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +5 -5
  830. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  831. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  832. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  833. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  834. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  835. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  836. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  837. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  838. package/views/3d/webgl-engine/shaders/HUDCompositingTechnique.js +1 -1
  839. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  840. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  841. package/views/3d/webgl-engine/shaders/HeatmapDensityTechnique.js +1 -1
  842. package/views/3d/webgl-engine/shaders/HeatmapTechnique.js +1 -1
  843. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  844. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  845. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  846. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  847. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  848. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  849. package/views/3d/webgl-engine/shaders/NativeLineTechnique.js +1 -1
  850. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +0 -1
  851. package/views/3d/webgl-engine/shaders/OverlayCompositingTechnique.js +1 -1
  852. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  853. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  854. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  855. package/views/3d/webgl-engine/shaders/RealisticTreeTechnique.js +1 -1
  856. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  857. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  858. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  859. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  860. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  861. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +1 -1
  862. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechnique.js +1 -1
  863. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  864. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  865. package/views/3d/webgl-engine/shaders/ViewshedTechnique.js +1 -1
  866. package/views/3d/webgl-engine/statistics/RendererPerformanceInfo.js +1 -1
  867. package/views/3d/webgl.js +1 -1
  868. package/views/SceneView.js +1 -1
  869. package/views/VideoView.js +1 -1
  870. package/views/View.js +1 -1
  871. package/views/View2D.js +1 -1
  872. package/views/ViewAnimation.js +1 -1
  873. package/views/draw/DrawAction.js +1 -1
  874. package/views/draw/support/ConnectedReshapeManager.js +1 -1
  875. package/views/interactive/snapping/Settings.js +1 -1
  876. package/views/interactive/snapping/featureSources/sceneLayerSource/SceneLayerSnappingSourceWorker.js +1 -1
  877. package/views/layers/LayerView.js +1 -1
  878. package/views/layers/support/ClipArea.js +1 -1
  879. package/views/support/PixelHighlightOptions.js +1 -1
  880. package/views/support/Scheduler.js +1 -1
  881. package/views/support/TileTreeDebugger.js +1 -1
  882. package/views/support/imageReprojection.js +1 -1
  883. package/views/support/screenshotUtils.js +1 -1
  884. package/views/webgl/FramebufferObject.js +1 -1
  885. package/views/webgl/InstanceCounter.js +1 -1
  886. package/views/webgl/Parameters.js +1 -1
  887. package/views/webgl/Program.js +1 -1
  888. package/views/webgl/ProgramCache.js +1 -1
  889. package/views/webgl/ProgramTemplate.js +1 -1
  890. package/views/webgl/RenderingContext.js +1 -1
  891. package/views/webgl/RenderingContextOptions.js +5 -0
  892. package/views/webgl/ShaderBuilder.js +1 -1
  893. package/views/webgl/Texture.js +1 -1
  894. package/views/webgl/TextureDescriptor.js +1 -1
  895. package/views/webgl/Util.js +1 -1
  896. package/views/webgl/VertexArrayObject.js +1 -1
  897. package/views/webgl/VertexAttributeLayouts.js +5 -0
  898. package/views/webgl/VertexAttributeLocations.js +5 -0
  899. package/views/webgl/VertexBuffer.js +5 -0
  900. package/views/webgl/capabilities/Capabilities.js +1 -1
  901. package/views/webgl/enums.js +1 -1
  902. package/views/webgl/heatmapTextureUtils.js +1 -1
  903. package/views/webgl/rasterUtils.js +1 -1
  904. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  905. package/views/webgl/testFloatBufferBlend.js +1 -1
  906. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  907. package/views/webgl/textureUtils.js +1 -1
  908. package/webdoc/GeotriggersInfo.js +1 -1
  909. package/webdoc/IPSInfo.js +1 -1
  910. package/webdoc/RangeInfo.js +1 -1
  911. package/webdoc/Widgets.js +1 -1
  912. package/webdoc/applicationProperties/Search.js +1 -1
  913. package/webdoc/applicationProperties/SearchLayer.js +1 -1
  914. package/webdoc/applicationProperties/SearchLayerField.js +1 -1
  915. package/webdoc/applicationProperties/SearchTable.js +1 -1
  916. package/webdoc/applicationProperties/SearchTableField.js +1 -1
  917. package/webdoc/applicationProperties/Viewing.js +1 -1
  918. package/webdoc/geotriggersInfo/DeviceLocationFeed.js +1 -1
  919. package/webdoc/geotriggersInfo/ExpressionInfo.js +1 -1
  920. package/webdoc/geotriggersInfo/FeatureFenceParameters.js +1 -1
  921. package/webdoc/geotriggersInfo/FeatureFilter.js +1 -1
  922. package/webdoc/geotriggersInfo/FeatureLayerSource.js +1 -1
  923. package/webdoc/geotriggersInfo/Geotrigger.js +1 -1
  924. package/webdoc/geotriggersInfo/GeotriggerNotificationOptions.js +1 -1
  925. package/webdoc/ips/AppleIPSProperties.js +1 -1
  926. package/webdoc/ips/Configuration.js +1 -1
  927. package/webdoc/ips/GNSSProperties.js +1 -1
  928. package/webdoc/ips/PathSnappingProperties.js +1 -1
  929. package/webdoc/ips/PositioningService.js +1 -1
  930. package/webdoc/ips/SmoothingProperties.js +1 -1
  931. package/webdoc/support/SlideThumbnail.js +1 -1
  932. package/webdoc/widgets/FloorFilter.js +1 -1
  933. package/webdoc/widgets/Range.js +1 -1
  934. package/webdoc/widgets/TimeSlider.js +1 -1
  935. package/webmap/ApplicationProperties.js +1 -1
  936. package/webmap/Bookmark.js +1 -1
  937. package/webmap/background/ColorBackground.js +1 -1
  938. package/webscene/ApplicationProperties.js +1 -1
  939. package/webscene/Environment.js +1 -1
  940. package/webscene/InitialViewProperties.js +1 -1
  941. package/webscene/Presentation.js +1 -1
  942. package/webscene/Slide.js +1 -1
  943. package/webscene/SlideLegendInfo.js +1 -1
  944. package/webscene/SunLighting.js +1 -1
  945. package/webscene/TransportationNetwork.js +1 -1
  946. package/webscene/VirtualLighting.js +1 -1
  947. package/webscene/background/Background.js +1 -1
  948. package/webscene/support/Description.js +1 -1
  949. package/webscene/support/FeatureReference.js +1 -1
  950. package/webscene/support/FeatureReferenceId.js +1 -1
  951. package/webscene/support/LayerReference.js +1 -1
  952. package/webscene/support/SlideElements.js +1 -1
  953. package/webscene/support/SlideEnvironment.js +1 -1
  954. package/webscene/support/SlideGround.js +1 -1
  955. package/webscene/support/SlidePopupInfo.js +1 -1
  956. package/webscene/support/SlideVisibleLayer.js +1 -1
  957. package/webscene/support/Title.js +1 -1
  958. package/widgets/BasemapGallery/support/PortalBasemapsSource.js +1 -1
  959. package/widgets/Directions/support/directionsUtils.js +1 -1
  960. package/widgets/Editor/UpdateFeaturesWorkflowData.js +1 -1
  961. package/widgets/FeatureForm/FeatureFormViewModel.js +1 -1
  962. package/widgets/FeatureForm/Format.js +1 -1
  963. package/widgets/FeatureTable/support/ColumnTemplateBase.js +1 -1
  964. package/widgets/FeatureTable/support/TableTemplate.js +1 -1
  965. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  966. package/widgets/OrientedImageryViewer/adapters/sketch/MeasurementAdapter.js +1 -1
  967. package/widgets/OrientedImageryViewer/adapters/sketch/TriangulatedMeasurementAdapter.js +1 -1
  968. package/widgets/PanoramicViewer/PanoramicZoomConditions.js +1 -1
  969. package/widgets/Print/CustomTemplate.js +1 -1
  970. package/widgets/Print/PrintViewModel.js +1 -1
  971. package/widgets/Search/SearchSource.js +1 -1
  972. package/widgets/Widget.js +1 -1
  973. package/assets/esri/core/workers/chunks/040a233ce6fbcc061cdb.js +0 -1
  974. package/assets/esri/core/workers/chunks/04798411698a48438bd3.js +0 -1
  975. package/assets/esri/core/workers/chunks/053086e0a043b00f1cca.js +0 -1
  976. package/assets/esri/core/workers/chunks/05d6ccca0cf38c012873.js +0 -1
  977. package/assets/esri/core/workers/chunks/0801f9dde41ec5f36cca.js +0 -1
  978. package/assets/esri/core/workers/chunks/08b4a4c9f3d6478df40a.js +0 -1
  979. package/assets/esri/core/workers/chunks/0906f977d50b1c5d6ed5.js +0 -1
  980. package/assets/esri/core/workers/chunks/307df66d00ba5f88780d.js +0 -1
  981. package/assets/esri/core/workers/chunks/47cdd5a6351e0db3b2e9.js +0 -346
  982. package/assets/esri/core/workers/chunks/4d2dcd667b30a98dd341.js +0 -1
  983. package/assets/esri/core/workers/chunks/50f56b417992eb30243e.js +0 -1
  984. package/assets/esri/core/workers/chunks/56aafa6f8862629070d8.js +0 -1
  985. package/assets/esri/core/workers/chunks/5c5678b15b59f9964bf0.js +0 -1
  986. package/assets/esri/core/workers/chunks/641ca71d7c1a07bde66a.js +0 -1
  987. package/assets/esri/core/workers/chunks/6b6ab092f578b20c8e56.js +0 -1
  988. package/assets/esri/core/workers/chunks/72e0fda211d980572292.js +0 -1
  989. package/assets/esri/core/workers/chunks/761dab8780495286ec4e.js +0 -1
  990. package/assets/esri/core/workers/chunks/860bd6d6f0c74ca301a4.js +0 -1
  991. package/assets/esri/core/workers/chunks/8d914ea9b18b32fd62b8.js +0 -1
  992. package/assets/esri/core/workers/chunks/8e7dced4a8d089185c3a.js +0 -1
  993. package/assets/esri/core/workers/chunks/97a56b058f8472fec1b2.js +0 -1
  994. package/assets/esri/core/workers/chunks/9a4d0006c118ae5b45c0.js +0 -1
  995. package/assets/esri/core/workers/chunks/a2bfb7b2f3f909dc5e59.js +0 -1
  996. package/assets/esri/core/workers/chunks/afb7e346779adefa4b05.js +0 -1
  997. package/assets/esri/core/workers/chunks/b2f2c1108fb7cbdd1a68.js +0 -1
  998. package/assets/esri/core/workers/chunks/b3466edccd553ae0a5d0.js +0 -990
  999. package/assets/esri/core/workers/chunks/b50841f898d4eb420b73.js +0 -1
  1000. package/assets/esri/core/workers/chunks/b810e2f87c9c59ae04b1.js +0 -1
  1001. package/assets/esri/core/workers/chunks/bf60d4da0dff1e14da8e.js +0 -1
  1002. package/assets/esri/core/workers/chunks/c18ac2018aea6ba97eec.js +0 -1
  1003. package/assets/esri/core/workers/chunks/c3d3e55abf01dae271fb.js +0 -1
  1004. package/assets/esri/core/workers/chunks/cd9e6b86ab0103044370.js +0 -1
  1005. package/assets/esri/core/workers/chunks/d54e18e0f30734610f35.js +0 -1
  1006. package/assets/esri/core/workers/chunks/d7ec905d87a19a1061e7.js +0 -1
  1007. package/assets/esri/core/workers/chunks/d9f206e7ac1fad940be7.js +0 -2
  1008. package/assets/esri/core/workers/chunks/ddeaf688d72b2873c4ac.js +0 -1
  1009. package/assets/esri/core/workers/chunks/debd832b6c2c0b2ea362.js +0 -1
  1010. package/assets/esri/core/workers/chunks/dfa3ad5d750d7b143a06.js +0 -1
  1011. package/assets/esri/core/workers/chunks/e01fa6389bd0b1ae51a5.js +0 -1
  1012. package/assets/esri/core/workers/chunks/e59fdb8f625e9080f097.js +0 -1
  1013. package/assets/esri/core/workers/chunks/e7cbd1b5e4cb32851a5c.js +0 -1
  1014. package/assets/esri/core/workers/chunks/ed1cd90e899dc9c15ee3.js +0 -1
  1015. package/assets/esri/core/workers/chunks/ef3a11f7e047cff6183c.js +0 -1
  1016. package/assets/esri/core/workers/chunks/f79c9b37f2842ed88a9b.js +0 -1
  1017. package/assets/esri/core/workers/chunks/faa0cfee8c1de9b5b78c.js +0 -1
  1018. package/assets/esri/core/workers/chunks/fe6fa1f2c2d54d41645e.js +0 -1
  1019. package/views/2d/engine/webgl/DefaultVertexAttributeLayouts.js +0 -5
  1020. package/views/2d/engine/webgl/shaderGraph/typed/TypedVertexArrayObject.js +0 -5
  1021. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +0 -5
  1022. /package/assets/esri/core/workers/chunks/{d9f206e7ac1fad940be7.js.LICENSE.txt → 3386420c9ae891db5be7.js.LICENSE.txt} +0 -0
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{identity as e,scale as t}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{ONES as i,fromArray as a,create as n}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as o}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{computeTranslationToOriginAndRotation as s}from"../../../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{create as l,size as m}from"../../../../../../geometry/support/aaBoundingBox.js";import{defaultPrimitive as d}from"../../../../../../symbols/support/ObjectSymbol3DLayerResource.js";import{objectSymbolLayerPrimitiveBoundingBox as c,objectSymbolLayerSizeWithResourceSize as p}from"../../../../../../symbols/support/symbolLayerUtils3D.js";import{computeObjectScale as u}from"../../graphicUtils.js";import{isValidPrimitive as h}from"../../primitiveObjectSymbolUtils.js";import{PipelineCommand as y}from"../PipelineCommand.js";import{readMapCoordinates as f,readObjectIds as _}from"../featureData/processingUtils.js";import{createPrimitiveGeometry as C}from"./primitiveObjectUtils.js";import{DefaultMaterialParameters as b,isTransparent as g}from"../../../../webgl-engine/materials/DefaultMaterial.js";import{schematicMRRFactors as x}from"../../../../webgl-engine/materials/pbrUtils.js";class v{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t={physicalBasedRenderingEnabled:!0,slicePlaneEnabled:!1,castShadows:!0},r=this._getLayerOpacity();let a={usePBR:t.physicalBasedRenderingEnabled,isSchematic:!0,mrrFactors:x,ambient:i,diffuse:i,hasSlicePlane:t.slicePlaneEnabled,castShadows:t.castShadows,layerOpacity:r,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(a.externalColor=o,a.isInstanced=!0,this._isPrimitive){const e=new b;e.layerOpacity=r,a={...a,cullFace:w(g(e))}}const n=await e.createMaterial({type:"default",parameters:a}),s=this._symbolLayer.resource;this._primitive=s&&h(s?.primitive)?s.primitive:d;const l=C(this._primitive,n);this._lodRendererId=await e.createLodRenderer(l),this._primitiveMaterialId=n,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,i=r.renderCommandContext,a=[];return null!=e&&a.push(i.destroyLodRenderer(e)),null!=t&&a.push(i.destroyMaterial(t)),new y(i,i.mergeRenderCommandBuffers(a),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:i}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:n}=e;if(0===n)return t.createPipelineCommand();const o=this._isPrimitive,s=this._primitive||d,u=l(c(s)),h=a(m(u)),y=a(p(h,{isPrimitive:o,width:100,depth:null,height:null})),C=new Float64Array(16*n),b=new Float64Array(16*n),g=f(e),x=await i.applyElevationAlignmentTo(g);for(let a=0;a<n;++a){const e=a,t=x[3*a+0],r=x[3*a+1],i=x[3*a+2],n=this._computeGlobalTransform(t,r,i,this._context.viewSpatialReference,T),o=this._computeLocalTransform(y,h,I);this._writeMatrixToTypedBuffer(C,e,o),this._writeMatrixToTypedBuffer(b,e,n)}const v=_(e),w=new Uint8Array(n);e.getVisibilityArray(w);const P={featureIds:new Uint32Array(v),visibility:w,localTransforms:C,globalTransforms:b};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,P))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const a=new Uint8Array(e.featureCount);return e.getVisibilityArray(a),r.createPipelineCommand(i.updateVisibility(t,e.id,a))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,i=this._primitiveMaterialId;if(null==i)return t.createPipelineCommand();const a=this._getLayerOpacity();let n={layerOpacity:a};if(this._isPrimitive){const e=new b;e.layerOpacity=a,n={...n,cullFace:w(g(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:i,parameters:n}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:i,mainThreadDelegate:a}=t,{featureCount:n,id:o}=e;if(null==r||0===n)return t.createPipelineCommand();const s=new Float64Array(16*n),l=f(e),m=await a.applyElevationAlignmentTo(l);for(let d=0;d<n;++d){const e=d,t=m[3*d+0],r=m[3*d+1],i=m[3*d+2],a=this._computeGlobalTransform(t,r,i,this._context.viewSpatialReference,T);this._writeMatrixToTypedBuffer(s,e,a)}return t.createPipelineCommand(i.updateLodInstancesData(r,o,s))}_writeMatrixToTypedBuffer(e,t,r){let i=16*t;for(let a=0;a<16;a++)e[i++]=r[a]}_computeGlobalTransform(e,t,r,i,a){return P[0]=e,P[1]=t,P[2]=r,s(i,P,a,this._context.renderSpatialReference),a}_computeLocalTransform(t,r,i){return e(i),this._applyObjectScale(t,r,i),i}_applyObjectScale(e,r,i){const a=u(e,e,r,this._context.renderCoordsHelper.unitInMeters);1===a[0]&&1===a[1]&&1===a[2]||t(i,i,a)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function w(e){return e?0:2}const P=n(),I=r(),T=r();export{v as ObjectSymbolLayerRenderer};
5
+ import{identity as e,scale as t}from"../../../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as r}from"../../../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{ONES as i,fromArray as a,create as n}from"../../../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{ONES as o}from"../../../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{computeTranslationToOriginAndRotation as s}from"../../../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{create as l,size as m}from"../../../../../../geometry/support/aaBoundingBox.js";import{defaultPrimitive as d}from"../../../../../../symbols/support/ObjectSymbol3DLayerResource.js";import{objectSymbolLayerPrimitiveBoundingBox as c,objectSymbolLayerSizeWithResourceSize as p}from"../../../../../../symbols/support/symbolLayerUtils3D.js";import{computeObjectScale as u}from"../../graphicUtils.js";import{isValidPrimitive as h}from"../../primitiveObjectSymbolUtils.js";import{PipelineCommand as y}from"../PipelineCommand.js";import{readMapCoordinates as f,readObjectIds as _}from"../featureData/processingUtils.js";import{createPrimitiveGeometry as C}from"./primitiveObjectUtils.js";import{DefaultMaterialParameters as b,isTransparent as g}from"../../../../webgl-engine/materials/DefaultMaterial.js";import{schematicMRRFactors as x}from"../../../../webgl-engine/materials/pbrUtils.js";class v{constructor(e,t){this._loaded=!1,this._loadingPromise=null,this._primitiveMaterialId=null,this._lodRendererId=null,this._context=null,this._symbolLayer=null,this._primitive=null,this._context=t,this._symbolLayer=e}_destroy(){this._lodRendererId=null,this._primitiveMaterialId=null}get loaded(){return this._loaded}get _isPrimitive(){return null!=this._primitive}load(){return null==this._loadingPromise&&(this._loadingPromise=this._load()),this._loadingPromise}async _load(){const e=this._context.renderCommandContext,t={physicalBasedRenderingEnabled:!0,slicePlaneEnabled:!1,castShadows:!0},r=this._getLayerOpacity();let a={usePBR:t.physicalBasedRenderingEnabled,isSchematic:!0,mrrFactors:x,ambient:i,diffuse:i,hasSlicePlane:t.slicePlaneEnabled,castShadows:t.castShadows,layerOpacity:r,offsetTransparentBackfaces:!1,screenSizePerspective:{}};if(a.externalColor=o,a.instanced=!0,this._isPrimitive){const e=new b;e.layerOpacity=r,a={...a,cullFace:w(g(e))}}const n=await e.createMaterial({type:"default",parameters:a}),s=this._symbolLayer.resource;this._primitive=s&&h(s?.primitive)?s.primitive:d;const l=C(this._primitive,n);this._lodRendererId=await e.createLodRenderer(l),this._primitiveMaterialId=n,this._loaded=!0}async createDestroyCommand(){const{_lodRendererId:e,_primitiveMaterialId:t,_context:r}=this,i=r.renderCommandContext,a=[];return null!=e&&a.push(i.destroyLodRenderer(e)),null!=t&&a.push(i.destroyMaterial(t)),new y(i,i.mergeRenderCommandBuffers(a),[()=>this._destroy()])}async createAddCommand(e){const t=this._context,{renderCommandContext:r,mainThreadDelegate:i}=t;if(null==this._lodRendererId)throw new Error("expected lod renderer id to not be null");const{featureCount:n}=e;if(0===n)return t.createPipelineCommand();const o=this._isPrimitive,s=this._primitive||d,u=l(c(s)),h=a(m(u)),y=a(p(h,{isPrimitive:o,width:100,depth:null,height:null})),C=new Float64Array(16*n),b=new Float64Array(16*n),g=f(e),x=await i.applyElevationAlignmentTo(g);for(let a=0;a<n;++a){const e=a,t=x[3*a+0],r=x[3*a+1],i=x[3*a+2],n=this._computeGlobalTransform(t,r,i,this._context.viewSpatialReference,j),o=this._computeLocalTransform(y,h,T);this._writeMatrixToTypedBuffer(C,e,o),this._writeMatrixToTypedBuffer(b,e,n)}const v=_(e),w=new Uint8Array(n);e.getVisibilityArray(w);const P={featureIds:new Uint32Array(v),visibility:w,localTransforms:C,globalTransforms:b};return t.createPipelineCommand(r.addLodInstances(this._lodRendererId,e.id,P))}async createRemoveCommand(e){const{_context:t,_lodRendererId:r}=this,i=t.renderCommandContext;return null==r?t.createPipelineCommand():t.createPipelineCommand(i.removeLodInstances(r,e))}async createUpdateVisibilityCommand(e){const{_lodRendererId:t,_context:r}=this,i=r.renderCommandContext;if(null==t)return r.createPipelineCommand();const a=new Uint8Array(e.featureCount);return e.getVisibilityArray(a),r.createPipelineCommand(i.updateVisibility(t,e.id,a))}async createUpdateLayerViewOpacityCommand(e){const{_context:t}=this,r=t.renderCommandContext,i=this._primitiveMaterialId;if(null==i)return t.createPipelineCommand();const a=this._getLayerOpacity();let n={layerOpacity:a};if(this._isPrimitive){const e=new b;e.layerOpacity=a,n={...n,cullFace:w(g(e))}}return t.createPipelineCommand(r.updateMaterial({type:"default",materialId:i,parameters:n}))}async createUpdateElevationCommand(e){const{_context:t,_lodRendererId:r}=this,{renderCommandContext:i,mainThreadDelegate:a}=t,{featureCount:n,id:o}=e;if(null==r||0===n)return t.createPipelineCommand();const s=new Float64Array(16*n),l=f(e),m=await a.applyElevationAlignmentTo(l);for(let d=0;d<n;++d){const e=d,t=m[3*d+0],r=m[3*d+1],i=m[3*d+2],a=this._computeGlobalTransform(t,r,i,this._context.viewSpatialReference,j);this._writeMatrixToTypedBuffer(s,e,a)}return t.createPipelineCommand(i.updateLodInstancesData(r,o,s))}_writeMatrixToTypedBuffer(e,t,r){let i=16*t;for(let a=0;a<16;a++)e[i++]=r[a]}_computeGlobalTransform(e,t,r,i,a){return P[0]=e,P[1]=t,P[2]=r,s(i,P,a,this._context.renderSpatialReference),a}_computeLocalTransform(t,r,i){return e(i),this._applyObjectScale(t,r,i),i}_applyObjectScale(e,r,i){const a=u(e,e,r,this._context.renderCoordsHelper.unitInMeters);1===a[0]&&1===a[1]&&1===a[2]||t(i,i,a)}_getLayerOpacity(){return this._context.layerViewInfo.fullOpacity}}function w(e){return e?0:2}const P=n(),T=r(),j=r();export{v as ObjectSymbolLayerRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../../../core/has.js";import{inputAttributesToAttributesMap as e}from"./symbolizationUtils.js";import{cloneAttributeData as t}from"../../../../webgl-engine/lib/AttributeArray.js";import{createPolySphereData as n,createConeGeometryData as i}from"../../../../webgl-engine/lib/GeometryUtil.js";function a(t,a){const o=(t,n,i=!1)=>({levels:t.map(t=>{const o=e(n(t.tesselation));i&&s(o);return{components:[{attributes:o,objectAndLayerIdColor:void 0,transformation:null,materialId:a,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:t.minScreenSpaceRadius}})});switch(t){case"cone":return o(r,e=>i(1,.5,e,!1),!0);case"sphere":return o([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],e=>n(.5,e,!0));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function s(e){const t=e,n=t.get("position").data,i=t.get("normal").data;if(i){const t=o(e,"normal").data;for(let e=0;e<i.length;e+=3){const n=i[e+1];t[e+1]=-i[e+2],t[e+2]=n}}if(n){const t=o(e,"position").data;for(let e=0;e<n.length;e+=3){const i=n[e+1];t[e+1]=-n[e+2],t[e+2]=i}}}function o(e,n){let i=e.get(n);return i&&!i.exclusive&&(i={...i,exclusive:!0,data:t(i.data)},e.set(n,i)),i}const r=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];export{a as createPrimitiveGeometry};
5
+ import"../../../../../../core/has.js";import{inputAttributesToAttributesMap as e}from"./symbolizationUtils.js";import{cloneAttributeData as t}from"../../../../webgl-engine/lib/AttributeArray.js";import{createPolySphereData as n,createConeGeometryData as i}from"../../../../webgl-engine/lib/GeometryUtil.js";function a(t,a){const o=(t,n,i=!1)=>({levels:t.map(t=>{const o=e(n(t.tesselation));i&&s(o);return{components:[{attributes:o,olidColor:void 0,transformation:null,materialId:a,visibilities:new Uint8Array([1]),objectIds:new Uint32Array([-1])}],minScreenSpaceRadius:t.minScreenSpaceRadius}})});switch(t){case"cone":return o(r,e=>i(1,.5,e,!1),!0);case"sphere":return o([{tesselation:0,minScreenSpaceRadius:0},{tesselation:1,minScreenSpaceRadius:8},{tesselation:2,minScreenSpaceRadius:16},{tesselation:3,minScreenSpaceRadius:50},{tesselation:4,minScreenSpaceRadius:250}],e=>n(.5,e,!0));case"cube":case"inverted-cone":case"cylinder":case"tetrahedron":case"diamond":throw new Error("not implemented");default:return}}function s(e){const t=e,n=t.get("position").data,i=t.get("normal").data;if(i){const t=o(e,"normal").data;for(let e=0;e<i.length;e+=3){const n=i[e+1];t[e+1]=-i[e+2],t[e+2]=n}}if(n){const t=o(e,"position").data;for(let e=0;e<n.length;e+=3){const i=n[e+1];t[e+1]=-n[e+2],t[e+2]=i}}}function o(e,n){let i=e.get(n);return i&&!i.exclusive&&(i={...i,exclusive:!0,data:t(i.data)},e.set(n,i)),i}const r=[{tesselation:6,minScreenSpaceRadius:0},{tesselation:18,minScreenSpaceRadius:7},{tesselation:64,minScreenSpaceRadius:65}];export{a as createPrimitiveGeometry};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{e as t}from"../../../../chunks/earcut.js";import e from"../../../../geometry/Extent.js";import i from"../../../../geometry/Polygon.js";import{getZeroIndexArray as r}from"../../../../geometry/support/Indices.js";import{leastSignificantAxis as o}from"../../../../geometry/support/polygonUtils.js";import{Attribute as n}from"../../webgl-engine/lib/Attribute.js";import{Geometry as a}from"../../webgl-engine/lib/Geometry.js";function u(e,i,r){const n=(i.length>0?i[0]:e.length/3)-1,a=o(e,n,r);if(2!==a){e=e.slice();for(let t=0;t<e.length;t+=3)e[t+a]=e[t+2]}return t(e,i,3)}function s(t){const e=[["position",new n(t.attributeData.position,t.indices,3,!0)]],i=r(t.indices.length);return null!=t.attributeData.colorFeature?e.push(["colorFeatureAttribute",new n([t.attributeData.colorFeature],i,1,!0)]):t.attributeData.color&&e.push(["color",new n(t.attributeData.color,i,4,!0)]),t.attributeData.uvMapSpace&&e.push(["uvMapSpace",new n(t.attributeData.uvMapSpace,t.indices,4,!0)]),t.attributeData.boundingRect&&e.push(["boundingRect",new n(t.attributeData.boundingRect,t.indices,9,!0)]),new a(t.material,e,t.mapPositions,0,t.attributeData.objectAndLayerIdColor)}function c(t,e=null){const i=[["position",new n(t.attributeData.position,t.indices,3,!0)],["uv0",new n(t.attributeData.uv0,t.indices,2,!0)]];return new a(t.material,i,t.mapPositions,0,e)}function p(t){switch(t.type){case"extent":if(t instanceof e)return i.fromExtent(t);break;case"polygon":return t}return null}class l{constructor(t,e,i){this.renderData=t,this.layerViewUid=e,this.graphicUid=i,this.outGeometries=new Array}}export{l as PolygonCreationDataBase,s as createColorGeometry,u as createIndices3D,c as createWaterGeometry,p as geometryAsPolygon};
5
+ import{e as t}from"../../../../chunks/earcut.js";import e from"../../../../geometry/Extent.js";import i from"../../../../geometry/Polygon.js";import{getZeroIndexArray as r}from"../../../../geometry/support/Indices.js";import{leastSignificantAxis as o}from"../../../../geometry/support/polygonUtils.js";import{Attribute as n}from"../../webgl-engine/lib/Attribute.js";import{Geometry as a}from"../../webgl-engine/lib/Geometry.js";function u(e,i,r){const n=(i.length>0?i[0]:e.length/3)-1,a=o(e,n,r);if(2!==a){e=e.slice();for(let t=0;t<e.length;t+=3)e[t+a]=e[t+2]}return t(e,i,3)}function s(t){const e=[["position",new n(t.attributeData.position,t.indices,3,!0)]],i=r(t.indices.length);return null!=t.attributeData.colorFeature?e.push(["colorFeatureAttribute",new n([t.attributeData.colorFeature],i,1,!0)]):t.attributeData.color&&e.push(["color",new n(t.attributeData.color,i,4,!0)]),t.attributeData.uvMapSpace&&e.push(["uvMapSpace",new n(t.attributeData.uvMapSpace,t.indices,4,!0)]),t.attributeData.boundingRect&&e.push(["boundingRect",new n(t.attributeData.boundingRect,t.indices,9,!0)]),new a(t.material,e,t.mapPositions,0,t.attributeData.olidColor)}function c(t,e=null){const i=[["position",new n(t.attributeData.position,t.indices,3,!0)],["uv0",new n(t.attributeData.uv0,t.indices,2,!0)]];return new a(t.material,i,t.mapPositions,0,e)}function l(t){switch(t.type){case"extent":if(t instanceof e)return i.fromExtent(t);break;case"polygon":return t}return null}class p{constructor(t,e,i){this.renderData=t,this.layerViewUid=e,this.graphicUid=i,this.outGeometries=new Array}}export{p as PolygonCreationDataBase,s as createColorGeometry,u as createIndices3D,c as createWaterGeometry,l as geometryAsPolygon};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{disposeMaybe as s}from"../../../../core/maybe.js";import t from"../../../../core/PooledArray.js";import{property as i}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as r}from"../../../../core/accessorSupport/decorators/subclass.js";import{d as n,l as o,g as a,u as l,e as h,k as c}from"../../../../chunks/vec32.js";import{create as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as u}from"../../../../chunks/vec42.js";import{create as m,offset as p,contains as g,containsPoint as _,set as f,positiveInfinity as P,equals as x}from"../../../../geometry/support/aaBoundingBox.js";import{create as b}from"../../../../geometry/support/plane.js";import{fromPoints as S}from"../../../../geometry/support/ray.js";import{PclTarget as w}from"./Intersector.js";import{PointCloudHighlights as z}from"./PointCloudHighlights.js";import{isDepth as R,isColorOrColorEmission as y}from"../../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SyncRenderPlugin as j}from"../../webgl-engine/effects/RenderPlugin.js";import{Default3D as q}from"../../webgl-engine/lib/DefaultVertexAttributeLocations.js";import{IntersectorResult as v}from"../../webgl-engine/lib/IntersectorResult.js";import{VertexArrayObject as A}from"../../webgl-engine/lib/VertexArrayObject.js";import{P as F,g as E}from"../../../../chunks/PointRenderer.glsl.js";import{PointRendererTechnique as M}from"../../webgl-engine/shaders/PointRendererTechnique.js";import{PointRendererTechniqueConfiguration as H}from"../../webgl-engine/shaders/PointRendererTechniqueConfiguration.js";import{BufferObject as I}from"../../../webgl/BufferObject.js";import{PrimitiveType as N,DataType as L}from"../../../webgl/enums.js";import{VertexElementDescriptor as O}from"../../../webgl/VertexElementDescriptor.js";const V=new Map([["positions",[new O("position",3,L.FLOAT,0,12)]],["colors",[new O("color",3,L.UNSIGNED_BYTE,0,3,!0)]]]);let B=class extends j{constructor(e){super(e),this.type=5,this.isGround=!1,this._passParameters=new F,this._highlights=new z({forEachNode:e=>this.forEachNode(e),addHighlight:(e,s,t)=>this._addHighlight(e,s,t),removeHighlight:(e,s)=>this._removeHighlight(e,s)}),this.produces=new Map([[2,e=>!(R(e)||8===e&&this._highlights.empty)],[3,e=>R(e)]]),this.layerViewUid="",this._slicePlaneEnabled=!1,this._configuration=new H,this._nodes=new t}destroy(){this._nodes.prune()}hasHighlight(e){return this._highlights.has(e)}initializeRenderContext(e){this._context=e,e.requestRender()}uninitializeRenderContext(){}intersect(e,s,t,i){const r=d(),f=d(),P=d(),x=d(),z=b(),R=e.camera.perScreenPixelRatio/2,y=e.camera.near;n(f,i,t);const j=1/o(f);a(f,f,j),l(P,f),u(z,f[0],f[1],f[2],-h(f,t));const q=new U,A=new U,F=new Array,E=m(),M=m(this._passParameters.clipBox);p(M,-t[0],-t[1],-t[2],M),this._nodes.forAll(o=>{const a=o.splatSize*this._passParameters.scaleFactor;let l=o.obb.minimumDistancePlane(z),d=o.obb.maximumDistancePlane(z);l-=C(a,l+y,this._passParameters,R,o.isLeaf),d-=C(a,d+y,this._passParameters,R,o.isLeaf);const u=d<0,m=null!=q.dist&&null!=A.dist&&q.dist<l*j&&A.dist>d*j;if(u||m)return;const b=T(a,d+y,this._passParameters,R,o.isLeaf);if(!o.obb.intersectRay(t,f,b))return;const S=b*b;o.obb.toAaBoundingBox(E),p(E,-t[0],-t[1],-t[2],E);const w=!g(M,E);n(x,o.origin,t);const v=o.coordinates.length/3;for(let n=0;n<v;n++){if(r[0]=x[0]+o.coordinates[3*n],r[1]=x[1]+o.coordinates[3*n+1],r[2]=x[2]+o.coordinates[3*n+2],w&&!_(M,r))continue;const l=h(r,f),d=c(r)-l*l;if(d>S)continue;let u=l+y;const m=C(a,u,this._passParameters,R,o.isLeaf);if(l-m<0)continue;u-=m;const p=T(a,u,this._passParameters,R,o.isLeaf);if(d>p*p)continue;const g=(l-m)*j,b=e=>(e.point=D(o,n,e.point),e.dist=g,e.normal=P,e.node=o,e.pointId=n,e.layerViewUid=this.layerViewUid,e);if((null==q.dist||g<q.dist)&&(null==s||s(t,i,g))&&b(q),0!==e.options.store&&(null==A.dist||g>A.dist)&&(null==s||s(t,i,g))&&b(A),2===e.options.store&&(null==s||s(t,i,g))){const e=new U;F.push(b(e))}}});const H=e=>{const{layerViewUid:s,node:t,pointId:i}=e;return new w(e.point,s,i,()=>this.createGraphic(t,i,e.point))},I=(e,s)=>{const t=H(s);e.set(this.type,t,s.dist,s.normal)};if(k(q)){const s=e.results.min;(null==s.distance||q.dist<s.distance)&&I(s,q)}if(k(A)&&0!==e.options.store){const s=e.results.max;(null==s.distance||A.dist>s.distance)&&I(s,A)}if(2===e.options.store){const s=S(t,i);for(const t of F){const i=new v(s);I(i,t),e.results.all.push(i)}}}acquireTechniques(e){const s=8===e.output;return 0!==this._nodes.length&&(y(e.output)||R(e.output)&&3===e.bind.slot||s)?(this._nodes.forAll(s=>this._initNode(e,s)),this._configuration.drawScreenSize=this._passParameters.drawScreenSpace,this._configuration.useFixedSizes=this._passParameters.useFixedSizes,this._configuration.hasSlicePlane=this._slicePlaneEnabled,this._configuration.hasOccludees=e.bind.hasOccludees,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasHighlightMixTexture=s&&null!=e.bind.highlightMixTexture,this._configuration.output=e.output,this._context.techniques.get(M,this._configuration)):null}render(e,s){const{rctx:t,bind:i,output:r}=e,n=t.bindTechnique(s,i,this._passParameters),o=8===r,a=i.highlight?.name??null;o&&!a||this._nodes.forAll(s=>{0===s.coordinates.length||o&&!s.highlightMap.has(a)||(n.bindDraw(i,this._passParameters,s),t.bindVAO(s.vao),o?this._renderHighlightFragments(e,s):t.drawArrays(N.POINTS,0,s.coordinates.length/3))})}_renderHighlightFragments(e,s){const{highlightMap:t}=s,{rctx:i,bind:r}=e,{highlight:n}=r;if(!n)return;const o=n.name,a=t.get(o);if(!a||0===a.length)return;const{highlightOrderMap:l,highlightLevel:h}=r;if(null==h)return;for(const g of t.keys())if(g!==o){const e=l.get(g);if(void 0!==e&&e>h)return}let c=0,d=a[0].componentIndex,u=d+1;const m=()=>{for(;c<a.length&&a[c].id.highlightName!==o;)d=a[c].componentIndex,++c;u=d+1};m();const p=(e,s)=>{const t=s-e;t>0&&i.drawArrays(N.POINTS,e,t)};for(;c<a.length;){const e=a[c];if(e.id.highlightName!==o){p(d,u),++c,m();continue}const s=e.componentIndex;s!==u&&(p(d,u),d=s),u=s+1,++c}p(d,u)}set useFixedSizes(e){this._passParameters.useFixedSizes!==e&&(this._passParameters.useFixedSizes=e,this._requestRender())}get useFixedSizes(){return this._passParameters.useFixedSizes}set scaleFactor(e){this._passParameters.scaleFactor!==e&&(this._passParameters.scaleFactor=e,this._requestRender())}get scaleFactor(){return this._passParameters.scaleFactor}set minSizePx(e){this._passParameters.minSizePx!==e&&(this._passParameters.minSizePx=e,this._requestRender())}get minSizePx(){return this._passParameters.minSizePx}set useRealWorldSymbolSizes(e){this._passParameters.useRealWorldSymbolSizes!==e&&(this._passParameters.useRealWorldSymbolSizes=e,this._requestRender())}get useRealWorldSymbolSizes(){return this._passParameters.useRealWorldSymbolSizes}set size(e){this._passParameters.size!==e&&(this._passParameters.size=e,this._requestRender())}get size(){return this._passParameters.size}set sizePx(e){this._passParameters.sizePx!==e&&(this._passParameters.sizePx=e,this._requestRender())}get sizePx(){return this._passParameters.sizePx}set clippingBox(e){f(this._passParameters.clipBox,e||P)}get _clippingEnabled(){return!x(this._passParameters.clipBox,P,(e,s)=>e===s)}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this._requestRender())}addNode(e){this._nodes.push(e),this._highlights.nodeAdded(e),this._requestRender()}removeNode(e){let t=null;return this._nodes.filterInPlace(i=>i.id!==e||(t=i,i.vao=s(i.vao),this._highlights.nodeRemoved(i),!1)),this._requestRender(),t}forEachNode(e){this._nodes.forAll(e)}removeAll(){this._nodes.forAll(e=>e.vao=s(e.vao)),this._highlights.removeAll(),this._nodes.clear(),this._requestRender()}highlight(e,s){return this._highlights.add(e,s)}_addHighlight(e,s,t){e.addHighlight(s,t),this._requestRender()}_removeHighlight(e,s){e.removeHighlight(s),this._requestRender()}_initNode(e,s){s.vao??=new A(e.rctx,q,V,new Map([["positions",I.createVertex(e.rctx,35044,s.coordinates)],["colors",I.createVertex(e.rctx,35044,s.rgb)]]))}_requestRender(){this._context&&this._context.requestRender()}};function T(e,s,t,i,r){if(t.drawScreenSpace)return t.fixedSize*s*i;const n=E(r)*s*i;return t.useFixedSizes?Math.min(t.fixedSize/2,n):t.screenMinSize>0?Math.min(Math.max(t.screenMinSize*s*i,e/2),n):Math.min(e/2,n)}function C(e,s,t,i,r){return t.drawScreenSpace?0:T(e,s,t,i,r)}function D(e,s,t){return null==t&&(t=d()),t[0]=e.origin[0]+e.coordinates[3*s],t[1]=e.origin[1]+e.coordinates[3*s+1],t[2]=e.origin[2]+e.coordinates[3*s+2],t}e([i({constructOnly:!0})],B.prototype,"createGraphic",void 0),B=e([r("esri.views.3d.layers.i3s.PointCloudRenderer")],B);class U{constructor(){this.node=null,this.pointId=null,this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}function k(e){return null!=e.dist&&null!=e.point&&null!=e.pointId&&null!=e.node}export{B as PointCloudRenderer};
5
+ import{__decorate as e}from"tslib";import{disposeMaybe as s}from"../../../../core/maybe.js";import t from"../../../../core/PooledArray.js";import{property as i}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as r}from"../../../../core/accessorSupport/decorators/subclass.js";import{d as n,l as o,g as a,u as l,e as h,k as c}from"../../../../chunks/vec32.js";import{create as d}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as u}from"../../../../chunks/vec42.js";import{create as m,offset as p,contains as g,containsPoint as _,set as f,positiveInfinity as P,equals as x}from"../../../../geometry/support/aaBoundingBox.js";import{create as b}from"../../../../geometry/support/plane.js";import{fromPoints as S}from"../../../../geometry/support/ray.js";import{PclTarget as w}from"./Intersector.js";import{PointCloudHighlights as z}from"./PointCloudHighlights.js";import{isDepth as R,isColorOrColorEmission as y}from"../../webgl-engine/core/shaderLibrary/ShaderOutput.js";import{SyncRenderPlugin as j}from"../../webgl-engine/effects/RenderPlugin.js";import{IntersectorResult as v}from"../../webgl-engine/lib/IntersectorResult.js";import{VertexArrayObject as q}from"../../webgl-engine/lib/VertexArrayObject.js";import{P as A,g as F}from"../../../../chunks/PointRenderer.glsl.js";import{PointRendererTechnique as E,positionsLayout as H,colorsLayout as M}from"../../webgl-engine/shaders/PointRendererTechnique.js";import{PointRendererTechniqueConfiguration as I}from"../../webgl-engine/shaders/PointRendererTechniqueConfiguration.js";import{BufferObject as N}from"../../../webgl/BufferObject.js";import{PrimitiveType as V}from"../../../webgl/enums.js";import{VertexBuffer as B}from"../../../webgl/VertexBuffer.js";let L=class extends j{constructor(e){super(e),this.type=5,this.isGround=!1,this._passParameters=new A,this._highlights=new z({forEachNode:e=>this.forEachNode(e),addHighlight:(e,s,t)=>this._addHighlight(e,s,t),removeHighlight:(e,s)=>this._removeHighlight(e,s)}),this.produces=new Map([[2,e=>!(R(e)||8===e&&this._highlights.empty)],[3,e=>R(e)]]),this.layerViewUid="",this._slicePlaneEnabled=!1,this._configuration=new I,this._nodes=new t}destroy(){this._nodes.prune()}hasHighlight(e){return this._highlights.has(e)}initializeRenderContext(e){this._context=e,e.requestRender()}uninitializeRenderContext(){}intersect(e,s,t,i){const r=d(),f=d(),P=d(),x=d(),z=b(),R=e.camera.perScreenPixelRatio/2,y=e.camera.near;n(f,i,t);const j=1/o(f);a(f,f,j),l(P,f),u(z,f[0],f[1],f[2],-h(f,t));const q=new k,A=new k,F=new Array,E=m(),H=m(this._passParameters.clipBox);p(H,-t[0],-t[1],-t[2],H),this._nodes.forAll(o=>{const a=o.splatSize*this._passParameters.scaleFactor;let l=o.obb.minimumDistancePlane(z),d=o.obb.maximumDistancePlane(z);l-=T(a,l+y,this._passParameters,R,o.isLeaf),d-=T(a,d+y,this._passParameters,R,o.isLeaf);const u=d<0,m=null!=q.dist&&null!=A.dist&&q.dist<l*j&&A.dist>d*j;if(u||m)return;const b=O(a,d+y,this._passParameters,R,o.isLeaf);if(!o.obb.intersectRay(t,f,b))return;const S=b*b;o.obb.toAaBoundingBox(E),p(E,-t[0],-t[1],-t[2],E);const w=!g(H,E);n(x,o.origin,t);const v=o.coordinates.length/3;for(let n=0;n<v;n++){if(r[0]=x[0]+o.coordinates[3*n],r[1]=x[1]+o.coordinates[3*n+1],r[2]=x[2]+o.coordinates[3*n+2],w&&!_(H,r))continue;const l=h(r,f),d=c(r)-l*l;if(d>S)continue;let u=l+y;const m=T(a,u,this._passParameters,R,o.isLeaf);if(l-m<0)continue;u-=m;const p=O(a,u,this._passParameters,R,o.isLeaf);if(d>p*p)continue;const g=(l-m)*j,b=e=>(e.point=C(o,n,e.point),e.dist=g,e.normal=P,e.node=o,e.pointId=n,e.layerViewUid=this.layerViewUid,e);if((null==q.dist||g<q.dist)&&(null==s||s(t,i,g))&&b(q),0!==e.options.store&&(null==A.dist||g>A.dist)&&(null==s||s(t,i,g))&&b(A),2===e.options.store&&(null==s||s(t,i,g))){const e=new k;F.push(b(e))}}});const M=e=>{const{layerViewUid:s,node:t,pointId:i}=e;return new w(e.point,s,i,()=>this.createGraphic(t,i,e.point))},I=(e,s)=>{const t=M(s);e.set(this.type,t,s.dist,s.normal)};if(U(q)){const s=e.results.min;(null==s.distance||q.dist<s.distance)&&I(s,q)}if(U(A)&&0!==e.options.store){const s=e.results.max;(null==s.distance||A.dist>s.distance)&&I(s,A)}if(2===e.options.store){const s=S(t,i);for(const t of F){const i=new v(s);I(i,t),e.results.all.push(i)}}}acquireTechniques(e){const s=8===e.output;return 0!==this._nodes.length&&(y(e.output)||R(e.output)&&3===e.bind.slot||s)?(this._nodes.forAll(s=>this._initNode(e,s)),this._configuration.drawScreenSize=this._passParameters.drawScreenSpace,this._configuration.useFixedSizes=this._passParameters.useFixedSizes,this._configuration.hasSlicePlane=this._slicePlaneEnabled,this._configuration.hasOccludees=e.bind.hasOccludees,this._configuration.clippingEnabled=this._clippingEnabled,this._configuration.hasHighlightMixTexture=s&&null!=e.bind.highlightMixTexture,this._configuration.output=e.output,this._context.techniques.get(E,this._configuration)):null}render(e,s){const{rctx:t,bind:i,output:r}=e,n=t.bindTechnique(s,i,this._passParameters),o=8===r,a=i.highlight?.name??null;o&&!a||this._nodes.forAll(s=>{0===s.coordinates.length||null==s.vao||o&&!s.highlightMap.has(a)||(n.assertCompatibleVertexAttributeLocations(s.vao),n.bindDraw(i,this._passParameters,s),t.bindVAO(s.vao),o?this._renderHighlightFragments(e,s):t.drawArrays(V.POINTS,0,s.coordinates.length/3))})}_renderHighlightFragments(e,s){const{highlightMap:t}=s,{rctx:i,bind:r}=e,{highlight:n}=r;if(!n)return;const o=n.name,a=t.get(o);if(!a||0===a.length)return;const{highlightOrderMap:l,highlightLevel:h}=r;if(null==h)return;for(const g of t.keys())if(g!==o){const e=l.get(g);if(void 0!==e&&e>h)return}let c=0,d=a[0].componentIndex,u=d+1;const m=()=>{for(;c<a.length&&a[c].id.highlightName!==o;)d=a[c].componentIndex,++c;u=d+1};m();const p=(e,s)=>{const t=s-e;t>0&&i.drawArrays(V.POINTS,e,t)};for(;c<a.length;){const e=a[c];if(e.id.highlightName!==o){p(d,u),++c,m();continue}const s=e.componentIndex;s!==u&&(p(d,u),d=s),u=s+1,++c}p(d,u)}set useFixedSizes(e){this._passParameters.useFixedSizes!==e&&(this._passParameters.useFixedSizes=e,this._requestRender())}get useFixedSizes(){return this._passParameters.useFixedSizes}set scaleFactor(e){this._passParameters.scaleFactor!==e&&(this._passParameters.scaleFactor=e,this._requestRender())}get scaleFactor(){return this._passParameters.scaleFactor}set minSizePx(e){this._passParameters.minSizePx!==e&&(this._passParameters.minSizePx=e,this._requestRender())}get minSizePx(){return this._passParameters.minSizePx}set useRealWorldSymbolSizes(e){this._passParameters.useRealWorldSymbolSizes!==e&&(this._passParameters.useRealWorldSymbolSizes=e,this._requestRender())}get useRealWorldSymbolSizes(){return this._passParameters.useRealWorldSymbolSizes}set size(e){this._passParameters.size!==e&&(this._passParameters.size=e,this._requestRender())}get size(){return this._passParameters.size}set sizePx(e){this._passParameters.sizePx!==e&&(this._passParameters.sizePx=e,this._requestRender())}get sizePx(){return this._passParameters.sizePx}set clippingBox(e){f(this._passParameters.clipBox,e||P)}get _clippingEnabled(){return!x(this._passParameters.clipBox,P,(e,s)=>e===s)}get slicePlaneEnabled(){return this._slicePlaneEnabled}set slicePlaneEnabled(e){this._slicePlaneEnabled!==e&&(this._slicePlaneEnabled=e,this._requestRender())}addNode(e){this._nodes.push(e),this._highlights.nodeAdded(e),this._requestRender()}removeNode(e){let t=null;return this._nodes.filterInPlace(i=>i.id!==e||(t=i,i.vao=s(i.vao),this._highlights.nodeRemoved(i),!1)),this._requestRender(),t}forEachNode(e){this._nodes.forAll(e)}removeAll(){this._nodes.forAll(e=>e.vao=s(e.vao)),this._highlights.removeAll(),this._nodes.clear(),this._requestRender()}highlight(e,s){return this._highlights.add(e,s)}_addHighlight(e,s,t){e.addHighlight(s,t),this._requestRender()}_removeHighlight(e,s){e.removeHighlight(s),this._requestRender()}_initNode(e,s){s.vao??=new q(e.rctx,new Map([["positions",new B(H,N.createVertex(e.rctx,35044,s.coordinates))],["colors",new B(M,N.createVertex(e.rctx,35044,s.rgb))]]))}_requestRender(){this._context&&this._context.requestRender()}};function O(e,s,t,i,r){if(t.drawScreenSpace)return t.fixedSize*s*i;const n=F(r)*s*i;return t.useFixedSizes?Math.min(t.fixedSize/2,n):t.screenMinSize>0?Math.min(Math.max(t.screenMinSize*s*i,e/2),n):Math.min(e/2,n)}function T(e,s,t,i,r){return t.drawScreenSpace?0:O(e,s,t,i,r)}function C(e,s,t){return null==t&&(t=d()),t[0]=e.origin[0]+e.coordinates[3*s],t[1]=e.origin[1]+e.coordinates[3*s+1],t[2]=e.origin[2]+e.coordinates[3*s+2],t}e([i({constructOnly:!0})],L.prototype,"createGraphic",void 0),L=e([r("esri.views.3d.layers.i3s.PointCloudRenderer")],L);class k{constructor(){this.node=null,this.pointId=null,this.point=null,this.dist=null,this.normal=null,this.layerViewUid=""}}function U(e){return null!=e.dist&&null!=e.point&&null!=e.pointId&&null!=e.node}export{L as PointCloudRenderer};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import"../../../../core/has.js";import{clamp as t}from"../../../../core/mathUtils.js";import{fromMat4 as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{identity as i,copy as s,set as r,multiply as n,scale as l,translate as a,rotateZ as u,rotateX as c,rotateY as f}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{i as m,c as d}from"../../../../chunks/vec32.js";import{ones as z,zeros as v,create as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{c as y}from"../../../../chunks/vec42.js";import{ones as S}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{meterIn as b}from"../../../../renderers/support/lengthUtils.js";import{isString as x,isStringOrNull as g,isNumber as C}from"../../../../support/guards.js";import{debugFlags as k}from"../../support/debugFlags.js";import{olidEnabled as w}from"../../webgl-engine/effects/geometry/olidUtils.js";import{NoParameters as j}from"../../../webgl/NoParameters.js";class V{constructor(t){this.field=t}}class M extends V{constructor(t){super(t),this.minSize=[0,0,0],this.maxSize=[0,0,0],this.offset=[0,0,0],this.factor=[0,0,0],this.type=[0,0,0],this.fallback=[0,0,0]}}class I extends V{constructor(t){super(t),this.colors=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.values=[0,0,0,0,0,0,0,0],this.fallback=[0,0,0,0]}}class N extends V{constructor(t,o=0){super(t),this.fallback=o,this.values=[0,0,0,0,0,0,0,0],this.opacityValues=[0,0,0,0,0,0,0,0]}}class P extends V{constructor(t){super(t),this.offset=[0,0,0],this.factor=[1,1,1],this.type=[0,0,0]}}class T{}function U(t){return null!=t}function D(t,o){t&&t.push(o)}function F(t,o,e,i=p()){const s=t||0,r=o||0,n=e||0;return 0!==s&&u(i,i,-s/180*Math.PI),0!==r&&c(i,i,r/180*Math.PI),0!==n&&f(i,i,n/180*Math.PI),i}function A(t,o,e,i,s){const r=t.minSize,n=t.maxSize;if(t.useSymbolValue){const t=i.symbolSize[e];return o.minSize[e]=t,o.maxSize[e]=t,o.offset[e]=o.minSize[e],o.factor[e]=0,o.type[e]=1,!0}if(U(t.field))return U(t.stops)?2===t.stops.length&&C(t.stops[0].size)&&C(t.stops[1].size)?(R(t.stops[0].size,t.stops[1].size,t.stops[0].value,t.stops[1].value,o,e),o.type[e]=1,!0):(D(s,"Could not convert size info: stops only supported with 2 elements"),!1):C(r)&&C(n)&&U(t.minDataValue)&&U(t.maxDataValue)?(R(r,n,t.minDataValue,t.maxDataValue,o,e),o.type[e]=1,!0):"unknown"===t.valueUnit?(D(s,"Could not convert size info: proportional size not supported"),!1):null!=b[t.valueUnit]?(o.minSize[e]=-1/0,o.maxSize[e]=1/0,o.offset[e]=0,o.factor[e]=1/b[t.valueUnit],o.type[e]=1,!0):(D(s,"Could not convert size info: scale-dependent size not supported"),!1);if(!U(t.field)){if(t.stops?.[0]&&C(t.stops[0].size))return o.minSize[e]=t.stops[0].size,o.maxSize[e]=t.stops[0].size,o.offset[e]=o.minSize[e],o.factor[e]=0,o.type[e]=1,!0;if(C(r))return o.minSize[e]=r,o.maxSize[e]=r,o.offset[e]=r,o.factor[e]=0,o.type[e]=1,!0}return D(s,"Could not convert size info: unsupported variant of sizeInfo"),!1}function R(t,o,e,i,s,r){const n=Math.abs(i-e)>0?(o-t)/(i-e):0;s.minSize[r]=n>0?t:o,s.maxSize[r]=n>0?o:t,s.offset[r]=t-e*n,s.factor[r]=n}function E(t,o,e,i){if(t.normalizationField||t.valueRepresentation)return D(i,"Could not convert size info: unsupported property"),null;if(!g(t.field))return D(i,"Could not convert size info: field is not a string"),null;if(o.size){if(t.field)if(o.size.field){if(t.field!==o.size.field)return D(i,"Could not convert size info: multiple fields in use"),null}else o.size.field=t.field}else o.size=new M(t.field),d(o.size.fallback,e.fallbackSize);let s;switch(t.axis){case"width":return s=A(t,o.size,0,e,i),s?o:null;case"height":return s=A(t,o.size,2,e,i),s?o:null;case"depth":return s=A(t,o.size,1,e,i),s?o:null;case"width-and-depth":return s=A(t,o.size,0,e,i),s&&A(t,o.size,1,e,i),s?o:null;case null:case void 0:case"all":return s=A(t,o.size,0,e,i),s=s&&A(t,o.size,1,e,i),s=s&&A(t,o.size,2,e,i),s?o:null;default:return D(i,`Could not convert size info: unknown axis "${t.axis}""`),null}}function _(t,o,e){for(let s=0;s<3;++s){let e=o.unitInMeters;1===t.type[s]&&(e*=o.modelSize[s],t.type[s]=2),t.minSize[s]=t.minSize[s]/e,t.maxSize[s]=t.maxSize[s]/e,t.offset[s]=t.offset[s]/e,t.factor[s]=t.factor[s]/e}let i;if(0!==t.type[0])i=0;else if(0!==t.type[1])i=1;else{if(0===t.type[2])return D(e,"No size axis contains a valid size or scale"),!1;i=2}for(let s=0;s<3;++s)0===t.type[s]&&(t.minSize[s]=t.minSize[i],t.maxSize[s]=t.maxSize[i],t.offset[s]=t.offset[i],t.factor[s]=t.factor[i],t.type[s]=t.type[i]);return!0}function q(t,o,e){t[4*o]=e.r/255,t[4*o+1]=e.g/255,t[4*o+2]=e.b/255,t[4*o+3]=e.a}function $(t,o,e,i){if(t.normalizationField)return D(i,"Could not convert color info: unsupported property"),null;if(x(t.field)){if(!t.stops)return D(i,"Could not convert color info: missing stops or colors"),null;{if(t.stops.length>8)return D(i,"Could not convert color info: too many color stops"),null;o.color=new I(t.field);const s=t.stops;for(let t=0;t<8;++t){const e=s[Math.min(t,s.length-1)];o.color.values[t]=e.value,q(o.color.colors,t,e.color)}y(o.color.fallback,e.fallbackColor)}}else{if(!(t.stops&&t.stops.length>=0))return D(i,"Could not convert color info: no field and no colors/stops"),null;{const i=t.stops&&t.stops.length>=0&&t.stops[0].color;o.color=new I(null);for(let t=0;t<8;t++)o.color.values[t]=1/0,q(o.color.colors,t,i);y(o.color.fallback,e.fallbackColor)}}return o}function B(t,o,e,i){if(t.normalizationField)return D(i,"Could not convert opacity info: unsupported property"),null;if(x(t.field)){if(!t.stops)return D(i,"Could not convert opacity info: missing stops or opacities"),null;{if(t.stops.length>8)return D(i,"Could not convert opacity info: too many opacity stops"),null;o.opacity=new N(t.field,e.fallbackColor[3]);const s=t.stops;for(let t=0;t<8;++t){const e=s[Math.min(t,s.length-1)];o.opacity.values[t]=e.value,o.opacity.opacityValues[t]=e.opacity}}}else{if(!(t.stops&&t.stops.length>=0))return D(i,"Could not convert opacity info: no field and no opacities/stops"),null;{const i=t.stops&&t.stops.length>=0?t.stops[0].opacity:0;o.opacity={field:null,values:[0,0,0,0,0,0,0,0],opacityValues:[0,0,0,0,0,0,0,0],fallback:e.fallbackColor[3]};for(let t=0;t<8;t++)o.opacity.values[t]=1/0,o.opacity.opacityValues[t]=i}}return o}function L(t,o,e){const i=2===e&&"arithmetic"===t.rotationType;o.offset[e]=i?90:0,o.factor[e]=i?-1:1,o.type[e]=1}function O(t,o,e){if(!x(t.field))return D(e,"Could not convert rotation info: field is not a string"),null;if(o.rotation){if(t.field)if(o.rotation.field){if(t.field!==o.rotation.field)return D(e,"Could not convert rotation info: multiple fields in use"),null}else o.rotation.field=t.field}else o.rotation={field:t.field,offset:[0,0,0],factor:[1,1,1],type:[0,0,0]};switch(t.axis){case"tilt":return L(t,o.rotation,0),o;case"roll":return L(t,o.rotation,1),o;case null:case void 0:case"heading":return L(t,o.rotation,2),o;default:return D(e,`Could not convert rotation info: unknown axis "${t.axis}""`),null}}class G{constructor({supports:t,modelSize:o,symbolSize:e,unitInMeters:i,anchor:s,scale:r,rotation:n,fallbackColor:l,fallbackSize:a}){this.supports=t,this.modelSize=o??z(),this.symbolSize=e??z(),this.unitInMeters=i??1,this.anchor=s??v(),this.scale=r??z(),this.rotation=n??v(),this.fallbackColor=l??S(),this.fallbackSize=a??z()}}function H(t,o,e){if(!t)return null;const i=t.reduce((t,i)=>{if(!t)return t;if(i.valueExpression)return D(e,"Could not convert visual variables: arcade expressions not supported"),null;switch(i.type){case"size":return o.supports.size?E(i,t,o,e):t;case"color":return o.supports.color?$(i,t,o,e):t;case"opacity":return o.supports.opacity?B(i,t,o,e):null;case"rotation":return o.supports.rotation?O(i,t,e):t;default:return null}},new T);return!(t.length>0&&i)||i.size||i.color||i.opacity||i.rotation?i?.size&&!_(i.size,o,e)?null:i:null}class J{constructor(t,o,e){this.visualVariables=t,this.materialParameters=o,this.requiresShaderTransformation=e}}function K(t,o){if(!t)return null;if(w())return null;if(k.TESTS_DISABLE_FAST_UPDATES)return null;const e=H(t.visualVariables,o);return e?new J(e,Y(e,o),!!e.size):null}function Q(t,o,e){if(!o||!t)return!1;const i=t.visualVariables,s=H(o.visualVariables,e);return!!s&&(!!(W(i.size,s.size,"size")&&W(i.color,s.color,"color")&&W(i.rotation,s.rotation,"rotation")&&W(i.opacity,s.opacity,"opacity"))&&(t.visualVariables=s,t.materialParameters=Y(s,e),t.requiresShaderTransformation=!!s.size,!0))}function W(t,o,e){if(!!t!=!!o)return!1;if(t&&t.field!==o?.field)return!1;if(t&&"rotation"===e){const e=t,i=o;for(let t=0;t<3;t++)if(e.type[t]!==i.type[t]||e.offset[t]!==i.offset[t]||e.factor[t]!==i.factor[t])return!1}return!0}class X extends j{constructor(t){super(),this.vvSize=t?.size??null,this.vvColor=t?.color??null,this.vvOpacity=t?.opacity??null}}function Y(t,s){const r=new X(t);return r.vvSize&&(r.vvSymbolAnchor=s.anchor,i(st),F(s.rotation[2],s.rotation[0],s.rotation[1],st),r.vvSymbolRotationMatrix=r.vvSymbolRotationMatrix||e(),o(r.vvSymbolRotationMatrix,st)),r}function Z(t,o,e){if(!t.vvSize)return e;s(et,e);const i=t.vvSymbolRotationMatrix;return r(st,i[0],i[1],i[2],0,i[3],i[4],i[5],0,i[6],i[7],i[8],0,0,0,0,1),n(et,et,st),tt(it,t,o),l(et,et,it),a(et,et,t.vvSymbolAnchor),et}function tt(o,e,i){if(!e.vvSize)return m(o,1,1,1),o;if(Number.isNaN(i[0]))return d(o,e.vvSize.fallback);for(let s=0;s<3;++s){const r=e.vvSize.offset[s]+i[0]*e.vvSize.factor[s];o[s]=t(r,e.vvSize.minSize[s],e.vvSize.maxSize[s])}return o}function ot(t,o){const e=null==t?0:o.attributes[t];return"number"==typeof e&&isFinite(e)?e:NaN}const et=p(),it=h(),st=p();export{G as ConvertOptions,I as FastColorInfo,N as FastOpacityInfo,P as FastRotationInfo,M as FastSizeInfo,J as FastSymbolUpdatesState,T as FastVisualVariables,X as VisualVariablesParameters,H as convertVisualVariables,Z as evaluateModelTransform,tt as evaluateModelTransformScale,ot as getAttributeValue,Y as getMaterialParameters,K as initFastSymbolUpdatesState,Q as updateFastSymbolUpdatesState};
5
+ import"../../../../core/has.js";import{clamp as t}from"../../../../core/mathUtils.js";import{fromMat4 as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{identity as i,copy as s,set as r,multiply as n,scale as l,translate as a,rotateZ as u,rotateX as c,rotateY as f}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as p}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{i as m,c as d}from"../../../../chunks/vec32.js";import{ones as z,zeros as v,create as h}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{c as y}from"../../../../chunks/vec42.js";import{ones as S}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{meterIn as b}from"../../../../renderers/support/lengthUtils.js";import{isString as x,isStringOrNull as g,isNumber as C}from"../../../../support/guards.js";import{debugFlags as k}from"../../support/debugFlags.js";import{olidEnabled as V}from"../../webgl-engine/effects/geometry/olidUtils.js";import{NoParameters as w}from"../../../webgl/NoParameters.js";class j{constructor(t){this.field=t}}class M extends j{constructor(t){super(t),this.minSize=[0,0,0],this.maxSize=[0,0,0],this.offset=[0,0,0],this.factor=[0,0,0],this.type=[0,0,0],this.fallback=[0,0,0]}}class I extends j{constructor(t){super(t),this.colors=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.values=[0,0,0,0,0,0,0,0],this.fallback=[0,0,0,0]}}class N extends j{constructor(t,o=0){super(t),this.fallback=o,this.values=[0,0,0,0,0,0,0,0],this.opacityValues=[0,0,0,0,0,0,0,0]}}class P extends j{constructor(t){super(t),this.offset=[0,0,0],this.factor=[1,1,1],this.type=[0,0,0]}}class T{}function U(t){return null!=t}function D(t,o){t&&t.push(o)}function F(t,o,e,i=p()){const s=t||0,r=o||0,n=e||0;return 0!==s&&u(i,i,-s/180*Math.PI),0!==r&&c(i,i,r/180*Math.PI),0!==n&&f(i,i,n/180*Math.PI),i}function A(t,o,e,i,s){const r=t.minSize,n=t.maxSize;if(t.useSymbolValue){const t=i.symbolSize[e];return o.minSize[e]=t,o.maxSize[e]=t,o.offset[e]=o.minSize[e],o.factor[e]=0,o.type[e]=1,!0}if(U(t.field))return U(t.stops)?2===t.stops.length&&C(t.stops[0].size)&&C(t.stops[1].size)?(R(t.stops[0].size,t.stops[1].size,t.stops[0].value,t.stops[1].value,o,e),o.type[e]=1,!0):(D(s,"Could not convert size info: stops only supported with 2 elements"),!1):C(r)&&C(n)&&U(t.minDataValue)&&U(t.maxDataValue)?(R(r,n,t.minDataValue,t.maxDataValue,o,e),o.type[e]=1,!0):"unknown"===t.valueUnit?(D(s,"Could not convert size info: proportional size not supported"),!1):null!=b[t.valueUnit]?(o.minSize[e]=-1/0,o.maxSize[e]=1/0,o.offset[e]=0,o.factor[e]=1/b[t.valueUnit],o.type[e]=1,!0):(D(s,"Could not convert size info: scale-dependent size not supported"),!1);if(!U(t.field)){if(t.stops?.[0]&&C(t.stops[0].size))return o.minSize[e]=t.stops[0].size,o.maxSize[e]=t.stops[0].size,o.offset[e]=o.minSize[e],o.factor[e]=0,o.type[e]=1,!0;if(C(r))return o.minSize[e]=r,o.maxSize[e]=r,o.offset[e]=r,o.factor[e]=0,o.type[e]=1,!0}return D(s,"Could not convert size info: unsupported variant of sizeInfo"),!1}function R(t,o,e,i,s,r){const n=Math.abs(i-e)>0?(o-t)/(i-e):0;s.minSize[r]=n>0?t:o,s.maxSize[r]=n>0?o:t,s.offset[r]=t-e*n,s.factor[r]=n}function E(t,o,e,i){if(t.normalizationField||t.valueRepresentation)return D(i,"Could not convert size info: unsupported property"),null;if(!g(t.field))return D(i,"Could not convert size info: field is not a string"),null;if(o.size){if(t.field)if(o.size.field){if(t.field!==o.size.field)return D(i,"Could not convert size info: multiple fields in use"),null}else o.size.field=t.field}else o.size=new M(t.field),d(o.size.fallback,e.fallbackSize);let s;switch(t.axis){case"width":return s=A(t,o.size,0,e,i),s?o:null;case"height":return s=A(t,o.size,2,e,i),s?o:null;case"depth":return s=A(t,o.size,1,e,i),s?o:null;case"width-and-depth":return s=A(t,o.size,0,e,i),s&&A(t,o.size,1,e,i),s?o:null;case null:case void 0:case"all":return s=A(t,o.size,0,e,i),s=s&&A(t,o.size,1,e,i),s=s&&A(t,o.size,2,e,i),s?o:null;default:return D(i,`Could not convert size info: unknown axis "${t.axis}""`),null}}function O(t,o,e){for(let s=0;s<3;++s){let e=o.unitInMeters;1===t.type[s]&&(e*=o.modelSize[s],t.type[s]=2),t.minSize[s]=t.minSize[s]/e,t.maxSize[s]=t.maxSize[s]/e,t.offset[s]=t.offset[s]/e,t.factor[s]=t.factor[s]/e}let i;if(0!==t.type[0])i=0;else if(0!==t.type[1])i=1;else{if(0===t.type[2])return D(e,"No size axis contains a valid size or scale"),!1;i=2}for(let s=0;s<3;++s)0===t.type[s]&&(t.minSize[s]=t.minSize[i],t.maxSize[s]=t.maxSize[i],t.offset[s]=t.offset[i],t.factor[s]=t.factor[i],t.type[s]=t.type[i]);return!0}function _(t,o,e){t[4*o]=e.r/255,t[4*o+1]=e.g/255,t[4*o+2]=e.b/255,t[4*o+3]=e.a}function q(t,o,e,i){if(t.normalizationField)return D(i,"Could not convert color info: unsupported property"),null;if(x(t.field)){if(!t.stops)return D(i,"Could not convert color info: missing stops or colors"),null;{if(t.stops.length>8)return D(i,"Could not convert color info: too many color stops"),null;o.color=new I(t.field);const s=t.stops;for(let t=0;t<8;++t){const e=s[Math.min(t,s.length-1)];o.color.values[t]=e.value,_(o.color.colors,t,e.color)}y(o.color.fallback,e.fallbackColor)}}else{if(!(t.stops&&t.stops.length>=0))return D(i,"Could not convert color info: no field and no colors/stops"),null;{const i=t.stops&&t.stops.length>=0&&t.stops[0].color;o.color=new I(null);for(let t=0;t<8;t++)o.color.values[t]=1/0,_(o.color.colors,t,i);y(o.color.fallback,e.fallbackColor)}}return o}function $(t,o,e,i){if(t.normalizationField)return D(i,"Could not convert opacity info: unsupported property"),null;if(x(t.field)){if(!t.stops)return D(i,"Could not convert opacity info: missing stops or opacities"),null;{if(t.stops.length>8)return D(i,"Could not convert opacity info: too many opacity stops"),null;o.opacity=new N(t.field,e.fallbackColor[3]);const s=t.stops;for(let t=0;t<8;++t){const e=s[Math.min(t,s.length-1)];o.opacity.values[t]=e.value,o.opacity.opacityValues[t]=e.opacity}}}else{if(!(t.stops&&t.stops.length>=0))return D(i,"Could not convert opacity info: no field and no opacities/stops"),null;{const i=t.stops&&t.stops.length>=0?t.stops[0].opacity:0;o.opacity={field:null,values:[0,0,0,0,0,0,0,0],opacityValues:[0,0,0,0,0,0,0,0],fallback:e.fallbackColor[3]};for(let t=0;t<8;t++)o.opacity.values[t]=1/0,o.opacity.opacityValues[t]=i}}return o}function B(t,o,e){const i=2===e&&"arithmetic"===t.rotationType;o.offset[e]=i?90:0,o.factor[e]=i?-1:1,o.type[e]=1}function L(t,o,e){if(!x(t.field))return D(e,"Could not convert rotation info: field is not a string"),null;if(o.rotation){if(t.field)if(o.rotation.field){if(t.field!==o.rotation.field)return D(e,"Could not convert rotation info: multiple fields in use"),null}else o.rotation.field=t.field}else o.rotation={field:t.field,offset:[0,0,0],factor:[1,1,1],type:[0,0,0]};switch(t.axis){case"tilt":return B(t,o.rotation,0),o;case"roll":return B(t,o.rotation,1),o;case null:case void 0:case"heading":return B(t,o.rotation,2),o;default:return D(e,`Could not convert rotation info: unknown axis "${t.axis}""`),null}}class G{constructor({supports:t,modelSize:o,symbolSize:e,unitInMeters:i,anchor:s,scale:r,rotation:n,fallbackColor:l,fallbackSize:a}){this.supports=t,this.modelSize=o??z(),this.symbolSize=e??z(),this.unitInMeters=i??1,this.anchor=s??v(),this.scale=r??z(),this.rotation=n??v(),this.fallbackColor=l??S(),this.fallbackSize=a??z()}}function H(t,o,e){if(!t)return null;const i=t.reduce((t,i)=>{if(!t)return t;if(i.valueExpression)return D(e,"Could not convert visual variables: arcade expressions not supported"),null;switch(i.type){case"size":return o.supports.size?E(i,t,o,e):t;case"color":return o.supports.color?q(i,t,o,e):t;case"opacity":return o.supports.opacity?$(i,t,o,e):null;case"rotation":return o.supports.rotation?L(i,t,e):t;default:return null}},new T);return!(t.length>0&&i)||i.size||i.color||i.opacity||i.rotation?i?.size&&!O(i.size,o,e)?null:i:null}class J{constructor(t,o,e){this.visualVariables=t,this.materialParameters=o,this.requiresShaderTransformation=e}}function K(t,o){if(!t)return null;if(V())return null;if(k.TESTS_DISABLE_FAST_UPDATES)return null;const e=H(t.visualVariables,o);return e?new J(e,Y(e,o),!!e.size):null}function Q(t,o,e){if(!o||!t)return!1;const i=t.visualVariables,s=H(o.visualVariables,e);return!!s&&(!!(W(i.size,s.size,"size")&&W(i.color,s.color,"color")&&W(i.rotation,s.rotation,"rotation")&&W(i.opacity,s.opacity,"opacity"))&&(t.visualVariables=s,t.materialParameters=Y(s,e),t.requiresShaderTransformation=!!s.size,!0))}function W(t,o,e){if(!!t!=!!o)return!1;if(t&&t.field!==o?.field)return!1;if(t&&"rotation"===e){const e=t,i=o;for(let t=0;t<3;t++)if(e.type[t]!==i.type[t]||e.offset[t]!==i.offset[t]||e.factor[t]!==i.factor[t])return!1}return!0}class X extends w{constructor(t){super(),this.vvSize=t?.size??null,this.vvColor=t?.color??null,this.vvOpacity=t?.opacity??null}get hasVVSize(){return!!this.vvSize}get hasVVColor(){return!!this.vvColor}get hasVVOpacity(){return!!this.vvOpacity}}function Y(t,s){const r=new X(t);return r.vvSize&&(r.vvSymbolAnchor=s.anchor,i(st),F(s.rotation[2],s.rotation[0],s.rotation[1],st),r.vvSymbolRotationMatrix=r.vvSymbolRotationMatrix||e(),o(r.vvSymbolRotationMatrix,st)),r}function Z(t,o,e){if(!t.vvSize)return e;s(et,e);const i=t.vvSymbolRotationMatrix;return r(st,i[0],i[1],i[2],0,i[3],i[4],i[5],0,i[6],i[7],i[8],0,0,0,0,1),n(et,et,st),tt(it,t,o),l(et,et,it),a(et,et,t.vvSymbolAnchor),et}function tt(o,e,i){if(!e.vvSize)return m(o,1,1,1),o;if(Number.isNaN(i[0]))return d(o,e.vvSize.fallback);for(let s=0;s<3;++s){const r=e.vvSize.offset[s]+i[0]*e.vvSize.factor[s];o[s]=t(r,e.vvSize.minSize[s],e.vvSize.maxSize[s])}return o}function ot(t,o){const e=null==t?0:o.attributes[t];return"number"==typeof e&&isFinite(e)?e:NaN}const et=p(),it=h(),st=p();export{G as ConvertOptions,I as FastColorInfo,N as FastOpacityInfo,P as FastRotationInfo,M as FastSizeInfo,J as FastSymbolUpdatesState,T as FastVisualVariables,X as VisualVariablesParameters,H as convertVisualVariables,Z as evaluateModelTransform,tt as evaluateModelTransformScale,ot as getAttributeValue,Y as getMaterialParameters,K as initFastSymbolUpdatesState,Q as updateFastSymbolUpdatesState};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{shuffle as t}from"../../../../core/arrayUtils.js";import{baseObjectMemory as e}from"../../../../core/memoryEstimations.js";import{signal as s}from"../../../../core/signal.js";import{diameter as i,create as r}from"../../../../geometry/support/aaBoundingBox.js";import{fromExtent as a,create as u,intersects as h,copy as n,positiveInfinity as f,intersection as l}from"../../../../geometry/support/aaBoundingRect.js";import{numVertices as d,estimateSize as c,getObjectId as m,computeAABB as o}from"../../../../layers/graphics/dehydratedFeatures.js";import{computeMaxZ as _}from"../graphics/graphicUtils.js";const g=16438;class F{constructor(t){this.descriptor=t,this._numVertices=0,this.exceededTransferLimit=s(!1),this._fetchFailed=s(!1),this._sorted=!1,this._numFeatures=s(S),this._emptyFeatureRatio=s(0),this._estimatedSize=-1,this._estimatedUnusedSize=0,this._estimatedUnusedSizeDirty=!1,this._displayingFeatures=null,this.alive=!0,this.filtered=!1,this._features=null,this._featuresLength=s(0),this._featureLimit=s(0),this._fetchStatus=0,this.fetchInformation=s(""),this.fetchingResolution=this.displayingResolution=t.resolution}get featuresMissing(){return this.fetchFailed||(this.hasPreciseFeatureCount?this._featuresLength.value<this.numFeatures:this.exceededTransferLimit.value)}get showsAllFeatures(){return!this.fetchFailed&&null!=this.displayingFeatures&&(this.hasPreciseFeatureCount?this.displayingFeatures.length===this.numFeatures:!this.exceededTransferLimit.value)}get missingAttributes(){return this._missingAttributes}get fetchFailed(){return this._fetchFailed.value}set fetchFailed(t){this._fetchFailed.value=t}get displayingFeatures(){return this._displayingFeatures}set displayingFeatures(t){this._displayingFeatures=t,this.extentIncludingBorrowedFeatures=null}get perTileMaximumNumberOfFeaturesExceeded(){const t=this.isFetched&&this.featuresMissing;return!this.filtered&&(t||this.hasFeatureLimit)}get features(){return this._features}get featureLimit(){return this._featureLimit.value}set featureLimit(t){this._featureLimit.value!==t&&(this._featureLimit.value=t,this._estimatedUnusedSizeDirty=!0)}get hasFeatureLimit(){return this.featureLimit!==this._featuresLength.value}get availableFields(){return this._availableFields}setFeatures(t,e,s,i){this._availableFields=s,this._features=t,this._featuresLength.value=t?.length??0,this._sorted=!1,this._estimatedSize=-1,this._estimatedUnusedSizeDirty=!0,this._missingAttributes=i,t&&t.length>0?(this._emptyFeatureRatio.value=e/(t.length+e),this._numVertices=t.reduce((t,e)=>t+d(e.geometry),0)):(this._emptyFeatureRatio.value=0,this._numVertices=0)}computeZQuantizationFactor(){if(this._features&&this._features.length>0){const t=this._features.reduce((t,{geometry:e})=>Math.max(t,_(e)??0),0);return Math.floor(t/this.descriptor.planetRadius)+1}return 1}get emptyFeatureRatio(){return this._emptyFeatureRatio.value}get numFeatures(){return this.hasPreciseFeatureCount?this._numFeatures.value:this._features?this._featuresLength.value:0}set numFeatures(t){this._numFeatures.value=t}get hasPreciseFeatureCount(){return this._numFeatures.value>S}get needsFeatureCount(){return this._numFeatures.value===S}get numVertices(){return this._numVertices}get id(){return this.descriptor.id}get estimatedSize(){return this.updateMemoryEstimates(),this._estimatedSize}get estimatedUnusedSize(){return this._estimatedUnusedSize}updateMemoryEstimates(){if(this._estimatedSize<0){if(this._estimatedSize=0,this._estimatedUnusedSize=0,this._features)for(let t=0;t<this._features.length;++t){const e=c(this._features[t]);this._estimatedSize+=e,t>=this.featureLimit&&(this._estimatedUnusedSize+=e)}return!0}if(this._estimatedUnusedSizeDirty){if(this._estimatedUnusedSize=0,this._estimatedUnusedSizeDirty=!1,this._features)for(let t=this.featureLimit;t<this._features.length;++t)this._estimatedUnusedSize+=c(this._features[t]);return!0}return!1}get fetchStatus(){return this._fetchStatus}requestFetch(){this._fetchStatus=0}requestRefetch(){this._fetchStatus=1}startFetch(){this._fetchStatus=this.needsRefetch?3:2}fetchDone(t){this._fetchStatus=t}get isFetching(){return 2===this._fetchStatus||3===this._fetchStatus}get isRefetching(){return 3===this._fetchStatus}get needsFetch(){return 0===this._fetchStatus||1===this._fetchStatus}get needsRefetch(){return 1===this._fetchStatus}get isFetched(){return 4===this._fetchStatus||5===this._fetchStatus}isFullyFetched(t){return!!this.features&&(this.features.length>=t||5===this.fetchStatus)}resetFetching(){this._fetchStatus=this.isRefetching?1:0}get needsDisplayUpdate(){return!!this._features&&!v(this._features,this.displayingFeatures,this.featureLimit)}intersects(t){return null==t||!this.descriptor.extent||(a(t,L),h(this.descriptor.extent,L))}intersectionIncludingBorrowed(t,e){const s=null!=this.extentIncludingBorrowedFeatures?this.extentIncludingBorrowedFeatures:this.descriptor.extent;return t||s?(null!=t?(a(t,e),l(e,s,e)):n(e,s),e):(n(e,f),e)}_shuffle(e){this._features?.sort((t,s)=>m(t,e)-m(s,e)),t(this._features,g)}_sortBySize(t){this._features?.sort((e,s)=>i(o(s.geometry,z))-i(o(e.geometry,z))||m(e,t)-m(s,t))}reduceFeatures(t,e,s,i){if(t<=0)return!1;if(!this._features)return this.featureLimit=0,!1;let r=!1;this.featureLimit=Math.ceil(this.numFeatures*t),this.featureLimit>this._features.length&&4===this._fetchStatus&&this._features.length>0&&(this._fetchStatus=1,r=!0),!this._sorted&&t<1&&(1===i?this._shuffle(s):this._sortBySize(s),this._sorted=!0,this._estimatedUnusedSizeDirty=!0);const a=Math.max(this.featureLimit,Math.ceil(e*this.numFeatures));return this._features.length>a&&(this._features.length=a,this._featuresLength.value=a,this.exceededTransferLimit.value=!1,5===this._fetchStatus&&(this._fetchStatus=4)),r}get cache(){return new y(this,this._features,this._numFeatures.value,this._emptyFeatureRatio.value)}set cache(t){this.requestController=null,this._availableFields=t.availableFields,this._features=t.features,this._featuresLength.value=t.features?.length??0,this._numFeatures.value=t.numFeatures,this._emptyFeatureRatio.value=t.emptyFeatureRatio,this._fetchStatus=t.fetchStatus,this.exceededTransferLimit.value=t.exceededTransferLimit,this._estimatedSize=-1,this._estimatedUnusedSizeDirty=!0,this.fetchInformation.value=t.fetchInformation}}const S=-1,p=-2;class y{constructor(t,s,i,r){this.features=s,this.numFeatures=i,this.emptyFeatureRatio=r,this.cachedMemory=e+t.estimatedSize,this.resolution=t.displayingResolution,this.availableFields=t.availableFields,this.fetchStatus=t.fetchStatus,this.exceededTransferLimit=t.exceededTransferLimit.value,this.fetchInformation=t.fetchInformation.value}}function v(t,e,s){if(null==e||null==t||s!==e.length||s>t.length)return!1;for(let i=0;i<s;++i)if(t[i]!==e[i])return!1;return!0}const L=u(),z=r();export{F as FeatureTile,y as FeatureTileCacheItem,p as failedFeatureCount};
5
+ import{shuffle as t}from"../../../../core/arrayUtils.js";import{baseObjectMemory as e}from"../../../../core/memoryEstimations.js";import{signal as s}from"../../../../core/signal.js";import{diameter as i,create as r}from"../../../../geometry/support/aaBoundingBox.js";import{fromExtent as a,create as u,intersects as h,copy as n,positiveInfinity as f,intersection as l}from"../../../../geometry/support/aaBoundingRect.js";import{numVertices as d,estimateSize as c,getObjectId as m,computeAABB as o}from"../../../../layers/graphics/dehydratedFeatures.js";import{computeMaxZ as _}from"../graphics/graphicUtils.js";const g=16438;class F{constructor(t){this.descriptor=t,this._numVertices=0,this.exceededTransferLimit=s(!1),this._fetchFailed=s(!1),this._sorted=!1,this._numFeatures=s(S),this._emptyFeatureRatio=s(0),this._estimatedSize=-1,this._estimatedUnusedSize=0,this._estimatedUnusedSizeDirty=!1,this._displayingFeatures=null,this.alive=!0,this.filtered=!1,this._features=null,this._featuresLength=s(0),this._featureLimit=s(0),this._fetchStatus=0,this.fetchInformation=s(""),this.fetchingResolution=this.displayingResolution=t.resolution}get featuresMissing(){return this.fetchFailed||(this.hasPreciseFeatureCount?this._featuresLength.value<this.numFeatures:this.exceededTransferLimit.value)}get showsAllFeatures(){return!this.fetchFailed&&null!=this.displayingFeatures&&(this.hasPreciseFeatureCount?this.displayingFeatures.length===this.numFeatures:!this.exceededTransferLimit.value)}get missingAttributes(){return this._missingAttributes}get fetchFailed(){return this._fetchFailed.value}set fetchFailed(t){this._fetchFailed.value=t}get displayingFeatures(){return this._displayingFeatures}set displayingFeatures(t){this._displayingFeatures=t,this.extentIncludingBorrowedFeatures=null}get perTileMaximumNumberOfFeaturesExceeded(){const t=this.isFetched&&this.featuresMissing;return!this.filtered&&(t||this.hasFeatureLimit)}get features(){return this._features}get featureLimit(){return this._featureLimit.value}set featureLimit(t){this._featureLimit.value!==t&&(this._featureLimit.value=t,this._estimatedUnusedSizeDirty=!0)}get hasFeatureLimit(){return this.featureLimit!==this._featuresLength.value}get availableFields(){return this._availableFields}setFeatures(t,e,s,i){this._availableFields=s,this._features=t,this._featuresLength.value=t?.length??0,this._sorted=!1,this._estimatedSize=-1,this._estimatedUnusedSizeDirty=!0,this._missingAttributes=i,t&&t.length>0?(this._emptyFeatureRatio.value=e/(t.length+e),this._numVertices=t.reduce((t,e)=>t+d(e.geometry),0)):(this._emptyFeatureRatio.value=0,this._numVertices=0)}computeZQuantizationFactor(){if(this._features&&this._features.length>0){const t=this._features.reduce((t,{geometry:e})=>Math.max(t,_(e)??0),0);return Math.floor(t/this.descriptor.planetRadius)+1}return 1}get emptyFeatureRatio(){return this._emptyFeatureRatio.value}get numFeatures(){return this.hasPreciseFeatureCount?this._numFeatures.value:this._features?this._featuresLength.value:0}set numFeatures(t){this._numFeatures.value=t}get hasPreciseFeatureCount(){return this._numFeatures.value>S}get needsFeatureCount(){return this._numFeatures.value===S}get numVertices(){return this._numVertices}get id(){return this.descriptor.id}get estimatedSize(){return this.updateMemoryEstimates(),this._estimatedSize}get estimatedUnusedSize(){return this._estimatedUnusedSize}updateMemoryEstimates(){if(this._estimatedSize<0){if(this._estimatedSize=0,this._estimatedUnusedSize=0,this._features)for(let t=0;t<this._features.length;++t){const e=c(this._features[t]);this._estimatedSize+=e,t>=this.featureLimit&&(this._estimatedUnusedSize+=e)}return!0}if(this._estimatedUnusedSizeDirty){if(this._estimatedUnusedSize=0,this._estimatedUnusedSizeDirty=!1,this._features)for(let t=this.featureLimit;t<this._features.length;++t)this._estimatedUnusedSize+=c(this._features[t]);return!0}return!1}get fetchStatus(){return this._fetchStatus}requestFetch(){this._fetchStatus=0}requestRefetch(){this._fetchStatus=1}startFetch(){this._fetchStatus=this.needsRefetch?3:2}fetchDone(t){this._fetchStatus=t}get isFetching(){return 2===this._fetchStatus||3===this._fetchStatus}get isRefetching(){return 3===this._fetchStatus}get needsFetch(){return 0===this._fetchStatus||1===this._fetchStatus}get needsRefetch(){return 1===this._fetchStatus}get isFetched(){return 4===this._fetchStatus||5===this._fetchStatus}isFullyFetched(t){return!!this.features&&(this.features.length>=t||5===this.fetchStatus)}resetFetching(){this._fetchStatus=this.isRefetching?1:0}get needsDisplayUpdate(){return!!this._features&&!v(this._features,this.displayingFeatures,this.featureLimit)}intersects(t){return null==t||!this.descriptor.extent||(a(t,L),h(this.descriptor.extent,L))}intersectionIncludingBorrowed(t,e){const s=null!=this.extentIncludingBorrowedFeatures?this.extentIncludingBorrowedFeatures:this.descriptor.extent;return t||s?(null!=t?(a(t,e),l(e,s,e)):n(e,s),e):(n(e,f),e)}_shuffle(e){this._features?.sort((t,s)=>m(t,e)-m(s,e)),t(this._features,g)}_sortBySize(t){this._features?.sort((e,s)=>i(o(s.geometry,z))-i(o(e.geometry,z))||m(e,t)-m(s,t))}reduceFeatures(t,e,s,i){if(t<=0)return!1;if(!this._features)return this.featureLimit=0,!1;let r=!1;this.featureLimit=Math.ceil(this.numFeatures*t),this.featureLimit>this._features.length&&4===this._fetchStatus&&this._features.length>0&&(this._fetchStatus=1,r=!0),!this._sorted&&t<1&&(1===i?this._shuffle(s):this._sortBySize(s),this._sorted=!0,this._estimatedUnusedSizeDirty=!0);const a=Math.max(this.featureLimit,Math.ceil(e*this.numFeatures));return this._features.length>a&&(this._features.length=this._featuresLength.value=a,this.exceededTransferLimit.value=!1,5===this._fetchStatus&&(this._fetchStatus=4)),r}get cache(){return new y(this,this._features,this._numFeatures.value,this._emptyFeatureRatio.value)}set cache(t){this.requestController=null,this._availableFields=t.availableFields,this._features=t.features,this._featuresLength.value=t.features?.length??0,this._numFeatures.value=t.numFeatures,this._emptyFeatureRatio.value=t.emptyFeatureRatio,this._fetchStatus=t.fetchStatus,this.exceededTransferLimit.value=t.exceededTransferLimit,this._estimatedSize=-1,this._estimatedUnusedSizeDirty=!0,this.fetchInformation.value=t.fetchInformation}}const S=-1,p=-2;class y{constructor(t,s,i,r){this.features=s,this.numFeatures=i,this.emptyFeatureRatio=r,this.cachedMemory=e+t.estimatedSize,this.resolution=t.displayingResolution,this.availableFields=t.availableFields,this.fetchStatus=t.fetchStatus,this.exceededTransferLimit=t.exceededTransferLimit.value,this.fetchInformation=t.fetchInformation.value}}function v(t,e,s){if(null==e||null==t||s!==e.length||s>t.length)return!1;for(let i=0;i<s;++i)if(t[i]!==e[i])return!1;return!0}const L=u(),z=r();export{F as FeatureTile,y as FeatureTileCacheItem,p as failedFeatureCount};
@@ -0,0 +1,5 @@
1
+ /*
2
+ All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
+ See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
+ */
5
+ import{__decorate as e}from"tslib";import r from"../../../../Graphic.js";import{property as t}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as o}from"../../../../core/accessorSupport/decorators/subclass.js";import i from"../../../../geometry/Polygon.js";import{toExtent as s}from"../../../../geometry/support/aaBoundingRect.js";import l from"../../../../symbols/SimpleFillSymbol.js";import{TileTreeDebugger as p}from"../../../support/TileTreeDebugger.js";let a=class extends p{get _flowSubView(){const{layerView:e}=this;return"imagery-3d"===e.type?e.test.subView:e.test.flowSubView}constructor(e){super(e),this._fullExtentGraphic=null}clear(){super.clear(),this._fullExtentGraphic&&(this.view.graphics.remove(this._fullExtentGraphic),this._fullExtentGraphic=null)}update(){super.update();const e=this._flowSubView.layer.fullExtent;this._fullExtentGraphic=new r({geometry:e,symbol:new l({color:[0,0,0,0],outline:{color:"black",width:3}})}),this.view.graphics.add(this._fullExtentGraphic)}getTiles(){const e=null!=this.view.basemapTerrain.spatialReference?this.view.basemapTerrain.spatialReference:null,r=this._flowSubView.test.renderedTiles;return this.view.basemapTerrain.test.getRenderedTiles().map(t=>{const o=r?.has(t)?[0,255,0,.3]:[255,0,0,.3],p=new l({color:o,outline:{color:"black",width:1}});return{...t,lij:t.lij,level:t.level,geometry:i.fromExtent(s(t.extent,e)),label:t.lij.toString(),polygonSymbol:p}})}};e([t()],a.prototype,"layerView",void 0),a=e([o("esri.views.3d.layers.support.FlowTileTree3DDebugger")],a);export{a as FlowTileTree3DDebugger};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as e}from"tslib";import{isSome as t}from"../../../../core/arrayUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import i from"../../../../core/Logger.js";import{estimateAttributesMemory as a,estimateFixedArrayMemory as s,estimateNumberMemory as o}from"../../../../core/memoryEstimations.js";import n from"../../../../core/Promise.js";import{initial as l,sync as p,watch as d}from"../../../../core/reactiveUtils.js";import{pt2px as u}from"../../../../core/screenUtils.js";import{property as h}from"../../../../core/accessorSupport/decorators/property.js";import{subclass as m}from"../../../../core/accessorSupport/decorators/subclass.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as y}from"../../../../core/support/UpdatingHandles.js";import{projectPointToVector as _}from"../../../../geometry/projection/projectPointToVector.js";import{getContinuousIndexArray as g}from"../../../../geometry/support/Indices.js";import{getResolutionForScale as f}from"../../../../geometry/support/scaleUtils.js";import{getObjectId as R}from"../../../../layers/graphics/dehydratedFeatures.js";import{convertFromPoint as F}from"../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as v}from"../../../../layers/graphics/OptimizedFeature.js";import b from"../../../../layers/graphics/OptimizedGeometry.js";import w from"../../../../layers/graphics/data/FeatureStore.js";import{isNumericField as S}from"../../../../layers/support/fieldUtils.js";import{generateGradient as P}from"../../../../renderers/support/heatmapUtils.js";import{DisplayFeatureLimit as j}from"../graphics/DisplayFeatureLimit.js";import{GraphicsCorePerformanceInfo as G}from"../graphics/GraphicsCorePerformanceInfo.js";import{FeatureVisibilityFilter as V}from"./FeatureVisibilityFilter.js";import{emptyHighlightHandle as x}from"./highlightUtils.js";import{drapedZ as M}from"../../terrain/OverlayRenderer.js";import{Attribute as T}from"../../webgl-engine/lib/Attribute.js";import{DrapedHeatmapRenderer as I}from"../../webgl-engine/lib/DrapedHeatmapRenderer.js";import{Geometry as N}from"../../webgl-engine/lib/Geometry.js";import{RenderGeometry as H}from"../../webgl-engine/lib/RenderGeometry.js";import{HeatmapDensityMaterial as U}from"../../webgl-engine/materials/HeatmapDensityMaterial.js";import{scaleBoundsPredicate as A,isScaleRangeActive as O}from"../../../support/layerViewUtils.js";import{loadHeatmapTextureConfiguration as C,fallBackHeatmapConfiguration as D}from"../../../webgl/heatmapTextureUtils.js";const L=112;let E=class extends n{constructor(e){super(e),this.type="heatmap",this.preferredUpdatePolicy=0,this.dataExtent=null,this.drapeSourceType=1,this._renderGeometries=new Map,this._fieldTotal=0,this._drapeSourceRenderer=null,this._dataType=5131,this._pixelFormat=6408,this._updatingHandles=new y}initialize(){let e;try{e=C(this._renderView.renderingContext,i.getLogger(this))}catch(m){this.addResolvingPromise(Promise.reject(m)),e=D}const{dataType:t,samplingMode:a,pixelFormat:s,internalFormat:o}=e;this._featureStore=new w({geometryType:"esriGeometryPoint",hasZ:this.hasZ,hasM:this.hasM}),this._dataType=t,this._pixelFormat=s;const n=5126!==t,u=this.view.basemapTerrain.overlayManager,h={...this._rendererParameters,stage:this.view.stage,dataType:t,samplingMode:a,pixelFormat:s,internalFormat:o,rendererContext:u.renderer,drapeSource:this};this._drapeSourceRenderer=new I(h),u.registerDrapeSource(this,this._drapeSourceRenderer),this._material=new U({usesHalfFloats:n}),this._materialWithField=new U({usesHalfFloats:n,isAttributeDriven:!0}),this._filterVisibility=new V({context:{configuration:this.owner,featureStore:this.featureStore,getFeatureCount:()=>this._loadedPointGraphics.length,setAllFeaturesVisibility:e=>this._setAllFeaturesVisibility(e),clearFeaturesVisibility:()=>this._setAllFeaturesVisibility(!0),updateFeatureVisibilities:e=>this._updateFeatureVisibilities(e)}}),this._updatingHandles.addOnCollectionChange(()=>this._loadedPointGraphics,e=>this._onLoadedFeaturesChange(e),l),this._updatingHandles.addWhen(()=>this._materialParameters,e=>this._forEachMaterial(t=>t.setParameters(e)),l),this._updatingHandles.add(()=>this._rendererParameters,e=>this._drapeSourceRenderer.set(e)),this._updatingHandles.add(()=>this._heatmapRendererField,()=>{this._recreate()},p),this._updatingHandles.add(()=>({fieldName:this._heatmapRendererFieldName,numeric:this._heatmapRendererFieldIsNumeric}),({fieldName:e,numeric:t})=>{if(null!=e&&t){let t=0;this._featureStore.forEach(r=>t+=r.attributes[e]??0),this._fieldTotal=t}else this._fieldTotal=this._featureStore.numFeatures},l),this.addHandles([d(()=>({fieldName:this._heatmapRendererFieldName,field:this._heatmapRendererField}),({fieldName:e,field:t})=>{e&&!t&&i.getLogger(this).warn(`Heatmap renderer field '${e}' for layer '${this.layer.title??this.layer.id}' not found`)}),d(()=>({field:this._heatmapRendererField,numeric:this._heatmapRendererFieldIsNumeric}),({field:e,numeric:t})=>{null==e||t||i.getLogger(this).warn(`Heatmap renderer field '${e.name}' for layer '${this.layer.title??this.layer.id}' does not contain numeric values and cannot be used to drive the heatmap density`)}),r(()=>this.view.basemapTerrain.overlayManager.unregisterDrapeSource(this))])}destroy(){this._renderGeometries.clear(),this._material=null,this._materialWithField=null,this._featureStore.clear(),this._featureStore=null,this._updatingHandles.destroy()}get layer(){return this.owner.layer}get featureStore(){return this._featureStore}get updating(){return this._updatingHandles.updating||this.filterVisibility.updating}get updatingRemaining(){return 0}get suspendInfo(){return{}}get legendEnabled(){return!0}get filterVisibility(){return this._filterVisibility}get displayFeatureLimit(){const e=this.owner?.view?.quality??1,t=this.owner?.view?.qualitySettings,r=t?Math.ceil(t.heatmap.maxTotalNumberOfFeatures*e):0;return new j(r*6,r)}get hasZ(){return"hasZ"in this.layer&&!0===this.layer.hasZ}get hasM(){return"hasM"in this.layer&&this.layer.hasM}get view(){return this.owner.view}get fullOpacity(){return this.owner.fullOpacity}get updatePolicy(){return this.owner.updatePolicy}get scaleVisibilitySuspended(){if(!this._isScaleRangeActive)return!1;const{minScale:e,maxScale:t}=this.layer.effectiveScaleRange,{scale:r}=this.view;return!A(r,e??0,t??0)}get usedMemory(){const e=this.usedMemoryPerFeature*this._featureStore.numFeatures,t=6403===this._pixelFormat?1:4,r=5126===this._dataType?4:2,i=Math.ceil((this._overlayRenderer?.overlays[0]?.resolution??0)*this._densityMapPixelRatio)??0;return i*i*t*r+e}get usedMemoryPerFeature(){const e=this._loadedPointGraphics.find(()=>!0);if(null==e)return 0;const t=a(e),r=6;return r*s([0,0,0],o)+r*s([0,0],o)+(this._heatmapRendererFieldIsNumeric?r*o:0)+t}get loadedFeatures(){return this._featureStore.numFeatures}get unprocessedMemoryEstimate(){return 0}get performanceInfo(){return new G(this._renderGeometries.size,this._visibleFeatures,0,0)}get renderer(){return this._heatmapRenderer}get _overlayRenderer(){return this.view.basemapTerrain.overlayManager.renderer}get _overlaySpatialReference(){return this._overlayRenderer.spatialReference}get _rendererParameters(){return{...this._radiusParameter,...this._densityParameters,...this._colorRampParameter,...this._pixelRatioParameter}}get _materialParameters(){return{...this._radiusParameter,...this._resolutionForScaleParameter}}get _densityParameters(){const e=this._heatmapRenderer;if(null==e)return null;const{minDensity:t,maxDensity:r}=e;return{minDensity:t,maxDensity:r,fieldTotal:this._fieldTotal}}get _radiusParameter(){const e=this._heatmapRenderer;return e?{searchRadius:u(this._clampSearchRadius(e.radius))}:null}get _resolutionForScaleParameter(){const e=this._heatmapRenderer;if(!e)return null;const{referenceScale:t}=e;return{resolutionForScale:0===t?0:f(t,this.view.spatialReference)}}get _colorRampParameter(){const e=this._heatmapRenderer;return e?{colorRampData:P(e.colorStops)}:null}get _pixelRatioParameter(){return{pixelRatio:this._densityMapPixelRatio}}get _densityMapPixelRatio(){return this.owner?.view?.qualitySettings.heatmap.pixelRatio??1}get _renderView(){return this.view.stage.renderView}get _featuresArePoints(){return"point"===this.layer.geometryType}get _loadedPointGraphics(){return this.owner.loadedGraphics}get _heatmapRenderer(){const e=this.layer.renderer;return"heatmap"===e?.type?e:null}get _heatmapRendererFieldName(){return this._heatmapRenderer?.field}get _heatmapRendererField(){const e=this._heatmapRendererFieldName;return null!=e?this.layer.fieldsIndex.get(e):null}get _heatmapRendererFieldIsNumeric(){const e=this._heatmapRendererField;return null!=e&&S(e)}get _isScaleRangeActive(){const{layer:e}=this;if(!("effectiveScaleRange"in e))return!1;const{minScale:t,maxScale:r}=e.effectiveScaleRange;return O(t,r)}get _visibleFeatures(){return Array.from(this._renderGeometries.values()).reduce((e,{visible:t})=>e+(t?1:0),0)}async whenGraphicBounds(){return null}computeAttachmentOrigin(){return null}highlightByGraphics(){return x}highlightByObjectIds(){return x}maskOccludee(){return r()}setObjectIdVisibility(){}refreshFilter(){this.filterVisibility.reapply()}_onLoadedFeaturesChange(e){if(!this._featuresArePoints)return;const{objectIdField:r}=this.layer;this._featureStore.removeManyById(e.removed.map(e=>R(e,r))),this._featureStore.addMany(e.added.map(e=>{const{attributes:t,centroid:i,geometry:a}=e,s=new v(F(new b,a),t,i?F(new b,i):null,R(e,r));return s.displayId=e.uid,s}));const i=e.added,a=e.removed;this._fieldTotal+=this._computeFieldTotalChange(i,a);const s=a.map(({uid:e})=>{const t=this._renderGeometries.get(e);return this._renderGeometries.delete(e),t}).filter(t),o=i.map(e=>{const t=this._pointGraphicToRenderGeometry(e);return this._renderGeometries.set(e.uid,t),t});s.length>0&&this._drapeSourceRenderer.removeGeometries(s,2),o.length>0&&this._drapeSourceRenderer.addGeometries(o,0),(o.length>0||s.length>0)&&(this.filterVisibility.reapply(),this._renderView.requestRender())}_recreate(){if(!this._loadedPointGraphics)return;const e=this._loadedPointGraphics.toArray();this._onLoadedFeaturesChange({added:e,removed:e})}_pointGraphicToRenderGeometry(e){const t=this._heatmapRendererFieldName,r=null!=t?this._materialWithField:this._material,i=c();_(e.geometry,i,this._overlaySpatialReference),i[2]=M;const a=g(1),s=[["position",new T(i,a,i.length)]],o=this._heatmapRendererFieldIsNumeric;null!=t&&s.push(["featureAttribute",new T([o?e.attributes[t]??0:0],a,1)]);const n=new H(new N(r,s,null,1),{layerViewUid:this.owner.layerViewUid,graphicUid:e.uid});return n.visible=this.filterVisibility.defaultVisibility,n}_forEachMaterial(e){e(this._material),e(this._materialWithField)}_computeFieldTotalChange(e,t){if(null==this._heatmapRendererFieldName||!this._heatmapRendererFieldIsNumeric)return e.length-t.length;const r=this._heatmapRendererFieldName,i=(e,t)=>e+(t.attributes[r]??0);return e.reduce(i,0)-t.reduce(i,0)}_clampSearchRadius(e){return e>L&&i.getLogger(this).warnOnce(`SceneView supports a maximum radius of ${L} pt for HeatmapRenderer.`),Math.min(e,L)}_updateFeatureVisibilities(e){const t=[];this._featureStore.forEach(({objectId:r,displayId:i})=>{const a=e(r),s=this._renderGeometries.get(i);s&&s.visible!==a&&(t.push(s),s.visible=a)}),this._drapeSourceRenderer.modifyGeometries(t,1)}_setAllFeaturesVisibility(e){const t=[];for(const r of this._renderGeometries.values())r.visible!==e&&(t.push(r),r.visible=e);this._drapeSourceRenderer.modifyGeometries(t,1)}get test(){}};e([h()],E.prototype,"type",void 0),e([h({constructOnly:!0})],E.prototype,"owner",void 0),e([h()],E.prototype,"layer",null),e([h()],E.prototype,"featureStore",null),e([h()],E.prototype,"updating",null),e([h()],E.prototype,"updatingRemaining",null),e([h()],E.prototype,"suspendInfo",null),e([h()],E.prototype,"legendEnabled",null),e([h()],E.prototype,"filterVisibility",null),e([h()],E.prototype,"displayFeatureLimit",null),e([h()],E.prototype,"preferredUpdatePolicy",void 0),e([h()],E.prototype,"hasZ",null),e([h()],E.prototype,"hasM",null),e([h()],E.prototype,"dataExtent",void 0),e([h()],E.prototype,"view",null),e([h()],E.prototype,"fullOpacity",null),e([h()],E.prototype,"updatePolicy",null),e([h()],E.prototype,"drapeSourceType",void 0),e([h()],E.prototype,"scaleVisibilitySuspended",null),e([h()],E.prototype,"renderer",null),e([h()],E.prototype,"_featureStore",void 0),e([h()],E.prototype,"_filterVisibility",void 0),e([h()],E.prototype,"_overlayRenderer",null),e([h()],E.prototype,"_overlaySpatialReference",null),e([h()],E.prototype,"_rendererParameters",null),e([h()],E.prototype,"_materialParameters",null),e([h()],E.prototype,"_densityParameters",null),e([h()],E.prototype,"_radiusParameter",null),e([h()],E.prototype,"_resolutionForScaleParameter",null),e([h()],E.prototype,"_colorRampParameter",null),e([h()],E.prototype,"_pixelRatioParameter",null),e([h()],E.prototype,"_densityMapPixelRatio",null),e([h()],E.prototype,"_renderGeometries",void 0),e([h()],E.prototype,"_material",void 0),e([h()],E.prototype,"_materialWithField",void 0),e([h()],E.prototype,"_renderView",null),e([h()],E.prototype,"_featuresArePoints",null),e([h()],E.prototype,"_loadedPointGraphics",null),e([h()],E.prototype,"_heatmapRenderer",null),e([h()],E.prototype,"_heatmapRendererFieldName",null),e([h()],E.prototype,"_heatmapRendererField",null),e([h()],E.prototype,"_heatmapRendererFieldIsNumeric",null),e([h()],E.prototype,"_fieldTotal",void 0),e([h()],E.prototype,"_drapeSourceRenderer",void 0),e([h()],E.prototype,"_isScaleRangeActive",null),E=e([m("esri.views.3d.layers.support.HeatmapFeatureProcessor")],E);export{E as HeatmapFeatureProcessor,L as maxRadiusPt};
5
+ import{__decorate as e}from"tslib";import{isSome as t}from"../../../../core/arrayUtils.js";import{makeHandle as r}from"../../../../core/handleUtils.js";import"../../../../core/has.js";import i from"../../../../core/Logger.js";import{estimateAttributesMemory as a,estimateFixedArrayMemory as s,estimateNumberMemory as o}from"../../../../core/memoryEstimations.js";import{EsriPromise as n}from"../../../../core/Promise.js";import{initial as l,sync as p,watch as d}from"../../../../core/reactiveUtils.js";import{pt2px as u}from"../../../../core/screenUtils.js";import{property as h}from"../../../../core/accessorSupport/decorators/property.js";import{subclass as m}from"../../../../core/accessorSupport/decorators/subclass.js";import{create as c}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{UpdatingHandles as y}from"../../../../core/support/UpdatingHandles.js";import{projectPointToVector as _}from"../../../../geometry/projection/projectPointToVector.js";import{getContinuousIndexArray as g}from"../../../../geometry/support/Indices.js";import{getResolutionForScale as f}from"../../../../geometry/support/scaleUtils.js";import{getObjectId as R}from"../../../../layers/graphics/dehydratedFeatures.js";import{convertFromPoint as F}from"../../../../layers/graphics/featureConversionUtils.js";import{OptimizedFeature as v}from"../../../../layers/graphics/OptimizedFeature.js";import b from"../../../../layers/graphics/OptimizedGeometry.js";import w from"../../../../layers/graphics/data/FeatureStore.js";import{isNumericField as S}from"../../../../layers/support/fieldUtils.js";import{generateGradient as P}from"../../../../renderers/support/heatmapUtils.js";import{DisplayFeatureLimit as j}from"../graphics/DisplayFeatureLimit.js";import{GraphicsCorePerformanceInfo as G}from"../graphics/GraphicsCorePerformanceInfo.js";import{FeatureVisibilityFilter as V}from"./FeatureVisibilityFilter.js";import{emptyHighlightHandle as x}from"./highlightUtils.js";import{drapedZ as T}from"../../terrain/OverlayRenderer.js";import{Attribute as M}from"../../webgl-engine/lib/Attribute.js";import{DrapedHeatmapRenderer as A}from"../../webgl-engine/lib/DrapedHeatmapRenderer.js";import{Geometry as I}from"../../webgl-engine/lib/Geometry.js";import{RenderGeometry as N}from"../../webgl-engine/lib/RenderGeometry.js";import{HeatmapDensityMaterial as H}from"../../webgl-engine/materials/HeatmapDensityMaterial.js";import{scaleBoundsPredicate as O,isScaleRangeActive as U}from"../../../support/layerViewUtils.js";import{PixelType as L}from"../../../webgl/enums.js";import{loadHeatmapTextureConfiguration as C,fallBackHeatmapConfiguration as D}from"../../../webgl/heatmapTextureUtils.js";const E=112;let W=class extends n{constructor(e){super(e),this.type="heatmap",this.preferredUpdatePolicy=0,this.dataExtent=null,this.drapeSourceType=1,this._renderGeometries=new Map,this._fieldTotal=0,this._drapeSourceRenderer=null,this._dataType=L.HALF_FLOAT,this._pixelFormat=6408,this._updatingHandles=new y}initialize(){let e;try{e=C(this._renderView.renderingContext,i.getLogger(this))}catch(m){this.addResolvingPromise(Promise.reject(m)),e=D}const{dataType:t,samplingMode:a,pixelFormat:s,internalFormat:o}=e;this._featureStore=new w({geometryType:"esriGeometryPoint",hasZ:this.hasZ,hasM:this.hasM}),this._dataType=t,this._pixelFormat=s;const n=t!==L.FLOAT,u=this.view.basemapTerrain.overlayManager,h={...this._rendererParameters,stage:this.view.stage,dataType:t,samplingMode:a,pixelFormat:s,internalFormat:o,rendererContext:u.renderer,drapeSource:this};this._drapeSourceRenderer=new A(h),u.registerDrapeSource(this,this._drapeSourceRenderer),this._material=new H({usesHalfFloats:n}),this._materialWithField=new H({usesHalfFloats:n,isAttributeDriven:!0}),this._filterVisibility=new V({context:{configuration:this.owner,featureStore:this.featureStore,getFeatureCount:()=>this._loadedPointGraphics.length,setAllFeaturesVisibility:e=>this._setAllFeaturesVisibility(e),clearFeaturesVisibility:()=>this._setAllFeaturesVisibility(!0),updateFeatureVisibilities:e=>this._updateFeatureVisibilities(e)}}),this._updatingHandles.addOnCollectionChange(()=>this._loadedPointGraphics,e=>this._onLoadedFeaturesChange(e),l),this._updatingHandles.addWhen(()=>this._materialParameters,e=>this._forEachMaterial(t=>t.setParameters(e)),l),this._updatingHandles.add(()=>this._rendererParameters,e=>this._drapeSourceRenderer.set(e)),this._updatingHandles.add(()=>this._heatmapRendererField,()=>{this._recreate()},p),this._updatingHandles.add(()=>({fieldName:this._heatmapRendererFieldName,numeric:this._heatmapRendererFieldIsNumeric}),({fieldName:e,numeric:t})=>{if(null!=e&&t){let t=0;this._featureStore.forEach(r=>t+=r.attributes[e]??0),this._fieldTotal=t}else this._fieldTotal=this._featureStore.numFeatures},l),this.addHandles([d(()=>({fieldName:this._heatmapRendererFieldName,field:this._heatmapRendererField}),({fieldName:e,field:t})=>{e&&!t&&i.getLogger(this).warn(`Heatmap renderer field '${e}' for layer '${this.layer.title??this.layer.id}' not found`)}),d(()=>({field:this._heatmapRendererField,numeric:this._heatmapRendererFieldIsNumeric}),({field:e,numeric:t})=>{null==e||t||i.getLogger(this).warn(`Heatmap renderer field '${e.name}' for layer '${this.layer.title??this.layer.id}' does not contain numeric values and cannot be used to drive the heatmap density`)}),r(()=>this.view.basemapTerrain.overlayManager.unregisterDrapeSource(this))])}destroy(){this._renderGeometries.clear(),this._material=null,this._materialWithField=null,this._featureStore.clear(),this._featureStore=null,this._updatingHandles.destroy()}get layer(){return this.owner.layer}get featureStore(){return this._featureStore}get updating(){return this._updatingHandles.updating||this.filterVisibility.updating}get updatingRemaining(){return 0}get suspendInfo(){return{}}get legendEnabled(){return!0}get filterVisibility(){return this._filterVisibility}get displayFeatureLimit(){const e=this.owner?.view?.quality??1,t=this.owner?.view?.qualitySettings,r=t?Math.ceil(t.heatmap.maxTotalNumberOfFeatures*e):0;return new j(r*6,r)}get hasZ(){return"hasZ"in this.layer&&!0===this.layer.hasZ}get hasM(){return"hasM"in this.layer&&this.layer.hasM}get view(){return this.owner.view}get fullOpacity(){return this.owner.fullOpacity}get updatePolicy(){return this.owner.updatePolicy}get scaleVisibilitySuspended(){if(!this._isScaleRangeActive)return!1;const{minScale:e,maxScale:t}=this.layer.effectiveScaleRange,{scale:r}=this.view;return!O(r,e??0,t??0)}get usedMemory(){const e=this.usedMemoryPerFeature*this._featureStore.numFeatures,t=6403===this._pixelFormat?1:4,r=this._dataType===L.FLOAT?4:2,i=Math.ceil((this._overlayRenderer?.overlays[0]?.resolution??0)*this._densityMapPixelRatio)??0;return i*i*t*r+e}get usedMemoryPerFeature(){const e=this._loadedPointGraphics.find(()=>!0);if(null==e)return 0;const t=a(e),r=6;return r*s([0,0,0],o)+r*s([0,0],o)+(this._heatmapRendererFieldIsNumeric?r*o:0)+t}get loadedFeatures(){return this._featureStore.numFeatures}get unprocessedMemoryEstimate(){return 0}get performanceInfo(){return new G(this._renderGeometries.size,this._visibleFeatures,0,0)}get renderer(){return this._heatmapRenderer}get _overlayRenderer(){return this.view.basemapTerrain.overlayManager.renderer}get _overlaySpatialReference(){return this._overlayRenderer.spatialReference}get _rendererParameters(){return{...this._radiusParameter,...this._densityParameters,...this._colorRampParameter,...this._pixelRatioParameter}}get _materialParameters(){return{...this._radiusParameter,...this._resolutionForScaleParameter}}get _densityParameters(){const e=this._heatmapRenderer;if(null==e)return null;const{minDensity:t,maxDensity:r}=e;return{minDensity:t,maxDensity:r,fieldTotal:this._fieldTotal}}get _radiusParameter(){const e=this._heatmapRenderer;return e?{searchRadius:u(this._clampSearchRadius(e.radius))}:null}get _resolutionForScaleParameter(){const e=this._heatmapRenderer;if(!e)return null;const{referenceScale:t}=e;return{resolutionForScale:0===t?0:f(t,this.view.spatialReference)}}get _colorRampParameter(){const e=this._heatmapRenderer;return e?{colorRampData:P(e.colorStops)}:null}get _pixelRatioParameter(){return{pixelRatio:this._densityMapPixelRatio}}get _densityMapPixelRatio(){return this.owner?.view?.qualitySettings.heatmap.pixelRatio??1}get _renderView(){return this.view.stage.renderView}get _featuresArePoints(){return"point"===this.layer.geometryType}get _loadedPointGraphics(){return this.owner.loadedGraphics}get _heatmapRenderer(){const e=this.layer.renderer;return"heatmap"===e?.type?e:null}get _heatmapRendererFieldName(){return this._heatmapRenderer?.field}get _heatmapRendererField(){const e=this._heatmapRendererFieldName;return null!=e?this.layer.fieldsIndex.get(e):null}get _heatmapRendererFieldIsNumeric(){const e=this._heatmapRendererField;return null!=e&&S(e)}get _isScaleRangeActive(){const{layer:e}=this;if(!("effectiveScaleRange"in e))return!1;const{minScale:t,maxScale:r}=e.effectiveScaleRange;return U(t,r)}get _visibleFeatures(){return Array.from(this._renderGeometries.values()).reduce((e,{visible:t})=>e+(t?1:0),0)}async whenGraphicBounds(){return null}computeAttachmentOrigin(){return null}highlightByGraphics(){return x}highlightByObjectIds(){return x}maskOccludee(){return r()}setObjectIdVisibility(){}refreshFilter(){this.filterVisibility.reapply()}_onLoadedFeaturesChange(e){if(!this._featuresArePoints)return;const{objectIdField:r}=this.layer;this._featureStore.removeManyById(e.removed.map(e=>R(e,r))),this._featureStore.addMany(e.added.map(e=>{const{attributes:t,centroid:i,geometry:a}=e,s=new v(F(new b,a),t,i?F(new b,i):null,R(e,r));return s.displayId=e.uid,s}));const i=e.added,a=e.removed;this._fieldTotal+=this._computeFieldTotalChange(i,a);const s=a.map(({uid:e})=>{const t=this._renderGeometries.get(e);return this._renderGeometries.delete(e),t}).filter(t),o=i.map(e=>{const t=this._pointGraphicToRenderGeometry(e);return this._renderGeometries.set(e.uid,t),t});s.length>0&&this._drapeSourceRenderer.removeGeometries(s,2),o.length>0&&this._drapeSourceRenderer.addGeometries(o,0),(o.length>0||s.length>0)&&(this.filterVisibility.reapply(),this._renderView.requestRender())}_recreate(){if(!this._loadedPointGraphics)return;const e=this._loadedPointGraphics.toArray();this._onLoadedFeaturesChange({added:e,removed:e})}_pointGraphicToRenderGeometry(e){const t=this._heatmapRendererFieldName,r=null!=t?this._materialWithField:this._material,i=c();_(e.geometry,i,this._overlaySpatialReference),i[2]=T;const a=g(1),s=[["position",new M(i,a,i.length)]],o=this._heatmapRendererFieldIsNumeric;null!=t&&s.push(["featureAttribute",new M([o?e.attributes[t]??0:0],a,1)]);const n=new N(new I(r,s,null,1),{layerViewUid:this.owner.layerViewUid,graphicUid:e.uid});return n.visible=this.filterVisibility.defaultVisibility,n}_forEachMaterial(e){e(this._material),e(this._materialWithField)}_computeFieldTotalChange(e,t){if(null==this._heatmapRendererFieldName||!this._heatmapRendererFieldIsNumeric)return e.length-t.length;const r=this._heatmapRendererFieldName,i=(e,t)=>e+(t.attributes[r]??0);return e.reduce(i,0)-t.reduce(i,0)}_clampSearchRadius(e){return e>E&&i.getLogger(this).warnOnce(`SceneView supports a maximum radius of ${E} pt for HeatmapRenderer.`),Math.min(e,E)}_updateFeatureVisibilities(e){const t=[];this._featureStore.forEach(({objectId:r,displayId:i})=>{const a=e(r),s=this._renderGeometries.get(i);s&&s.visible!==a&&(t.push(s),s.visible=a)}),this._drapeSourceRenderer.modifyGeometries(t,1)}_setAllFeaturesVisibility(e){const t=[];for(const r of this._renderGeometries.values())r.visible!==e&&(t.push(r),r.visible=e);this._drapeSourceRenderer.modifyGeometries(t,1)}get test(){}};e([h()],W.prototype,"type",void 0),e([h({constructOnly:!0})],W.prototype,"owner",void 0),e([h()],W.prototype,"layer",null),e([h()],W.prototype,"featureStore",null),e([h()],W.prototype,"updating",null),e([h()],W.prototype,"updatingRemaining",null),e([h()],W.prototype,"suspendInfo",null),e([h()],W.prototype,"legendEnabled",null),e([h()],W.prototype,"filterVisibility",null),e([h()],W.prototype,"displayFeatureLimit",null),e([h()],W.prototype,"preferredUpdatePolicy",void 0),e([h()],W.prototype,"hasZ",null),e([h()],W.prototype,"hasM",null),e([h()],W.prototype,"dataExtent",void 0),e([h()],W.prototype,"view",null),e([h()],W.prototype,"fullOpacity",null),e([h()],W.prototype,"updatePolicy",null),e([h()],W.prototype,"drapeSourceType",void 0),e([h()],W.prototype,"scaleVisibilitySuspended",null),e([h()],W.prototype,"renderer",null),e([h()],W.prototype,"_featureStore",void 0),e([h()],W.prototype,"_filterVisibility",void 0),e([h()],W.prototype,"_overlayRenderer",null),e([h()],W.prototype,"_overlaySpatialReference",null),e([h()],W.prototype,"_rendererParameters",null),e([h()],W.prototype,"_materialParameters",null),e([h()],W.prototype,"_densityParameters",null),e([h()],W.prototype,"_radiusParameter",null),e([h()],W.prototype,"_resolutionForScaleParameter",null),e([h()],W.prototype,"_colorRampParameter",null),e([h()],W.prototype,"_pixelRatioParameter",null),e([h()],W.prototype,"_densityMapPixelRatio",null),e([h()],W.prototype,"_renderGeometries",void 0),e([h()],W.prototype,"_material",void 0),e([h()],W.prototype,"_materialWithField",void 0),e([h()],W.prototype,"_renderView",null),e([h()],W.prototype,"_featuresArePoints",null),e([h()],W.prototype,"_loadedPointGraphics",null),e([h()],W.prototype,"_heatmapRenderer",null),e([h()],W.prototype,"_heatmapRendererFieldName",null),e([h()],W.prototype,"_heatmapRendererField",null),e([h()],W.prototype,"_heatmapRendererFieldIsNumeric",null),e([h()],W.prototype,"_fieldTotal",void 0),e([h()],W.prototype,"_drapeSourceRenderer",void 0),e([h()],W.prototype,"_isScaleRangeActive",null),W=e([m("esri.views.3d.layers.support.HeatmapFeatureProcessor")],W);export{W as HeatmapFeatureProcessor,E as maxRadiusPt};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{__decorate as t}from"tslib";import{assertIsSome as s}from"../../../../core/maybe.js";import{createAbortError as i}from"../../../../core/promiseUtils.js";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import o from"../../../ViewAnimation.js";import{CameraController as n}from"./CameraController.js";let r=class extends n{constructor(){super(...arguments),this._asyncResult=null}get canStop(){return!0}set asyncResult(t){this._asyncResult&&(this._asyncResult.reject(i()),this._asyncResult=null),4===this.state||3===this.state?(s(t),4===this.state?t.resolve():t.reject(i())):this._asyncResult=t}get asyncResult(){return this._asyncResult}onControllerStart(){this.state=2,null!=this.viewAnimation&&this.viewAnimation.when(()=>this.updateStateFromViewAnimation(),()=>this.updateStateFromViewAnimation())}updateStateFromViewAnimation(){!this.viewAnimation||0!==this.state&&2!==this.state||(this.viewAnimation.state===o.State.FINISHED?this.finish():this.viewAnimation.state===o.State.STOPPED&&(this.state=3))}onControllerEnd(t){null==this.viewAnimation||this.viewAnimation.done||(4===this.state?this.viewAnimation.finish():3===this.state&&this.viewAnimation.stop()),this._asyncResult&&(4===this.state?this._asyncResult.resolve():this._asyncResult.reject(i()))}finish(){this.finishController()}};r=t([e("esri.views.3d.state.controllers.AnimationController")],r);export{r as AnimationController};
5
+ import{__decorate as t}from"tslib";import{assertIsSome as s}from"../../../../core/maybe.js";import{createAbortError as i}from"../../../../core/promiseUtils.js";import"../../../../core/Logger.js";import"../../../../core/has.js";import"../../../../core/RandomLCG.js";import"../../../../core/Error.js";import{subclass as e}from"../../../../core/accessorSupport/decorators/subclass.js";import o from"../../../ViewAnimation.js";import{CameraController as n}from"./CameraController.js";let r=class extends n{constructor(){super(...arguments),this._asyncResult=null}get canStop(){return!0}set asyncResult(t){this._asyncResult&&(this._asyncResult.reject(i()),this._asyncResult=null),4===this.state||3===this.state?(s(t),4===this.state?t.resolve():t.reject(i())):this._asyncResult=t}get asyncResult(){return this._asyncResult}onControllerStart(){this.state=2,null!=this.viewAnimation&&this.viewAnimation.when(()=>this.updateStateFromViewAnimation(),()=>this.updateStateFromViewAnimation())}updateStateFromViewAnimation(){!this.viewAnimation||0!==this.state&&2!==this.state||(this.viewAnimation.state===o.state.FINISHED?this.finish():this.viewAnimation.state===o.state.STOPPED&&(this.state=3))}onControllerEnd(t){null==this.viewAnimation||this.viewAnimation.done||(4===this.state?this.viewAnimation.finish():3===this.state&&this.viewAnimation.stop()),this._asyncResult&&(4===this.state?this._asyncResult.resolve():this._asyncResult.reject(i()))}finish(){this.finishController()}};r=t([e("esri.views.3d.state.controllers.AnimationController")],r);export{r as AnimationController};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../../core/has.js";import{Milliseconds as e}from"../../../core/time.js";class a{static isValidProfile(e){return e in a.profiles}static getDefaultProfile(){return has("esri-iPhone")?"low":"medium"}static apply(e,i){const t=a.profiles[e];i.graphics3D.maxTotalNumberOfFeatures=t.graphics3D.maxTotalNumberOfFeatures,i.graphics3D.maxNumberOfDrawCalls=t.graphics3D.maxNumberOfDrawCalls,i.graphics3D.maxTotalNumberOfVertices=t.graphics3D.maxTotalNumberOfVertices,i.graphics3D.polygonLodFactor=t.graphics3D.polygonLodFactor,i.graphics3D.polylineLodFactor=t.graphics3D.polylineLodFactor,i.graphics3D.snapshotAvailable=t.graphics3D.snapshotAvailable,i.graphics3D.skipHighSymbolLods=t.graphics3D.skipHighSymbolLods;const o=i.sceneService.object,l=t.sceneService.object;o.lodFactor=l.lodFactor,i.sceneService.point.lodFactor=t.sceneService.point.lodFactor,i.sceneService.integratedMesh.lodFactor=t.sceneService.integratedMesh.lodFactor,i.sceneService.pointCloud.lodFactor=t.sceneService.pointCloud.lodFactor,i.tiledSurface.lodBias=t.tiledSurface.lodBias,i.tiledSurface.angledSplitBias=t.tiledSurface.angledSplitBias,i.tiledSurface.vtlContentZoom=t.tiledSurface.vtlContentZoom,i.tiledSurface.elevationLevelDelta=t.tiledSurface.elevationLevelDelta,i.tiledSurface.reduceTileLevelDifferences=t.tiledSurface.reduceTileLevelDifferences,i.heatmap.pixelRatio=t.heatmap.pixelRatio,i.heatmap.maxTotalNumberOfFeatures=t.heatmap.maxTotalNumberOfFeatures,i.fadeDuration=t.fadeDuration,i.antialiasingEnabled=t.antialiasingEnabled,i.physicallyBasedRenderingEnabled=t.physicalBasedRenderingEnabled,i.highQualityTransparency=t.highQualityTransparency,i.highResolutionAtmosphere=t.highResolutionAtmosphere,i.reflections=t.reflections,i.ambientOcclusion=t.ambientOcclusion,i.maxTexturePixels=t.maxTexturePixels,i.memoryLimit=t.memoryLimit,i.additionalCacheMemory=t.additionalCacheMemory,i.frameRate=t.frameRate,i.maximumPixelRatio=t.maximumPixelRatio}static{this.test={reset(){const e=t();for(const i of Object.keys(e))a.profiles[i]=e[i]}}}}const i={IPhone12Pro:120,GalaxyS20:200,FullHD:240,SurfacePro7:300,FullHDRetina:430};function t(){const a=!!has("esri-mobile"),t=!!has("ios"),o=e(400);return{low:{graphics3D:{maxTotalNumberOfFeatures:25e3,maxNumberOfDrawCalls:8e3,maxTotalNumberOfVertices:255e4,polygonLodFactor:.5,polylineLodFactor:1,snapshotAvailable:!1,skipHighSymbolLods:!0},heatmap:{pixelRatio:.125,maxTotalNumberOfFeatures:5e4},sceneService:{object:{lodFactor:.2},point:{lodFactor:1},integratedMesh:{lodFactor:.6},pointCloud:{lodFactor:.5}},tiledSurface:{lodBias:-1,angledSplitBias:.5,vtlContentZoom:.75,elevationLevelDelta:3,reduceTileLevelDifferences:!0},fadeDuration:e(0),antialiasingEnabled:!1,physicalBasedRenderingEnabled:!1,highQualityTransparency:!1,highResolutionAtmosphere:!1,reflections:!1,ambientOcclusion:!1,maxTexturePixels:a?1048576:4194304,memoryLimit:200+i.IPhone12Pro,additionalCacheMemory:0,frameRate:0,maximumPixelRatio:1},medium:{graphics3D:{maxTotalNumberOfFeatures:1e5,maxNumberOfDrawCalls:17e3,maxTotalNumberOfVertices:625e4,polygonLodFactor:a?.8:1,polylineLodFactor:a?1.2:1.5,snapshotAvailable:!t,skipHighSymbolLods:!1},heatmap:{pixelRatio:.25,maxTotalNumberOfFeatures:13e4},sceneService:{object:{lodFactor:1},point:{lodFactor:1},integratedMesh:{lodFactor:1},pointCloud:{lodFactor:1}},tiledSurface:{lodBias:0,angledSplitBias:1,vtlContentZoom:1.5,elevationLevelDelta:3,reduceTileLevelDifferences:!has("disable-feature:reduce-map-tile-levels")},fadeDuration:o,antialiasingEnabled:!1,physicalBasedRenderingEnabled:!0,highQualityTransparency:!0,highResolutionAtmosphere:!1,reflections:!1,ambientOcclusion:!1,maxTexturePixels:a?4194304:4096**2,memoryLimit:a?600+i.GalaxyS20:750+i.FullHD,additionalCacheMemory:a?-100:150,frameRate:0,maximumPixelRatio:1},high:{graphics3D:{maxTotalNumberOfFeatures:1e5,maxNumberOfDrawCalls:17e3,maxTotalNumberOfVertices:125e5,polygonLodFactor:a?1.2:2,polylineLodFactor:a?1.2:2,snapshotAvailable:!t,skipHighSymbolLods:!1},heatmap:{pixelRatio:.5,maxTotalNumberOfFeatures:23e4},sceneService:{object:{lodFactor:1},point:{lodFactor:1},integratedMesh:{lodFactor:1},pointCloud:{lodFactor:1}},tiledSurface:{lodBias:0,angledSplitBias:1,vtlContentZoom:1.5,elevationLevelDelta:2,reduceTileLevelDifferences:!has("disable-feature:reduce-map-tile-levels")},fadeDuration:o,antialiasingEnabled:!0,physicalBasedRenderingEnabled:!0,highQualityTransparency:!0,highResolutionAtmosphere:!0,reflections:!0,ambientOcclusion:!0,maxTexturePixels:a?4096**2:1/0,memoryLimit:a?900+i.SurfacePro7:1500+i.FullHDRetina,additionalCacheMemory:a?-150:0,frameRate:0,maximumPixelRatio:a?1:1/0}}}!function(e){e.profiles=t()}(a||(a={}));const o=a;export{o as default};
5
+ import has from"../../../core/has.js";import{Milliseconds as e}from"../../../core/time.js";class a{static isValidProfile(e){return e in t}static getDefaultProfile(){return has("esri-iPhone")?"low":"medium"}static apply(e,a){const i=t[e];a.graphics3D.maxTotalNumberOfFeatures=i.graphics3D.maxTotalNumberOfFeatures,a.graphics3D.maxNumberOfDrawCalls=i.graphics3D.maxNumberOfDrawCalls,a.graphics3D.maxTotalNumberOfVertices=i.graphics3D.maxTotalNumberOfVertices,a.graphics3D.polygonLodFactor=i.graphics3D.polygonLodFactor,a.graphics3D.polylineLodFactor=i.graphics3D.polylineLodFactor,a.graphics3D.snapshotAvailable=i.graphics3D.snapshotAvailable,a.graphics3D.skipHighSymbolLods=i.graphics3D.skipHighSymbolLods;const o=a.sceneService.object,l=i.sceneService.object;o.lodFactor=l.lodFactor,a.sceneService.point.lodFactor=i.sceneService.point.lodFactor,a.sceneService.integratedMesh.lodFactor=i.sceneService.integratedMesh.lodFactor,a.sceneService.pointCloud.lodFactor=i.sceneService.pointCloud.lodFactor,a.tiledSurface.lodBias=i.tiledSurface.lodBias,a.tiledSurface.angledSplitBias=i.tiledSurface.angledSplitBias,a.tiledSurface.vtlContentZoom=i.tiledSurface.vtlContentZoom,a.tiledSurface.elevationLevelDelta=i.tiledSurface.elevationLevelDelta,a.tiledSurface.reduceTileLevelDifferences=i.tiledSurface.reduceTileLevelDifferences,a.heatmap.pixelRatio=i.heatmap.pixelRatio,a.heatmap.maxTotalNumberOfFeatures=i.heatmap.maxTotalNumberOfFeatures,a.fadeDuration=i.fadeDuration,a.antialiasingEnabled=i.antialiasingEnabled,a.physicallyBasedRenderingEnabled=i.physicalBasedRenderingEnabled,a.highQualityTransparency=i.highQualityTransparency,a.highResolutionAtmosphere=i.highResolutionAtmosphere,a.reflections=i.reflections,a.ambientOcclusion=i.ambientOcclusion,a.maxTexturePixels=i.maxTexturePixels,a.memoryLimit=i.memoryLimit,a.additionalCacheMemory=i.additionalCacheMemory,a.frameRate=i.frameRate,a.maximumPixelRatio=i.maximumPixelRatio}static{this.test={reset(){const e=o();for(const a of Object.keys(e))t[a]=e[a]}}}}const i={IPhone12Pro:120,GalaxyS20:200,FullHD:240,SurfacePro7:300,FullHDRetina:430},t=o();function o(){const a=!!has("esri-mobile"),t=!!has("ios"),o=e(400);return{low:{graphics3D:{maxTotalNumberOfFeatures:25e3,maxNumberOfDrawCalls:8e3,maxTotalNumberOfVertices:255e4,polygonLodFactor:.5,polylineLodFactor:1,snapshotAvailable:!1,skipHighSymbolLods:!0},heatmap:{pixelRatio:.125,maxTotalNumberOfFeatures:5e4},sceneService:{object:{lodFactor:.2},point:{lodFactor:1},integratedMesh:{lodFactor:.6},pointCloud:{lodFactor:.5}},tiledSurface:{lodBias:-1,angledSplitBias:.5,vtlContentZoom:.75,elevationLevelDelta:3,reduceTileLevelDifferences:!0},fadeDuration:e(0),antialiasingEnabled:!1,physicalBasedRenderingEnabled:!1,highQualityTransparency:!1,highResolutionAtmosphere:!1,reflections:!1,ambientOcclusion:!1,maxTexturePixels:a?1048576:4194304,memoryLimit:200+i.IPhone12Pro,additionalCacheMemory:0,frameRate:0,maximumPixelRatio:1},medium:{graphics3D:{maxTotalNumberOfFeatures:1e5,maxNumberOfDrawCalls:17e3,maxTotalNumberOfVertices:625e4,polygonLodFactor:a?.8:1,polylineLodFactor:a?1.2:1.5,snapshotAvailable:!t,skipHighSymbolLods:!1},heatmap:{pixelRatio:.25,maxTotalNumberOfFeatures:13e4},sceneService:{object:{lodFactor:1},point:{lodFactor:1},integratedMesh:{lodFactor:1},pointCloud:{lodFactor:1}},tiledSurface:{lodBias:0,angledSplitBias:1,vtlContentZoom:1.5,elevationLevelDelta:3,reduceTileLevelDifferences:!has("disable-feature:reduce-map-tile-levels")},fadeDuration:o,antialiasingEnabled:!1,physicalBasedRenderingEnabled:!0,highQualityTransparency:!0,highResolutionAtmosphere:!1,reflections:!1,ambientOcclusion:!1,maxTexturePixels:a?4194304:4096**2,memoryLimit:a?600+i.GalaxyS20:750+i.FullHD,additionalCacheMemory:a?-100:150,frameRate:0,maximumPixelRatio:1},high:{graphics3D:{maxTotalNumberOfFeatures:1e5,maxNumberOfDrawCalls:17e3,maxTotalNumberOfVertices:125e5,polygonLodFactor:a?1.2:2,polylineLodFactor:a?1.2:2,snapshotAvailable:!t,skipHighSymbolLods:!1},heatmap:{pixelRatio:.5,maxTotalNumberOfFeatures:23e4},sceneService:{object:{lodFactor:1},point:{lodFactor:1},integratedMesh:{lodFactor:1},pointCloud:{lodFactor:1}},tiledSurface:{lodBias:0,angledSplitBias:1,vtlContentZoom:1.5,elevationLevelDelta:2,reduceTileLevelDifferences:!has("disable-feature:reduce-map-tile-levels")},fadeDuration:o,antialiasingEnabled:!0,physicalBasedRenderingEnabled:!0,highQualityTransparency:!0,highResolutionAtmosphere:!0,reflections:!0,ambientOcclusion:!0,maxTexturePixels:a?4096**2:1/0,memoryLimit:a?900+i.SurfacePro7:1500+i.FullHDRetina,additionalCacheMemory:a?-150:0,frameRate:0,maximumPixelRatio:a?1:1/0}}}export{a as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{hasNativeFloat16Array as e}from"../../../../geometry/support/float16.js";import{BufferViewVec2f16 as t,BufferViewVec2f as i,BufferViewVec2f64 as s,BufferViewVec3f16 as r,BufferViewVec3f as n,BufferViewVec3f64 as h,BufferViewVec4f16 as d,BufferViewVec4f as u,BufferViewVec4f64 as f,BufferViewMat3f as o,BufferViewMat3f64 as p,BufferViewMat4f as l,BufferViewMat4f64 as c,BufferViewVec4u8 as a,BufferViewFloat16 as _,BufferViewFloat as F,BufferViewFloat64 as y,BufferViewUint8 as m,BufferViewUint16 as g,BufferViewInt8 as b,BufferViewVec2i8 as w,BufferViewVec2i16 as v,BufferViewVec2u8 as E,BufferViewVec2u16 as M,BufferViewVec4u16 as T,BufferViewUint32 as A,BufferViewVec3u8 as B,BufferViewVec3u16 as U,BufferViewVec2u32 as j,BufferViewVec3u32 as C,BufferViewVec4u32 as L,BufferViewVec3i8 as x,BufferViewVec4i8 as z,BufferViewInt16 as $,BufferViewVec3i16 as V,BufferViewVec4i16 as k,BufferViewInt32 as q,BufferViewVec2i32 as D,BufferViewVec3i32 as G,BufferViewVec4i32 as H}from"../../../../geometry/support/buffer/BufferView.js";import{elementTypeSize as I}from"../../../../geometry/support/buffer/types.js";import{assert as J}from"../../webgl-engine/lib/Util.js";class K{constructor(e,t){this.layout=e,this.buffer="number"==typeof t?new ArrayBuffer(t*e.stride):t;for(const i of e.fields.keys()){const t=e.fields.get(i);this[i]=new t.constructor(this.buffer,t.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.buffer.byteLength/this.stride}get byteLength(){return this.buffer.byteLength}getField(e,t){const i=this[e];return i&&i.elementCount===t.ElementCount&&i.elementType===t.ElementType?i:null}slice(e,t){return new K(this.layout,this.buffer.slice(e*this.stride,t*this.stride))}copyFrom(e,t=0,i=0,s=e.count){const r=this.stride;if(r%4==0){const n=new Uint32Array(e.buffer,t*r,s*r/4);new Uint32Array(this.buffer,i*r,s*r/4).set(n)}else{const n=new Uint8Array(e.buffer,t*r,s*r);new Uint8Array(this.buffer,i*r,s*r).set(n)}return this}get cachedMemory(){return this.byteLength}dispose(){}}class N{constructor(e){this._stride=0,this._fields=new Map,e&&(this._stride=e.stride,e.fields.forEach(e=>this._fields.set(e[0],{...e[1],constructor:S(e[1].constructor)})))}freeze(){return this}vec2f16(s,r){return this._appendField(s,e?t:i,r),this}vec2f(e,t){return this._appendField(e,i,t),this}vec2f64(e,t){return this._appendField(e,s,t),this}vec3f16(t,i){return this._appendField(t,e?r:n,i),this}vec3f(e,t){return this._appendField(e,n,t),this}vec3f64(e,t){return this._appendField(e,h,t),this}vec4f16(t,i){return this._appendField(t,e?d:u,i),this}vec4f(e,t){return this._appendField(e,u,t),this}vec4f64(e,t){return this._appendField(e,f,t),this}mat3f(e,t){return this._appendField(e,o,t),this}mat3f64(e,t){return this._appendField(e,p,t),this}mat4f(e,t){return this._appendField(e,l,t),this}mat4f64(e,t){return this._appendField(e,c,t),this}vec4u8(e,t){return this._appendField(e,a,t),this}f16(t,i){return this._appendField(t,e?_:F,i),this}f32(e,t){return this._appendField(e,F,t),this}f64(e,t){return this._appendField(e,y,t),this}u8(e,t){return this._appendField(e,m,t),this}u16(e,t){return this._appendField(e,g,t),this}i8(e,t){return this._appendField(e,b,t),this}vec2i8(e,t){return this._appendField(e,w,t),this}vec2i16(e,t){return this._appendField(e,v,t),this}vec2u8(e,t){return this._appendField(e,E,t),this}vec2u16(e,t){return this._appendField(e,M,t),this}vec4u16(e,t){return this._appendField(e,T,t),this}u32(e,t){return this._appendField(e,A,t),this}_appendField(e,t,i){this._fields.has(e)&&J(!1,`${e} already added to vertex buffer layout`);const s=t.ElementCount*I(t.ElementType),r=this._stride;this._fields.set(e,{constructor:t,size:s,offset:r,optional:i}),this._alignFields()}_alignFields(){let e=0,t=1;this._fields.forEach(i=>{const s=I(i.constructor.ElementType);e=Math.floor((e+s-1)/s)*s,i.offset=e,e+=i.size,t=Math.max(t,s)}),e=Math.floor((e+t-1)/t)*t,this._stride=e}createBuffer(e){return new K(this,e)}createView(e){return new K(this,e)}clone(){const e=new N;return e._stride=this._stride,e._fields=new Map,this._fields.forEach((t,i)=>e._fields.set(i,t)),e.BufferType=this.BufferType,e}get stride(){return this._stride}get fields(){return this._fields}}function O(){return new N}class P{constructor(e){this.fields=new Array,e.fields.forEach((e,t)=>{const i={...e,constructor:R(e.constructor)};this.fields.push([t,i])}),this.stride=e.stride}}const Q=[F,i,n,u,o,l,y,s,h,f,p,c,m,E,B,a,g,M,U,T,A,j,C,L,b,w,x,z,$,v,V,k,q,D,G,H];function R(e){return`${e.ElementType}_${e.ElementCount}`}function S(e){return W.get(e)}const W=new Map;Q.forEach(e=>W.set(R(e),e));export{K as InterleavedBuffer,N as InterleavedLayout,P as PackedLayout,O as newLayout};
5
+ import{hasNativeFloat16Array as e}from"../../../../geometry/support/float16.js";import{BufferViewVec2f16 as t,BufferViewVec2f as i,BufferViewVec2f64 as r,BufferViewVec3f16 as s,BufferViewVec3f as n,BufferViewVec3f64 as h,BufferViewVec4f16 as d,BufferViewVec4f as u,BufferViewVec4f64 as f,BufferViewMat3f as o,BufferViewMat3f64 as l,BufferViewMat4f as p,BufferViewMat4f64 as c,BufferViewVec4u8 as a,BufferViewFloat16 as _,BufferViewFloat as m,BufferViewFloat64 as F,BufferViewUint8 as y,BufferViewUint16 as g,BufferViewInt8 as b,BufferViewVec2i8 as w,BufferViewVec2i16 as v,BufferViewVec2u8 as E,BufferViewVec2u16 as A,BufferViewVec4u16 as M,BufferViewUint32 as T,BufferViewVec3u8 as j,BufferViewVec3u16 as U,BufferViewVec2u32 as B,BufferViewVec3u32 as L,BufferViewVec4u32 as x,BufferViewVec3i8 as C,BufferViewVec4i8 as z,BufferViewInt16 as V,BufferViewVec3i16 as $,BufferViewVec4i16 as k,BufferViewInt32 as q,BufferViewVec2i32 as D,BufferViewVec3i32 as G,BufferViewVec4i32 as H}from"../../../../geometry/support/buffer/BufferView.js";import{elementTypeSize as I}from"../../../../geometry/support/buffer/types.js";import{glLayout as J}from"./glUtil.js";import{assert as K}from"../../webgl-engine/lib/Util.js";import{fromLayout as N}from"../../../webgl/VertexAttributeLocations.js";class O{constructor(e,t){this.layout=e,this.buffer="number"==typeof t?new ArrayBuffer(t*e.stride):t;for(const i of e.fields.keys()){const t=e.fields.get(i);this[i]=new t.constructor(this.buffer,t.offset,this.stride)}}get stride(){return this.layout.stride}get count(){return this.buffer.byteLength/this.stride}get byteLength(){return this.buffer.byteLength}getField(e,t){const i=this[e];return i&&i.elementCount===t.ElementCount&&i.elementType===t.ElementType?i:null}slice(e,t){return new O(this.layout,this.buffer.slice(e*this.stride,t*this.stride))}copyFrom(e,t=0,i=0,r=e.count){const s=this.stride;if(s%4==0){const n=new Uint32Array(e.buffer,t*s,r*s/4);new Uint32Array(this.buffer,i*s,r*s/4).set(n)}else{const n=new Uint8Array(e.buffer,t*s,r*s);new Uint8Array(this.buffer,i*s,r*s).set(n)}return this}get cachedMemory(){return this.byteLength}dispose(){}}class P{constructor(e){this._stride=0,this._fields=new Map,e&&(this._stride=e.stride,e.fields.forEach(e=>this._fields.set(e[0],{...e[1],constructor:X(e[1].constructor)})))}freeze(){return this}get locations(){return N(J(this))}vec2f16(r,s){return this._appendField(r,e?t:i,s),this}vec2f(e,t){return this._appendField(e,i,t),this}vec2f64(e,t){return this._appendField(e,r,t),this}vec3f16(t,i){return this._appendField(t,e?s:n,i),this}vec3f(e,t){return this._appendField(e,n,t),this}vec3f64(e,t){return this._appendField(e,h,t),this}vec4f16(t,i){return this._appendField(t,e?d:u,i),this}vec4f(e,t){return this._appendField(e,u,t),this}vec4f64(e,t){return this._appendField(e,f,t),this}mat3f(e,t){return this._appendField(e,o,t),this}mat3f64(e,t){return this._appendField(e,l,t),this}mat4f(e,t){return this._appendField(e,p,t),this}mat4f64(e,t){return this._appendField(e,c,t),this}vec4u8(e,t){return this._appendField(e,a,t),this}f16(t,i){return this._appendField(t,e?_:m,i),this}f32(e,t){return this._appendField(e,m,t),this}f64(e,t){return this._appendField(e,F,t),this}u8(e,t){return this._appendField(e,y,t),this}u16(e,t){return this._appendField(e,g,t),this}i8(e,t){return this._appendField(e,b,t),this}vec2i8(e,t){return this._appendField(e,w,t),this}vec2i16(e,t){return this._appendField(e,v,t),this}vec2u8(e,t){return this._appendField(e,E,t),this}vec2u16(e,t){return this._appendField(e,A,t),this}vec4u16(e,t){return this._appendField(e,M,t),this}u32(e,t){return this._appendField(e,T,t),this}_appendField(e,t,i){this._fields.has(e)&&K(!1,`${e} already added to vertex buffer layout`);const r=t.ElementCount*I(t.ElementType),s=this._stride;this._fields.set(e,{constructor:t,size:r,offset:s,optional:i}),this._alignFields()}_alignFields(){let e=0,t=1;this._fields.forEach(i=>{const r=I(i.constructor.ElementType);e=Math.floor((e+r-1)/r)*r,i.offset=e,e+=i.size,t=Math.max(t,r)}),e=Math.floor((e+t-1)/t)*t,this._stride=e}createBuffer(e){return new O(this,e)}createView(e){return new O(this,e)}clone(){const e=new P;return e._stride=this._stride,e._fields=new Map,this._fields.forEach((t,i)=>e._fields.set(i,t)),e.BufferType=this.BufferType,e}get stride(){return this._stride}get fields(){return this._fields}}function Q(){return new P}class R{constructor(e){this.fields=new Array,e.fields.forEach((e,t)=>{const i={...e,constructor:W(e.constructor)};this.fields.push([t,i])}),this.stride=e.stride}}const S=[m,i,n,u,o,p,F,r,h,f,l,c,y,E,j,a,g,A,U,M,T,B,L,x,b,w,C,z,V,v,$,k,q,D,G,H];function W(e){return`${e.ElementType}_${e.ElementCount}`}function X(e){return Y.get(e)}const Y=new Map;S.forEach(e=>Y.set(W(e),e));export{O as InterleavedBuffer,P as InterleavedLayout,R as PackedLayout,Q as newLayout};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{DataType as e}from"../../../webgl/enums.js";import{VertexElementDescriptor as r}from"../../../webgl/VertexElementDescriptor.js";function t(e,t=0){const n=e.stride;return Array.from(e.fields.keys()).map(s=>{const i=e.fields.get(s),f=i.constructor.ElementCount,u=o(i.constructor.ElementType),c=i.offset,m=i.optional?.glNormalized??!1;return new r(s,f,u,c,n,m,t)})}function o(e){const r=n[e];if(r)return r;throw new Error("BufferType not supported in WebGL")}const n={u8:e.UNSIGNED_BYTE,u16:e.UNSIGNED_SHORT,u32:e.UNSIGNED_INT,i8:e.BYTE,i16:e.SHORT,i32:e.INT,f16:e.HALF_FLOAT,f32:e.FLOAT};export{t as glLayout};
5
+ import"../../../../core/has.js";import{DataType as e}from"../../../webgl/enums.js";import{VertexElementDescriptor as r}from"../../../webgl/VertexElementDescriptor.js";function t(e,t=0){const o=e.stride;return Array.from(e.fields.keys()).map(s=>{const u=e.fields.get(s),c=u.constructor.ElementCount,i=n(u.constructor.ElementType),a=u.offset,f=u.optional?.glNormalized??!1;return new r(s,c,i,a,o,f,t)})}function n(r){switch(r){case"u8":return e.UNSIGNED_BYTE;case"u16":return e.UNSIGNED_SHORT;case"u32":return e.UNSIGNED_INT;case"i8":return e.BYTE;case"i16":return e.SHORT;case"i32":return e.INT;case"f16":return e.HALF_FLOAT;case"f32":return e.FLOAT;default:throw new Error("BufferType not supported in WebGL")}}export{t as glLayout};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{ZEROS as e}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{TileCompositePassParameters as r}from"../webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{B as s}from"../../../chunks/BlendLayers.glsl.js";import{ReloadableShaderModule as o}from"../webgl-engine/core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as i}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";class t extends r{constructor(){super(...arguments),this.opacity=1,this.baseOpacity=1,this.texture=null,this.fboTexture=null,this.backgroundColor=e}}class l extends i{constructor(e,r){super(e,r,new o(s,()=>import("../webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js")))}}export{t as BlendLayersPassParameters,l as BlendLayersTechnique};
5
+ import{ZEROS as e}from"../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{TileCompositePassParameters as r}from"../webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js";import{B as s}from"../../../chunks/BlendLayers.glsl.js";import{ReloadableShaderModule as o}from"../webgl-engine/core/shaderTechnique/ReloadableShaderModule.js";import{ShaderTechnique as t}from"../webgl-engine/core/shaderTechnique/ShaderTechnique.js";import{Pos2TexF16 as i}from"../webgl-engine/lib/DefaultVertexBufferLayouts.js";import{fromLayout as l}from"../../webgl/VertexAttributeLocations.js";class n extends r{constructor(){super(...arguments),this.opacity=1,this.baseOpacity=1,this.texture=null,this.fboTexture=null,this.backgroundColor=e}}class a extends t{constructor(e,r){super(e,r,new o(s,()=>import("../webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js")),l(i))}}export{n as BlendLayersPassParameters,a as BlendLayersTechnique};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{clamp as t,isPowerOfTwo as e}from"../../../core/mathUtils.js";import{maxUint16 as n}from"../../../core/typedArrayUtil.js";import{empty as o}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as s}from"../../../geometry/support/aaBoundingRect.js";import{sampleElevation as r}from"./ElevationData.js";import{PatchGeometryLUT as i}from"./PatchGeometryLUT.js";import{zeroToFour as a,neighborTileIfLoadedOrSelf as c}from"./PatchRenderData.js";import{internalAssert as l,enableTerrainInternalChecks as u,neighborEdgeIndices as d,almostEquals as f}from"./terrainUtils.js";import{isCornerNeighbor as m}from"./Tile.js";import{compareTilesByLij as g}from"./tileUtils.js";import{compressNormal as h}from"../webgl-engine/lib/Normals.js";const p=65536;function x(t,e){const{tile:n,geometry:s,geometryState:r}=t,{extentInRadians:i,surface:a}=n,{isWebMercator:c,renderer:l}=a,{numVerticesPerSide:u,wireframe:d}=r,f=u-1,m=(u-2)**2,g=c&&(2===e||3===e),h=c&&(1===e||3===e),p=((g?1:0)+(h?1:0))*mt*u,x=ut(r),S=m+p+4*x,v=l.tileGeometryCache.acquire(S);s.numVerticesPerSide=u,s.vertexAttributes=v,s.maxEdgeVertexCount=x;const{boundingBox:V}=s;o(V);const B=P(t);ot.update(f,i,B),y(t),s.poleVerticesStartIndex=m;const b=M(t,g,h);s.edgeVerticesStartIndex=m+p,Q(t),I(t),W(s,b,d),t.intersectionData=null}function M(t,e,o){const{tile:s,localOrigin:r,geometry:i}=t,{extent:a,ellipsoid:c}=s,{boundingBox:l,numVerticesPerSide:u,vertexAttributes:d,poleVerticesStartIndex:f}=i,m=u-1,g=r[0],p=r[1],x=r[2],M=c.radius,y=a[1],S=a[3],v=[];let V=f;const I=(t,e)=>{const o=e*u;lt(-g,-p,t*M-x,l),v.push(new et(1===t,o,1===t?0:2,V,mt));const s=C(-1===t?y:S,M),r=t*Math.PI/2-s,i=.99*(1===t?1:-1),a=M+0,{position:c,uv0:f}=d,{typedBuffer:I,typedBufferStride:B}=d.normalCompressed;for(let u=1;u<=mt;++u){const t=s+r*(u/mt),e=Math.cos(t),o=Math.sin(t);for(let s=0;s<=m;s++){const t=s/m,r=ot.sinLonLUT[s],u=ot.cosLonLUT[s]*e,d=r*e,M=o,y=u*a-g,S=d*a-p,v=M*a-x;lt(y,S,v,l),c.setValues(V,y,S,v),f.setValues(V,Math.round(t*n),Math.round(i*n)),h(I,V,u,d,M,B),++V}}};return e&&I(-1,0),o&&I(1,m),v}function y(t){const{tile:e}=t;if(!e.intersectsClippingArea)return;const{geometry:o,geometryState:s,localOrigin:i}=t,{numVerticesPerSide:a,samplerData:c}=s,l=a-2,u=a-1,{vertexAttributes:d,boundingBox:f}=o,{position:m,uv0:g}=d,{typedBuffer:p,typedBufferStride:x}=d.normalCompressed,{extent:M}=e,y=M[0],S=M[2],v=M[1],V=M[3],I=e.ellipsoid.radius,B=i[0],b=i[1],C=i[2],L=m.typedBuffer,A=m.typedBufferStride,P=1/u;let D=0;if(1<=l){const t=P,e=v*(1-t)+V*t,o=ot.sinLatLUT[1],s=ot.cosLatLUT[1];for(let i=1;i<=l;i++){const a=i*P,l=y*(1-a)+S*a,u=ot.sinLonLUT[i],d=ot.cosLonLUT[i],m=I+r(l,e,c),h=m*d*s-B,p=m*u*s-b,x=m*o-C;lt(h,p,x,f);const M=(i-1)*A;L[M]=h,L[M+1]=p,L[M+2]=x,g.setValues(i-1,Math.round(a*n),Math.round(t*n))}}for(let E=1;E<=l;E++){const t=E*P,e=v*(1-t)+V*t,o=ot.sinLatLUT[E],s=ot.cosLatLUT[E],i=E+1,a=i*P,d=v*(1-a)+V*a,m=ot.sinLatLUT[i],M=ot.cosLatLUT[i],T=ot.sinLonLUT[0],O=ot.cosLonLUT[0],R=I+r(y,e,c);let U=O*s*R-B,w=T*s*R-b,N=o*R-C;const j=D*A;let F=L[j],q=L[j+1],W=L[j+2];for(let V=1;V<=l;V++){const t=V*P,i=y*(1-t)+S*t,T=ot.sinLonLUT[V],O=ot.cosLonLUT[V];let R=0,j=0,k=0;if(V<l){const t=(D+1)*A;R=L[t],j=L[t+1],k=L[t+2]}else{const t=ot.sinLonLUT[u],n=ot.cosLonLUT[u],i=I+r(S,e,c);R=n*s*i-B,j=t*s*i-b,k=o*i-C}const z=U,G=w,H=N;U=F,w=q,N=W,F=R,q=j,W=k;const J=R-z,K=j-G,Q=k-H;let X=0,Y=0,Z=0;if(E>1){const t=(D-l)*A;X=L[t],Y=L[t+1],Z=L[t+2]}else{const t=ot.sinLatLUT[0],e=ot.cosLatLUT[0],n=I+r(i,v,c);X=O*e*n-B,Y=T*e*n-b,Z=t*n-C}const $=I+r(i,d,c),_=O*M*$-B,tt=T*M*$-b,et=m*$-C;if(E<l){const e=D+l,o=e*A;L[o]=_,L[o+1]=tt,L[o+2]=et,lt(_,tt,et,f),g.setValues(e,Math.round(t*n),Math.round(a*n))}const nt=X-_,st=Y-tt,rt=Z-et;let it=O*s,at=T*s,ct=o;ct*ct<.999&&(it=Q*st-K*rt,at=J*rt-Q*nt,ct=K*nt-J*st);const ut=1/Math.sqrt(it*it+at*at+ct*ct);h(p,D,it*ut,at*ut,ct*ut,x),++D}}}function S(t){t.tile.intersectsClippingArea&&(I(t),_(t),t.intersectionData=null)}function v(t){t.tile.intersectsClippingArea&&(X(t),I(t),_(t),tt(t),t.intersectionData=null)}function V(t){t.tile.intersectsClippingArea&&(b(t),B(t,!0),_(t),t.intersectionData=null)}function I(t){t.tile.intersectsClippingArea&&(b(t),B(t))}function B(t,o=!1){const{geometry:s,geometryState:i,tile:a,localOrigin:m}=t,{level:h,extent:p,extentInRadians:x,ellipsoid:M}=a,y=M.radius,S=x[0],v=x[2],V=x[1],I=x[3],{samplerData:B}=i,b=p[0],C=p[2],L=p[1],A=p[3],D=P(t),{boundingBox:E,vertexAttributes:T}=s,O=m[0],R=m[1],U=m[2],{position:w,uv0:N}=T,j=w.typedBuffer,F=w.typedBufferStride;for(let P=0;P<4;++P){const m=1===P||3===P,x=i.edgeResolutions[P];l(e(x));const M=x+1,T=c(a,i.edgePeerNeighbors[P]);if(it(a,T,P)){Y(t,P,T);continue}const w=null!=T;l(!w||T.level===a.level),l(!w||g(a,T)<=0);const q=T?.renderData,W=q?.geometryState;if(u){const t=a.surface;if(!T&&t&&!t.updatingRootTiles){const e=d[P],n=a.findNeighborTile(e,t=>t.loaded||t.leaf||t.level===a.level);n?n.intersectsClippingArea&&(l(!n.loaded),l(!n.leaf),l(n.level===h)):l(null==t?.rootTiles||!a.shouldHaveNeighbor(e))}}const k=1===P?p[2]:p[0],z=T?.extent,G=z&&m?1===P?z[0]:z[2]:k,H=0===P?p[3]:p[1],J=1===P?1:0,K=0===P?1:0,Q=1===P?v:S,X=0===P?I:V,Z=Math.sin(Q),$=Math.cos(Q),_=Math.sin(X),tt=Math.cos(X),et=W?.samplerData,nt=w?(t,e,n)=>.5*(r(t,e,B)+r(n,e,et)):(t,e,n)=>r(t,e,B),ot=s.outerEdgesOffsetAndLength[2*P+0],st=o&&M>3?M-3:1,rt=null!=B&&B.some(t=>null!=t),at=null!=et&&et.some(t=>null!=t),ct=rt||at,ut=1/x,dt=ot;l(!z||f(z[2]-z[0],p[2]-p[0]));(()=>{const t=1===P?-1:3===P?1:0,e=0===P?-1:2===P?1:0,o=(p[2]-p[0])*ut,i=t*o,a=e*o,c=m?t*((v-S)*ut):0,l=m?0:e*ut,u=K,d=m?Q+c:Q,f=m?Math.sin(d):Z,g=m?Math.cos(d):$,h=m?Q-c:Q,x=m?Math.sin(h):Z,V=m?Math.cos(h):$,I=m?X:D(u+l),T=m?_:Math.sin(I),q=m?tt:Math.cos(I),W=m?X:D(u-l),z=m?_:Math.sin(W),Y=m?tt:Math.cos(W);let ot=0,rt=0,it=0;{const t=0*ut,e=m?k:b*(1-t)+C*t,n=m?G:e,o=m?L*(1-t)+A*t:H,s=m?Q:S*(1-t)+v*t,r=m?Z:Math.sin(s),i=m?$:Math.cos(s),a=m?D(t):X,c=m?Math.sin(a):_,l=m?Math.cos(a):tt,u=y+nt(e,o,n);ot=i*l*u,rt=r*l*u,it=c*u}let at=0,ft=0,mt=0;{const t=1*ut,e=m?k:b*(1-t)+C*t,n=m?G:e,o=m?L*(1-t)+A*t:H,s=m?Q:S*(1-t)+v*t,r=m?Z:Math.sin(s),i=m?$:Math.cos(s),a=m?D(t):X,c=m?Math.sin(a):_,l=m?Math.cos(a):tt,u=y+nt(e,o,n);at=i*l*u,ft=r*l*u,mt=c*u}for(let p=1;p<M-1;p+=st){let t=0,e=0,o=0;{const n=(p+1)*ut,s=m?k:b*(1-n)+C*n,r=m?G:s,i=m?L*(1-n)+A*n:H,a=m?Q:S*(1-n)+v*n,c=m?Z:Math.sin(a),l=m?$:Math.cos(a),u=m?D(n):X,d=m?Math.sin(u):_,f=m?Math.cos(u):tt,g=y+nt(s,i,r);t=l*f*g,e=c*f*g,o=d*g}const c=t,l=e,u=o,d=at,h=ft,M=mt;at=c,ft=l,mt=u;{const t=dt+p,e=t*F,o=d-O,s=h-R,r=M-U;j[e]=o,j[e+1]=s,j[e+2]=r,lt(o,s,r,E);const i=p*ut,a=m?J:i,c=m?i:K;N.setValues(t,Math.round(a*n),Math.round(c*n))}const I=ot,W=rt,st=it;ot=d,rt=h,it=M;const gt=d,ht=h,pt=M,xt=1/Math.sqrt(gt*gt+ht*ht+pt*pt),Mt=pt*xt;let yt=0,St=0,vt=0;if(ct&&Mt*Mt<.999){let t=0,e=0,n=0;{const o=0===P?-1:1;t=o*(c-I),e=o*(l-W),n=o*(u-st)}{const o=p*ut,s=m?k:b*(1-o)+C*o,c=m?G:s,l=m?L*(1-o)+A*o:H,u=m?Q:S*(1-o)+v*o,d=m?Z:Math.sin(u),h=m?$:Math.cos(u),M=m?D(o):X,I=m?Math.sin(M):_,E=m?Math.cos(M):tt;let O=gt,R=ht,U=pt;if(w){const t=y+r(c-i,l-a,et),e=m?E:Y;O=(m?V:h)*e*t,R=(m?x:d)*e*t,U=(m?I:z)*t}{const o=y+r(s+i,l+a,B),c=m?E:q,u=(m?g:h)*c*o,p=(m?f:d)*c*o,x=(m?I:T)*o;w||(O=2*gt-u,R=2*ht-p,U=2*pt-x);const M=3===P?-1:1,S=M*(O-u),v=M*(R-p),V=M*(U-x);yt=n*v-e*V,St=t*V-n*S,vt=e*S-t*v;const b=1/Math.sqrt(yt*yt+St*St+vt*vt);yt*=b,St*=b,vt*=b}}}else yt=gt*xt,St=ht*xt,vt=pt*xt;s.setEdgeNormalFromValues(P,p,yt,St,vt)}})()}}function b(t){Z(t)}function C(t,e){return Math.PI/2-2*Math.atan(Math.exp(-t/e))}function L(t,e,n,o){return C(t*(1-o)+e*o,n)}function A(t,e,n){return t*(1-n)+e*n}function P(t){const{tile:e}=t;if(e.surface.isWebMercator){const t=e.extent,n=e.ellipsoid.radius;return e=>L(t[1],t[3],n,e)}const n=e.extentInRadians;return t=>A(n[1],n[3],t)}function D(t,e){const{tile:n,geometryState:s,geometry:r}=t,{extent:i,surface:a}=n,{wireframe:c}=s,l=i[0],u=i[1],d=i[2]-l,f=i[3]-u,{numVerticesPerSide:m,clippingArea:g}=s,h=null!=g?Math.max(0,(g[0]-l)/d):0,p=null!=g?Math.max(0,(g[1]-u)/f):0,x=null!=g?Math.min(1,(g[2]-l)/d):1,M=null!=g?Math.min(1,(g[3]-u)/f):1,y=(m-2)**2,S=ut(s),v=y+4*S,V=a.renderer.tileGeometryCache.acquire(v),{boundingBox:I}=r;o(I),r.numVerticesPerSide=m,r.vertexAttributes=V,r.maxEdgeVertexCount=S,r.minu=h,r.minv=p,r.maxu=x,r.maxv=M,E(t),r.edgeVerticesStartIndex=y,Q(t),U(t),W(r,[],c),t.intersectionData=null}function E(e){const o=e.tile;if(!o.intersectsClippingArea)return;const{geometry:s,geometryState:i,localOrigin:a}=e,{samplerData:c,clippingArea:l,numVerticesPerSide:u}=i,{surface:d,extent:f,ellipsoid:m}=o,{isWebMercatorOnPlateCarree:g}=d,p=null!=l?l:st,x=f[0],M=f[1],y=f[2],S=f[3],v=Math.max(x,p[0]),V=Math.min(y,p[2]),I=Math.max(M,p[1]),B=Math.min(S,p[3]),b=m.radius,C=o.horizontalScale,L=u-1,A=u-2,{minu:P,minv:D,maxu:E,maxv:T,boundingBox:O,vertexAttributes:R}=s,{position:U,uv0:w}=R,{typedBuffer:N,typedBufferStride:j}=R.normalCompressed,F=a[0],q=a[1],W=a[2],k=U.typedBuffer,z=U.typedBufferStride;let G=0;const H=t(M,I,B),J=g?(Math.PI/2-2*Math.atan(Math.exp(-H/b)))*b:H*C,K=1/L,Q=t(M*(1-K)+S*K,I,B);let X=J,Y=g?(Math.PI/2-2*Math.atan(Math.exp(-Q/b)))*b:Q*C;for(let Z=1;Z<=A;Z++){const e=Z/L,o=t(M*(1-e)+S*e,I,B),s=t(e,D,T),i=Y,a=(Z-1)/L,l=t(M*(1-a)+S*a,I,B),u=X,d=(Z+1)/L,f=t(M*(1-d)+S*d,I,B),m=g?(Math.PI/2-2*Math.atan(Math.exp(-f/b)))*b:f*C,p=t(d,D,T);X=Y,Y=m;const R=t(x,v,V);let U=R*C,H=r(R,o,c);const J=1/L,K=t(J,P,E),Q=t(x*(1-K)+y*K,v,V);let $=K,_=Q,tt=Q*C,et=r(Q,o,c);if(1===Z){const e=tt-F,o=X-q,r=et-W,i=0*z;k[i]=e,k[i+1]=o,k[i+2]=r,lt(e,o,r,O);const a=t(J,P,E);w.setValues(G,Math.round(a*n),Math.round(s*n))}for(let g=1;g<=A;g++){const e=tt,a=et,d=(g+1)/L,M=t(d,P,E),S=t(x*(1-d)+y*d,v,V),I=_;_=S;{const t=G+1,e=t*z;if(1===Z||g===A){const a=S*C,l=r(S,o,c);if(1===Z&&g<A){const o=a-F,r=i-q,c=l-W;k[e]=o,k[e+1]=r,k[e+2]=c,lt(o,r,c,O),w.setValues(t,Math.round(M*n),Math.round(s*n))}tt=a,et=l}else tt=k[e]+F,et=k[e+2]+W}const B=tt,b=et,D=U,T=H;U=e,H=a;const R=(G-A)*z,J=1===Z?r(I,l,c):k[R+2]+W,K=r(I,f,c);if(Z<A){const t=G+A,o=t*z,s=e-F,r=m-q,i=K-W;k[o]=s,k[o+1]=r,k[o+2]=i,lt(s,r,i,O);const a=$;$=M,w.setValues(t,Math.round(a*n),Math.round(p*n))}{const t=B-D,e=u-m,n=e*(b-T),o=t*(J-K),s=-e*t,r=n*n+o*o+s*s;if(0===r)h(N,G,0,0,1,j);else{const t=1/Math.sqrt(r);h(N,G,n*t,o*t,s*t,j)}}++G}}}function T(t,e){t.tile.intersectsClippingArea&&(N(t),w(t,!0),_(t),t.intersectionData=null)}function O(t,e){t.tile.intersectsClippingArea&&(X(t),U(t),_(t),tt(t),t.intersectionData=null)}function R(t,e){t.tile.intersectsClippingArea&&(U(t),_(t),t.intersectionData=null)}function U(t,e){t.tile.intersectsClippingArea&&(N(t),w(t,!1))}function w(n,o){const{geometry:s,geometryState:i,localOrigin:a}=n,f=n.tile,{surface:m,extent:h}=f,{clippingArea:p,samplerData:x}=i,M=null!=p?p:st,y=h[0],S=h[2],v=h[1],V=h[3],I=[V>M[3],S>M[2],v<M[1],y<M[0]],B=f.horizontalScale,b=q(m.isWebMercatorOnPlateCarree,f.ellipsoid.radius,B),{minu:C,minv:L,maxu:A,maxv:P,boundingBox:D}=s,E=Math.max(y,M[0]),T=Math.min(S,M[2]),O=Math.max(v,M[1]),R=Math.min(V,M[3]),U=a[0],w=a[1],N=a[2];for(let j=0;j<4;++j){const a=1===j||3===j,h=i.edgeResolutions[j];l(e(h));const p=h+1,M=I[j],F=c(f,i.edgePeerNeighbors[j]);if(!M&&it(f,F,j)){Y(n,j,F);continue}const q=null!=F&&!M,W=F?.renderData,k=W?.geometryState;if(u&&(l(!q||F.level===f.level),l(!q||g(f,F)<=0),f&&!F&&!m.updatingRootTiles)){const t=d[j],e=f.findNeighborTile(t,t=>t.loaded||t.leaf||t.level===f.level);m.updatingRootTiles||(e?e.intersectsClippingArea&&(l(!e.loaded),l(!e.leaf),l(e.level===f.level)):l(null==m?.rootTiles||!f.shouldHaveNeighbor(t)))}const z=t(1===j?S:y,E,T),G=t(0===j?V:v,O,R),H=k?.samplerData,J=o&&p>3?p-3:1,K=t(1===j?1:0,C,A),Q=t(0===j?1:0,L,P),X=q?(t,e)=>.5*(r(t,e,H)+r(t,e,x)):(t,e)=>r(t,e,x),Z=(S-y)/h,$=a?1===j?Z:-Z:0,_=a?0:0===j?Z:-Z,tt=-$,et=-_;let nt=0,ot=0,st=0;{const e=0/h,n=a?z:t(y*(1-e)+S*e,E,T),o=a?t(v*(1-e)+V*e,O,R):G,s=X(n,o);nt=n*B,ot=b(o),st=s}let rt=0,at=0,ct=0;{const e=1/h,n=a?z:t(y*(1-e)+S*e,E,T),o=a?t(v*(1-e)+V*e,O,R):G,s=X(n,o);rt=n*B,at=b(o),ct=s}for(let e=1;e<p-1;e+=J){const n=e/h,o=rt,i=at,c=ct;{const r=a?K:t(n,C,A),l=a?t(n,L,P):Q,u=o-U,d=i-w,f=c-N;lt(o,d,f,D),s.setEdgeVertexFromValuesRawPositionUV(j,e,u,d,f,r,l)}{const n=(e+1)/h,o=a?z:t(y*(1-n)+S*n,E,T),s=a?t(v*(1-n)+V*n,O,R):G,r=X(o,s);rt=o*B,at=b(s),ct=r}const l=rt,u=ct,d=nt,f=ot,m=st;nt=o,ot=i,st=c;let g=0,p=0,M=0;if(a){const e=at-i,s=u-c,a=f-i,l=m-c,d=t(v*(1-n)+V*n,O,R),h=z+tt,y=h*B-o,S=r(h,d,x)-c,I=3===j?-1:1;if(g=I*(-a+e)*S,p=I*y*(-l+s),M=-I*y*(-a+e),q){const t=z+$,n=t*B-o;g=(-a+e)*(S-(r(t,d,H)-c)),p=(y-n)*(-l+s),M=-(y-n)*(-a+e)}}else{const e=l-o,s=u-c,a=d-o,f=m-c,h=t(y*(1-n)+S*n,E,T),v=G+et,V=r(h,v,x)-c,I=b(v)-i,B=2===j?-1:1;if(g=B*I*(-f+s),p=B*(-a+e)*V,M=-B*I*(-a+e),q){const t=h,n=G+_,o=b(n)-i;g=(-I+o)*(-f+s),p=(-a+e)*(-V+(r(t,n,H)-c)),M=-(-I+o)*(-a+e)}}const I=1/Math.sqrt(g*g+p*p+M*M);s.setEdgeNormalFromValues(j,e,g*I,p*I,M*I)}}}function N(t,e){Z(t)}function j(t,e){return(Math.PI/2-2*Math.atan(Math.exp(-t/e)))*e}function F(t,e){return t*e}function q(t,e,n){return t?t=>j(t,e):t=>F(t,n)}function W(t,e,n){const{numVerticesPerSide:o,vertexAttributes:s,maxEdgeVertexCount:r}=t,i=o-1,c=s.count,l=2*(o-3)*(o-3),u=4*(i+r-3),d=a.reduce((e,n)=>e+(i+t.getEdgeCount(n)-3),0),f=e.reduce((t,e)=>t+i*(2*(e.latitudeResolution-1)+1),0),m=3*(n?2:1),g=(l+u+f)*m,h=c>=p?new Uint32Array(g):new Uint16Array(g);for(let a=0;a<g;++a)h[a]=0;t.indices=h,t.indexCount=(l+d+f)*m,t.poleIndicesStartIndex=l*m,t.edgeIndicesStartIndex=(l+f)*m,n?(H(t),J(t,e),K(t)):(k(t),z(t,e),G(t))}function k(t){const{numVerticesPerSide:e,indices:n,vertexAttributes:o}=t,{position:s}=o,{typedBuffer:r,typedBufferStride:i}=s,a=e-2,c=e-3,l=0,u=e-3;let d=0;for(let f=0;f<c;++f){const t=f*a;for(let e=l;e<u;++e){const o=t+e,s=o+1,c=s+a,l=c-1;dt(o,s,c,l,i,r)?(n[d]=o,n[d+1]=s,n[d+2]=c,n[d+3]=c,n[d+4]=l,n[d+5]=o):(n[d]=o,n[d+1]=s,n[d+2]=l,n[d+3]=l,n[d+4]=s,n[d+5]=c),d+=6}}}function z(t,e){const{numVerticesPerSide:n,indices:o,poleIndicesStartIndex:s}=t,r=n-1;let i=s;for(const a of e){const e=a.isNorth?1:2,s=a.isNorth?2:1,c=a.isNorth?3:4,l=a.isNorth?4:3;let u=t.getEdgeVertexIndex(a.connectedOuterEdgeOffset,0),d=1;for(let t=0;t<a.latitudeResolution;++t){const f=0===t?a.rowOffset:u+n;for(let n=0;n<r;n++){const r=f+n;o[i]=u,o[i+e]=u+1,o[i+s]=r,t<a.latitudeResolution-1?(o[i+c]=u+1,o[i+l]=r+1,o[i+5]=r,i+=6):i+=3,u+=d}u=f,d=1}}}function G(t){const{indices:e,numVerticesPerSide:n,edgeIndicesStartIndex:o}=t,s=n-1,r=s-2;let i=o;for(let a=0;a<4;++a){const n=ct[a];let o=0,c=0;const u=t.getEdgeCount(a),d=n.count;l(d===s-1);const f=1===a||2===a,m=f?1:2,g=f?2:1,h=t.getEdgeFirstVertexIndex(a),p=1,x=n.vertex0Index,M=n.stride;for(;o<u-1||c<d-1;){const t=x+c*M,n=h+o*p,a=o<u-1,l=c<d-1,f=a&&(!l||(a?0+s*(o+.5)/(u-1):0)<=(l?1+r*(c+.5)/(d-1):0));f?++o:++c;const y=f?n+p:t+M;e[i]=t,e[i+m]=n,e[i+g]=y,i+=3}}t.indexCount=i}function H(t){const{indices:e,numVerticesPerSide:n,vertexAttributes:o}=t,{position:s}=o,{typedBuffer:r,typedBufferStride:i}=s,a=n-2;let c=0;for(let l=0;l<n-3;++l){const t=l*a;for(let o=0;o<n-3;++o){const n=l*a+o,s=n+1,u=s+a,d=u-1,f=t+o,m=f+1,g=m+a;dt(f,m,g,g-1,i,r)?(ft(e,c,n,s,u),c+=6,ft(e,c,u,d,n)):(ft(e,c,n,s,d),c+=6,ft(e,c,d,u,s)),c+=6}}}function J(t,e){const{indices:n,numVerticesPerSide:o,poleIndicesStartIndex:s}=t,r=o-1;let i=s;for(const a of e){const e=a.connectedOuterEdgeOffset;let s=t.getEdgeVertexIndex(e,0),c=1;for(let t=0;t<a.latitudeResolution;++t){const e=0===t?a.rowOffset:s+o;for(let o=0;o<r;o++)ft(n,i,s,s+1,e+o),i+=6,t<a.latitudeResolution-1&&(ft(n,i,s+1,e+o+1,e+o),i+=6),s+=c;s=e,c=1}}}function K(t){const{indices:e,numVerticesPerSide:n,edgeIndicesStartIndex:o}=t,s=n-1,r=s-2;let i=o;for(let a=0;a<4;++a){const n=ct[a];let o=0,c=0;const u=t.getEdgeCount(a),d=n.count;l(d===s-1);const f=1===a||2===a,m=f?1:3,g=f?3:1,h=t.getEdgeFirstVertexIndex(a),p=1,x=n.vertex0Index,M=n.stride;for(;o<u-1||c<d-1;){const t=x+c*M,n=h+o*p,a=o<u-1,l=c<d-1,f=a&&(!l||(a?0+s*(o+.5)/(u-1):0)<=(l?1+r*(c+.5)/(d-1):0));f?++o:++c;const y=f?n+p:t+M;e[i]=t,e[i+m]=n,e[i+m+1]=n,e[i+g]=y,e[i+g+1]=y,e[i+5]=t,i+=6}}t.indexCount=i}function Q(t){const{geometry:e,geometryState:n}=t,{edgeResolutions:o}=n,{numVerticesPerSide:s,edgeVerticesStartIndex:r}=e,i=s-2;let a=r;for(let c=0;c<4;++c){{const t=0===c||2===c,e=(0===c?i-1:0)*i+(1===c?i-1:0),n=(t?0:1)*i+(t?1:0),o=ct[c];o.vertex0Index=e,o.stride=n,o.count=i}{const t=o[c]+1;e.outerEdgesOffsetAndLength[2*c+0]=a,e.outerEdgesOffsetAndLength[2*c+1]=t,a+=t}}}function X(t){Q(t),t.geometryState.wireframe?K(t.geometry):G(t.geometry)}function Y(o,s,r){const{geometryState:i,geometry:a,tile:c,localOrigin:u}=o,d=1===s||3===s,f=i.edgeResolutions[s];l(e(f));const m=f+1,{boundingBox:g,minu:h,minv:p,maxu:x,maxv:M,vertexAttributes:y}=a,S=t(1===s?1:0,h,x),v=t(0===s?1:0,p,M),V=r.renderData,I=V.geometryState,B=V.geometry,b=(s+2)%4,C=B.getEdgeCount(b),L=c.getNeighborEdgeStartVertexIndex(s,r)*f,A=f*2**(c.level-r.level);l(I.edgeResolutions[b]===A),l(C-1===A);const P=V.localOrigin[0]-u[0],D=V.localOrigin[1]-u[1],E=V.localOrigin[2]-u[2],T=a.getEdgeFirstVertexIndex(s),{position:O,uv0:R}=y,U=O.typedBuffer,w=O.typedBufferStride,N=y.normalCompressed,j=N.typedBuffer,F=N.typedBufferStride,q=B.vertexAttributes,W=B.getEdgeFirstVertexIndex(b),k=q.position.typedBuffer,z=q.position.typedBufferStride,G=q.normalCompressed.typedBuffer,H=q.normalCompressed.typedBufferStride;for(let e=1;e<m-1;++e){const o=T+e,s=W+(L+e),r=o*w,i=s*z,a=k[i]+P,c=k[i+1]+D,l=k[i+2]+E;U[r]=a,U[r+1]=c,U[r+2]=l,lt(a,c,l,g);const u=o*F,m=s*H;j[u]=G[m],j[u+1]=G[m+1];const y=e/f,V=d?S:t(y,h,x),I=d?t(y,p,M):v;R.setValues(o,Math.round(V*n),Math.round(I*n))}}function Z(e){const{geometry:o,geometryState:s,localOrigin:i}=e,{clippingArea:a,samplerData:c}=s,{minu:u,minv:d,maxu:f,maxv:m,boundingBox:h,vertexAttributes:p}=o,x=e.tile,{surface:M,ellipsoid:y,extent:S,extentInRadians:v,horizontalScale:V}=x,I="local"===M.view?.viewingMode,B=y.radius;let b=0,C=0,L=0;const A=(t,e,n)=>{const o=v[0===e?1:3],s=v[0===t?0:2],r=Math.cos(o),i=Math.sin(o),a=Math.sin(s),c=Math.cos(s),l=B+n;b=c*r*l,C=a*r*l,L=i*l},D=I?(()=>{const e=a,n=null!=e&&(S[3]>e[3]||S[2]>e[2]||S[1]<e[1]||S[0]<e[0]),o=q(M.isWebMercatorOnPlateCarree,B,V);return(s,r,i)=>{const a=0===s?S[0]:S[2],c=0===r?S[1]:S[3],l=n?t(a,e[0],e[2]):a,u=n?t(c,e[1],e[3]):c,d=i;b=l*V,C=o(u),L=d}})():A;let E=0,T=0,O=0,R=0,U=0,w=0,N=0,j=0,F=0;const W=I&&M.isWebMercatorOnPlateCarree,k=(t,e,n,o,s)=>{let r=0,i=0,a=0;if(I){const t=e*V,s=W?(Math.PI/2-2*Math.atan(Math.exp(-n/B)))*B:n*V;r=t-b,i=s-C,a=o-L}else{const s=P(t),c=t.tile,l=c.extent,u=c.extentInRadians,d=(e-l[0])/(l[2]-l[0]),f=(n-l[1])/(l[3]-l[1]),m=u[0]*(1-d)+u[2]*d,g=s(f),h=Math.cos(g),p=Math.sin(g),x=Math.sin(m),M=Math.cos(m),y=B+o;r=M*h*y-b,i=x*h*y-C,a=p*y-L}switch(s){case 0:N+=r,j+=i,F+=a;break;case 1:R-=r,U-=i,w-=a;break;case 2:N-=r,j-=i,F-=a;break;case 3:R+=r,U+=i,w+=a}},z=a??st,G=S[0],H=S[2],J=S[1],K=S[3],Q=[K>z[3],H>z[2],J<z[1],G<z[0]],X=Math.max(G,z[0]),Y=Math.min(H,z[2]),Z=Math.max(J,z[1]),_=Math.min(K,z[3]),tt=t=>Math.max(z[0],Math.min(z[2],t)),et=t=>Math.max(z[1],Math.min(z[3],t)),ot=t=>{const e=s.cornerNeighborCornerTiles;E=0,T=0,O=1,R=0,U=0,w=0,N=0,j=0,F=0;let n=1/0;for(let s=0;s<4;++s){const o=e[4*t+s];n=Math.min(n,o?.level??1/0)}for(let s=0;s<4;++s){const o=e[4*t+s];rt[s]=o?.level===n?o:null}let o=1,i=0;for(let s=0;s<4;++s){const t=rt[s];t&&(o=Math.max(o,t?.renderData.geometryState.numVerticesPerSide),i=t.extent[2]-t.extent[0])}const a=i,c=o;l(c>1);const u=a/c;for(let s=0;s<4;++s){const t=rt[(s+3)%4],e=rt[s%4];if(!t&&!e)continue;const n=0===s?1:1===s?2:2===s?3:0,o=0===s?2:1===s?3:2===s?0:1;if(t&&e){const i=nt[s][0]*u,a=nt[s][1]*u,c=t.extent,l=tt(c[0===n||1===n?2:0]+i),d=et(c[0===n||3===n?3:1]+a),f=e.extent,m=tt(f[0===o||1===o?2:0]+i),g=et(f[0===o||3===o?3:1]+a),h=t.renderData,p=e.renderData,x=r(l,d,h.geometryState.samplerData),M=r(m,g,p.geometryState.samplerData);k(h,l,d,.5*(x+M),s)}else{const i=t??e,a=t?n:o,c=i.extent,l=nt[s],d=tt(c[0===a||1===a?2:0]+l[0]*u),f=et(c[0===a||3===a?3:1]+l[1]*u),m=i.renderData,g=r(d,f,m.geometryState.samplerData);k(m,d,f,g,s)}}if(!I){const t=Math.sqrt(b*b+C*C+L*L);E=b/t,T=C/t,O=L/t}if(I||O*O<.999){const t=Math.sqrt(R*R+U*U+w*w);R/=t,U/=t,w/=t;const e=Math.sqrt(N*N+j*j+F*F);N/=e,j/=e,F/=e,E=w*j-U*F,T=R*F-w*N,O=U*N-R*j;const n=1/Math.sqrt(E*E+T*T+O*O);E*=n,T*=n,O*=n}},it=s.cornerNeighborCornerTiles;for(let P=0;P<4;++P){const e=P,a=(P+1)%4,M=0===P||1===P?1:0,y=0===P||3===P?1:0,S=t(M,u,f),v=t(y,d,m),V=o.getEdgeFirstVertexIndex(e),I=o.getEdgeCount(e),B=0===P||3===P?I-1:0,A=o.getEdgeFirstVertexIndex(a),R=o.getEdgeCount(a),U=0===P||1===P?R-1:0;let w=-1;for(let t=0;t<4;++t){const e=it[4*P+t],n=it[4*P+w];e&&(-1===w||g(n,e)>0)&&(w=t)}const N=w,j=it[4*P+N];if(j!==x){const t=x.level-j.level,e=2**t,o=[j.lij[0]+t,j.lij[1]*e,j.lij[2]*e],r=[o[1]+e===x.lij[1],0===P&&(1===N||0===N&&j!==it[4*P+3])||1===P&&(0===N||1===N&&j!==it[4*P+2]),o[1]===x.lij[1]+1,2===P&&(3===N||2===N&&j!==it[4*P+1])||3===P&&(2===N||3===N&&j!==it[4*P+0])],a=r.reduce((t,e)=>t+(e?1:0),0);l(1===a||2===a);let c=-1,u=-1;const d=j.renderData;if(1===a){const t=r.findIndex(t=>t);l(0<=t&&t<=3),c=(t+2)%4;const e=s.edgeResolutions[t];u=x.getNeighborEdgeStartVertexIndex(t,j)*e+e*(0===t&&0===P||1===t&&0===P||2===t&&1===P||3===t&&3===P?1:0)}else{l(r[1]||r[3]),c=r[1]?3:1;const t=d.geometryState.edgeResolutions[c];u=0===P||3===P?0:t}const f=d.geometry;{const t=V+B,e=A+U,o=f.getEdgeFirstVertexIndex(c)+u,s=f.vertexAttributes,r=d.localOrigin,a=s.position,l=a.typedBuffer,m=o*a.typedBufferStride,g=l[m]+r[0]-i[0],x=l[m+1]+r[1]-i[1],M=l[m+2]+r[2]-i[2];lt(g,x,M,h);const y=p.position,I=y.typedBuffer,b=t*y.typedBufferStride;I[b]=g,I[b+1]=x,I[b+2]=M;const C=e*y.typedBufferStride;I[C]=g,I[C+1]=x,I[C+2]=M;const L=p.uv0;L.setValues(t,Math.round(S*n),Math.round(v*n)),L.setValues(e,Math.round(S*n),Math.round(v*n));{const n=s.normalCompressed.typedBuffer,r=o*s.normalCompressed.typedBufferStride,i=p.normalCompressed,a=i.typedBuffer;{const e=t*i.typedBufferStride;a[e]=n[r],a[e+1]=n[r+1]}{const t=e*i.typedBufferStride;a[t]=n[r],a[t+1]=n[r+1]}}}}else{const n=Q[e],s=Q[a];let l;if(n||s){const e=t(G*(1-M)+H*M,X,Y),n=t(J*(1-y)+K*y,Z,_);l=r(e,n,c)}else l=$(it,P);D(M,y,l),ot(P);const u=b-i[0],d=C-i[1],f=L-i[2];lt(u,d,f,h),o.setEdgeVertexFromValuesRawPositionUVNormal(e,B,u,d,f,S,v,E,T,O),o.setEdgeVertexFromValuesRawPositionUVNormal(a,U,u,d,f,S,v,E,T,O)}}for(let t=0;t<4;++t)rt[t]=null}function $(t,e){const n=4*e,o=a.reduce((e,o)=>Math.min(e,t[n+o]?.level??1/0),1/0);u&&(l(!t[n+0]||!t[n+2]||m(t[n+0],t[n+2],5)),l(!t[n+1]||!t[n+3]||m(t[n+1],t[n+3],7)));let s=0,i=0;for(let a=0;a<4;++a){const e=t[n+a];if(e&&e.level===o){const t=0===a||1===a,n=0===a||3===a,o=e.extent,c=o[t?0:2],l=o[n?1:3],u=e.renderData?.geometryState?.samplerData;i+=r(c,l,u),s++}}const c=s?i/s:0;return l(null!=c),c}function _(t){const{vao:e,geometry:n}=t,{vertexAttributes:o,edgeVerticesStartIndex:s}=n,r=o.position.typedBuffer;e.vertexBuffers.get("geometry").setSubData(r,s,s,r.length)}function tt(t){const{vao:e,geometry:n}=t,{indices:o,indexCount:s,edgeIndicesStartIndex:r}=n;e.indexBuffer.setSubData(o,r,r,s)}class et{constructor(t,e,n,o,s){this.isNorth=t,this.connectedRowOffset=e,this.connectedOuterEdgeOffset=n,this.rowOffset=o,this.latitudeResolution=s}}const nt=[[0,1],[1,0],[0,-1],[-1,0]],ot=new i,st=s(-1/0,-1/0,1/0,1/0),rt=[null,null,null,null];function it(t,e,n){if(!e)return!1;const o=g(t,e);return o>0||0===o&&n>=2}class at{constructor(){this.vertex0Index=0,this.stride=1,this.count=0}getVertexIndex(t){return l(0<=t&&t<this.count),this.vertex0Index+this.stride*t}}const ct=[new at,new at,new at,new at];function lt(t,e,n,o){t<o[0]?o[0]=t:t>o[3]&&(o[3]=t),e<o[1]?o[1]=e:e>o[4]&&(o[4]=e),n<o[2]?o[2]=n:n>o[5]&&(o[5]=n)}function ut(t){const{edgeResolutions:e,numVerticesPerSide:n}=t,o=1+Math.max(...e);return Math.max(n,o)}function dt(t,e,n,o,s,r){const i=t*s,a=r[i],c=r[i+1],l=r[i+2],u=e*s,d=r[u],f=r[u+1],m=r[u+2],g=n*s,h=r[g],p=r[g+1],x=r[g+2],M=o*s,y=r[M],S=r[M+1],v=r[M+2];return(d-y)*(d-y)+(f-S)*(f-S)+(m-v)*(m-v)>(a-h)*(a-h)+(c-p)*(c-p)+(l-x)*(l-x)}function ft(t,e,n,o,s){t[e]=n,t[e+1]=o,t[e+2]=o,t[e+3]=s,t[e+4]=s,t[e+5]=n}const mt=6;export{D as createPlanarGlobePatch,x as createSphericalGlobePatch,V as updateCornerSpherical,T as updateCornersPlanar,O as updateEdgeElevationsAndResolutionsPlanar,v as updateEdgeElevationsAndResolutionsSpherical,R as updateEdgesAndCornersPlanar,S as updateEdgesAndCornersSpherical};
5
+ import{clamp as t,isPowerOfTwo as e}from"../../../core/mathUtils.js";import{maxUint16 as n}from"../../../core/typedArrayUtil.js";import{empty as o}from"../../../geometry/support/aaBoundingBox.js";import{fromValues as s}from"../../../geometry/support/aaBoundingRect.js";import{sampleElevation as r}from"./ElevationData.js";import{PatchGeometryLUT as i}from"./PatchGeometryLUT.js";import{zeroToFour as a,neighborTileIfLoadedOrSelf as c}from"./PatchRenderData.js";import{internalAssert as l,enableTerrainInternalChecks as u,neighborEdgeIndices as d,almostEquals as f}from"./terrainUtils.js";import{isCornerNeighbor as m}from"./Tile.js";import{compareTilesByLij as g}from"./tileUtils.js";import{compressNormal as h}from"../webgl-engine/lib/Normals.js";const p=65536;function x(t,e){const{tile:n,geometry:s,geometryState:r}=t,{extentInRadians:i,surface:a}=n,{isWebMercator:c,renderer:l}=a,{numVerticesPerSide:u,wireframe:d}=r,f=u-1,m=(u-2)**2,g=c&&(2===e||3===e),h=c&&(1===e||3===e),p=((g?1:0)+(h?1:0))*mt*u,x=ut(r),S=m+p+4*x,v=l.tileGeometryCache.acquire(S);s.numVerticesPerSide=u,s.vertexAttributes=v,s.maxEdgeVertexCount=x;const{boundingBox:V}=s;o(V);const b=P(t);ot.update(f,i,b),y(t),s.poleVerticesStartIndex=m;const B=M(t,g,h);s.edgeVerticesStartIndex=m+p,Q(t),I(t),W(s,B,d),t.intersectionData=null}function M(t,e,o){const{tile:s,localOrigin:r,geometry:i}=t,{extent:a,ellipsoid:c}=s,{boundingBox:l,numVerticesPerSide:u,vertexAttributes:d,poleVerticesStartIndex:f}=i,m=u-1,g=r[0],p=r[1],x=r[2],M=c.radius,y=a[1],S=a[3],v=[];let V=f;const I=(t,e)=>{const o=e*u;lt(-g,-p,t*M-x,l),v.push(new et(1===t,o,1===t?0:2,V,mt));const s=C(-1===t?y:S,M),r=t*Math.PI/2-s,i=.99*(1===t?1:-1),a=M+0,{position:c,uv0:f}=d,{typedBuffer:I,typedBufferStride:b}=d.normalCompressed;for(let u=1;u<=mt;++u){const t=s+r*(u/mt),e=Math.cos(t),o=Math.sin(t);for(let s=0;s<=m;s++){const t=s/m,r=ot.sinLonLUT[s],u=ot.cosLonLUT[s]*e,d=r*e,M=o,y=u*a-g,S=d*a-p,v=M*a-x;lt(y,S,v,l),c.setValues(V,y,S,v),f.setValues(V,Math.round(t*n),Math.round(i*n)),h(I,V,u,d,M,b),++V}}};return e&&I(-1,0),o&&I(1,m),v}function y(t){const{tile:e}=t;if(!e.intersectsClippingArea)return;const{geometry:o,geometryState:s,localOrigin:i}=t,{numVerticesPerSide:a,samplerData:c}=s,l=a-2,u=a-1,{vertexAttributes:d,boundingBox:f}=o,{position:m,uv0:g}=d,{typedBuffer:p,typedBufferStride:x}=d.normalCompressed,{extent:M}=e,y=M[0],S=M[2],v=M[1],V=M[3],I=e.ellipsoid.radius,b=i[0],B=i[1],C=i[2],L=m.typedBuffer,A=m.typedBufferStride,P=1/u;let D=0;if(1<=l){const t=P,e=v*(1-t)+V*t,o=ot.sinLatLUT[1],s=ot.cosLatLUT[1];for(let i=1;i<=l;i++){const a=i*P,l=y*(1-a)+S*a,u=ot.sinLonLUT[i],d=ot.cosLonLUT[i],m=I+r(l,e,c),h=m*d*s-b,p=m*u*s-B,x=m*o-C;lt(h,p,x,f);const M=(i-1)*A;L[M]=h,L[M+1]=p,L[M+2]=x,g.setValues(i-1,Math.round(a*n),Math.round(t*n))}}for(let E=1;E<=l;E++){const t=E*P,e=v*(1-t)+V*t,o=ot.sinLatLUT[E],s=ot.cosLatLUT[E],i=E+1,a=i*P,d=v*(1-a)+V*a,m=ot.sinLatLUT[i],M=ot.cosLatLUT[i],T=ot.sinLonLUT[0],O=ot.cosLonLUT[0],R=I+r(y,e,c);let U=O*s*R-b,w=T*s*R-B,N=o*R-C;const j=D*A;let F=L[j],q=L[j+1],W=L[j+2];for(let V=1;V<=l;V++){const t=V*P,i=y*(1-t)+S*t,T=ot.sinLonLUT[V],O=ot.cosLonLUT[V];let R=0,j=0,k=0;if(V<l){const t=(D+1)*A;R=L[t],j=L[t+1],k=L[t+2]}else{const t=ot.sinLonLUT[u],n=ot.cosLonLUT[u],i=I+r(S,e,c);R=n*s*i-b,j=t*s*i-B,k=o*i-C}const z=U,G=w,H=N;U=F,w=q,N=W,F=R,q=j,W=k;const J=R-z,K=j-G,Q=k-H;let X=0,Y=0,Z=0;if(E>1){const t=(D-l)*A;X=L[t],Y=L[t+1],Z=L[t+2]}else{const t=ot.sinLatLUT[0],e=ot.cosLatLUT[0],n=I+r(i,v,c);X=O*e*n-b,Y=T*e*n-B,Z=t*n-C}const $=I+r(i,d,c),_=O*M*$-b,tt=T*M*$-B,et=m*$-C;if(E<l){const e=D+l,o=e*A;L[o]=_,L[o+1]=tt,L[o+2]=et,lt(_,tt,et,f),g.setValues(e,Math.round(t*n),Math.round(a*n))}const nt=X-_,st=Y-tt,rt=Z-et;let it=O*s,at=T*s,ct=o;ct*ct<.999&&(it=Q*st-K*rt,at=J*rt-Q*nt,ct=K*nt-J*st);const ut=1/Math.sqrt(it*it+at*at+ct*ct);h(p,D,it*ut,at*ut,ct*ut,x),++D}}}function S(t){t.tile.intersectsClippingArea&&(I(t),_(t),t.intersectionData=null)}function v(t){t.tile.intersectsClippingArea&&(X(t),I(t),_(t),tt(t),t.intersectionData=null)}function V(t){t.tile.intersectsClippingArea&&(B(t),b(t,!0),_(t),t.intersectionData=null)}function I(t){t.tile.intersectsClippingArea&&(B(t),b(t))}function b(t,o=!1){const{geometry:s,geometryState:i,tile:a,localOrigin:m}=t,{level:h,extent:p,extentInRadians:x,ellipsoid:M}=a,y=M.radius,S=x[0],v=x[2],V=x[1],I=x[3],{samplerData:b}=i,B=p[0],C=p[2],L=p[1],A=p[3],D=P(t),{boundingBox:E,vertexAttributes:T}=s,O=m[0],R=m[1],U=m[2],{position:w,uv0:N}=T,j=w.typedBuffer,F=w.typedBufferStride;for(let P=0;P<4;++P){const m=1===P||3===P,x=i.edgeResolutions[P];l(e(x));const M=x+1,T=c(a,i.edgePeerNeighbors[P]);if(it(a,T,P)){Y(t,P,T);continue}const w=null!=T;l(!w||T.level===a.level),l(!w||g(a,T)<=0);const q=T?.renderData,W=q?.geometryState;if(u){const t=a.surface;if(!T&&t&&!t.updatingRootTiles){const e=d[P],n=a.findNeighborTile(e,t=>t.loaded||t.leaf||t.level===a.level);n?n.intersectsClippingArea&&(l(!n.loaded),l(!n.leaf),l(n.level===h)):l(null==t?.rootTiles||!a.shouldHaveNeighbor(e))}}const k=1===P?p[2]:p[0],z=T?.extent,G=z&&m?1===P?z[0]:z[2]:k,H=0===P?p[3]:p[1],J=1===P?1:0,K=0===P?1:0,Q=1===P?v:S,X=0===P?I:V,Z=Math.sin(Q),$=Math.cos(Q),_=Math.sin(X),tt=Math.cos(X),et=W?.samplerData,nt=w?(t,e,n)=>.5*(r(t,e,b)+r(n,e,et)):(t,e,n)=>r(t,e,b),ot=s.outerEdgesOffsetAndLength[2*P+0],st=o&&M>3?M-3:1,rt=null!=b&&b.some(t=>null!=t),at=null!=et&&et.some(t=>null!=t),ct=rt||at,ut=1/x,dt=ot;l(!z||f(z[2]-z[0],p[2]-p[0]));(()=>{const t=1===P?-1:3===P?1:0,e=0===P?-1:2===P?1:0,o=(p[2]-p[0])*ut,i=t*o,a=e*o,c=m?t*((v-S)*ut):0,l=m?0:e*ut,u=K,d=m?Q+c:Q,f=m?Math.sin(d):Z,g=m?Math.cos(d):$,h=m?Q-c:Q,x=m?Math.sin(h):Z,V=m?Math.cos(h):$,I=m?X:D(u+l),T=m?_:Math.sin(I),q=m?tt:Math.cos(I),W=m?X:D(u-l),z=m?_:Math.sin(W),Y=m?tt:Math.cos(W);let ot=0,rt=0,it=0;{const t=0*ut,e=m?k:B*(1-t)+C*t,n=m?G:e,o=m?L*(1-t)+A*t:H,s=m?Q:S*(1-t)+v*t,r=m?Z:Math.sin(s),i=m?$:Math.cos(s),a=m?D(t):X,c=m?Math.sin(a):_,l=m?Math.cos(a):tt,u=y+nt(e,o,n);ot=i*l*u,rt=r*l*u,it=c*u}let at=0,ft=0,mt=0;{const t=1*ut,e=m?k:B*(1-t)+C*t,n=m?G:e,o=m?L*(1-t)+A*t:H,s=m?Q:S*(1-t)+v*t,r=m?Z:Math.sin(s),i=m?$:Math.cos(s),a=m?D(t):X,c=m?Math.sin(a):_,l=m?Math.cos(a):tt,u=y+nt(e,o,n);at=i*l*u,ft=r*l*u,mt=c*u}for(let p=1;p<M-1;p+=st){let t=0,e=0,o=0;{const n=(p+1)*ut,s=m?k:B*(1-n)+C*n,r=m?G:s,i=m?L*(1-n)+A*n:H,a=m?Q:S*(1-n)+v*n,c=m?Z:Math.sin(a),l=m?$:Math.cos(a),u=m?D(n):X,d=m?Math.sin(u):_,f=m?Math.cos(u):tt,g=y+nt(s,i,r);t=l*f*g,e=c*f*g,o=d*g}const c=t,l=e,u=o,d=at,h=ft,M=mt;at=c,ft=l,mt=u;{const t=dt+p,e=t*F,o=d-O,s=h-R,r=M-U;j[e]=o,j[e+1]=s,j[e+2]=r,lt(o,s,r,E);const i=p*ut,a=m?J:i,c=m?i:K;N.setValues(t,Math.round(a*n),Math.round(c*n))}const I=ot,W=rt,st=it;ot=d,rt=h,it=M;const gt=d,ht=h,pt=M,xt=1/Math.sqrt(gt*gt+ht*ht+pt*pt),Mt=pt*xt;let yt=0,St=0,vt=0;if(ct&&Mt*Mt<.999){let t=0,e=0,n=0;{const o=0===P?-1:1;t=o*(c-I),e=o*(l-W),n=o*(u-st)}{const o=p*ut,s=m?k:B*(1-o)+C*o,c=m?G:s,l=m?L*(1-o)+A*o:H,u=m?Q:S*(1-o)+v*o,d=m?Z:Math.sin(u),h=m?$:Math.cos(u),M=m?D(o):X,I=m?Math.sin(M):_,E=m?Math.cos(M):tt;let O=gt,R=ht,U=pt;if(w){const t=y+r(c-i,l-a,et),e=m?E:Y;O=(m?V:h)*e*t,R=(m?x:d)*e*t,U=(m?I:z)*t}{const o=y+r(s+i,l+a,b),c=m?E:q,u=(m?g:h)*c*o,p=(m?f:d)*c*o,x=(m?I:T)*o;w||(O=2*gt-u,R=2*ht-p,U=2*pt-x);const M=3===P?-1:1,S=M*(O-u),v=M*(R-p),V=M*(U-x);yt=n*v-e*V,St=t*V-n*S,vt=e*S-t*v;const B=1/Math.sqrt(yt*yt+St*St+vt*vt);yt*=B,St*=B,vt*=B}}}else yt=gt*xt,St=ht*xt,vt=pt*xt;s.setEdgeNormalFromValues(P,p,yt,St,vt)}})()}}function B(t){Z(t)}function C(t,e){return Math.PI/2-2*Math.atan(Math.exp(-t/e))}function L(t,e,n,o){return C(t*(1-o)+e*o,n)}function A(t,e,n){return t*(1-n)+e*n}function P(t){const{tile:e}=t;if(e.surface.isWebMercator){const t=e.extent,n=e.ellipsoid.radius;return e=>L(t[1],t[3],n,e)}const n=e.extentInRadians;return t=>A(n[1],n[3],t)}function D(t,e){const{tile:n,geometryState:s,geometry:r}=t,{extent:i,surface:a}=n,{wireframe:c}=s,l=i[0],u=i[1],d=i[2]-l,f=i[3]-u,{numVerticesPerSide:m,clippingArea:g}=s,h=null!=g?Math.max(0,(g[0]-l)/d):0,p=null!=g?Math.max(0,(g[1]-u)/f):0,x=null!=g?Math.min(1,(g[2]-l)/d):1,M=null!=g?Math.min(1,(g[3]-u)/f):1,y=(m-2)**2,S=ut(s),v=y+4*S,V=a.renderer.tileGeometryCache.acquire(v),{boundingBox:I}=r;o(I),r.numVerticesPerSide=m,r.vertexAttributes=V,r.maxEdgeVertexCount=S,r.minu=h,r.minv=p,r.maxu=x,r.maxv=M,E(t),r.edgeVerticesStartIndex=y,Q(t),U(t),W(r,[],c),t.intersectionData=null}function E(e){const o=e.tile;if(!o.intersectsClippingArea)return;const{geometry:s,geometryState:i,localOrigin:a}=e,{samplerData:c,clippingArea:l,numVerticesPerSide:u}=i,{surface:d,extent:f,ellipsoid:m}=o,{isWebMercatorOnPlateCarree:g}=d,p=null!=l?l:st,x=f[0],M=f[1],y=f[2],S=f[3],v=Math.max(x,p[0]),V=Math.min(y,p[2]),I=Math.max(M,p[1]),b=Math.min(S,p[3]),B=m.radius,C=o.horizontalScale,L=u-1,A=u-2,{minu:P,minv:D,maxu:E,maxv:T,boundingBox:O,vertexAttributes:R}=s,{position:U,uv0:w}=R,{typedBuffer:N,typedBufferStride:j}=R.normalCompressed,F=a[0],q=a[1],W=a[2],k=U.typedBuffer,z=U.typedBufferStride;let G=0;const H=t(M,I,b),J=g?(Math.PI/2-2*Math.atan(Math.exp(-H/B)))*B:H*C,K=1/L,Q=t(M*(1-K)+S*K,I,b);let X=J,Y=g?(Math.PI/2-2*Math.atan(Math.exp(-Q/B)))*B:Q*C;for(let Z=1;Z<=A;Z++){const e=Z/L,o=t(M*(1-e)+S*e,I,b),s=t(e,D,T),i=Y,a=(Z-1)/L,l=t(M*(1-a)+S*a,I,b),u=X,d=(Z+1)/L,f=t(M*(1-d)+S*d,I,b),m=g?(Math.PI/2-2*Math.atan(Math.exp(-f/B)))*B:f*C,p=t(d,D,T);X=Y,Y=m;const R=t(x,v,V);let U=R*C,H=r(R,o,c);const J=1/L,K=t(J,P,E),Q=t(x*(1-K)+y*K,v,V);let $=K,_=Q,tt=Q*C,et=r(Q,o,c);if(1===Z){const e=tt-F,o=X-q,r=et-W,i=0*z;k[i]=e,k[i+1]=o,k[i+2]=r,lt(e,o,r,O);const a=t(J,P,E);w.setValues(G,Math.round(a*n),Math.round(s*n))}for(let g=1;g<=A;g++){const e=tt,a=et,d=(g+1)/L,M=t(d,P,E),S=t(x*(1-d)+y*d,v,V),I=_;_=S;{const t=G+1,e=t*z;if(1===Z||g===A){const a=S*C,l=r(S,o,c);if(1===Z&&g<A){const o=a-F,r=i-q,c=l-W;k[e]=o,k[e+1]=r,k[e+2]=c,lt(o,r,c,O),w.setValues(t,Math.round(M*n),Math.round(s*n))}tt=a,et=l}else tt=k[e]+F,et=k[e+2]+W}const b=tt,B=et,D=U,T=H;U=e,H=a;const R=(G-A)*z,J=1===Z?r(I,l,c):k[R+2]+W,K=r(I,f,c);if(Z<A){const t=G+A,o=t*z,s=e-F,r=m-q,i=K-W;k[o]=s,k[o+1]=r,k[o+2]=i,lt(s,r,i,O);const a=$;$=M,w.setValues(t,Math.round(a*n),Math.round(p*n))}{const t=b-D,e=u-m,n=e*(B-T),o=t*(J-K),s=-e*t,r=n*n+o*o+s*s;if(0===r)h(N,G,0,0,1,j);else{const t=1/Math.sqrt(r);h(N,G,n*t,o*t,s*t,j)}}++G}}}function T(t,e){t.tile.intersectsClippingArea&&(N(t),w(t,!0),_(t),t.intersectionData=null)}function O(t,e){t.tile.intersectsClippingArea&&(X(t),U(t),_(t),tt(t),t.intersectionData=null)}function R(t,e){t.tile.intersectsClippingArea&&(U(t),_(t),t.intersectionData=null)}function U(t,e){t.tile.intersectsClippingArea&&(N(t),w(t,!1))}function w(n,o){const{geometry:s,geometryState:i,localOrigin:a}=n,f=n.tile,{surface:m,extent:h}=f,{clippingArea:p,samplerData:x}=i,M=null!=p?p:st,y=h[0],S=h[2],v=h[1],V=h[3],I=[V>M[3],S>M[2],v<M[1],y<M[0]],b=f.horizontalScale,B=q(m.isWebMercatorOnPlateCarree,f.ellipsoid.radius,b),{minu:C,minv:L,maxu:A,maxv:P,boundingBox:D}=s,E=Math.max(y,M[0]),T=Math.min(S,M[2]),O=Math.max(v,M[1]),R=Math.min(V,M[3]),U=a[0],w=a[1],N=a[2];for(let j=0;j<4;++j){const a=1===j||3===j,h=i.edgeResolutions[j];l(e(h));const p=h+1,M=I[j],F=c(f,i.edgePeerNeighbors[j]);if(!M&&it(f,F,j)){Y(n,j,F);continue}const q=null!=F&&!M,W=F?.renderData,k=W?.geometryState;if(u&&(l(!q||F.level===f.level),l(!q||g(f,F)<=0),f&&!F&&!m.updatingRootTiles)){const t=d[j],e=f.findNeighborTile(t,t=>t.loaded||t.leaf||t.level===f.level);m.updatingRootTiles||(e?e.intersectsClippingArea&&(l(!e.loaded),l(!e.leaf),l(e.level===f.level)):l(null==m?.rootTiles||!f.shouldHaveNeighbor(t)))}const z=t(1===j?S:y,E,T),G=t(0===j?V:v,O,R),H=k?.samplerData,J=o&&p>3?p-3:1,K=t(1===j?1:0,C,A),Q=t(0===j?1:0,L,P),X=q?(t,e)=>.5*(r(t,e,H)+r(t,e,x)):(t,e)=>r(t,e,x),Z=(S-y)/h,$=a?1===j?Z:-Z:0,_=a?0:0===j?Z:-Z,tt=-$,et=-_;let nt=0,ot=0,st=0;{const e=0/h,n=a?z:t(y*(1-e)+S*e,E,T),o=a?t(v*(1-e)+V*e,O,R):G,s=X(n,o);nt=n*b,ot=B(o),st=s}let rt=0,at=0,ct=0;{const e=1/h,n=a?z:t(y*(1-e)+S*e,E,T),o=a?t(v*(1-e)+V*e,O,R):G,s=X(n,o);rt=n*b,at=B(o),ct=s}for(let e=1;e<p-1;e+=J){const n=e/h,o=rt,i=at,c=ct;{const r=a?K:t(n,C,A),l=a?t(n,L,P):Q,u=o-U,d=i-w,f=c-N;lt(o,d,f,D),s.setEdgeVertexFromValuesRawPositionUV(j,e,u,d,f,r,l)}{const n=(e+1)/h,o=a?z:t(y*(1-n)+S*n,E,T),s=a?t(v*(1-n)+V*n,O,R):G,r=X(o,s);rt=o*b,at=B(s),ct=r}const l=rt,u=ct,d=nt,f=ot,m=st;nt=o,ot=i,st=c;let g=0,p=0,M=0;if(a){const e=at-i,s=u-c,a=f-i,l=m-c,d=t(v*(1-n)+V*n,O,R),h=z+tt,y=h*b-o,S=r(h,d,x)-c,I=3===j?-1:1;if(g=I*(-a+e)*S,p=I*y*(-l+s),M=-I*y*(-a+e),q){const t=z+$,n=t*b-o;g=(-a+e)*(S-(r(t,d,H)-c)),p=(y-n)*(-l+s),M=-(y-n)*(-a+e)}}else{const e=l-o,s=u-c,a=d-o,f=m-c,h=t(y*(1-n)+S*n,E,T),v=G+et,V=r(h,v,x)-c,I=B(v)-i,b=2===j?-1:1;if(g=b*I*(-f+s),p=b*(-a+e)*V,M=-b*I*(-a+e),q){const t=h,n=G+_,o=B(n)-i;g=(-I+o)*(-f+s),p=(-a+e)*(-V+(r(t,n,H)-c)),M=-(-I+o)*(-a+e)}}const I=1/Math.sqrt(g*g+p*p+M*M);s.setEdgeNormalFromValues(j,e,g*I,p*I,M*I)}}}function N(t,e){Z(t)}function j(t,e){return(Math.PI/2-2*Math.atan(Math.exp(-t/e)))*e}function F(t,e){return t*e}function q(t,e,n){return t?t=>j(t,e):t=>F(t,n)}function W(t,e,n){const{numVerticesPerSide:o,vertexAttributes:s,maxEdgeVertexCount:r}=t,i=o-1,c=s.count,l=2*(o-3)*(o-3),u=4*(i+r-3),d=a.reduce((e,n)=>e+(i+t.getEdgeCount(n)-3),0),f=e.reduce((t,e)=>t+i*(2*(e.latitudeResolution-1)+1),0),m=3*(n?2:1),g=(l+u+f)*m,h=c>=p?new Uint32Array(g):new Uint16Array(g);for(let a=0;a<g;++a)h[a]=0;t.indices=h,t.indexCount=(l+d+f)*m,t.poleIndicesStartIndex=l*m,t.edgeIndicesStartIndex=(l+f)*m,n?(H(t),J(t,e),K(t)):(k(t),z(t,e),G(t))}function k(t){const{numVerticesPerSide:e,indices:n,vertexAttributes:o}=t,{position:s}=o,{typedBuffer:r,typedBufferStride:i}=s,a=e-2,c=e-3,l=0,u=e-3;let d=0;for(let f=0;f<c;++f){const t=f*a;for(let e=l;e<u;++e){const o=t+e,s=o+1,c=s+a,l=c-1;dt(o,s,c,l,i,r)?(n[d]=o,n[d+1]=s,n[d+2]=c,n[d+3]=c,n[d+4]=l,n[d+5]=o):(n[d]=o,n[d+1]=s,n[d+2]=l,n[d+3]=l,n[d+4]=s,n[d+5]=c),d+=6}}}function z(t,e){const{numVerticesPerSide:n,indices:o,poleIndicesStartIndex:s}=t,r=n-1;let i=s;for(const a of e){const e=a.isNorth?1:2,s=a.isNorth?2:1,c=a.isNorth?3:4,l=a.isNorth?4:3;let u=t.getEdgeVertexIndex(a.connectedOuterEdgeOffset,0),d=1;for(let t=0;t<a.latitudeResolution;++t){const f=0===t?a.rowOffset:u+n;for(let n=0;n<r;n++){const r=f+n;o[i]=u,o[i+e]=u+1,o[i+s]=r,t<a.latitudeResolution-1?(o[i+c]=u+1,o[i+l]=r+1,o[i+5]=r,i+=6):i+=3,u+=d}u=f,d=1}}}function G(t){const{indices:e,numVerticesPerSide:n,edgeIndicesStartIndex:o}=t,s=n-1,r=s-2;let i=o;for(let a=0;a<4;++a){const n=ct[a];let o=0,c=0;const u=t.getEdgeCount(a),d=n.count;l(d===s-1);const f=1===a||2===a,m=f?1:2,g=f?2:1,h=t.getEdgeFirstVertexIndex(a),p=1,x=n.vertex0Index,M=n.stride;for(;o<u-1||c<d-1;){const t=x+c*M,n=h+o*p,a=o<u-1,l=c<d-1,f=a&&(!l||(a?0+s*(o+.5)/(u-1):0)<=(l?1+r*(c+.5)/(d-1):0));f?++o:++c;const y=f?n+p:t+M;e[i]=t,e[i+m]=n,e[i+g]=y,i+=3}}t.indexCount=i}function H(t){const{indices:e,numVerticesPerSide:n,vertexAttributes:o}=t,{position:s}=o,{typedBuffer:r,typedBufferStride:i}=s,a=n-2;let c=0;for(let l=0;l<n-3;++l){const t=l*a;for(let o=0;o<n-3;++o){const n=l*a+o,s=n+1,u=s+a,d=u-1,f=t+o,m=f+1,g=m+a;dt(f,m,g,g-1,i,r)?(ft(e,c,n,s,u),c+=6,ft(e,c,u,d,n)):(ft(e,c,n,s,d),c+=6,ft(e,c,d,u,s)),c+=6}}}function J(t,e){const{indices:n,numVerticesPerSide:o,poleIndicesStartIndex:s}=t,r=o-1;let i=s;for(const a of e){const e=a.connectedOuterEdgeOffset;let s=t.getEdgeVertexIndex(e,0),c=1;for(let t=0;t<a.latitudeResolution;++t){const e=0===t?a.rowOffset:s+o;for(let o=0;o<r;o++)ft(n,i,s,s+1,e+o),i+=6,t<a.latitudeResolution-1&&(ft(n,i,s+1,e+o+1,e+o),i+=6),s+=c;s=e,c=1}}}function K(t){const{indices:e,numVerticesPerSide:n,edgeIndicesStartIndex:o}=t,s=n-1,r=s-2;let i=o;for(let a=0;a<4;++a){const n=ct[a];let o=0,c=0;const u=t.getEdgeCount(a),d=n.count;l(d===s-1);const f=1===a||2===a,m=f?1:3,g=f?3:1,h=t.getEdgeFirstVertexIndex(a),p=1,x=n.vertex0Index,M=n.stride;for(;o<u-1||c<d-1;){const t=x+c*M,n=h+o*p,a=o<u-1,l=c<d-1,f=a&&(!l||(a?0+s*(o+.5)/(u-1):0)<=(l?1+r*(c+.5)/(d-1):0));f?++o:++c;const y=f?n+p:t+M;e[i]=t,e[i+m]=n,e[i+m+1]=n,e[i+g]=y,e[i+g+1]=y,e[i+5]=t,i+=6}}t.indexCount=i}function Q(t){const{geometry:e,geometryState:n}=t,{edgeResolutions:o}=n,{numVerticesPerSide:s,edgeVerticesStartIndex:r}=e,i=s-2;let a=r;for(let c=0;c<4;++c){{const t=0===c||2===c,e=(0===c?i-1:0)*i+(1===c?i-1:0),n=(t?0:1)*i+(t?1:0),o=ct[c];o.vertex0Index=e,o.stride=n,o.count=i}{const t=o[c]+1;e.outerEdgesOffsetAndLength[2*c+0]=a,e.outerEdgesOffsetAndLength[2*c+1]=t,a+=t}}}function X(t){Q(t),t.geometryState.wireframe?K(t.geometry):G(t.geometry)}function Y(o,s,r){const{geometryState:i,geometry:a,tile:c,localOrigin:u}=o,d=1===s||3===s,f=i.edgeResolutions[s];l(e(f));const m=f+1,{boundingBox:g,minu:h,minv:p,maxu:x,maxv:M,vertexAttributes:y}=a,S=t(1===s?1:0,h,x),v=t(0===s?1:0,p,M),V=r.renderData,I=V.geometryState,b=V.geometry,B=(s+2)%4,C=b.getEdgeCount(B),L=c.getNeighborEdgeStartVertexIndex(s,r)*f,A=f*2**(c.level-r.level);l(I.edgeResolutions[B]===A),l(C-1===A);const P=V.localOrigin[0]-u[0],D=V.localOrigin[1]-u[1],E=V.localOrigin[2]-u[2],T=a.getEdgeFirstVertexIndex(s),{position:O,uv0:R}=y,U=O.typedBuffer,w=O.typedBufferStride,N=y.normalCompressed,j=N.typedBuffer,F=N.typedBufferStride,q=b.vertexAttributes,W=b.getEdgeFirstVertexIndex(B),k=q.position.typedBuffer,z=q.position.typedBufferStride,G=q.normalCompressed.typedBuffer,H=q.normalCompressed.typedBufferStride;for(let e=1;e<m-1;++e){const o=T+e,s=W+(L+e),r=o*w,i=s*z,a=k[i]+P,c=k[i+1]+D,l=k[i+2]+E;U[r]=a,U[r+1]=c,U[r+2]=l,lt(a,c,l,g);const u=o*F,m=s*H;j[u]=G[m],j[u+1]=G[m+1];const y=e/f,V=d?S:t(y,h,x),I=d?t(y,p,M):v;R.setValues(o,Math.round(V*n),Math.round(I*n))}}function Z(e){const{geometry:o,geometryState:s,localOrigin:i}=e,{clippingArea:a,samplerData:c}=s,{minu:u,minv:d,maxu:f,maxv:m,boundingBox:h,vertexAttributes:p}=o,x=e.tile,{surface:M,ellipsoid:y,extent:S,extentInRadians:v,horizontalScale:V}=x,I="local"===M.view?.viewingMode,b=y.radius;let B=0,C=0,L=0;const A=(t,e,n)=>{const o=v[0===e?1:3],s=v[0===t?0:2],r=Math.cos(o),i=Math.sin(o),a=Math.sin(s),c=Math.cos(s),l=b+n;B=c*r*l,C=a*r*l,L=i*l},D=I?(()=>{const e=a,n=null!=e&&(S[3]>e[3]||S[2]>e[2]||S[1]<e[1]||S[0]<e[0]),o=q(M.isWebMercatorOnPlateCarree,b,V);return(s,r,i)=>{const a=0===s?S[0]:S[2],c=0===r?S[1]:S[3],l=n?t(a,e[0],e[2]):a,u=n?t(c,e[1],e[3]):c,d=i;B=l*V,C=o(u),L=d}})():A;let E=0,T=0,O=0,R=0,U=0,w=0,N=0,j=0,F=0;const W=I&&M.isWebMercatorOnPlateCarree,k=(t,e,n,o,s)=>{let r=0,i=0,a=0;if(I){const t=e*V,s=W?(Math.PI/2-2*Math.atan(Math.exp(-n/b)))*b:n*V;r=t-B,i=s-C,a=o-L}else{const s=P(t),c=t.tile,l=c.extent,u=c.extentInRadians,d=(e-l[0])/(l[2]-l[0]),f=(n-l[1])/(l[3]-l[1]),m=u[0]*(1-d)+u[2]*d,g=s(f),h=Math.cos(g),p=Math.sin(g),x=Math.sin(m),M=Math.cos(m),y=b+o;r=M*h*y-B,i=x*h*y-C,a=p*y-L}switch(s){case 0:N+=r,j+=i,F+=a;break;case 1:R-=r,U-=i,w-=a;break;case 2:N-=r,j-=i,F-=a;break;case 3:R+=r,U+=i,w+=a}},z=a??st,G=S[0],H=S[2],J=S[1],K=S[3],Q=[K>z[3],H>z[2],J<z[1],G<z[0]],X=Math.max(G,z[0]),Y=Math.min(H,z[2]),Z=Math.max(J,z[1]),_=Math.min(K,z[3]),tt=t=>Math.max(z[0],Math.min(z[2],t)),et=t=>Math.max(z[1],Math.min(z[3],t)),ot=t=>{const e=s.cornerNeighborCornerTiles;E=0,T=0,O=1,R=0,U=0,w=0,N=0,j=0,F=0;let n=1/0;for(let s=0;s<4;++s){const o=e[4*t+s];n=Math.min(n,o?.level??1/0)}for(let s=0;s<4;++s){const o=e[4*t+s];rt[s]=o?.level===n?o:null}let o=1,i=0;for(let s=0;s<4;++s){const t=rt[s];t&&(o=Math.max(o,t?.renderData.geometryState.numVerticesPerSide),i=t.extent[2]-t.extent[0])}const a=i,c=o;l(c>1);const u=a/c;for(let s=0;s<4;++s){const t=rt[(s+3)%4],e=rt[s%4];if(!t&&!e)continue;const n=0===s?1:1===s?2:2===s?3:0,o=0===s?2:1===s?3:2===s?0:1;if(t&&e){const i=nt[s][0]*u,a=nt[s][1]*u,c=t.extent,l=tt(c[0===n||1===n?2:0]+i),d=et(c[0===n||3===n?3:1]+a),f=e.extent,m=tt(f[0===o||1===o?2:0]+i),g=et(f[0===o||3===o?3:1]+a),h=t.renderData,p=e.renderData,x=r(l,d,h.geometryState.samplerData),M=r(m,g,p.geometryState.samplerData);k(h,l,d,.5*(x+M),s)}else{const i=t??e,a=t?n:o,c=i.extent,l=nt[s],d=tt(c[0===a||1===a?2:0]+l[0]*u),f=et(c[0===a||3===a?3:1]+l[1]*u),m=i.renderData,g=r(d,f,m.geometryState.samplerData);k(m,d,f,g,s)}}if(!I){const t=Math.sqrt(B*B+C*C+L*L);E=B/t,T=C/t,O=L/t}if(I||O*O<.999){const t=Math.sqrt(R*R+U*U+w*w);R/=t,U/=t,w/=t;const e=Math.sqrt(N*N+j*j+F*F);N/=e,j/=e,F/=e,E=w*j-U*F,T=R*F-w*N,O=U*N-R*j;const n=1/Math.sqrt(E*E+T*T+O*O);E*=n,T*=n,O*=n}},it=s.cornerNeighborCornerTiles;for(let P=0;P<4;++P){const e=P,a=(P+1)%4,M=0===P||1===P?1:0,y=0===P||3===P?1:0,S=t(M,u,f),v=t(y,d,m),V=o.getEdgeFirstVertexIndex(e),I=o.getEdgeCount(e),b=0===P||3===P?I-1:0,A=o.getEdgeFirstVertexIndex(a),R=o.getEdgeCount(a),U=0===P||1===P?R-1:0;let w=-1;for(let t=0;t<4;++t){const e=it[4*P+t],n=it[4*P+w];e&&(-1===w||g(n,e)>0)&&(w=t)}const N=w,j=it[4*P+N];if(j!==x){const t=x.level-j.level,e=2**t,o=[j.lij[0]+t,j.lij[1]*e,j.lij[2]*e],r=[o[1]+e===x.lij[1],0===P&&(1===N||0===N&&j!==it[4*P+3])||1===P&&(0===N||1===N&&j!==it[4*P+2]),o[1]===x.lij[1]+1,2===P&&(3===N||2===N&&j!==it[4*P+1])||3===P&&(2===N||3===N&&j!==it[4*P+0])],a=r.reduce((t,e)=>t+(e?1:0),0);l(1===a||2===a);let c=-1,u=-1;const d=j.renderData;if(1===a){const t=r.findIndex(t=>t);l(0<=t&&t<=3),c=(t+2)%4;const e=s.edgeResolutions[t];u=x.getNeighborEdgeStartVertexIndex(t,j)*e+e*(0===t&&0===P||1===t&&0===P||2===t&&1===P||3===t&&3===P?1:0)}else{l(r[1]||r[3]),c=r[1]?3:1;const t=d.geometryState.edgeResolutions[c];u=0===P||3===P?0:t}const f=d.geometry;{const t=V+b,e=A+U,o=f.getEdgeFirstVertexIndex(c)+u,s=f.vertexAttributes,r=d.localOrigin,a=s.position,l=a.typedBuffer,m=o*a.typedBufferStride,g=l[m]+r[0]-i[0],x=l[m+1]+r[1]-i[1],M=l[m+2]+r[2]-i[2];lt(g,x,M,h);const y=p.position,I=y.typedBuffer,B=t*y.typedBufferStride;I[B]=g,I[B+1]=x,I[B+2]=M;const C=e*y.typedBufferStride;I[C]=g,I[C+1]=x,I[C+2]=M;const L=p.uv0;L.setValues(t,Math.round(S*n),Math.round(v*n)),L.setValues(e,Math.round(S*n),Math.round(v*n));{const n=s.normalCompressed.typedBuffer,r=o*s.normalCompressed.typedBufferStride,i=p.normalCompressed,a=i.typedBuffer;{const e=t*i.typedBufferStride;a[e]=n[r],a[e+1]=n[r+1]}{const t=e*i.typedBufferStride;a[t]=n[r],a[t+1]=n[r+1]}}}}else{const n=Q[e],s=Q[a];let l;if(n||s){const e=t(G*(1-M)+H*M,X,Y),n=t(J*(1-y)+K*y,Z,_);l=r(e,n,c)}else l=$(it,P);D(M,y,l),ot(P);const u=B-i[0],d=C-i[1],f=L-i[2];lt(u,d,f,h),o.setEdgeVertexFromValuesRawPositionUVNormal(e,b,u,d,f,S,v,E,T,O),o.setEdgeVertexFromValuesRawPositionUVNormal(a,U,u,d,f,S,v,E,T,O)}}for(let t=0;t<4;++t)rt[t]=null}function $(t,e){const n=4*e,o=a.reduce((e,o)=>Math.min(e,t[n+o]?.level??1/0),1/0);u&&(l(!t[n+0]||!t[n+2]||m(t[n+0],t[n+2],5)),l(!t[n+1]||!t[n+3]||m(t[n+1],t[n+3],7)));let s=0,i=0;for(let a=0;a<4;++a){const e=t[n+a];if(e&&e.level===o){const t=0===a||1===a,n=0===a||3===a,o=e.extent,c=o[t?0:2],l=o[n?1:3],u=e.renderData?.geometryState?.samplerData;i+=r(c,l,u),s++}}const c=s?i/s:0;return l(null!=c),c}function _(t){const{vao:e,geometry:n}=t,{vertexAttributes:o,edgeVerticesStartIndex:s}=n,r=o.position.typedBuffer;e.buffer()?.buffer.setSubData(r,s,s,r.length)}function tt(t){const{vao:e,geometry:n}=t,{indices:o,indexCount:s,edgeIndicesStartIndex:r}=n;e.indexBuffer.setSubData(o,r,r,s)}class et{constructor(t,e,n,o,s){this.isNorth=t,this.connectedRowOffset=e,this.connectedOuterEdgeOffset=n,this.rowOffset=o,this.latitudeResolution=s}}const nt=[[0,1],[1,0],[0,-1],[-1,0]],ot=new i,st=s(-1/0,-1/0,1/0,1/0),rt=[null,null,null,null];function it(t,e,n){if(!e)return!1;const o=g(t,e);return o>0||0===o&&n>=2}class at{constructor(){this.vertex0Index=0,this.stride=1,this.count=0}getVertexIndex(t){return l(0<=t&&t<this.count),this.vertex0Index+this.stride*t}}const ct=[new at,new at,new at,new at];function lt(t,e,n,o){t<o[0]?o[0]=t:t>o[3]&&(o[3]=t),e<o[1]?o[1]=e:e>o[4]&&(o[4]=e),n<o[2]?o[2]=n:n>o[5]&&(o[5]=n)}function ut(t){const{edgeResolutions:e,numVerticesPerSide:n}=t,o=1+Math.max(...e);return Math.max(n,o)}function dt(t,e,n,o,s,r){const i=t*s,a=r[i],c=r[i+1],l=r[i+2],u=e*s,d=r[u],f=r[u+1],m=r[u+2],g=n*s,h=r[g],p=r[g+1],x=r[g+2],M=o*s,y=r[M],S=r[M+1],v=r[M+2];return(d-y)*(d-y)+(f-S)*(f-S)+(m-v)*(m-v)>(a-h)*(a-h)+(c-p)*(c-p)+(l-x)*(l-x)}function ft(t,e,n,o,s){t[e]=n,t[e+1]=o,t[e+2]=o,t[e+3]=s,t[e+4]=s,t[e+5]=n}const mt=6;export{D as createPlanarGlobePatch,x as createSphericalGlobePatch,V as updateCornerSpherical,T as updateCornersPlanar,O as updateEdgeElevationsAndResolutionsPlanar,v as updateEdgeElevationsAndResolutionsSpherical,R as updateEdgesAndCornersPlanar,S as updateEdgesAndCornersSpherical};