@arcgis/core 4.34.0-next.26 → 4.34.0-next.27

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 (1639) hide show
  1. package/Color.js +1 -1
  2. package/README.md +5 -5
  3. package/UndoRedo.js +1 -1
  4. package/WebDocument2D.js +1 -1
  5. package/WebScene.js +1 -1
  6. package/analysis/LengthDimension.js +1 -1
  7. package/analysis/VolumeMeasurement/volumeMeasurementUtils.js +1 -1
  8. package/analysis/VolumeMeasurementAnalysis.js +1 -1
  9. package/analysis/dimensionUtils.js +1 -1
  10. package/analysis/featureReferenceUtils.js +1 -1
  11. package/applications/Components/imageryUtils.d.ts +2 -0
  12. package/applications/Components/imageryUtils.js +1 -1
  13. package/applications/KnowledgeStudio/resourceSerializationUtils.js +1 -1
  14. package/arcade/ArcadeDate.js +1 -1
  15. package/arcade/ArcadeModuleResolver.js +1 -1
  16. package/arcade/Dictionary.js +1 -1
  17. package/arcade/Feature.js +1 -1
  18. package/arcade/Voxel.js +1 -1
  19. package/arcade/arcadeAsyncRuntime.js +1 -1
  20. package/arcade/arcadeCompiler.js +1 -1
  21. package/arcade/arcadeEnvironment.js +1 -1
  22. package/arcade/arcadeRuntime.js +1 -1
  23. package/arcade/containerUtils.js +1 -1
  24. package/arcade/enum.js +1 -1
  25. package/arcade/executionError.js +1 -1
  26. package/arcade/featureSetUtils.js +1 -1
  27. package/arcade/featureset/actions/Adapted.js +1 -1
  28. package/arcade/featureset/actions/AttributeFilter.js +1 -1
  29. package/arcade/featureset/actions/GroupBy.js +1 -1
  30. package/arcade/featureset/actions/OrderBy.js +1 -1
  31. package/arcade/featureset/actions/SpatialFilter.js +1 -1
  32. package/arcade/featureset/actions/Top.js +1 -1
  33. package/arcade/featureset/sources/Empty.js +1 -1
  34. package/arcade/featureset/sources/FeatureLayerDynamic.js +1 -1
  35. package/arcade/featureset/sources/FeatureLayerMemory.js +1 -1
  36. package/arcade/featureset/sources/FeatureLayerRelated.js +1 -1
  37. package/arcade/featureset/support/FeatureSet.js +1 -1
  38. package/arcade/featureset/support/StatsField.js +1 -1
  39. package/arcade/featureset/support/errorsupport.js +1 -1
  40. package/arcade/featureset/support/shared.js +1 -1
  41. package/arcade/featureset/support/sqlUtils.js +1 -1
  42. package/arcade/featureset/support/stats.js +1 -1
  43. package/arcade/functions/convertdirection.js +1 -1
  44. package/arcade/functions/date.js +1 -1
  45. package/arcade/functions/feature.js +1 -1
  46. package/arcade/functions/featuresetbase.js +1 -1
  47. package/arcade/functions/featuresetgeom.js +1 -1
  48. package/arcade/functions/featuresetstats.js +1 -1
  49. package/arcade/functions/featuresetstring.js +1 -1
  50. package/arcade/functions/geomasync.js +1 -1
  51. package/arcade/functions/geometry.js +1 -1
  52. package/arcade/functions/geomsync.js +1 -1
  53. package/arcade/functions/knowledgegraph.js +1 -1
  54. package/arcade/functions/stats.js +1 -1
  55. package/arcade/functions/string.js +1 -1
  56. package/arcade/geometry/constructors.js +1 -1
  57. package/arcade/geometry/functions.js +1 -1
  58. package/arcade/geometry/unitConversion.js +1 -1
  59. package/arcade/validation/arcadeValidator.js +1 -1
  60. package/arcade/validation/diagnosticMessages.js +1 -1
  61. package/arcade/validation/types.js +0 -1
  62. package/assets/esri/core/workers/RemoteClient.js +1 -1
  63. package/assets/esri/core/workers/chunks/{2c2128201c80a1b1aeb6.js → 006b5b465f6ec1463743.js} +1 -1
  64. package/assets/esri/core/workers/chunks/{3b80b01551d124534a1b.js → 075431aacc19f4f50e61.js} +1 -1
  65. package/assets/esri/core/workers/chunks/083575552e530a6471c1.js +1 -0
  66. package/assets/esri/core/workers/chunks/{e7f5ff5318c144baa4e9.js → 09063e2b6f92f8b8d6df.js} +1 -1
  67. package/assets/esri/core/workers/chunks/0c6f498e25b68d33f89e.js +1 -0
  68. package/assets/esri/core/workers/chunks/11a7e7ff2b6d040b7257.js +1 -0
  69. package/assets/esri/core/workers/chunks/147c1537e39e0a9f57c0.js +1 -0
  70. package/assets/esri/core/workers/chunks/16fbf04c039d1ea34f3d.js +1 -0
  71. package/assets/esri/core/workers/chunks/1859a11df9f579b993d7.js +1 -0
  72. package/assets/esri/core/workers/chunks/1aff43dad2302677b4f4.js +1 -0
  73. package/assets/esri/core/workers/chunks/24ce3d21ddd15da614dd.js +1 -0
  74. package/assets/esri/core/workers/chunks/277941bec15525dbd3a0.js +1 -0
  75. package/assets/esri/core/workers/chunks/28ca93c78798caf2e3f9.js +1 -0
  76. package/assets/esri/core/workers/chunks/2a37e4e361a47fb4e7a8.js +1 -0
  77. package/assets/esri/core/workers/chunks/2cfe4370834b754d8a6c.js +1 -0
  78. package/assets/esri/core/workers/chunks/{36648facd56ee91afc7c.js → 2d354cb311fa41b22d2e.js} +1 -1
  79. package/assets/esri/core/workers/chunks/{820cf4337b248a0cb63c.js → 2de5fcc52f45260b8f64.js} +1 -1
  80. package/assets/esri/core/workers/chunks/2f89b85af0f5b523824b.js +1 -0
  81. package/assets/esri/core/workers/chunks/3149a86cd25684dcb0b3.js +1 -0
  82. package/assets/esri/core/workers/chunks/33903a91c2a08b870623.js +1 -0
  83. package/assets/esri/core/workers/chunks/37f6562f5a3aeb5cf623.js +1 -0
  84. package/assets/esri/core/workers/chunks/381305de6f3ddb89f1ca.js +1 -0
  85. package/assets/esri/core/workers/chunks/386ab72a45102c2d47f2.js +1 -0
  86. package/assets/esri/core/workers/chunks/39756213796d0fe119e7.js +1 -0
  87. package/assets/esri/core/workers/chunks/3e731761df43a50d4884.js +1 -0
  88. package/assets/esri/core/workers/chunks/3fe7be535affae31de7e.js +1 -0
  89. package/assets/esri/core/workers/chunks/{4a720f2ed4eb96c3bd1c.js → 3fe84dceab7a9e6783d5.js} +1 -1
  90. package/assets/esri/core/workers/chunks/41071e672dcddec47492.js +1 -0
  91. package/assets/esri/core/workers/chunks/{109ef17dd4f9430bb686.js → 4171bfbaddf06c23cc5e.js} +1 -1
  92. package/assets/esri/core/workers/chunks/{bf3fc71881aa559fc931.js → 421ab3c4db4235951e36.js} +1 -1
  93. package/assets/esri/core/workers/chunks/45121b7258333c8ebbdb.js +1 -0
  94. package/assets/esri/core/workers/chunks/46bf33ed96014e632e3f.js +1 -0
  95. package/assets/esri/core/workers/chunks/4721614c4d81d535505b.js +1 -0
  96. package/assets/esri/core/workers/chunks/{472c677a74d779ce62d7.js → 473190fe656a40cafd40.js} +1 -1
  97. package/assets/esri/core/workers/chunks/4778acd0cfaf0cebeec7.js +1 -0
  98. package/assets/esri/core/workers/chunks/4784af2b04fafacfcc1b.js +1 -0
  99. package/assets/esri/core/workers/chunks/4bc639cbb28eb75233be.js +1 -0
  100. package/assets/esri/core/workers/chunks/4c715d54f5734511adbd.js +1 -0
  101. package/assets/esri/core/workers/chunks/4cb6f77fe23962ef264b.js +1 -0
  102. package/assets/esri/core/workers/chunks/{5ef3256c32c4b622bd11.js → 4d884390288b1380ab2a.js} +1 -1
  103. package/assets/esri/core/workers/chunks/4f63b8236c734551c3f0.js +1 -0
  104. package/assets/esri/core/workers/chunks/4fa81a7137737fa29623.js +1 -0
  105. package/assets/esri/core/workers/chunks/51b97f67c8dbfb932170.js +1 -0
  106. package/assets/esri/core/workers/chunks/5227a05a244d6af746f0.js +1 -0
  107. package/assets/esri/core/workers/chunks/{9182fe69b9863e1de714.js → 54a30a1ae25eff0c2bdc.js} +1 -1
  108. package/assets/esri/core/workers/chunks/{6e9b4bfe2a1497c96100.js → 56742c5b310b3c989f4d.js} +1 -1
  109. package/assets/esri/core/workers/chunks/{06cdbccc9f325dcc303d.js → 5934944d3532cc27c046.js} +1 -1
  110. package/assets/esri/core/workers/chunks/{40fc7c43feaeef8b814d.js → 5ac49ddc11e89a755470.js} +1 -1
  111. package/assets/esri/core/workers/chunks/5ba2e074d42493f6eac9.js +1 -0
  112. package/assets/esri/core/workers/chunks/{856739d12ee9d7154683.js → 5f239972cb95afdfa77a.js} +1 -1
  113. package/assets/esri/core/workers/chunks/60d0fc02f37c6b328d31.js +1 -0
  114. package/assets/esri/core/workers/chunks/61e4aa939915e9cd1e8d.js +1 -0
  115. package/assets/esri/core/workers/chunks/630d55eea98469a361d4.js +1 -0
  116. package/assets/esri/core/workers/chunks/{395f589b0929e37ba674.js → 66f1c9a82c2c960bb86c.js} +1 -1
  117. package/assets/esri/core/workers/chunks/679018fd319a9bebeb88.js +1 -0
  118. package/assets/esri/core/workers/chunks/{d7d5f7fea2bf77f43754.js → 6878d504d776abf8089b.js} +1 -1
  119. package/assets/esri/core/workers/chunks/6963ded8428cc8d51d85.js +1 -0
  120. package/assets/esri/core/workers/chunks/6a0777cf1270fcab4574.js +1 -0
  121. package/assets/esri/core/workers/chunks/6c3ae96c6ef764fb9552.js +1 -0
  122. package/assets/esri/core/workers/chunks/6d786fac4bb5efcb7acc.js +1 -0
  123. package/assets/esri/core/workers/chunks/706d8e0561b810613308.js +1 -0
  124. package/assets/esri/core/workers/chunks/72a50a2845ab211868f2.js +1 -0
  125. package/assets/esri/core/workers/chunks/730554e5d6018d2e9e9e.js +1 -0
  126. package/assets/esri/core/workers/chunks/7b5bb94eb8705a84d45c.js +1 -0
  127. package/assets/esri/core/workers/chunks/7bd672e534cde0d5787d.js +1 -0
  128. package/assets/esri/core/workers/chunks/{66affa0ee7fda288df11.js → 7e746427375e83fc4351.js} +1 -1
  129. package/assets/esri/core/workers/chunks/{cefb063f93c4310a3888.js → 80dc4c6c549d3711af5c.js} +1 -1
  130. package/assets/esri/core/workers/chunks/812cf236acb08bbfa54e.js +1 -0
  131. package/assets/esri/core/workers/chunks/81d82c8c8bd8d79c6420.js +1 -0
  132. package/assets/esri/core/workers/chunks/8664ed88a2c52751e590.js +1 -0
  133. package/assets/esri/core/workers/chunks/8684dcf89344aaeaf97a.js +1 -0
  134. package/assets/esri/core/workers/chunks/8772982f0760a7770290.js +1 -0
  135. package/assets/esri/core/workers/chunks/87df7cb4faf37d68bcbc.js +1 -0
  136. package/assets/esri/core/workers/chunks/8b33efbde3e96be88eb9.js +1 -0
  137. package/assets/esri/core/workers/chunks/8d914ea9b18b32fd62b8.js +1 -0
  138. package/assets/esri/core/workers/chunks/9046a792395da28fa8f7.js +1 -0
  139. package/assets/esri/core/workers/chunks/92a372a96245c083e8d6.js +1 -0
  140. package/assets/esri/core/workers/chunks/9322160387e5c3c968cd.js +346 -0
  141. package/assets/esri/core/workers/chunks/937c93e536ea932257eb.js +1 -0
  142. package/assets/esri/core/workers/chunks/93a068bb3b0a4b918821.js +1 -0
  143. package/assets/esri/core/workers/chunks/{a8a5cdd70db90273a3fc.js → 94a3474e3f45efa4a4fe.js} +1 -1
  144. package/assets/esri/core/workers/chunks/9723512bc9db4a301c72.js +1 -0
  145. package/assets/esri/core/workers/chunks/97a56b058f8472fec1b2.js +1 -0
  146. package/assets/esri/core/workers/chunks/{86abfce1f2ac93cc4d54.js → 987c816176c40ff62027.js} +1 -1
  147. package/assets/esri/core/workers/chunks/{a19689f8d1ef48fd2159.js → 9a8669dd3a7a2996d3e4.js} +1 -1
  148. package/assets/esri/core/workers/chunks/{30fae1f066dc3cd781f1.js → 9af47a4da3a0b84f1add.js} +1 -1
  149. package/assets/esri/core/workers/chunks/9b7d8f00655e9c1469de.js +1 -0
  150. package/assets/esri/core/workers/chunks/9c5745d9e9eeff98bb1d.js +1 -0
  151. package/assets/esri/core/workers/chunks/{1d27701832ea139fcc20.js → 9d18e772aef0b7027995.js} +1 -1
  152. package/assets/esri/core/workers/chunks/{7cfba5cec425221962e8.js → a150401f60342f9873f8.js} +1 -1
  153. package/assets/esri/core/workers/chunks/a24d1572c67f27ceced4.js +1 -0
  154. package/assets/esri/core/workers/chunks/a2bfb7b2f3f909dc5e59.js +1 -0
  155. package/assets/esri/core/workers/chunks/a3f0e977cc7001645cce.js +1 -0
  156. package/assets/esri/core/workers/chunks/a5310ff0bd5efb33cae6.js +1 -0
  157. package/assets/esri/core/workers/chunks/a9d83a442d8d7a376fc0.js +1 -0
  158. package/assets/esri/core/workers/chunks/aa585903d55773a85c84.js +1 -0
  159. package/assets/esri/core/workers/chunks/aa8df507839b17003872.js +1 -0
  160. package/assets/esri/core/workers/chunks/ac03c31de26bbbec056e.js +1 -0
  161. package/assets/esri/core/workers/chunks/ac7023eccf5fdbbcdc0d.js +1 -0
  162. package/assets/esri/core/workers/chunks/adf2572b971796522693.js +1 -0
  163. package/assets/esri/core/workers/chunks/ae75bfa90eb530d5954e.js +1 -0
  164. package/assets/esri/core/workers/chunks/afb7e346779adefa4b05.js +1 -0
  165. package/assets/esri/core/workers/chunks/b13dc7ac1f442059cff7.js +1 -0
  166. package/assets/esri/core/workers/chunks/b3f6a783a8ac879ff1e4.js +1 -0
  167. package/assets/esri/core/workers/chunks/b50841f898d4eb420b73.js +1 -0
  168. package/assets/esri/core/workers/chunks/b8853c9a65d642be0457.js +1 -0
  169. package/assets/esri/core/workers/chunks/b89aacec211c66e3a011.js +1 -0
  170. package/assets/esri/core/workers/chunks/{567385709e18ace93b1e.js → b9435bbb89339fb0efe7.js} +1 -1
  171. package/assets/esri/core/workers/chunks/bd6c6acf23db2a2e8ef8.js +1 -0
  172. package/assets/esri/core/workers/chunks/bdb7d6273c457b5193fc.js +1 -0
  173. package/assets/esri/core/workers/chunks/be1b83077f6c775ffd17.js +1 -0
  174. package/assets/esri/core/workers/chunks/{d2986ddd390227feac85.js → bfa8a2523b35ee698709.js} +1 -1
  175. package/assets/esri/core/workers/chunks/c01dfbcea25387c6a781.js +1 -0
  176. package/assets/esri/core/workers/chunks/{a7a5b89c2bb69f3af59c.js → c4c26753fb144838e9bf.js} +1 -1
  177. package/assets/esri/core/workers/chunks/{41d07f5a550f242d964e.js → c87bb42f825c39f9cce3.js} +1 -1
  178. package/assets/esri/core/workers/chunks/c97df44df42c6de8ffc5.js +1 -0
  179. package/assets/esri/core/workers/chunks/c9fe9792312f0161ef5a.js +1 -0
  180. package/assets/esri/core/workers/chunks/caeaa73cef54c69bfb8d.js +1 -0
  181. package/assets/esri/core/workers/chunks/cc097863f03902c75496.js +1 -0
  182. package/assets/esri/core/workers/chunks/ce0683921ccefc580018.js +1 -0
  183. package/assets/esri/core/workers/chunks/ce1a4368741f1ddc53fe.js +1 -0
  184. package/assets/esri/core/workers/chunks/cf5f18700facaa0c8170.js +1 -0
  185. package/assets/esri/core/workers/chunks/cf6a564fa3126add1664.js +1 -0
  186. package/assets/esri/core/workers/chunks/cf93b17f57cbc03f802e.js +1 -0
  187. package/assets/esri/core/workers/chunks/cffd73e94061823317ee.js +1 -0
  188. package/assets/esri/core/workers/chunks/d3b932ff2299c89c2582.js +1 -0
  189. package/assets/esri/core/workers/chunks/d52e8c2065f2767cd6f9.js +1 -0
  190. package/assets/esri/core/workers/chunks/{35aef6fd08b50c4d7dd3.js → d59a729c79e6ed434152.js} +1 -1
  191. package/assets/esri/core/workers/chunks/d88935ae5669d14c5b29.js +1 -0
  192. package/assets/esri/core/workers/chunks/{2d3679289b34b7da6bf4.js → da82ed1d2012d0cd883b.js} +1 -1
  193. package/assets/esri/core/workers/chunks/e03930dd9ce55b903906.js +1 -0
  194. package/assets/esri/core/workers/chunks/e302a3a9a6cf1f48455d.js +1 -0
  195. package/assets/esri/core/workers/chunks/e506c9158bd0b5174f18.js +1009 -0
  196. package/assets/esri/core/workers/chunks/e5d06f87eb8b52d10dfc.js +1 -0
  197. package/assets/esri/core/workers/chunks/e5fef2b5b6da2377703c.js +1 -0
  198. package/assets/esri/core/workers/chunks/e6009ddd28cc5b8752b2.js +1 -0
  199. package/assets/esri/core/workers/chunks/e6872460241fee0a561a.js +1 -0
  200. package/assets/esri/core/workers/chunks/e6e4e2fb9568319c6207.js +1 -0
  201. package/assets/esri/core/workers/chunks/e799433770e4303fcd9c.js +1 -0
  202. package/assets/esri/core/workers/chunks/e7cbd1b5e4cb32851a5c.js +1 -0
  203. package/assets/esri/core/workers/chunks/ecd673eccf89643df07a.js +2 -0
  204. package/assets/esri/core/workers/chunks/{d1aeb9fe9eb573beefcc.js → edc4f230a5bdf928f9fd.js} +2 -2
  205. package/assets/esri/core/workers/chunks/edd9f70247daaef2f0b9.js +1 -0
  206. package/assets/esri/core/workers/chunks/ee0596d6d66225b04465.js +1 -0
  207. package/assets/esri/core/workers/chunks/f318f3289684f9112431.js +1 -0
  208. package/assets/esri/core/workers/chunks/f3c011455136b6c85803.js +1 -0
  209. package/assets/esri/core/workers/chunks/f3d784052b8357408394.js +1 -0
  210. package/assets/esri/core/workers/chunks/{5284d46aecd6fe0345b8.js → f5e9f29cc132208c91be.js} +1 -1
  211. package/assets/esri/core/workers/chunks/f95edcb0664039bbe73f.js +1 -0
  212. package/assets/esri/core/workers/chunks/fb84fa28978a1820a725.js +1 -0
  213. package/assets/esri/core/workers/chunks/{c11efbf098866c927607.js → ffc4703dcdc792ddaa9c.js} +1 -1
  214. package/assets/esri/libs/i3s/i3s.wasm +0 -0
  215. package/chunks/BlendLayers.glsl.js +1 -1
  216. package/chunks/BloomBlur.glsl.js +8 -8
  217. package/chunks/CheckerBoard.glsl.js +3 -3
  218. package/chunks/Clouds.glsl.js +15 -15
  219. package/chunks/CloudsComposition.glsl.js +2 -2
  220. package/chunks/ColorMaterial.glsl.js +4 -4
  221. package/chunks/ComponentShader.glsl.js +36 -36
  222. package/chunks/Compositing.glsl.js +4 -4
  223. package/chunks/DefaultMaterial.glsl.js +23 -23
  224. package/chunks/EdgeShader.glsl.js +9 -9
  225. package/chunks/FocusAreaColor.glsl.js +3 -3
  226. package/chunks/FocusAreaMask.glsl.js +2 -2
  227. package/chunks/HUDMaterial.glsl.js +44 -44
  228. package/chunks/HeatmapDensity.glsl.js +6 -6
  229. package/chunks/ImageMaterial.glsl.js +4 -4
  230. package/chunks/LaserlinePath.glsl.js +6 -6
  231. package/chunks/LineCallout.glsl.js +5 -5
  232. package/chunks/LineMarker.glsl.js +29 -29
  233. package/chunks/Magnifier.glsl.js +2 -2
  234. package/chunks/MeasurementArrow.glsl.js +6 -6
  235. package/chunks/NativeLine.glsl.js +7 -7
  236. package/chunks/NoiseTextureAtlas.glsl.js +34 -34
  237. package/chunks/OverlayCompositing.glsl.js +2 -2
  238. package/chunks/Path.glsl.js +16 -16
  239. package/chunks/Pattern.glsl.js +22 -22
  240. package/chunks/PointRenderer.glsl.js +4 -4
  241. package/chunks/Precipitation.glsl.js +7 -7
  242. package/chunks/RasterColorizer.glsl.js +11 -11
  243. package/chunks/RealisticTree.glsl.js +16 -16
  244. package/chunks/RibbonLine.glsl.js +36 -36
  245. package/chunks/ShadedColorMaterial.glsl.js +7 -7
  246. package/chunks/ShadowCastAccumulate.glsl.js +4 -4
  247. package/chunks/ShadowCastClear.glsl.js +1 -1
  248. package/chunks/ShadowCastVisualize.glsl.js +11 -11
  249. package/chunks/ShadowHighlight.glsl.js +3 -3
  250. package/chunks/SimpleAtmosphere.glsl.js +9 -9
  251. package/chunks/SlicePlaneMaterial.glsl.js +3 -3
  252. package/chunks/Stars.glsl.js +2 -2
  253. package/chunks/Terrain.glsl.js +32 -32
  254. package/chunks/WaterSurface.glsl.js +16 -16
  255. package/chunks/aiServices.js +1 -1
  256. package/chunks/arcade.js +1 -1
  257. package/chunks/array.js +1 -1
  258. package/chunks/boundedPlane.js +1 -1
  259. package/chunks/cameraUtilsPlanar.js +1 -1
  260. package/chunks/cameraUtilsSpherical.js +1 -1
  261. package/chunks/i3s.js +1 -1
  262. package/chunks/languageUtils.js +1 -1
  263. package/chunks/persistableUrlUtils.js +1 -1
  264. package/chunks/sphere.js +1 -1
  265. package/config.js +1 -1
  266. package/core/ByteSizeUnit.js +0 -1
  267. package/core/Clonable.js +1 -1
  268. package/core/Collection.js +1 -1
  269. package/core/Loadable.js +1 -1
  270. package/core/MemCache.js +1 -1
  271. package/core/MemCachePool.js +1 -1
  272. package/core/MultiOriginJSONSupport.js +1 -1
  273. package/core/ObservableChangesType.js +0 -1
  274. package/core/Promise.js +1 -1
  275. package/core/accessorSupport/DefaultsStore.js +1 -1
  276. package/core/accessorSupport/MultiOriginStore.js +1 -1
  277. package/core/accessorSupport/Properties.js +1 -1
  278. package/core/accessorSupport/Property.js +1 -1
  279. package/core/accessorSupport/PropertyOrigin.js +1 -1
  280. package/core/accessorSupport/Store.js +1 -1
  281. package/core/accessorSupport/decorators/persistable.js +1 -1
  282. package/core/accessorSupport/defaultsStoreUtils.js +1 -1
  283. package/core/accessorSupport/overrideDefaultsFrom.js +1 -1
  284. package/core/accessorSupport/testSupport.js +1 -1
  285. package/core/accessorSupport/watch.js +1 -1
  286. package/core/accessorSupport/write.js +1 -1
  287. package/core/collectionUtils.js +1 -1
  288. package/core/colorUtils.js +1 -1
  289. package/core/pbf.js +1 -1
  290. package/core/sql/AggregateFunctions.js +1 -1
  291. package/core/sql/SqlInterval.js +1 -1
  292. package/core/sql/StandardizedFunctions.js +1 -1
  293. package/core/sql/WhereClause.js +1 -1
  294. package/core/sql/errorSupport.js +1 -1
  295. package/core/sql/sqlArithmeticUtils.js +1 -1
  296. package/core/sql/sqlCompareUtils.js +1 -1
  297. package/core/sql/sqlDateParsingUtils.js +1 -1
  298. package/core/support/OwningCollection.js +1 -1
  299. package/core/unitFormatUtils.js +1 -1
  300. package/editing/sharedTemplates/executor/builders/pointAtAllVerticesOfLine.js +1 -1
  301. package/editing/sharedTemplates/executor/builders/pointAtBeginningOfLine.js +1 -1
  302. package/editing/sharedTemplates/executor/builders/pointAtBeginningOfRadial.js +1 -1
  303. package/editing/sharedTemplates/executor/builders/pointAtEndOfLine.js +1 -1
  304. package/editing/sharedTemplates/executor/builders/pointAtInteriorVertices.js +1 -1
  305. package/editing/sharedTemplates/executor/builders/pointAtNotBeginningOfLine.js +1 -1
  306. package/editing/sharedTemplates/executor/builders/pointAtNotEndOfLine.js +1 -1
  307. package/editing/sharedTemplates/executor/builders/support/offsetUtils.js +1 -1
  308. package/editing/sharedTemplates/executor/createTemplateExecutor.js +1 -1
  309. package/geometry/projection/computeTranslationToOriginAndRotation.js +1 -1
  310. package/geometry/projection/localLinearScaleFactors.js +1 -1
  311. package/geometry/projection/projectBoundingSphere.js +1 -1
  312. package/geometry/projection/projectors.js +1 -1
  313. package/geometry/support/Axis.js +0 -1
  314. package/geometry/support/SupportedGCSWkids.js +0 -1
  315. package/geometry/support/TileClipper.js +1 -1
  316. package/geometry/support/boundedPlane.js +1 -1
  317. package/geometry/support/coordinateSystem.js +1 -1
  318. package/geometry/support/coordsUtils.js +1 -1
  319. package/geometry/support/frustum.js +1 -1
  320. package/geometry/support/heightModelInfoUtils.js +1 -1
  321. package/geometry/support/meshUtils/exporters/gltf/bufferview.js +1 -1
  322. package/geometry/support/meshUtils/exporters/gltf/glb.js +1 -1
  323. package/geometry/support/meshUtils/exporters/gltf/gltf.js +1 -1
  324. package/geometry/support/meshUtils/exporters/gltf/gltfexport.js +1 -1
  325. package/geometry/support/meshUtils/exporters/gltf/gltftypes.js +0 -1
  326. package/geometry/support/meshUtils/exporters/gltf/types.js +0 -1
  327. package/geometry/support/meshUtils/loadGLTFMesh.js +1 -1
  328. package/geometry/support/meshUtils/projection.js +1 -1
  329. package/geometry/support/meshUtils/vertexSpaceConversion.js +1 -1
  330. package/geometry/support/plane.js +1 -1
  331. package/geometry/support/planetGCSUtils.js +1 -1
  332. package/geometry/support/polygonExtentClipping.js +1 -1
  333. package/geometry/support/polygonUtils.js +1 -1
  334. package/geometry/support/spatialReferenceUtils.js +1 -1
  335. package/geometry/support/sphere.js +1 -1
  336. package/geometry/support/triangulationUtils.js +1 -1
  337. package/interfaces.d.ts +61 -22
  338. package/kernel.js +1 -1
  339. package/layers/BuildingSceneLayer.js +1 -1
  340. package/layers/FeatureLayer.js +1 -1
  341. package/layers/GroupLayer.js +1 -1
  342. package/layers/ILyr3DWasmPerSceneView.js +1 -1
  343. package/layers/ImageryLayer.js +1 -1
  344. package/layers/ImageryTileLayer.js +1 -1
  345. package/layers/IntegratedMeshLayer.js +1 -1
  346. package/layers/KnowledgeGraphLayer.js +1 -1
  347. package/layers/LinkChartLayer.js +1 -1
  348. package/layers/Lyr3DWasmPerSceneView.js +1 -1
  349. package/layers/MapImageLayer.js +1 -1
  350. package/layers/MediaLayer.js +1 -1
  351. package/layers/OrientedImageryLayer.js +1 -1
  352. package/layers/PointCloudLayer.js +1 -1
  353. package/layers/SceneLayer.js +1 -1
  354. package/layers/StreamLayer.js +1 -1
  355. package/layers/SubtypeGroupLayer.js +1 -1
  356. package/layers/VideoLayer.js +1 -1
  357. package/layers/VoxelWasmPerSceneView.js +1 -1
  358. package/layers/WCSLayer.js +1 -1
  359. package/layers/catalog/CatalogFootprintLayer.js +1 -1
  360. package/layers/graphics/controllers/I3SOnDemandController.js +1 -1
  361. package/layers/graphics/sources/connections/WebSocketConnection.js +1 -1
  362. package/layers/graphics/sources/interfaces.js +0 -1
  363. package/layers/knowledgeGraph/KnowledgeGraphSublayer.js +1 -1
  364. package/layers/mixins/ArcGISImageService.js +1 -1
  365. package/layers/mixins/ArcGISMapService.js +1 -1
  366. package/layers/mixins/FeatureLayerBase.js +1 -1
  367. package/layers/mixins/SceneService.js +1 -1
  368. package/layers/mixins/SublayersOwner.js +1 -1
  369. package/layers/ogc/ogcFeatureUtils.js +1 -1
  370. package/layers/orientedImagery/core/ExposurePoint.js +1 -1
  371. package/layers/orientedImagery/core/cameraOrientationRegistry.js +1 -1
  372. package/layers/orientedImagery/core/utils.js +1 -1
  373. package/layers/orientedImagery/enums/CameraOrientationType.js +0 -1
  374. package/layers/orientedImagery/transformations/updateElevationUtils.js +1 -1
  375. package/layers/orientedImagery/transformations/utils.js +1 -1
  376. package/layers/support/ImageElement.js +1 -1
  377. package/layers/support/RasterJobHandler.js +1 -1
  378. package/layers/support/RasterWorker.js +1 -1
  379. package/layers/support/Sublayer.js +1 -1
  380. package/layers/support/TileInfo.js +1 -1
  381. package/layers/support/TilemapCache.js +1 -1
  382. package/layers/support/domainUtils.js +1 -1
  383. package/layers/support/fieldUtils.js +1 -1
  384. package/layers/support/layerOriginUtils.js +1 -1
  385. package/layers/support/mediaUtils.js +1 -1
  386. package/layers/support/rasterDatasets/pixelReader.js +1 -1
  387. package/layers/support/rasterFunctions/ExtractBandFunction.js +1 -1
  388. package/layers/support/rasterFunctions/ExtractBandFunctionArguments.js +1 -1
  389. package/layers/support/rasterFunctions/MaskFunction.js +1 -1
  390. package/layers/support/rasterFunctions/MaskFunctionArguments.js +1 -1
  391. package/layers/support/rasterFunctions/pixelUtils.js +1 -1
  392. package/layers/support/rasterFunctions/rasterProjectionHelper.js +1 -1
  393. package/layers/support/rasterFunctions/stretchUtils.js +1 -1
  394. package/layers/support/streamLayerUtils.js +1 -1
  395. package/layers/support/sublayerUtils.js +1 -1
  396. package/layers/support/wmtsUtils.js +1 -1
  397. package/layers/voxel/VoxelTransferFunctionStyle.js +1 -1
  398. package/libs/basisu/TextureFormat.js +0 -1
  399. package/libs/i3s/I3SModule.js +1 -1
  400. package/libs/i3s/enums.js +0 -1
  401. package/libs/linkchartlayout/LinkChartLayout.js +1 -1
  402. package/libs/lyr3d/enums.js +0 -1
  403. package/libs/vxl/enums.js +0 -1
  404. package/networks/RulesTable.js +1 -1
  405. package/networks/UtilityNetwork.js +1 -1
  406. package/networks/support/UtilityNetworkLookupHelper.js +1 -1
  407. package/networks/support/typeUtils.js +1 -1
  408. package/networks/support/utils.js +1 -1
  409. package/package.json +3 -3
  410. package/renderers/support/DictionaryLoader.js +1 -1
  411. package/renderers/visualVariables/SizeVariable.js +1 -1
  412. package/renderers/visualVariables/support/sizeVariableUtils.js +1 -1
  413. package/renderers/visualVariables/support/visualVariableUtils.js +1 -1
  414. package/rest/knowledgeGraph/ProtoFeatureCollection.js +1 -1
  415. package/rest/knowledgeGraph/wasmInterface/KnowledgeWasmInterface.js +0 -1
  416. package/rest/knowledgeGraph/wasmInterface/WasmClientDataInterfaces.js +0 -1
  417. package/rest/knowledgeGraph/wasmInterface/WasmQueryWrapperInterfaces.js +1 -1
  418. package/rest/knowledgeGraph/wasmInterface/WasmSerializedLayerData.js +1 -1
  419. package/rest/knowledgeGraph/wasmInterface/wasmToClientDataFactories.js +1 -1
  420. package/rest/knowledgeGraph/wasmInterface/wasmToGeometryFactories.js +1 -1
  421. package/rest/knowledgeGraph/wasmInterface/wasmToQueryResponseObjFactories.js +1 -1
  422. package/rest/print.js +1 -1
  423. package/rest/support/meshFeatureSet.js +1 -1
  424. package/smartMapping/renderers/color.js +1 -1
  425. package/smartMapping/renderers/dotDensity.js +1 -1
  426. package/smartMapping/renderers/heatmap.js +1 -1
  427. package/smartMapping/renderers/pieChart.js +1 -1
  428. package/smartMapping/renderers/size.js +1 -1
  429. package/smartMapping/renderers/support/referenceSizeUtils.js +1 -1
  430. package/smartMapping/renderers/support/spikeUtils.js +1 -1
  431. package/smartMapping/renderers/type.js +1 -1
  432. package/smartMapping/statistics/heatmapStatistics.js +1 -1
  433. package/smartMapping/statistics/histogram.js +1 -1
  434. package/smartMapping/statistics/summaryStatistics.js +1 -1
  435. package/smartMapping/statistics/summaryStatisticsForAttributes.js +1 -1
  436. package/smartMapping/statistics/uniqueValues.js +1 -1
  437. package/smartMapping/support/adapters/support/layerUtils.js +1 -1
  438. package/support/persistableUrlUtils.js +1 -1
  439. package/support/revision.js +1 -1
  440. package/symbols/WaterSymbol3DLayer.js +1 -1
  441. package/symbols/cim/CIMEffects.js +1 -1
  442. package/symbols/cim/CIMSymbolDrawHelper.js +1 -1
  443. package/symbols/cim/CIMSymbolHelper.js +1 -1
  444. package/symbols/cim/CurveHelper.js +1 -1
  445. package/symbols/cim/GeometryWalker.js +1 -1
  446. package/symbols/cim/animationUtils.js +1 -1
  447. package/symbols/cim/cimAnalyzer.js +1 -1
  448. package/symbols/cim/defaultCIMValues.js +1 -1
  449. package/symbols/cim/effects/EffectArrow.js +1 -1
  450. package/symbols/cim/effects/EffectBuffer.js +1 -1
  451. package/symbols/cim/effects/EffectControlMeasureLine.js +1 -1
  452. package/symbols/cim/effects/EffectDashes.js +1 -1
  453. package/symbols/cim/effects/EffectDonut.js +1 -1
  454. package/symbols/cim/effects/EffectEnclosingPolygon.js +1 -1
  455. package/symbols/cim/effects/EffectOffset.js +1 -1
  456. package/symbols/cim/effects/EffectWave.js +1 -1
  457. package/symbols/cim/enums.js +0 -1
  458. package/symbols/cim/placements/PlacementAlongLineSameSize.js +1 -1
  459. package/symbols/cim/placements/PlacementAtExtremities.js +1 -1
  460. package/symbols/cim/placements/PlacementAtRatioPositions.js +1 -1
  461. package/symbols/cim/placements/PlacementInsidePolygon.js +1 -1
  462. package/symbols/cim/placements/PlacementOnLine.js +1 -1
  463. package/symbols/cim/placements/PlacementPolygonCenter.js +1 -1
  464. package/symbols/support/materialUtils.js +1 -1
  465. package/symbols/support/previewCIMSymbol.js +1 -1
  466. package/symbols/support/previewSymbol2D.js +1 -1
  467. package/symbols/support/previewSymbol3D.js +1 -1
  468. package/symbols/support/previewUtils.js +1 -1
  469. package/symbols/support/previewWebStyleSymbol.js +1 -1
  470. package/symbols/support/symbolUtils.js +1 -1
  471. package/undoredo/OperationStatus.js +0 -1
  472. package/undoredo/UndoRedoError.js +1 -1
  473. package/undoredo/UndoableOperation.js +1 -1
  474. package/views/2d/FrameTask.js +1 -1
  475. package/views/2d/LabelManager.js +1 -1
  476. package/views/2d/engine/AFeatureContainer.js +1 -1
  477. package/views/2d/engine/Bitmap.js +1 -1
  478. package/views/2d/engine/BitmapContainer.js +1 -1
  479. package/views/2d/engine/BitmapTileContainer.js +1 -1
  480. package/views/2d/engine/Stage.js +1 -1
  481. package/views/2d/engine/flow/BrushFlow.js +1 -1
  482. package/views/2d/engine/flow/FlowContainer.js +1 -1
  483. package/views/2d/engine/flow/styles/Imagery.js +1 -1
  484. package/views/2d/engine/flow/styles/Particles.js +1 -1
  485. package/views/2d/engine/flow/styles/Streamlines.js +1 -1
  486. package/views/2d/engine/imagery/BrushVectorField.js +1 -1
  487. package/views/2d/engine/imagery/RasterBitmap.js +1 -1
  488. package/views/2d/engine/imagery/RasterTileContainer.js +1 -1
  489. package/views/2d/engine/imagery/RasterVFContainer.js +1 -1
  490. package/views/2d/engine/imagery/RasterVFDisplayObject.js +1 -1
  491. package/views/2d/engine/imagery/RasterVFTileContainer.js +1 -1
  492. package/views/2d/engine/imagery/enums.js +0 -1
  493. package/views/2d/engine/vectorTiles/Feature.js +1 -1
  494. package/views/2d/engine/vectorTiles/GlyphMosaic.js +1 -1
  495. package/views/2d/engine/vectorTiles/Placement.js +1 -1
  496. package/views/2d/engine/vectorTiles/RenderBucket.js +1 -1
  497. package/views/2d/engine/vectorTiles/SpriteMosaic.js +1 -1
  498. package/views/2d/engine/vectorTiles/TileHandler.js +1 -1
  499. package/views/2d/engine/vectorTiles/TileParser.js +1 -1
  500. package/views/2d/engine/vectorTiles/VTLPainter3D.js +1 -1
  501. package/views/2d/engine/vectorTiles/VectorTile.js +1 -1
  502. package/views/2d/engine/vectorTiles/VectorTileContainer.js +1 -1
  503. package/views/2d/engine/vectorTiles/VectorTileFeatureIndex.js +1 -1
  504. package/views/2d/engine/vectorTiles/VectorTileRendererHelper3D.js +1 -1
  505. package/views/2d/engine/vectorTiles/WorkerTile.js +1 -1
  506. package/views/2d/engine/vectorTiles/WorkerTileHandler.js +1 -1
  507. package/views/2d/engine/vectorTiles/buckets/CircleBucket.js +1 -1
  508. package/views/2d/engine/vectorTiles/buckets/FillBucket.js +1 -1
  509. package/views/2d/engine/vectorTiles/buckets/LineBucket.js +1 -1
  510. package/views/2d/engine/vectorTiles/buckets/SymbolBucket.js +1 -1
  511. package/views/2d/engine/vectorTiles/decluttering/CollisionJob.js +1 -1
  512. package/views/2d/engine/vectorTiles/decluttering/SymbolFader.js +1 -1
  513. package/views/2d/engine/vectorTiles/decluttering/jobsUtil.js +1 -1
  514. package/views/2d/engine/vectorTiles/decluttering/util.js +1 -1
  515. package/views/2d/engine/vectorTiles/enums.js +0 -1
  516. package/views/2d/engine/vectorTiles/expression/expression.js +1 -1
  517. package/views/2d/engine/vectorTiles/shaders/VTLCircleMaterial.js +1 -1
  518. package/views/2d/engine/vectorTiles/shaders/VTLFillMaterial.js +1 -1
  519. package/views/2d/engine/vectorTiles/shaders/VTLLineMaterial.js +1 -1
  520. package/views/2d/engine/vectorTiles/shaders/VTLMaterial.js +1 -1
  521. package/views/2d/engine/vectorTiles/shaders/VTLMaterialManager.js +1 -1
  522. package/views/2d/engine/vectorTiles/shaders/VTLSymbolMaterial.js +1 -1
  523. package/views/2d/engine/vectorTiles/shaders/enums.js +0 -1
  524. package/views/2d/engine/vectorTiles/style/StyleDefinition.js +1 -1
  525. package/views/2d/engine/vectorTiles/style/StyleLayer.js +1 -1
  526. package/views/2d/engine/vectorTiles/style/StyleRepository.js +1 -1
  527. package/views/2d/engine/webgl/AttributeStoreView.js +1 -1
  528. package/views/2d/engine/webgl/BitBlitRenderer.js +1 -1
  529. package/views/2d/engine/webgl/FeatureDisplayList.js +1 -1
  530. package/views/2d/engine/webgl/FeatureTile.js +1 -1
  531. package/views/2d/engine/webgl/GlyphMosaic.js +1 -1
  532. package/views/2d/engine/webgl/Mesh2D.js +1 -1
  533. package/views/2d/engine/webgl/Overlay.js +1 -1
  534. package/views/2d/engine/webgl/OverlayContainer.js +1 -1
  535. package/views/2d/engine/webgl/OverlayMultipoint.js +1 -1
  536. package/views/2d/engine/webgl/Painter.js +1 -1
  537. package/views/2d/engine/webgl/SpriteMosaic.js +1 -1
  538. package/views/2d/engine/webgl/TextureManager.js +1 -1
  539. package/views/2d/engine/webgl/TileContainer.js +1 -1
  540. package/views/2d/engine/webgl/TurboLine.js +1 -1
  541. package/views/2d/engine/webgl/Utils.js +1 -1
  542. package/views/2d/engine/webgl/VertexStream.js +1 -1
  543. package/views/2d/engine/webgl/VideoScreenRenderer.js +1 -1
  544. package/views/2d/engine/webgl/WGLContainer.js +1 -1
  545. package/views/2d/engine/webgl/WorldExtentClipRenderer.js +1 -1
  546. package/views/2d/engine/webgl/alignmentUtils.js +1 -1
  547. package/views/2d/engine/webgl/animatedFormats/utils.js +1 -1
  548. package/views/2d/engine/webgl/animations/instructions.js +1 -1
  549. package/views/2d/engine/webgl/animations/store/AnimationStore.js +1 -1
  550. package/views/2d/engine/webgl/brushes/BrushClip.js +1 -1
  551. package/views/2d/engine/webgl/brushes/WGLBrushStencil.js +1 -1
  552. package/views/2d/engine/webgl/brushes/WGLBrushTileDebugInfo.js +1 -1
  553. package/views/2d/engine/webgl/brushes/WGLBrushVTLBackground.js +1 -1
  554. package/views/2d/engine/webgl/brushes/WGLBrushVTLCircle.js +1 -1
  555. package/views/2d/engine/webgl/brushes/WGLBrushVTLFill.js +1 -1
  556. package/views/2d/engine/webgl/brushes/WGLBrushVTLLine.js +1 -1
  557. package/views/2d/engine/webgl/brushes/WGLBrushVTLSymbol.js +1 -1
  558. package/views/2d/engine/webgl/collisions/LabelMetric.js +1 -1
  559. package/views/2d/engine/webgl/cpuMapped/Buffer.js +1 -1
  560. package/views/2d/engine/webgl/definitions.js +1 -1
  561. package/views/2d/engine/webgl/effects/FeatureEffect.js +1 -1
  562. package/views/2d/engine/webgl/effects/HighlightEffect.js +1 -1
  563. package/views/2d/engine/webgl/effects/HittestEffect.js +1 -1
  564. package/views/2d/engine/webgl/effects/highlight/HighlightGradient.js +1 -1
  565. package/views/2d/engine/webgl/effects/highlight/HighlightRenderer.js +1 -1
  566. package/views/2d/engine/webgl/effects/highlight/HighlightSurfaces.js +1 -1
  567. package/views/2d/engine/webgl/effects/post-processing/Bloom.js +1 -1
  568. package/views/2d/engine/webgl/effects/post-processing/Blur.js +1 -1
  569. package/views/2d/engine/webgl/effects/post-processing/Colorize.js +1 -1
  570. package/views/2d/engine/webgl/effects/post-processing/DropShadow.js +1 -1
  571. package/views/2d/engine/webgl/effects/post-processing/Opacity.js +1 -1
  572. package/views/2d/engine/webgl/enums.js +0 -1
  573. package/views/2d/engine/webgl/mesh/templates/shapingUtils.js +1 -1
  574. package/views/2d/engine/webgl/mesh/templates/templateUtils.js +1 -1
  575. package/views/2d/engine/webgl/meshing/Mesh.js +1 -1
  576. package/views/2d/engine/webgl/painter/RenderPass.js +1 -1
  577. package/views/2d/engine/webgl/shaderGraph/techniques/FeatureTechnique.js +1 -1
  578. package/views/2d/engine/webgl/shaderGraph/techniques/Technique.js +1 -1
  579. package/views/2d/engine/webgl/shaderGraph/techniques/TechniqueType.js +0 -1
  580. package/views/2d/engine/webgl/shaderGraph/techniques/TestTechnique.js +1 -1
  581. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedPolyShader.js +1 -1
  582. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AAnimatedShader.js +1 -1
  583. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedLineShader.js +1 -1
  584. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerMeshWriter.js +1 -1
  585. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedMarkerShader.js +1 -1
  586. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedPolyMeshWriters.js +1 -1
  587. package/views/2d/engine/webgl/shaderGraph/techniques/animated/AnimatedTechniques.js +1 -1
  588. package/views/2d/engine/webgl/shaderGraph/techniques/animated/enums.js +0 -1
  589. package/views/2d/engine/webgl/shaderGraph/techniques/bitmap/BitmapTechnique.js +1 -1
  590. package/views/2d/engine/webgl/shaderGraph/techniques/blend/BlendTechnique.js +1 -1
  591. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityResources.js +1 -1
  592. package/views/2d/engine/webgl/shaderGraph/techniques/dotDensity/DotDensityTechnique.js +1 -1
  593. package/views/2d/engine/webgl/shaderGraph/techniques/featureTechniqueUtils.js +1 -1
  594. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexFillTechnique.js +1 -1
  595. package/views/2d/engine/webgl/shaderGraph/techniques/fill/ComplexOutlineFillTechnique.js +1 -1
  596. package/views/2d/engine/webgl/shaderGraph/techniques/fill/FillTechnique.js +1 -1
  597. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillMeshWriter.js +1 -1
  598. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientFillTechnique.js +1 -1
  599. package/views/2d/engine/webgl/shaderGraph/techniques/fill/GradientSizeHelper.js +1 -1
  600. package/views/2d/engine/webgl/shaderGraph/techniques/fill/OutlineFillTechnique.js +1 -1
  601. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternFillTechnique.js +1 -1
  602. package/views/2d/engine/webgl/shaderGraph/techniques/fill/PatternOutlineFillTechnique.js +1 -1
  603. package/views/2d/engine/webgl/shaderGraph/techniques/fill/meshWriterUtils.js +1 -1
  604. package/views/2d/engine/webgl/shaderGraph/techniques/grid/GridTechnique.js +1 -1
  605. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapResources.js +1 -1
  606. package/views/2d/engine/webgl/shaderGraph/techniques/heatmap/HeatmapTechnique.js +1 -1
  607. package/views/2d/engine/webgl/shaderGraph/techniques/labels/LabelTechnique.js +1 -1
  608. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeMeshWriter.js +1 -1
  609. package/views/2d/engine/webgl/shaderGraph/techniques/line/GradientStrokeTechnique.js +1 -1
  610. package/views/2d/engine/webgl/shaderGraph/techniques/line/LineTechnique.js +1 -1
  611. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineMeshWriter.js +1 -1
  612. package/views/2d/engine/webgl/shaderGraph/techniques/line/TexturedLineTechnique.js +1 -1
  613. package/views/2d/engine/webgl/shaderGraph/techniques/magnifier/MagnifierTechnique.js +1 -1
  614. package/views/2d/engine/webgl/shaderGraph/techniques/markers/ComputedMarkerParams.js +1 -1
  615. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerMeshWriter.js +1 -1
  616. package/views/2d/engine/webgl/shaderGraph/techniques/markers/MarkerTechnique.js +1 -1
  617. package/views/2d/engine/webgl/shaderGraph/techniques/mesh/MeshWriterRegistry.js +1 -1
  618. package/views/2d/engine/webgl/shaderGraph/techniques/overlay/OverlayTechnique.js +1 -1
  619. package/views/2d/engine/webgl/shaderGraph/techniques/pieChart/PieChartTechnique.js +1 -1
  620. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterColorizerTechnique.js +1 -1
  621. package/views/2d/engine/webgl/shaderGraph/techniques/raster/RasterProcessorTechnique.js +1 -1
  622. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/AspectTechnique.js +1 -1
  623. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BandArithmeticTechnique.js +1 -1
  624. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/BaseRasterProcessorTechnique.js +1 -1
  625. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ColormapToRGBTechnique.js +1 -1
  626. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CompositeBandTechnique.js +1 -1
  627. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ComputeChangeTechnique.js +1 -1
  628. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ContrastBrightnessTechnique.js +1 -1
  629. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ConvolutionTechnique.js +1 -1
  630. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/CurvatureTechnique.js +1 -1
  631. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ExtractBandTechnique.js +1 -1
  632. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/FocalStatisticsTechnique.js +1 -1
  633. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/GrayscaleTechnique.js +1 -1
  634. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/HillshadeTechnique.js +1 -1
  635. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/LocalTechnique.js +1 -1
  636. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/MaskTechnique.js +1 -1
  637. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/NDVITechnique.js +1 -1
  638. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/RemapTechnique.js +1 -1
  639. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ReprojectTechnique.js +1 -1
  640. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/ShadedReliefTechnique.js +1 -1
  641. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/SlopeTechnique.js +1 -1
  642. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/StretchTechnique.js +1 -1
  643. package/views/2d/engine/webgl/shaderGraph/techniques/raster/processor/textureUtils.js +1 -1
  644. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/VisualVariableRotation.js +1 -1
  645. package/views/2d/engine/webgl/shaderGraph/techniques/shaders/constants.js +1 -1
  646. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextShader.js +1 -1
  647. package/views/2d/engine/webgl/shaderGraph/techniques/text/TextTechnique.js +1 -1
  648. package/views/2d/engine/webgl/shaderGraph/techniques/videoScreenRenderer/VideoScreenTechnique.js +1 -1
  649. package/views/2d/engine/webgl/util/createMatcher.js +1 -1
  650. package/views/2d/grid/GridView2D.js +1 -1
  651. package/views/2d/input/handlers/KeyZoom.js +1 -1
  652. package/views/2d/interactive/SnappingVisualizer2D.js +1 -1
  653. package/views/2d/interactive/editingTools/ControlPointsTransformTool.js +1 -1
  654. package/views/2d/interactive/editingTools/TransformTool.js +1 -1
  655. package/views/2d/interactive/editingTools/manipulations/DragManipulation.js +1 -1
  656. package/views/2d/interactive/editingTools/manipulations/Manipulation.js +1 -1
  657. package/views/2d/interactive/editingTools/manipulations/RotateManipulation.js +1 -1
  658. package/views/2d/interactive/editingTools/manipulations/ScaleManipulation.js +1 -1
  659. package/views/2d/layers/ImageryLayerView2D.js +1 -1
  660. package/views/2d/layers/MediaLayerView2D.js +1 -1
  661. package/views/2d/layers/TileLayerView2D.js +1 -1
  662. package/views/2d/layers/VectorTileLayerView2D.js +1 -1
  663. package/views/2d/layers/features/FeatureContainer.js +1 -1
  664. package/views/2d/layers/features/RenderState.js +1 -1
  665. package/views/2d/layers/features/processor/TrackStrategy.js +1 -1
  666. package/views/2d/layers/features/schema/processor/SimpleProcessorSchema.js +1 -1
  667. package/views/2d/layers/features/schema/processor/StorageSchema.js +1 -1
  668. package/views/2d/layers/features/schema/processor/VisualVariablesSchema.js +1 -1
  669. package/views/2d/layers/features/schema/processor/symbols/ComplexSymbolSchema.js +1 -1
  670. package/views/2d/layers/features/schema/processor/symbols/SymbolSchema.js +1 -1
  671. package/views/2d/layers/features/schema/processor/symbols/utils.js +1 -1
  672. package/views/2d/layers/features/support/AttributeStore.js +1 -1
  673. package/views/2d/layers/graphics/AGraphicContainer.js +1 -1
  674. package/views/2d/layers/graphics/GraphicBoundsRenderer.js +1 -1
  675. package/views/2d/layers/graphics/GraphicContainer.js +1 -1
  676. package/views/2d/layers/graphics/HighlightGraphicContainer.js +1 -1
  677. package/views/2d/layers/imagery/ImageryView2D.js +1 -1
  678. package/views/2d/layers/support/DebugOverlay.js +1 -1
  679. package/views/2d/layers/support/DisplayGL.js +1 -1
  680. package/views/2d/layers/support/visualVariableSimpleUtils.js +1 -1
  681. package/views/2d/magnifier/MagnifierView2D.js +1 -1
  682. package/views/2d/tiling/enums.js +0 -1
  683. package/views/3d/FocusAreasView.js +1 -1
  684. package/views/3d/analysis/AnalysisViewManager3D.js +1 -1
  685. package/views/3d/analysis/AreaMeasurement/support/AreaMeasurementVisualization.js +1 -1
  686. package/views/3d/analysis/AreaMeasurement/support/MeasurementData.js +1 -1
  687. package/views/3d/analysis/AreaMeasurementAnalysisView3D.js +1 -1
  688. package/views/3d/analysis/Dimension/DimensionController.js +1 -1
  689. package/views/3d/analysis/Dimension/DimensionTool.js +1 -1
  690. package/views/3d/analysis/Dimension/DimensionVisualization.js +1 -1
  691. package/views/3d/analysis/Dimension/LengthDimensionSubTool.js +1 -1
  692. package/views/3d/analysis/Dimension/LengthDimensionVisualization.js +1 -1
  693. package/views/3d/analysis/Dimension/lengthDimensionConstraintUtils.js +1 -1
  694. package/views/3d/analysis/Dimension/lengthDimensionManipulatorUtils.js +1 -1
  695. package/views/3d/analysis/Dimension/lengthDimensionUtils.js +1 -1
  696. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementController.js +1 -1
  697. package/views/3d/analysis/DirectLineMeasurement/DirectLineMeasurementVisualization.js +1 -1
  698. package/views/3d/analysis/DirectLineMeasurement/interfaces.js +0 -1
  699. package/views/3d/analysis/DirectLineMeasurementAnalysisView3D.js +1 -1
  700. package/views/3d/analysis/LineOfSight/LineOfSightController.js +1 -1
  701. package/views/3d/analysis/LineOfSight/LineOfSightManipulators.js +1 -1
  702. package/views/3d/analysis/LineOfSight/LineOfSightRayIntersector.js +1 -1
  703. package/views/3d/analysis/LineOfSight/LineOfSightTool.js +1 -1
  704. package/views/3d/analysis/LineOfSight/LineOfSightVisualization.js +1 -1
  705. package/views/3d/analysis/Slice/ResizeManipulator.js +1 -1
  706. package/views/3d/analysis/Slice/RotateManipulator.js +1 -1
  707. package/views/3d/analysis/Slice/ShiftManipulator.js +1 -1
  708. package/views/3d/analysis/Slice/SliceController.js +1 -1
  709. package/views/3d/analysis/Slice/SliceTool.js +1 -1
  710. package/views/3d/analysis/Slice/sliceToolUtils.js +1 -1
  711. package/views/3d/analysis/Viewshed/ArrowManipulator.js +1 -1
  712. package/views/3d/analysis/Viewshed/FieldOfViewManipulation.js +1 -1
  713. package/views/3d/analysis/Viewshed/ScaleOrientManipulation.js +1 -1
  714. package/views/3d/analysis/Viewshed/ViewshedConfiguration.js +1 -1
  715. package/views/3d/analysis/Viewshed/ViewshedTool.js +1 -1
  716. package/views/3d/analysis/Viewshed/ViewshedVisualization.js +1 -1
  717. package/views/3d/analysis/ViewshedAnalysisView3D.js +1 -1
  718. package/views/3d/analysis/VolumeMeasurement/CutFillVolumeMeasurementController.js +1 -1
  719. package/views/3d/analysis/interfaces.js +0 -1
  720. package/views/3d/animation/pointToPoint/Camera.js +1 -1
  721. package/views/3d/camera/constraintUtils/ConstraintOptions.js +1 -1
  722. package/views/3d/camera/constraintUtils/ConstraintTypes.js +0 -1
  723. package/views/3d/camera/constraintUtils/InteractionType.js +0 -1
  724. package/views/3d/camera/constraintUtils/TiltMode.js +0 -1
  725. package/views/3d/camera/constraintUtils/altitude.js +1 -1
  726. package/views/3d/camera/constraintUtils/common.js +1 -1
  727. package/views/3d/camera/constraintUtils/distance.js +1 -1
  728. package/views/3d/camera/constraintUtils/surfaceCollision.js +1 -1
  729. package/views/3d/camera/constraintUtils/tilt.js +1 -1
  730. package/views/3d/camera/constraintUtils.js +1 -1
  731. package/views/3d/environment/ChapmanAtmosphere.js +1 -1
  732. package/views/3d/environment/ChapmanAtmosphereTechnique.js +1 -1
  733. package/views/3d/environment/Clouds.glsl.js +1 -1
  734. package/views/3d/environment/Clouds.js +1 -1
  735. package/views/3d/environment/CloudsComposition.glsl.js +1 -1
  736. package/views/3d/environment/CloudsComposition.js +1 -1
  737. package/views/3d/environment/CloudsCompositionTechnique.js +1 -1
  738. package/views/3d/environment/CloudsParameters.js +1 -1
  739. package/views/3d/environment/CloudsPresets.js +1 -1
  740. package/views/3d/environment/CloudsRenderer.js +1 -1
  741. package/views/3d/environment/CloudsTechnique.js +1 -1
  742. package/views/3d/environment/CloudsTechniqueConfiguration.js +1 -1
  743. package/views/3d/environment/EnvironmentManager.js +1 -1
  744. package/views/3d/environment/EnvironmentRenderer.js +1 -1
  745. package/views/3d/environment/Fog.js +1 -1
  746. package/views/3d/environment/FogTechnique.js +1 -1
  747. package/views/3d/environment/LocalAtmosphere.js +1 -1
  748. package/views/3d/environment/MarsAtmosphere.js +1 -1
  749. package/views/3d/environment/NoiseTextureAtlas.glsl.js +1 -1
  750. package/views/3d/environment/NoiseTextureAtlas.js +1 -1
  751. package/views/3d/environment/NoiseTextureAtlasConfiguration.js +1 -1
  752. package/views/3d/environment/NoiseTextureAtlasTechnique.js +1 -1
  753. package/views/3d/environment/Precipitation.glsl.js +1 -1
  754. package/views/3d/environment/Precipitation.js +1 -1
  755. package/views/3d/environment/PrecipitationTechnique.js +1 -1
  756. package/views/3d/environment/PrecipitationTechniqueConfiguration.js +1 -1
  757. package/views/3d/environment/SimpleAtmosphere.glsl.js +1 -1
  758. package/views/3d/environment/SimpleAtmosphereTechnique.js +1 -1
  759. package/views/3d/environment/SimpleAtmosphereTechniqueConfiguration.js +1 -1
  760. package/views/3d/glTF/DefaultLoadingContext.js +1 -1
  761. package/views/3d/glTF/LoaderResult.js +1 -1
  762. package/views/3d/glTF/internal/Resource.js +1 -1
  763. package/views/3d/glTF/internal/enums.js +0 -1
  764. package/views/3d/glTF/internal/fillDefaults.js +1 -1
  765. package/views/3d/glTF/internal/resourceUtils.js +1 -1
  766. package/views/3d/glTF/loader.js +1 -1
  767. package/views/3d/input/SceneInputManager.js +1 -1
  768. package/views/3d/input/handlers/DragRotate.js +1 -1
  769. package/views/3d/input/handlers/GamepadNavigation.js +1 -1
  770. package/views/3d/input/handlers/KeyboardNavigation.js +1 -1
  771. package/views/3d/input/handlers/MouseWheelZoom.js +1 -1
  772. package/views/3d/input/handlers/TwoFingerTilt.js +1 -1
  773. package/views/3d/interactive/Manipulator3D.js +1 -1
  774. package/views/3d/interactive/RenderObject.js +1 -1
  775. package/views/3d/interactive/SnappingVisualizer3D.js +1 -1
  776. package/views/3d/interactive/editingTools/GrabbingState.js +0 -1
  777. package/views/3d/interactive/editingTools/ManipulatedObject3DGraphic.js +1 -1
  778. package/views/3d/interactive/editingTools/ManipulatorState.js +1 -1
  779. package/views/3d/interactive/editingTools/ManipulatorType.js +0 -1
  780. package/views/3d/interactive/editingTools/dragEventPipeline3D.js +1 -1
  781. package/views/3d/interactive/editingTools/draw/DrawGraphicTool3D.js +1 -1
  782. package/views/3d/interactive/editingTools/isSupportedObjectUtils.js +1 -1
  783. package/views/3d/interactive/editingTools/lineObjectVisualElementUtils.js +1 -1
  784. package/views/3d/interactive/editingTools/manipulations/MoveManipulation.js +1 -1
  785. package/views/3d/interactive/editingTools/manipulations/MoveXYAxisManipulation.js +1 -1
  786. package/views/3d/interactive/editingTools/manipulations/MoveXYDiscManipulation.js +1 -1
  787. package/views/3d/interactive/editingTools/manipulations/MoveXYObjectManipulation.js +1 -1
  788. package/views/3d/interactive/editingTools/manipulations/MoveZManipulation.js +1 -1
  789. package/views/3d/interactive/editingTools/media/ControlPointOperations.js +1 -1
  790. package/views/3d/interactive/editingTools/meshFastUpdateUtils.js +1 -1
  791. package/views/3d/interactive/editingTools/move/MoveTool3D.js +1 -1
  792. package/views/3d/interactive/editingTools/move/isSupportedObject.js +1 -1
  793. package/views/3d/interactive/editingTools/originGeometryVisualElementUtils.js +1 -1
  794. package/views/3d/interactive/editingTools/reshape/ReshapeOperation.js +1 -1
  795. package/views/3d/interactive/editingTools/reshape/edgeOffsetUtils.js +1 -1
  796. package/views/3d/interactive/editingTools/reshape/isSupportedObject.js +1 -1
  797. package/views/3d/interactive/editingTools/reshape/reshapeTooltipUtils3D.js +1 -1
  798. package/views/3d/interactive/editingTools/settings.js +1 -1
  799. package/views/3d/interactive/editingTools/tooltipUtils3D.js +1 -1
  800. package/views/3d/interactive/editingTools/transform/ExtentTransformTool.js +1 -1
  801. package/views/3d/interactive/editingTools/transform/ScaleRotateTransform.js +1 -1
  802. package/views/3d/interactive/editingTools/transform/TransformTool3D.js +1 -1
  803. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentMove.js +1 -1
  804. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentRotate.js +1 -1
  805. package/views/3d/interactive/editingTools/transform/extentTransform/ExtentScale.js +1 -1
  806. package/views/3d/interactive/editingTools/transform/extentTransform/extentUtils.js +1 -1
  807. package/views/3d/interactive/editingTools/transform/isSupportedGraphic.js +1 -1
  808. package/views/3d/interactive/manipulatorUtils.js +1 -1
  809. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DTool.js +1 -1
  810. package/views/3d/interactive/measurementTools/directLineMeasurement3D/DirectLineMeasurement3DView.js +1 -1
  811. package/views/3d/interactive/visualElements/DrapedVisualElementResources.js +1 -1
  812. package/views/3d/interactive/visualElements/ExtendedLineVisualElement.js +1 -1
  813. package/views/3d/interactive/visualElements/LineVisualElement.js +1 -1
  814. package/views/3d/interactive/visualElements/MarkerVisualElement.js +1 -1
  815. package/views/3d/interactive/visualElements/MeasurementAreaVisualElement.js +1 -1
  816. package/views/3d/interactive/visualElements/MeasurementArrowVisualElement.js +1 -1
  817. package/views/3d/interactive/visualElements/Object3DVisualElement.js +1 -1
  818. package/views/3d/interactive/visualElements/OutlineVisualElement.js +1 -1
  819. package/views/3d/interactive/visualElements/ParallelLineVisualElement.js +1 -1
  820. package/views/3d/interactive/visualElements/PointVisualElement.js +1 -1
  821. package/views/3d/interactive/visualElements/RightAngleQuadVisualElement.js +1 -1
  822. package/views/3d/interactive/visualElements/SlicePlaneVisualElement.js +1 -1
  823. package/views/3d/interactive/visualElements/VerticesVisualElement.js +1 -1
  824. package/views/3d/interactive/visualElements/ViewshedShapeVisualElement.js +1 -1
  825. package/views/3d/interactive/visualElements/VisualElementResources.js +1 -1
  826. package/views/3d/layers/BuildingComponentSublayerView3D.js +1 -1
  827. package/views/3d/layers/DrapedSubView3D.js +1 -1
  828. package/views/3d/layers/ElevationLayerView3D.js +1 -1
  829. package/views/3d/layers/FeatureLayerViewBase3D.js +1 -1
  830. package/views/3d/layers/FeatureLikeLayerView3D.js +1 -1
  831. package/views/3d/layers/GraphicsLayerView3D.js +1 -1
  832. package/views/3d/layers/I3SMeshView3D.js +1 -1
  833. package/views/3d/layers/I3SMeshViewLabeler.js +1 -1
  834. package/views/3d/layers/I3SMeshWorkerHandle.js +1 -1
  835. package/views/3d/layers/II3SMeshView3D.js +0 -1
  836. package/views/3d/layers/IntegratedMesh3DTilesLayerView3D.js +1 -1
  837. package/views/3d/layers/IntegratedMeshLayerView3D.js +1 -1
  838. package/views/3d/layers/Lyr3DWorker.js +1 -1
  839. package/views/3d/layers/MediaLayerView3D.js +1 -1
  840. package/views/3d/layers/PointCloudLayerView3D.js +1 -1
  841. package/views/3d/layers/RouteLayerView3D.js +1 -1
  842. package/views/3d/layers/SceneLayerGraphicsView3D.js +1 -1
  843. package/views/3d/layers/SceneLayerView3D.js +1 -1
  844. package/views/3d/layers/SceneLayerWorker.js +1 -1
  845. package/views/3d/layers/StreamLayerView3D.js +1 -1
  846. package/views/3d/layers/VoxelLayerView3D.js +1 -1
  847. package/views/3d/layers/graphics/Deconflictor.js +1 -1
  848. package/views/3d/layers/graphics/ElevationAligners.js +1 -1
  849. package/views/3d/layers/graphics/FeatureGraphics3DGraphicsPipeline.js +1 -1
  850. package/views/3d/layers/graphics/Graphics3DCore.js +1 -1
  851. package/views/3d/layers/graphics/Graphics3DDrapedGraphicLayer.js +1 -1
  852. package/views/3d/layers/graphics/Graphics3DElevationAlignment.js +1 -1
  853. package/views/3d/layers/graphics/Graphics3DExtrudeSymbolLayer.js +1 -1
  854. package/views/3d/layers/graphics/Graphics3DFeatureProcessor.js +1 -1
  855. package/views/3d/layers/graphics/Graphics3DGraphic.js +1 -1
  856. package/views/3d/layers/graphics/Graphics3DGraphicsPipeline.js +1 -1
  857. package/views/3d/layers/graphics/Graphics3DIconSymbolLayer.js +1 -1
  858. package/views/3d/layers/graphics/Graphics3DLineCalloutSymbolLayer.js +1 -1
  859. package/views/3d/layers/graphics/Graphics3DLineSymbolLayer.js +1 -1
  860. package/views/3d/layers/graphics/Graphics3DLodInstanceGraphicLayer.js +1 -1
  861. package/views/3d/layers/graphics/Graphics3DMeshFillSymbolLayer.js +1 -1
  862. package/views/3d/layers/graphics/Graphics3DObject3DGraphicLayer.js +1 -1
  863. package/views/3d/layers/graphics/Graphics3DObjectStateSet.js +1 -1
  864. package/views/3d/layers/graphics/Graphics3DObjectSymbolLayer.js +1 -1
  865. package/views/3d/layers/graphics/Graphics3DPathSymbolLayer.js +1 -1
  866. package/views/3d/layers/graphics/Graphics3DPolygonFillSymbolLayer.js +1 -1
  867. package/views/3d/layers/graphics/Graphics3DScaleVisibility.js +1 -1
  868. package/views/3d/layers/graphics/Graphics3DSymbol.js +1 -1
  869. package/views/3d/layers/graphics/Graphics3DSymbolCreationContext.js +1 -1
  870. package/views/3d/layers/graphics/Graphics3DSymbolLayer.js +1 -1
  871. package/views/3d/layers/graphics/Graphics3DTextSymbolLayer.js +1 -1
  872. package/views/3d/layers/graphics/Graphics3DWaterSymbolLayer.js +1 -1
  873. package/views/3d/layers/graphics/Graphics3DWebStyleSymbol.js +1 -1
  874. package/views/3d/layers/graphics/GraphicsDeconflictor.js +1 -1
  875. package/views/3d/layers/graphics/GraphicsProcessor.js +1 -1
  876. package/views/3d/layers/graphics/LabelDeconflictor.js +1 -1
  877. package/views/3d/layers/graphics/Labeler.js +1 -1
  878. package/views/3d/layers/graphics/Loadable.js +1 -1
  879. package/views/3d/layers/graphics/defaultSymbolComplexity.js +1 -1
  880. package/views/3d/layers/graphics/elevationAlignmentUtils.js +1 -1
  881. package/views/3d/layers/graphics/enums.js +0 -1
  882. package/views/3d/layers/graphics/interfaces.js +0 -1
  883. package/views/3d/layers/graphics/lineUtils.js +1 -1
  884. package/views/3d/layers/graphics/objectResourceUtils.js +1 -1
  885. package/views/3d/layers/graphics/pipeline/Feature3DPipeline.js +1 -1
  886. package/views/3d/layers/graphics/pipeline/rendering/DirectRenderer.js +1 -1
  887. package/views/3d/layers/graphics/pipeline/rendering/FeaturePipelineRenderManager.js +1 -1
  888. package/views/3d/layers/graphics/pipeline/rendering/LodRenderer.js +1 -1
  889. package/views/3d/layers/graphics/pipeline/rendering/RenderCommandContext.js +1 -1
  890. package/views/3d/layers/graphics/pipeline/symbolization/IconSymbolLayerRenderer.js +1 -1
  891. package/views/3d/layers/graphics/pipeline/symbolization/ObjectSymbolLayerRenderer.js +1 -1
  892. package/views/3d/layers/graphics/pipeline/symbolization/primitiveObjectUtils.js +1 -1
  893. package/views/3d/layers/graphics/placementUtils.js +1 -1
  894. package/views/3d/layers/graphics/polygonUtils.js +1 -1
  895. package/views/3d/layers/graphics/wosrLoader.js +1 -1
  896. package/views/3d/layers/i3s/BuildingFilterUtil.js +1 -1
  897. package/views/3d/layers/i3s/Highlights.js +1 -1
  898. package/views/3d/layers/i3s/I3SAsyncElevationUpdater.js +1 -1
  899. package/views/3d/layers/i3s/I3SBinaryReader.js +1 -1
  900. package/views/3d/layers/i3s/I3SClientMaterialUtil.js +1 -1
  901. package/views/3d/layers/i3s/I3SCrossfadeHelper.js +1 -1
  902. package/views/3d/layers/i3s/I3SIndex.js +1 -1
  903. package/views/3d/layers/i3s/I3SIntersectionHandler.js +1 -1
  904. package/views/3d/layers/i3s/I3SLodHandling.js +1 -1
  905. package/views/3d/layers/i3s/I3SMaterialUtil.js +1 -1
  906. package/views/3d/layers/i3s/I3SMeshViewFilter.js +1 -1
  907. package/views/3d/layers/i3s/I3SNode.js +1 -1
  908. package/views/3d/layers/i3s/I3SNodeLoader.js +1 -1
  909. package/views/3d/layers/i3s/I3SOverrides.js +1 -1
  910. package/views/3d/layers/i3s/I3SQueryFeatureStore.js +1 -1
  911. package/views/3d/layers/i3s/I3SUtil.js +1 -1
  912. package/views/3d/layers/i3s/I3SViewportQueries.js +1 -1
  913. package/views/3d/layers/i3s/IDBCache.js +1 -1
  914. package/views/3d/layers/i3s/Intersector.js +1 -1
  915. package/views/3d/layers/i3s/LayerElevationProvider.js +1 -1
  916. package/views/3d/layers/i3s/PointCloudRenderer.js +1 -1
  917. package/views/3d/layers/i3s/SymbologyInfo.js +1 -1
  918. package/views/3d/layers/i3s/enums.js +1 -1
  919. package/views/3d/layers/i3s/featureEditing.js +1 -1
  920. package/views/3d/layers/interfaces.js +0 -1
  921. package/views/3d/layers/support/FastSymbolUpdates.js +1 -1
  922. package/views/3d/layers/support/FeatureTile.js +1 -1
  923. package/views/3d/layers/support/FeatureTileFetcher3D.js +1 -1
  924. package/views/3d/layers/support/FeatureTileMeasurements3D.js +1 -1
  925. package/views/3d/layers/support/FeatureTileVisibility3D.js +1 -1
  926. package/views/3d/layers/support/HeatmapFeatureProcessor.js +1 -1
  927. package/views/3d/layers/support/I3SLayerView.js +0 -1
  928. package/views/3d/layers/support/StageLayerElevationProvider.js +1 -1
  929. package/views/3d/layers/support/Tiles3DIntersectionHandler.js +1 -1
  930. package/views/3d/layers/support/edgeUtils.js +1 -1
  931. package/views/3d/layers/support/fetchTile.js +1 -1
  932. package/views/3d/layers/support/lyr3dTypeConversions.js +1 -1
  933. package/views/3d/layers/support/overlayImageUtils.js +1 -1
  934. package/views/3d/layers/support/patternUtils.js +1 -1
  935. package/views/3d/layers/support/symbolColorUtils.js +1 -1
  936. package/views/3d/layers/support/uvUtils.js +1 -1
  937. package/views/3d/state/Constraints.js +1 -1
  938. package/views/3d/state/ConstraintsManager.js +1 -1
  939. package/views/3d/state/Frustum.js +1 -1
  940. package/views/3d/state/GoToOperation.js +1 -1
  941. package/views/3d/state/NearFarHeuristic.js +1 -1
  942. package/views/3d/state/SurfaceCollisionConstraint.js +1 -1
  943. package/views/3d/state/ViewState.js +1 -1
  944. package/views/3d/state/ViewStateManager.js +1 -1
  945. package/views/3d/state/controllers/AnimationController.js +1 -1
  946. package/views/3d/state/controllers/CameraController.js +1 -1
  947. package/views/3d/state/controllers/FovController.js +1 -1
  948. package/views/3d/state/controllers/GamepadKeyboardController.js +1 -1
  949. package/views/3d/state/controllers/InteractiveController.js +1 -1
  950. package/views/3d/state/controllers/PinchAndPanControllerGlobal.js +1 -1
  951. package/views/3d/state/controllers/PinchAndPanControllerLocal.js +1 -1
  952. package/views/3d/state/controllers/RotateController.js +1 -1
  953. package/views/3d/state/controllers/SurfaceCollisionCorrectionController.js +1 -1
  954. package/views/3d/state/controllers/ZoomControllerGlobal.js +1 -1
  955. package/views/3d/state/controllers/ZoomControllerLocal.js +1 -1
  956. package/views/3d/state/controllers/ZoomStepControllerGlobal.js +1 -1
  957. package/views/3d/state/controllers/ZoomStepControllerLocal.js +1 -1
  958. package/views/3d/state/controllers/momentum/MomentumController.js +1 -1
  959. package/views/3d/state/controllers/momentum/PanPlanarMomentumController.js +1 -1
  960. package/views/3d/state/controllers/momentum/PanSphericalMomentumController.js +1 -1
  961. package/views/3d/state/controllers/momentum/RotationMomentumController.js +1 -1
  962. package/views/3d/state/controllers/momentum/ZoomPlanarMomentumController.js +1 -1
  963. package/views/3d/state/controllers/momentum/ZoomSphericalMomentumController.js +1 -1
  964. package/views/3d/state/helpers/SceneIntersectionHelper.js +1 -1
  965. package/views/3d/state/utils/navigationUtils.js +1 -1
  966. package/views/3d/support/EventedSet.js +1 -1
  967. package/views/3d/support/FrustumExtentIntersection.js +1 -1
  968. package/views/3d/support/MemoryController.js +1 -1
  969. package/views/3d/support/RenderCoordsHelper.js +1 -1
  970. package/views/3d/support/ResourceController.js +1 -1
  971. package/views/3d/support/SceneViewPerformanceInfo.js +1 -1
  972. package/views/3d/support/SharedSymbolResources.js +1 -1
  973. package/views/3d/support/StreamDataLoader.js +1 -1
  974. package/views/3d/support/StreamTextureCollection.js +1 -1
  975. package/views/3d/support/ViewSlice.js +1 -1
  976. package/views/3d/support/cameraUtils.js +1 -1
  977. package/views/3d/support/cameraUtilsPlanar.js +1 -1
  978. package/views/3d/support/cameraUtilsSpherical.js +1 -1
  979. package/views/3d/support/downloadSlots.js +5 -0
  980. package/views/3d/support/engineContent/line.js +1 -1
  981. package/views/3d/support/engineContent/marker.js +1 -1
  982. package/views/3d/support/engineContent/sdfPrimitives.js +1 -1
  983. package/views/3d/support/enums.js +4 -0
  984. package/views/3d/support/flow/FlowSubViewTiles3D.js +1 -1
  985. package/views/3d/support/flow/StreamlinesResources3D.js +1 -1
  986. package/views/3d/support/flow/geometryUtils.js +1 -1
  987. package/views/3d/support/hitTest.js +1 -1
  988. package/views/3d/support/orientedBoundingBox.js +1 -1
  989. package/views/3d/support/pointsOfInterest/CameraOnSurface.js +1 -1
  990. package/views/3d/support/pointsOfInterest/Focus.js +1 -1
  991. package/views/3d/support/pointsOfInterest/PointsOfInterest.js +1 -1
  992. package/views/3d/support/popupHitTest.js +1 -1
  993. package/views/3d/support/renderInfoUtils/line.js +1 -1
  994. package/views/3d/support/renderInfoUtils/polygon.js +1 -1
  995. package/views/3d/support/sunUtils.js +1 -1
  996. package/views/3d/support/viewpointUtils.js +1 -1
  997. package/views/3d/terrain/BlendLayersTechniqueConfiguration.js +1 -1
  998. package/views/3d/terrain/BlendModeTechniqueConfiguration.js +1 -1
  999. package/views/3d/terrain/ExtentHelper.js +1 -1
  1000. package/views/3d/terrain/Intersector.js +1 -1
  1001. package/views/3d/terrain/LayerClass.js +1 -1
  1002. package/views/3d/terrain/NeighborIndex.js +0 -1
  1003. package/views/3d/terrain/OverlayContent.js +0 -1
  1004. package/views/3d/terrain/OverlayManager.js +1 -1
  1005. package/views/3d/terrain/OverlayRenderTargets.js +1 -1
  1006. package/views/3d/terrain/OverlayRenderer.js +1 -1
  1007. package/views/3d/terrain/PatchGeometryFactory.js +1 -1
  1008. package/views/3d/terrain/PatchRenderData.js +1 -1
  1009. package/views/3d/terrain/PlanarPatch.js +1 -1
  1010. package/views/3d/terrain/RasterColorizerTechniqueConfiguration.js +1 -1
  1011. package/views/3d/terrain/RasterTile.js +1 -1
  1012. package/views/3d/terrain/RenderOrder.js +0 -1
  1013. package/views/3d/terrain/SphericalPatch.js +1 -1
  1014. package/views/3d/terrain/TerrainAttributes.js +1 -1
  1015. package/views/3d/terrain/TerrainRenderer.js +1 -1
  1016. package/views/3d/terrain/TerrainSurface.js +1 -1
  1017. package/views/3d/terrain/TextureFader.js +1 -1
  1018. package/views/3d/terrain/Tile.js +1 -1
  1019. package/views/3d/terrain/TileAgent.js +1 -1
  1020. package/views/3d/terrain/TileBlendTechniqueConfiguration.js +1 -1
  1021. package/views/3d/terrain/TileCompositor.js +1 -1
  1022. package/views/3d/terrain/TileFrustumVisibility.js +0 -1
  1023. package/views/3d/terrain/TilePerLayerInfo.js +1 -1
  1024. package/views/3d/terrain/TileRenderer.js +1 -1
  1025. package/views/3d/terrain/TileUpdate.js +0 -1
  1026. package/views/3d/terrain/TilingSchemeLogic.js +1 -1
  1027. package/views/3d/terrain/TransparencyMode.js +0 -1
  1028. package/views/3d/terrain/interfaces.js +0 -1
  1029. package/views/3d/terrain/terrainUtils.js +1 -1
  1030. package/views/3d/terrain/tileUtils.js +1 -1
  1031. package/views/3d/webgl/ManagedColorAttachment.js +1 -1
  1032. package/views/3d/webgl/ManagedDepthAttachment.js +1 -1
  1033. package/views/3d/webgl/ManagedDepthTexture.js +1 -1
  1034. package/views/3d/webgl/ManagedFBO.js +1 -1
  1035. package/views/3d/webgl/ManagedFBOResource.js +1 -1
  1036. package/views/3d/webgl/RenderCamera.js +1 -1
  1037. package/views/3d/webgl/RenderNode.js +1 -1
  1038. package/views/3d/webgl-engine/Stage.js +1 -1
  1039. package/views/3d/webgl-engine/collections/Component/ComponentObjectCollection.js +1 -1
  1040. package/views/3d/webgl-engine/collections/Component/IntersectionGeometry.js +1 -1
  1041. package/views/3d/webgl-engine/collections/Component/Material/ComponentMaterial.js +1 -1
  1042. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechnique.js +1 -1
  1043. package/views/3d/webgl-engine/collections/Component/Material/ComponentTechniqueConfiguration.js +1 -1
  1044. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentData.glsl.js +10 -10
  1045. package/views/3d/webgl-engine/collections/Component/Material/shader/ComponentShader.glsl.js +1 -1
  1046. package/views/3d/webgl-engine/collections/Component/Material/shader/DecodeSymbolColor.glsl.js +6 -6
  1047. package/views/3d/webgl-engine/collections/Component/Material/shader/VertexDiscardMode.js +0 -1
  1048. package/views/3d/webgl-engine/collections/Component/SourceGeometry.js +1 -1
  1049. package/views/3d/webgl-engine/collections/Component/UniformComponentParameters.js +1 -1
  1050. package/views/3d/webgl-engine/core/FBOCache.js +1 -1
  1051. package/views/3d/webgl-engine/core/FBOCacheFormats.js +1 -1
  1052. package/views/3d/webgl-engine/core/renderPasses/AllRenderPasses.js +1 -1
  1053. package/views/3d/webgl-engine/core/renderPasses/RenderPass.js +1 -1
  1054. package/views/3d/webgl-engine/core/renderPasses/RenderPassIdentifier.js +0 -1
  1055. package/views/3d/webgl-engine/core/renderPasses/RenderPassManager.js +1 -1
  1056. package/views/3d/webgl-engine/core/shaderLibrary/ForwardLinearDepth.glsl.js +3 -3
  1057. package/views/3d/webgl-engine/core/shaderLibrary/ScreenSpacePass.glsl.js +3 -3
  1058. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutput.js +1 -1
  1059. package/views/3d/webgl-engine/core/shaderLibrary/ShaderOutputConfiguration.js +1 -1
  1060. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstanceColor.glsl.js +4 -4
  1061. package/views/3d/webgl-engine/core/shaderLibrary/attributes/InstancedDoublePrecision.glsl.js +10 -10
  1062. package/views/3d/webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js +4 -4
  1063. package/views/3d/webgl-engine/core/shaderLibrary/attributes/ObjectAndLayerIdColor.glsl.js +4 -4
  1064. package/views/3d/webgl-engine/core/shaderLibrary/attributes/PathVertexPosition.glsl.js +6 -6
  1065. package/views/3d/webgl-engine/core/shaderLibrary/attributes/RibbonVertexPosition.glsl.js +8 -8
  1066. package/views/3d/webgl-engine/core/shaderLibrary/attributes/SymbolColor.glsl.js +5 -5
  1067. package/views/3d/webgl-engine/core/shaderLibrary/attributes/TextureCoordinateAttribute.glsl.js +2 -2
  1068. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexColor.glsl.js +3 -3
  1069. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexNormal.glsl.js +2 -2
  1070. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexPosition.glsl.js +5 -5
  1071. package/views/3d/webgl-engine/core/shaderLibrary/attributes/VertexTextureCoordinates.glsl.js +3 -3
  1072. package/views/3d/webgl-engine/core/shaderLibrary/default/DefaultMaterialAuxiliaryPasses.glsl.js +15 -15
  1073. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUD.glsl.js +14 -14
  1074. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDRenderStyle.js +0 -1
  1075. package/views/3d/webgl-engine/core/shaderLibrary/hud/HUDVisibility.glsl.js +1 -1
  1076. package/views/3d/webgl-engine/core/shaderLibrary/output/BlendOptions.js +1 -1
  1077. package/views/3d/webgl-engine/core/shaderLibrary/output/Emissions.glsl.js +4 -4
  1078. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputDepth.glsl.js +2 -2
  1079. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlight.glsl.js +6 -6
  1080. package/views/3d/webgl-engine/core/shaderLibrary/output/OutputHighlightOverlay.js +2 -2
  1081. package/views/3d/webgl-engine/core/shaderLibrary/raster/RasterColorizer.glsl.js +1 -1
  1082. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeFragmentNormals.glsl.js +6 -6
  1083. package/views/3d/webgl-engine/core/shaderLibrary/shading/ComputeNormalTexture.glsl.js +7 -7
  1084. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateAmbientLighting.glsl.js +5 -5
  1085. package/views/3d/webgl-engine/core/shaderLibrary/shading/EvaluateSceneLighting.glsl.js +15 -15
  1086. package/views/3d/webgl-engine/core/shaderLibrary/shading/MarkerSizing.glsl.js +3 -3
  1087. package/views/3d/webgl-engine/core/shaderLibrary/shading/Normals.glsl.js +5 -5
  1088. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRendering.glsl.js +11 -11
  1089. package/views/3d/webgl-engine/core/shaderLibrary/shading/PhysicallyBasedRenderingParameters.glsl.js +10 -10
  1090. package/views/3d/webgl-engine/core/shaderLibrary/shading/ReadBaseColorTexture.glsl.js +2 -2
  1091. package/views/3d/webgl-engine/core/shaderLibrary/shading/TextureTransformUV.glsl.js +6 -6
  1092. package/views/3d/webgl-engine/core/shaderLibrary/shading/VisualVariables.glsl.js +8 -8
  1093. package/views/3d/webgl-engine/core/shaderLibrary/terrain/BaseOpacityMode.js +0 -1
  1094. package/views/3d/webgl-engine/core/shaderLibrary/terrain/BlendLayersOutput.js +0 -1
  1095. package/views/3d/webgl-engine/core/shaderLibrary/terrain/Overlay.glsl.js +7 -7
  1096. package/views/3d/webgl-engine/core/shaderLibrary/terrain/PremultipliedAlphaSource.js +0 -1
  1097. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TerrainTexture.glsl.js +8 -8
  1098. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBackground.glsl.js +6 -6
  1099. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileBlendInput.js +0 -1
  1100. package/views/3d/webgl-engine/core/shaderLibrary/terrain/TileComposite.glsl.js +2 -2
  1101. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendLayers.glsl.js +1 -1
  1102. package/views/3d/webgl-engine/core/shaderLibrary/util/BlendModes.glsl.js +23 -23
  1103. package/views/3d/webgl-engine/core/shaderLibrary/util/CloudsParallaxShading.glsl.js +10 -10
  1104. package/views/3d/webgl-engine/core/shaderLibrary/util/DiscardOrAdjustAlpha.glsl.js +3 -3
  1105. package/views/3d/webgl-engine/core/shaderLibrary/util/EllipsoidMode.js +1 -1
  1106. package/views/3d/webgl-engine/core/shaderLibrary/util/MixExternalColor.glsl.js +6 -6
  1107. package/views/3d/webgl-engine/core/shaderModules/BooleanBindUniform.js +1 -1
  1108. package/views/3d/webgl-engine/core/shaderModules/BooleanPassUniform.js +1 -1
  1109. package/views/3d/webgl-engine/core/shaderModules/Float2BindUniform.js +1 -1
  1110. package/views/3d/webgl-engine/core/shaderModules/Float2DrawUniform.js +1 -1
  1111. package/views/3d/webgl-engine/core/shaderModules/Float2PassUniform.js +1 -1
  1112. package/views/3d/webgl-engine/core/shaderModules/Float3BindUniform.js +1 -1
  1113. package/views/3d/webgl-engine/core/shaderModules/Float3DrawUniform.js +1 -1
  1114. package/views/3d/webgl-engine/core/shaderModules/Float3PassUniform.js +1 -1
  1115. package/views/3d/webgl-engine/core/shaderModules/Float4BindUniform.js +1 -1
  1116. package/views/3d/webgl-engine/core/shaderModules/Float4DrawUniform.js +1 -1
  1117. package/views/3d/webgl-engine/core/shaderModules/Float4PassUniform.js +1 -1
  1118. package/views/3d/webgl-engine/core/shaderModules/Float4sPassUniform.js +1 -1
  1119. package/views/3d/webgl-engine/core/shaderModules/FloatBindUniform.js +1 -1
  1120. package/views/3d/webgl-engine/core/shaderModules/FloatDrawUniform.js +1 -1
  1121. package/views/3d/webgl-engine/core/shaderModules/FloatPassUniform.js +1 -1
  1122. package/views/3d/webgl-engine/core/shaderModules/FloatsPassUniform.js +1 -1
  1123. package/views/3d/webgl-engine/core/shaderModules/Integer2BindUniform.js +1 -1
  1124. package/views/3d/webgl-engine/core/shaderModules/Integer2PassUniform.js +1 -1
  1125. package/views/3d/webgl-engine/core/shaderModules/IntegerBindUniform.js +1 -1
  1126. package/views/3d/webgl-engine/core/shaderModules/IntegerDrawUniform.js +1 -1
  1127. package/views/3d/webgl-engine/core/shaderModules/IntegerPassUniform.js +1 -1
  1128. package/views/3d/webgl-engine/core/shaderModules/Matrix3DrawUniform.js +1 -1
  1129. package/views/3d/webgl-engine/core/shaderModules/Matrix3PassUniform.js +1 -1
  1130. package/views/3d/webgl-engine/core/shaderModules/Matrix4BindUniform.js +1 -1
  1131. package/views/3d/webgl-engine/core/shaderModules/Matrix4DrawUniform.js +1 -1
  1132. package/views/3d/webgl-engine/core/shaderModules/Matrix4PassUniform.js +1 -1
  1133. package/views/3d/webgl-engine/core/shaderModules/Matrix4sDrawUniform.js +1 -1
  1134. package/views/3d/webgl-engine/core/shaderModules/Matrix4sPassUniform.js +1 -1
  1135. package/views/3d/webgl-engine/core/shaderModules/Texture2DArrayBindUniform.js +1 -1
  1136. package/views/3d/webgl-engine/core/shaderModules/Texture2DBindUniform.js +1 -1
  1137. package/views/3d/webgl-engine/core/shaderModules/Texture2DDrawUniform.js +1 -1
  1138. package/views/3d/webgl-engine/core/shaderModules/Texture2DPassUniform.js +1 -1
  1139. package/views/3d/webgl-engine/core/shaderModules/Texture2DShadowBindUniform.js +1 -1
  1140. package/views/3d/webgl-engine/core/shaderModules/Texture2DUintBindUniform.js +1 -1
  1141. package/views/3d/webgl-engine/core/shaderModules/Texture2DUintPassUniform.js +1 -1
  1142. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechnique.js +1 -1
  1143. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueConstructionContext.js +1 -1
  1144. package/views/3d/webgl-engine/core/shaderTechnique/ShaderTechniqueRepository.js +1 -1
  1145. package/views/3d/webgl-engine/effects/OpaqueEnvironment.js +1 -1
  1146. package/views/3d/webgl-engine/effects/RenderPlugin.js +1 -1
  1147. package/views/3d/webgl-engine/effects/RenderPluginManager.js +1 -1
  1148. package/views/3d/webgl-engine/effects/ScreenSpaceGeometry.js +1 -1
  1149. package/views/3d/webgl-engine/effects/TransparentEnvironment.js +1 -1
  1150. package/views/3d/webgl-engine/effects/blit/Blit.js +1 -1
  1151. package/views/3d/webgl-engine/effects/bloom/BloomBlur.glsl.js +1 -1
  1152. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechnique.js +1 -1
  1153. package/views/3d/webgl-engine/effects/bloom/BloomBlurTechniqueConfiguration.js +1 -1
  1154. package/views/3d/webgl-engine/effects/bloom/BloomRenderNode.js +1 -1
  1155. package/views/3d/webgl-engine/effects/debug/RenderNodeVisualizerNode.js +4 -4
  1156. package/views/3d/webgl-engine/effects/focusArea/FocusAreaColorNode.js +1 -1
  1157. package/views/3d/webgl-engine/effects/focusArea/FocusAreaEffect.js +0 -1
  1158. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskNode.js +1 -1
  1159. package/views/3d/webgl-engine/effects/focusArea/FocusAreaMaskTechnique.js +1 -1
  1160. package/views/3d/webgl-engine/effects/focusArea/FocusAreaOutlineItem.js +1 -1
  1161. package/views/3d/webgl-engine/effects/geometry/ObjectAndLayerIDRenderNode.js +1 -1
  1162. package/views/3d/webgl-engine/effects/geometry/RenderOccludedRenderNode.js +1 -1
  1163. package/views/3d/webgl-engine/effects/haze/Haze.js +1 -1
  1164. package/views/3d/webgl-engine/effects/haze/HazeCompositingTechnique.js +1 -1
  1165. package/views/3d/webgl-engine/effects/haze/HazeTechnique.js +1 -1
  1166. package/views/3d/webgl-engine/effects/highlight/Highlight.js +1 -1
  1167. package/views/3d/webgl-engine/effects/highlight/ShadowHighlight.js +1 -1
  1168. package/views/3d/webgl-engine/effects/laserlines/LaserLineRenderer.js +1 -1
  1169. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathData.js +1 -1
  1170. package/views/3d/webgl-engine/effects/laserlines/LaserlinePathTechnique.js +1 -1
  1171. package/views/3d/webgl-engine/effects/magnifier/Magnifier.js +1 -1
  1172. package/views/3d/webgl-engine/effects/smaa/SMAA.js +1 -1
  1173. package/views/3d/webgl-engine/effects/ssao/SSAO.js +1 -1
  1174. package/views/3d/webgl-engine/effects/stars/Stars.glsl.js +1 -1
  1175. package/views/3d/webgl-engine/effects/stars/Stars.js +1 -1
  1176. package/views/3d/webgl-engine/effects/stars/StarsTechnique.js +1 -1
  1177. package/views/3d/webgl-engine/lib/BasisUtil.js +1 -1
  1178. package/views/3d/webgl-engine/lib/BindParameters.js +1 -1
  1179. package/views/3d/webgl-engine/lib/CompositingHelper.js +1 -1
  1180. package/views/3d/webgl-engine/lib/DDSUtil.js +1 -1
  1181. package/views/3d/webgl-engine/lib/DefaultVertexAttributeLocations.js +1 -1
  1182. package/views/3d/webgl-engine/lib/DefaultVertexBufferLayouts.js +1 -1
  1183. package/views/3d/webgl-engine/lib/DrapedHeatmapRenderer.js +1 -1
  1184. package/views/3d/webgl-engine/lib/GLMaterial.js +1 -1
  1185. package/views/3d/webgl-engine/lib/GLMaterials.js +1 -1
  1186. package/views/3d/webgl-engine/lib/GLTextureMaterial.js +1 -1
  1187. package/views/3d/webgl-engine/lib/GPUPointOcclusionQuery.js +1 -1
  1188. package/views/3d/webgl-engine/lib/Geometry.js +1 -1
  1189. package/views/3d/webgl-engine/lib/GeometryUtil.js +1 -1
  1190. package/views/3d/webgl-engine/lib/GridLocalOriginFactory.js +1 -1
  1191. package/views/3d/webgl-engine/lib/HUDIntersectorResult.js +1 -1
  1192. package/views/3d/webgl-engine/lib/IntersectableGeometry.js +0 -1
  1193. package/views/3d/webgl-engine/lib/Intersector.js +1 -1
  1194. package/views/3d/webgl-engine/lib/IntersectorInterfaces.js +1 -1
  1195. package/views/3d/webgl-engine/lib/IntersectorResult.js +1 -1
  1196. package/views/3d/webgl-engine/lib/IntersectorType.js +0 -1
  1197. package/views/3d/webgl-engine/lib/MainFramebuffer.js +1 -1
  1198. package/views/3d/webgl-engine/lib/Material.js +1 -1
  1199. package/views/3d/webgl-engine/lib/ModelDirtySet.js +1 -1
  1200. package/views/3d/webgl-engine/lib/ModelDirtyTypes.js +0 -1
  1201. package/views/3d/webgl-engine/lib/OITPass.js +0 -1
  1202. package/views/3d/webgl-engine/lib/Object3D.js +1 -1
  1203. package/views/3d/webgl-engine/lib/Object3DStateID.js +1 -1
  1204. package/views/3d/webgl-engine/lib/Object3DStateSet.js +1 -1
  1205. package/views/3d/webgl-engine/lib/ObjectIntersectorResult.js +1 -1
  1206. package/views/3d/webgl-engine/lib/Octree.js +1 -1
  1207. package/views/3d/webgl-engine/lib/OrderIndependentTransparency.js +1 -1
  1208. package/views/3d/webgl-engine/lib/Path.js +1 -1
  1209. package/views/3d/webgl-engine/lib/PathGeometry.js +1 -1
  1210. package/views/3d/webgl-engine/lib/PathGeometryData.js +1 -1
  1211. package/views/3d/webgl-engine/lib/PathVertex.js +1 -1
  1212. package/views/3d/webgl-engine/lib/RayIntersections.js +1 -1
  1213. package/views/3d/webgl-engine/lib/RenderContext.js +1 -1
  1214. package/views/3d/webgl-engine/lib/RenderFeature.js +1 -1
  1215. package/views/3d/webgl-engine/lib/RenderSlot.js +0 -1
  1216. package/views/3d/webgl-engine/lib/Renderer.js +1 -1
  1217. package/views/3d/webgl-engine/lib/RendererBase.js +1 -1
  1218. package/views/3d/webgl-engine/lib/RenderingContext.js +1 -1
  1219. package/views/3d/webgl-engine/lib/ShadowAccumulator.js +1 -1
  1220. package/views/3d/webgl-engine/lib/ShadowMap.js +1 -1
  1221. package/views/3d/webgl-engine/lib/SliceHelper.js +1 -1
  1222. package/views/3d/webgl-engine/lib/SortedRenderGeometryRenderer.js +1 -1
  1223. package/views/3d/webgl-engine/lib/StencilUtils.js +1 -1
  1224. package/views/3d/webgl-engine/lib/TextRenderer.js +1 -1
  1225. package/views/3d/webgl-engine/lib/TextTextureAtlas.js +1 -1
  1226. package/views/3d/webgl-engine/lib/TextTextureFactory.js +1 -1
  1227. package/views/3d/webgl-engine/lib/Texture.js +1 -1
  1228. package/views/3d/webgl-engine/lib/TextureBackedBuffer/TextureBackedBuffer.js +1 -1
  1229. package/views/3d/webgl-engine/lib/TextureRepository.js +1 -1
  1230. package/views/3d/webgl-engine/lib/Update.js +0 -1
  1231. package/views/3d/webgl-engine/lib/UpdatePolicy.js +0 -1
  1232. package/views/3d/webgl-engine/lib/VertexAttribute.js +1 -1
  1233. package/views/3d/webgl-engine/lib/Viewshed.js +1 -1
  1234. package/views/3d/webgl-engine/lib/ViewshedShadowMap.js +1 -1
  1235. package/views/3d/webgl-engine/lib/WebGLLayer.js +1 -1
  1236. package/views/3d/webgl-engine/lib/basicInterfaces.js +0 -1
  1237. package/views/3d/webgl-engine/lib/bufferVectorMath.js +5 -0
  1238. package/views/3d/webgl-engine/lib/depthRangeUtils.js +1 -1
  1239. package/views/3d/webgl-engine/lib/edgeRendering/EdgeRenderer.js +1 -1
  1240. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechnique.js +1 -1
  1241. package/views/3d/webgl-engine/lib/edgeRendering/EdgeShaderTechniqueConfiguration.js +1 -1
  1242. package/views/3d/webgl-engine/lib/edgeRendering/EdgeView.js +1 -1
  1243. package/views/3d/webgl-engine/lib/edgeRendering/bufferLayouts.js +1 -1
  1244. package/views/3d/webgl-engine/lib/edgeRendering/edgeProcessing.js +1 -1
  1245. package/views/3d/webgl-engine/lib/edgeRendering/interfaces.js +0 -1
  1246. package/views/3d/webgl-engine/lib/edgeRendering/strokes.js +1 -1
  1247. package/views/3d/webgl-engine/lib/edgeRendering/util.js +1 -1
  1248. package/views/3d/webgl-engine/lib/glUtil3D.js +1 -1
  1249. package/views/3d/webgl-engine/lib/lodRendering/BackedBufferObject.js +1 -1
  1250. package/views/3d/webgl-engine/lib/lodRendering/InstanceData.js +1 -1
  1251. package/views/3d/webgl-engine/lib/lodRendering/Intersector.js +1 -1
  1252. package/views/3d/webgl-engine/lib/lodRendering/LodComponentData.js +1 -1
  1253. package/views/3d/webgl-engine/lib/lodRendering/LodRenderer.js +1 -1
  1254. package/views/3d/webgl-engine/lib/lodRendering/LodResources.js +1 -1
  1255. package/views/3d/webgl-engine/lib/lodRendering/RenderInstanceData.js +1 -1
  1256. package/views/3d/webgl-engine/lib/rendererUtils.js +1 -1
  1257. package/views/3d/webgl-engine/lib/screenSizePerspectiveUtils.js +1 -1
  1258. package/views/3d/webgl-engine/lib/verticalOffsetUtils.js +1 -1
  1259. package/views/3d/webgl-engine/materials/CheckerBoardMaterial.js +1 -1
  1260. package/views/3d/webgl-engine/materials/ColorMaterial.js +1 -1
  1261. package/views/3d/webgl-engine/materials/DefaultBufferWriter.js +1 -1
  1262. package/views/3d/webgl-engine/materials/DefaultLayouts.js +1 -1
  1263. package/views/3d/webgl-engine/materials/DefaultMaterial.js +1 -1
  1264. package/views/3d/webgl-engine/materials/DefaultTechniqueConfiguration.js +1 -1
  1265. package/views/3d/webgl-engine/materials/HUDMaterial.js +1 -1
  1266. package/views/3d/webgl-engine/materials/HeatmapDensityMaterial.js +1 -1
  1267. package/views/3d/webgl-engine/materials/ImageMaterial.js +1 -1
  1268. package/views/3d/webgl-engine/materials/LineCalloutMaterial.js +1 -1
  1269. package/views/3d/webgl-engine/materials/LineMarkerMaterial.js +1 -1
  1270. package/views/3d/webgl-engine/materials/MeasurementArrowMaterial.js +1 -1
  1271. package/views/3d/webgl-engine/materials/NativeLineMaterial.js +1 -1
  1272. package/views/3d/webgl-engine/materials/PathMaterial.js +1 -1
  1273. package/views/3d/webgl-engine/materials/PathTechnique.js +1 -1
  1274. package/views/3d/webgl-engine/materials/PathTechniqueConfiguration.js +1 -1
  1275. package/views/3d/webgl-engine/materials/PatternMaterial.js +1 -1
  1276. package/views/3d/webgl-engine/materials/PatternStyle.js +0 -1
  1277. package/views/3d/webgl-engine/materials/RibbonLineMaterial.js +1 -1
  1278. package/views/3d/webgl-engine/materials/ShadedColorMaterial.js +1 -1
  1279. package/views/3d/webgl-engine/materials/SlicePlaneMaterial.js +1 -1
  1280. package/views/3d/webgl-engine/materials/VisualVariablePassParameters.js +1 -1
  1281. package/views/3d/webgl-engine/materials/WaterMaterial.js +1 -1
  1282. package/views/3d/webgl-engine/materials/WaterTechnique.js +1 -1
  1283. package/views/3d/webgl-engine/materials/WaterTechniqueConfiguration.js +1 -1
  1284. package/views/3d/webgl-engine/materials/internal/WaterTextureRepository.js +1 -1
  1285. package/views/3d/webgl-engine/materials/internal/bufferWriterUtils.js +1 -1
  1286. package/views/3d/webgl-engine/materials/renderers/MergedRenderer.js +1 -1
  1287. package/views/3d/webgl-engine/materials/renderers/VaoCache.js +1 -1
  1288. package/views/3d/webgl-engine/materials/stippleTextureRepository.js +1 -1
  1289. package/views/3d/webgl-engine/parts/RenderView.js +1 -1
  1290. package/views/3d/webgl-engine/parts/ScreenshotManager.js +1 -1
  1291. package/views/3d/webgl-engine/shaders/AnimatedLine.glsl.js +4 -4
  1292. package/views/3d/webgl-engine/shaders/AtmosphereCompositingTechnique.js +1 -1
  1293. package/views/3d/webgl-engine/shaders/CheckerBoard.glsl.js +1 -1
  1294. package/views/3d/webgl-engine/shaders/CheckerBoardTechnique.js +1 -1
  1295. package/views/3d/webgl-engine/shaders/CheckerBoardTechniqueConfiguration.js +1 -1
  1296. package/views/3d/webgl-engine/shaders/ColorMaterial.glsl.js +1 -1
  1297. package/views/3d/webgl-engine/shaders/ColorMaterialTechnique.js +1 -1
  1298. package/views/3d/webgl-engine/shaders/ColorMaterialTechniqueConfiguration.js +1 -1
  1299. package/views/3d/webgl-engine/shaders/Compositing.glsl.js +1 -1
  1300. package/views/3d/webgl-engine/shaders/CompositingTechnique.js +1 -1
  1301. package/views/3d/webgl-engine/shaders/CompositingTechniqueConfiguration.js +1 -1
  1302. package/views/3d/webgl-engine/shaders/DefaultMaterial.glsl.js +1 -1
  1303. package/views/3d/webgl-engine/shaders/DefaultMaterialTechnique.js +1 -1
  1304. package/views/3d/webgl-engine/shaders/DefaultMaterialTechniqueConfiguration.js +1 -1
  1305. package/views/3d/webgl-engine/shaders/FocusAreaColor.glsl.js +1 -1
  1306. package/views/3d/webgl-engine/shaders/FocusAreaMask.glsl.js +1 -1
  1307. package/views/3d/webgl-engine/shaders/HUDMaterial.glsl.js +1 -1
  1308. package/views/3d/webgl-engine/shaders/HUDMaterialTechnique.js +1 -1
  1309. package/views/3d/webgl-engine/shaders/HUDMaterialTechniqueConfiguration.js +1 -1
  1310. package/views/3d/webgl-engine/shaders/HeatmapDensity.glsl.js +1 -1
  1311. package/views/3d/webgl-engine/shaders/ImageMaterial.glsl.js +1 -1
  1312. package/views/3d/webgl-engine/shaders/ImageMaterialTechnique.js +1 -1
  1313. package/views/3d/webgl-engine/shaders/ImageMaterialTechniqueConfiguration.js +1 -1
  1314. package/views/3d/webgl-engine/shaders/LaserlinePath.glsl.js +1 -1
  1315. package/views/3d/webgl-engine/shaders/LineCallout.glsl.js +1 -1
  1316. package/views/3d/webgl-engine/shaders/LineCalloutTechnique.js +1 -1
  1317. package/views/3d/webgl-engine/shaders/LineMarker.glsl.js +1 -1
  1318. package/views/3d/webgl-engine/shaders/LineMarkerTechnique.js +1 -1
  1319. package/views/3d/webgl-engine/shaders/LineMarkerTechniqueConfiguration.js +1 -1
  1320. package/views/3d/webgl-engine/shaders/Magnifier.glsl.js +1 -1
  1321. package/views/3d/webgl-engine/shaders/MeasurementArrow.glsl.js +1 -1
  1322. package/views/3d/webgl-engine/shaders/MeasurementArrowTechnique.js +1 -1
  1323. package/views/3d/webgl-engine/shaders/NativeLine.glsl.js +1 -1
  1324. package/views/3d/webgl-engine/shaders/OutputColorHighlightOID.glsl.js +9 -9
  1325. package/views/3d/webgl-engine/shaders/OverlayCompositing.glsl.js +1 -1
  1326. package/views/3d/webgl-engine/shaders/Pattern.glsl.js +1 -1
  1327. package/views/3d/webgl-engine/shaders/PatternTechnique.js +1 -1
  1328. package/views/3d/webgl-engine/shaders/PatternTechniqueConfiguration.js +1 -1
  1329. package/views/3d/webgl-engine/shaders/PointRenderer.glsl.js +1 -1
  1330. package/views/3d/webgl-engine/shaders/PointRendererTechnique.js +1 -1
  1331. package/views/3d/webgl-engine/shaders/RealisticTree.glsl.js +1 -1
  1332. package/views/3d/webgl-engine/shaders/RibbonLine.glsl.js +1 -1
  1333. package/views/3d/webgl-engine/shaders/RibbonLineTechnique.js +1 -1
  1334. package/views/3d/webgl-engine/shaders/RibbonLineTechniqueConfiguration.js +1 -1
  1335. package/views/3d/webgl-engine/shaders/ScreenSpacePassAtmosphere.glsl.js +4 -4
  1336. package/views/3d/webgl-engine/shaders/ShadedColorMaterial.glsl.js +1 -1
  1337. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechnique.js +1 -1
  1338. package/views/3d/webgl-engine/shaders/ShadedColorMaterialTechniqueConfiguration.js +1 -1
  1339. package/views/3d/webgl-engine/shaders/ShadowCastAccumulate.glsl.js +1 -1
  1340. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechnique.js +1 -1
  1341. package/views/3d/webgl-engine/shaders/ShadowCastAccumulateTechniqueConfiguration.js +1 -1
  1342. package/views/3d/webgl-engine/shaders/ShadowCastClear.glsl.js +1 -1
  1343. package/views/3d/webgl-engine/shaders/ShadowCastClearTechnique.js +1 -1
  1344. package/views/3d/webgl-engine/shaders/ShadowCastVisualize.glsl.js +1 -1
  1345. package/views/3d/webgl-engine/shaders/ShadowCastVisualizeTechniqueConfiguration.js +1 -1
  1346. package/views/3d/webgl-engine/shaders/ShadowHighlight.glsl.js +1 -1
  1347. package/views/3d/webgl-engine/shaders/SlicePlaneMaterial.glsl.js +1 -1
  1348. package/views/3d/webgl-engine/shaders/SlicePlaneMaterialTechnique.js +1 -1
  1349. package/views/3d/webgl-engine/shaders/Terrain.glsl.js +1 -1
  1350. package/views/3d/webgl-engine/shaders/TerrainTechnique.js +1 -1
  1351. package/views/3d/webgl-engine/shaders/TerrainTechniqueConfiguration.js +1 -1
  1352. package/views/3d/webgl-engine/shaders/WaterSurface.glsl.js +1 -1
  1353. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeShader.glsl.js +1 -1
  1354. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/EdgeUtil.glsl.js +17 -17
  1355. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineAmplitude.glsl.js +4 -4
  1356. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/LineOffset.glsl.js +8 -8
  1357. package/views/3d/webgl-engine/shaders/sources/edgeRenderer/UnpackAttributes.glsl.js +7 -7
  1358. package/views/SceneView.js +1 -1
  1359. package/views/ToolViewManager.js +1 -1
  1360. package/views/VideoView.js +1 -1
  1361. package/views/ViewingMode.js +1 -1
  1362. package/views/draw/DrawAction.js +1 -1
  1363. package/views/draw/DrawOperation.js +1 -1
  1364. package/views/draw/SegmentDrawAction.js +1 -1
  1365. package/views/draw/support/Reshape.js +1 -1
  1366. package/views/draw/support/surfaceCoordinateSystems.js +1 -1
  1367. package/views/input/IViewEvents.js +0 -1
  1368. package/views/input/InputManager.js +1 -1
  1369. package/views/input/ViewEvents.js +1 -1
  1370. package/views/input/recognizers/Drag.js +1 -1
  1371. package/views/interactive/InteractiveToolBase.js +1 -1
  1372. package/views/interactive/ManipulatorCollection.js +1 -1
  1373. package/views/interactive/SegmentLabels.js +1 -1
  1374. package/views/interactive/ToolIntersector.js +1 -1
  1375. package/views/interactive/coordinateHelper.js +1 -1
  1376. package/views/interactive/editGeometry/EditGeometryOperations.js +1 -1
  1377. package/views/interactive/editGeometry/interfaces.js +0 -1
  1378. package/views/interactive/editGeometry/operations/OffsetEdgeVertex.js +1 -1
  1379. package/views/interactive/editGeometry/operations/RotateVertex.js +1 -1
  1380. package/views/interactive/editGeometry/operations/ScaleVertex.js +1 -1
  1381. package/views/interactive/editGeometry/operations/UpdateVertices.js +1 -1
  1382. package/views/interactive/editGeometry/support/editPlaneUtils.js +1 -1
  1383. package/views/interactive/editGeometry/unnormalizationHelper.js +1 -1
  1384. package/views/interactive/interactiveToolUtils.js +1 -1
  1385. package/views/interactive/interfaces.js +0 -1
  1386. package/views/interactive/sketch/SketchValueOptions.js +1 -1
  1387. package/views/interactive/sketch/constraintUtils.js +1 -1
  1388. package/views/interactive/sketch/constraints.js +1 -1
  1389. package/views/interactive/sketch/normalizedPoint.js +1 -1
  1390. package/views/interactive/snapping/FeatureSnappingEngine.js +1 -1
  1391. package/views/interactive/snapping/LineSnapper.js +1 -1
  1392. package/views/interactive/snapping/RightAngleSnapper.js +1 -1
  1393. package/views/interactive/snapping/SelfSnappingEngine.js +1 -1
  1394. package/views/interactive/snapping/SnappingDomain.js +0 -1
  1395. package/views/interactive/snapping/SnappingManager.js +1 -1
  1396. package/views/interactive/snapping/candidates/DrapedEdgeSnappingCandidate.js +1 -1
  1397. package/views/interactive/snapping/candidates/EdgeSnappingCandidate.js +1 -1
  1398. package/views/interactive/snapping/candidates/FeatureSnappingCandidate.js +1 -1
  1399. package/views/interactive/snapping/candidates/IntersectionSnappingCandidate.js +1 -1
  1400. package/views/interactive/snapping/candidates/LineSnappingCandidate.js +1 -1
  1401. package/views/interactive/snapping/candidates/ParallelLineSnappingCandidate.js +1 -1
  1402. package/views/interactive/snapping/candidates/RightAngleSnappingCandidate.js +1 -1
  1403. package/views/interactive/snapping/candidates/RightAngleTriangleSnappingCandidate.js +1 -1
  1404. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTileStore.js +1 -1
  1405. package/views/interactive/snapping/featureSources/featureServiceSource/FeatureServiceTiledFetcher.js +1 -1
  1406. package/views/interactive/snapping/featureSources/featureServiceSource/PendingFeatureTile.js +1 -1
  1407. package/views/interactive/snapping/featureSources/featureServiceSource/tileUtils.js +1 -1
  1408. package/views/interactive/snapping/hints/IntersectionSnappingHint.js +1 -1
  1409. package/views/interactive/snapping/hints/LineSnappingHint.js +1 -1
  1410. package/views/interactive/snapping/hints/ParallelSnappingHint.js +1 -1
  1411. package/views/interactive/snapping/hints/RightAngleSnappingHint.js +1 -1
  1412. package/views/interactive/snapping/snappingUtils.js +1 -1
  1413. package/views/interactive/tooltip/fields/fields.js +1 -1
  1414. package/views/layers/LayerView.js +1 -1
  1415. package/views/layers/support/editableLayerViews.js +1 -1
  1416. package/views/support/DefaultsFromMap.js +1 -1
  1417. package/views/support/LayerLayerViewInfo.js +1 -1
  1418. package/views/support/LayerViewManager.js +1 -1
  1419. package/views/support/PixelHighlightOptions.js +5 -0
  1420. package/views/support/RenderState.js +0 -1
  1421. package/views/support/Scheduler.js +1 -1
  1422. package/views/support/TextureCompressionWorker.js +1 -1
  1423. package/views/support/TextureCompressionWorkerHandle.js +1 -1
  1424. package/views/support/angularMeasurementUtils.js +1 -1
  1425. package/views/support/euclideanLengthMeasurementUtils.js +1 -1
  1426. package/views/support/geometry2dUtils.js +1 -1
  1427. package/views/support/geometry3dUtils.js +1 -1
  1428. package/views/support/imageReprojection.js +1 -1
  1429. package/views/support/spatialReferenceSupport.js +1 -1
  1430. package/views/ui/UI.js +1 -1
  1431. package/views/webgl/AppleAmdDriverHelper.js +1 -1
  1432. package/views/webgl/BindType.js +0 -1
  1433. package/views/webgl/BufferObject.js +1 -1
  1434. package/views/webgl/ContextState.js +1 -1
  1435. package/views/webgl/FBOAttachmentType.js +0 -1
  1436. package/views/webgl/FramebufferObject.js +1 -1
  1437. package/views/webgl/Program.js +1 -1
  1438. package/views/webgl/Renderbuffer.js +1 -1
  1439. package/views/webgl/RenderingContext.js +1 -1
  1440. package/views/webgl/ShaderBuilder.js +1 -1
  1441. package/views/webgl/ShaderTranspiler.js +1 -1
  1442. package/views/webgl/Texture.js +1 -1
  1443. package/views/webgl/TextureDescriptor.js +1 -1
  1444. package/views/webgl/Uniform.js +1 -1
  1445. package/views/webgl/UniformBufferObject.js +1 -1
  1446. package/views/webgl/Util.js +1 -1
  1447. package/views/webgl/ValidatedTextureDescriptor.js +1 -1
  1448. package/views/webgl/checkWebGLError.js +1 -1
  1449. package/views/webgl/enums.js +1 -1
  1450. package/views/webgl/heatmapTextureUtils.js +1 -1
  1451. package/views/webgl/rasterUtils.js +1 -1
  1452. package/views/webgl/renderState.js +1 -1
  1453. package/views/webgl/storageLayouts.js +1 -1
  1454. package/views/webgl/testAppleAmdDrawArrays.js +1 -1
  1455. package/views/webgl/testFloatBufferBlend.js +1 -1
  1456. package/views/webgl/testSVGPremultipliedAlpha.js +1 -1
  1457. package/views/webgl/textureUtils.js +1 -1
  1458. package/webdoc/interfaces.js +0 -1
  1459. package/widgets/AreaMeasurement2D/AreaMeasurement2DTool.js +1 -1
  1460. package/widgets/BasemapGallery/support/basemapCompatibilityUtils.js +1 -1
  1461. package/widgets/BatchAttributeForm/BatchAttributeFormViewModel.js +1 -1
  1462. package/widgets/BatchAttributeForm/batchAttributeFormUtils.js +1 -1
  1463. package/widgets/BatchAttributeForm/inputs/FieldInput.js +1 -1
  1464. package/widgets/BatchAttributeForm/inputs/InputBase.js +1 -1
  1465. package/widgets/BatchAttributeForm/inputs/support/inputUtils.js +1 -1
  1466. package/widgets/BatchAttributeForm.js +1 -1
  1467. package/widgets/Daylight/DaylightViewModel.js +1 -1
  1468. package/widgets/Daylight/support/daylightUtils.js +1 -1
  1469. package/widgets/Directions/DirectionsViewModel.js +1 -1
  1470. package/widgets/DistanceMeasurement2D/DistanceMeasurement2DTool.js +1 -1
  1471. package/widgets/Editor/workflowUtils.js +1 -1
  1472. package/widgets/ElevationProfile/ElevationProfileInteraction.js +1 -1
  1473. package/widgets/ElevationProfile/ElevationProfileLineView.js +1 -1
  1474. package/widgets/ElevationProfile/ElevationProfileTool.js +1 -1
  1475. package/widgets/ElevationProfile/ElevationProfileViewModel.js +1 -1
  1476. package/widgets/ElevationProfile/support/ElevationProfileView2D.js +1 -1
  1477. package/widgets/ElevationProfile/support/ElevationProfileView3D.js +1 -1
  1478. package/widgets/ElevationProfile/support/InputRepresentation3D.js +1 -1
  1479. package/widgets/ElevationProfile/support/ProfileGenerationError.js +1 -1
  1480. package/widgets/ElevationProfile/support/constants.js +1 -1
  1481. package/widgets/ElevationProfile/support/geometryUtils.js +1 -1
  1482. package/widgets/ElevationProfile/support/profileUtils.js +1 -1
  1483. package/widgets/ElevationProfile.js +1 -1
  1484. package/widgets/Feature/FeatureUtilityNetworkAssociations.js +1 -1
  1485. package/widgets/FeatureForm/FieldInput.js +1 -1
  1486. package/widgets/FeatureForm/featureFormUtils.js +1 -1
  1487. package/widgets/Legend/support/ActiveLayerInfo.js +1 -1
  1488. package/widgets/OrientedImageryViewer/OrientedImageryViewerViewModel.js +1 -1
  1489. package/widgets/OrientedImageryViewer/components/ImageLocationWidget.js +1 -1
  1490. package/widgets/OrientedImageryViewer.js +1 -1
  1491. package/widgets/Print/PrintViewModel.js +1 -1
  1492. package/widgets/Print/utils.js +1 -1
  1493. package/widgets/Print.js +1 -1
  1494. package/widgets/ScaleRangeSlider/scalePreviewUtils.js +1 -1
  1495. package/widgets/ShadowCast/DurationMode.js +0 -1
  1496. package/widgets/ShadowCast/DurationOptions.js +1 -1
  1497. package/widgets/ShadowCast/ShadowCastState.js +0 -1
  1498. package/widgets/ShadowCast/ShadowCastViewModel.js +1 -1
  1499. package/widgets/ShadowCast/ShadowTooltipViewModel.js +1 -1
  1500. package/widgets/ShadowCast/ShadowVisualizationType.js +1 -1
  1501. package/widgets/ShadowCast/components/DurationConfigurator.js +1 -1
  1502. package/widgets/ShadowCast.js +1 -1
  1503. package/widgets/Sketch/SketchViewModel.js +1 -1
  1504. package/widgets/Sketch/support/sketchUtils.js +1 -1
  1505. package/widgets/Sketch.js +1 -1
  1506. package/widgets/UtilityNetworkTrace/UtilityNetworkTraceFeature.js +1 -1
  1507. package/widgets/Weather/WeatherViewModel.js +1 -1
  1508. package/widgets/Weather/enums.js +0 -1
  1509. package/widgets/Weather.js +1 -1
  1510. package/widgets/Widget.js +1 -1
  1511. package/widgets/support/AnalysisViewModel.js +1 -1
  1512. package/widgets/support/forms/formUtils.js +1 -1
  1513. package/widgets/support/uriUtils.js +1 -1
  1514. package/assets/esri/core/workers/chunks/026fbeb0ff5b9e6c74df.js +0 -1
  1515. package/assets/esri/core/workers/chunks/03bef3f4b6b09b1e864b.js +0 -1
  1516. package/assets/esri/core/workers/chunks/09618761df5c4fdd52a0.js +0 -1
  1517. package/assets/esri/core/workers/chunks/0ae00339991f5387203e.js +0 -1
  1518. package/assets/esri/core/workers/chunks/0b4b294f3ce74fde5620.js +0 -1
  1519. package/assets/esri/core/workers/chunks/0becc660e8ee6c5d02b5.js +0 -1
  1520. package/assets/esri/core/workers/chunks/0e96a3b7228f1ff8e6c5.js +0 -1
  1521. package/assets/esri/core/workers/chunks/12723e79b996969e304e.js +0 -1
  1522. package/assets/esri/core/workers/chunks/12a16f0fd77371d61c2a.js +0 -1
  1523. package/assets/esri/core/workers/chunks/15064c3b21b325d5c2f6.js +0 -1
  1524. package/assets/esri/core/workers/chunks/1597aca21334cab3b802.js +0 -1
  1525. package/assets/esri/core/workers/chunks/196564ad230bef6b59cf.js +0 -1
  1526. package/assets/esri/core/workers/chunks/19f8d551cbebc11db1eb.js +0 -1
  1527. package/assets/esri/core/workers/chunks/1ceee047e3fa617b0600.js +0 -1
  1528. package/assets/esri/core/workers/chunks/1cf0fae3f2e848a2a738.js +0 -1
  1529. package/assets/esri/core/workers/chunks/1f296f85becf1ca6714d.js +0 -1
  1530. package/assets/esri/core/workers/chunks/1f8d7bd44d53c30df383.js +0 -1
  1531. package/assets/esri/core/workers/chunks/1fabb5ec59da698c1618.js +0 -1
  1532. package/assets/esri/core/workers/chunks/20bcd2e6cf02e057ad7d.js +0 -1
  1533. package/assets/esri/core/workers/chunks/219b2911668db120452b.js +0 -1
  1534. package/assets/esri/core/workers/chunks/21a8ae88cfa644a30058.js +0 -1
  1535. package/assets/esri/core/workers/chunks/24fe862b607ec927e07f.js +0 -1
  1536. package/assets/esri/core/workers/chunks/2a6df3f0a166eb886554.js +0 -1
  1537. package/assets/esri/core/workers/chunks/2b4b073254fe8b6a081c.js +0 -1
  1538. package/assets/esri/core/workers/chunks/30293b88501b5d6162fc.js +0 -1
  1539. package/assets/esri/core/workers/chunks/31533f5e8b76b307f61c.js +0 -1
  1540. package/assets/esri/core/workers/chunks/347117e61e1c6edd074f.js +0 -1
  1541. package/assets/esri/core/workers/chunks/3616eb2607843524483f.js +0 -1
  1542. package/assets/esri/core/workers/chunks/3629d5e1a8e9bece0ed8.js +0 -1
  1543. package/assets/esri/core/workers/chunks/3793f282ddaccd3465f2.js +0 -1
  1544. package/assets/esri/core/workers/chunks/394477e88be0c6790f02.js +0 -1
  1545. package/assets/esri/core/workers/chunks/3be9ec0503a669bcfce6.js +0 -1
  1546. package/assets/esri/core/workers/chunks/3c9cf06ac6aa1db6c4f6.js +0 -1
  1547. package/assets/esri/core/workers/chunks/3d020f2e454c1e4babee.js +0 -1
  1548. package/assets/esri/core/workers/chunks/3ed7d19bbbad6c4a1cba.js +0 -1
  1549. package/assets/esri/core/workers/chunks/42cddc8f8c8d73e22ee2.js +0 -1
  1550. package/assets/esri/core/workers/chunks/437a4100a837ee16df7c.js +0 -1
  1551. package/assets/esri/core/workers/chunks/4405c765786c895365fb.js +0 -42
  1552. package/assets/esri/core/workers/chunks/4ce671bc4d36387b55fa.js +0 -1
  1553. package/assets/esri/core/workers/chunks/4cea5170939c8d363ef7.js +0 -1
  1554. package/assets/esri/core/workers/chunks/4de6c479df609398dee0.js +0 -1
  1555. package/assets/esri/core/workers/chunks/4f691962b96e78cbe1a9.js +0 -1
  1556. package/assets/esri/core/workers/chunks/51cfa2f70ec222e1582b.js +0 -1
  1557. package/assets/esri/core/workers/chunks/5253cca467fe9bc0a210.js +0 -1
  1558. package/assets/esri/core/workers/chunks/55c903d93b15f4e723d4.js +0 -1
  1559. package/assets/esri/core/workers/chunks/585031826294d5130813.js +0 -1
  1560. package/assets/esri/core/workers/chunks/5b276962c46c57155166.js +0 -1
  1561. package/assets/esri/core/workers/chunks/5bfcb3d87380e7f85b08.js +0 -1
  1562. package/assets/esri/core/workers/chunks/63966066a963e9a1fb14.js +0 -1
  1563. package/assets/esri/core/workers/chunks/63f50ff2ae94f684d56b.js +0 -1
  1564. package/assets/esri/core/workers/chunks/66757fc16316a5c50e1e.js +0 -1
  1565. package/assets/esri/core/workers/chunks/6a14af239b400b0976c5.js +0 -1
  1566. package/assets/esri/core/workers/chunks/6b4e66eb0cb37f293cf8.js +0 -1
  1567. package/assets/esri/core/workers/chunks/6c33ecffbc783cb8f944.js +0 -1
  1568. package/assets/esri/core/workers/chunks/6ce4327f63e6eb92bba8.js +0 -1
  1569. package/assets/esri/core/workers/chunks/6deaa08e3a61a455e564.js +0 -1
  1570. package/assets/esri/core/workers/chunks/6efc3d120c9c2c09cb06.js +0 -1
  1571. package/assets/esri/core/workers/chunks/6f9f32b7de59b4d9cd97.js +0 -2
  1572. package/assets/esri/core/workers/chunks/7338ce95bceb2c7fab87.js +0 -1
  1573. package/assets/esri/core/workers/chunks/7359652de3d7f969a712.js +0 -1
  1574. package/assets/esri/core/workers/chunks/771012f129890f9a089c.js +0 -1
  1575. package/assets/esri/core/workers/chunks/780ff9314f26ae62f75f.js +0 -1
  1576. package/assets/esri/core/workers/chunks/7a08d6d8e5e430658f3a.js +0 -1
  1577. package/assets/esri/core/workers/chunks/7a5a1d01a89383faf4fd.js +0 -1
  1578. package/assets/esri/core/workers/chunks/7b736885278af9676f3a.js +0 -1
  1579. package/assets/esri/core/workers/chunks/8000e2e80fff7752e761.js +0 -1
  1580. package/assets/esri/core/workers/chunks/8161b0a674ef9bf536a2.js +0 -1
  1581. package/assets/esri/core/workers/chunks/875c6293767602763bc0.js +0 -1
  1582. package/assets/esri/core/workers/chunks/8894483b91bcda845b6f.js +0 -1
  1583. package/assets/esri/core/workers/chunks/908ec8165d567f052155.js +0 -1
  1584. package/assets/esri/core/workers/chunks/91e6030a2845f5404e82.js +0 -1
  1585. package/assets/esri/core/workers/chunks/9511e55e4fabb3235eac.js +0 -1
  1586. package/assets/esri/core/workers/chunks/9d85e20a3d6ca1161c26.js +0 -1
  1587. package/assets/esri/core/workers/chunks/9f8341caab3b1d02f387.js +0 -1
  1588. package/assets/esri/core/workers/chunks/a08d018d8c137fc4ca17.js +0 -1
  1589. package/assets/esri/core/workers/chunks/a0abe3e54c8a20cafeb3.js +0 -1
  1590. package/assets/esri/core/workers/chunks/a22e5b2874647fe0d31a.js +0 -1
  1591. package/assets/esri/core/workers/chunks/a55338add265d330124b.js +0 -1
  1592. package/assets/esri/core/workers/chunks/a8f37681f8f6feebbd50.js +0 -1
  1593. package/assets/esri/core/workers/chunks/ac93b3f1ff15a95d926c.js +0 -1
  1594. package/assets/esri/core/workers/chunks/aeedc543320ee307d14a.js +0 -1
  1595. package/assets/esri/core/workers/chunks/afe4fd3b1b3521712edd.js +0 -1
  1596. package/assets/esri/core/workers/chunks/b3794c513a13facc98d3.js +0 -1
  1597. package/assets/esri/core/workers/chunks/b37f3c416cefc1a6ea2c.js +0 -1
  1598. package/assets/esri/core/workers/chunks/b4512d62b6cb26fc6b25.js +0 -1
  1599. package/assets/esri/core/workers/chunks/b6b8272a74a5c24a6b86.js +0 -1
  1600. package/assets/esri/core/workers/chunks/b9f66d735a7e63417b3d.js +0 -1
  1601. package/assets/esri/core/workers/chunks/bbc2a4976d044b990193.js +0 -1
  1602. package/assets/esri/core/workers/chunks/bbf2c31d217de1b8ba6e.js +0 -1
  1603. package/assets/esri/core/workers/chunks/befba7ceeb26a38732c1.js +0 -1
  1604. package/assets/esri/core/workers/chunks/c0517d02c99128fe603f.js +0 -1
  1605. package/assets/esri/core/workers/chunks/c1fb5290e0e259b74389.js +0 -1
  1606. package/assets/esri/core/workers/chunks/c25e28aab5bee30722cb.js +0 -1
  1607. package/assets/esri/core/workers/chunks/c2faddd504c2355ac46e.js +0 -1
  1608. package/assets/esri/core/workers/chunks/c361bf4d41a1843d4640.js +0 -1
  1609. package/assets/esri/core/workers/chunks/c51099eab5a99c88e5de.js +0 -1
  1610. package/assets/esri/core/workers/chunks/c6c0263fbcf2ca245c1b.js +0 -1009
  1611. package/assets/esri/core/workers/chunks/c6c3e703b18e1bb7113a.js +0 -1
  1612. package/assets/esri/core/workers/chunks/c82e78590c2fabc67609.js +0 -1
  1613. package/assets/esri/core/workers/chunks/c9e580867f7ac17be329.js +0 -1
  1614. package/assets/esri/core/workers/chunks/ce291074b0cbebcaf27b.js +0 -1
  1615. package/assets/esri/core/workers/chunks/ce48207997af9605b0f7.js +0 -1
  1616. package/assets/esri/core/workers/chunks/d29ae64703a947bfb83b.js +0 -1
  1617. package/assets/esri/core/workers/chunks/d6241c7736d4a86f201f.js +0 -1
  1618. package/assets/esri/core/workers/chunks/d683a97620cd606fa019.js +0 -1
  1619. package/assets/esri/core/workers/chunks/d9f311ac82ae8dabff8f.js +0 -1
  1620. package/assets/esri/core/workers/chunks/de1457b07f4e263f1524.js +0 -1
  1621. package/assets/esri/core/workers/chunks/e06096e532a8dbb31491.js +0 -1
  1622. package/assets/esri/core/workers/chunks/e547318638c8f496c1a0.js +0 -1
  1623. package/assets/esri/core/workers/chunks/e6a97f9b6f7be8076f85.js +0 -1
  1624. package/assets/esri/core/workers/chunks/ef7fdd5306588c4b4ad2.js +0 -1
  1625. package/assets/esri/core/workers/chunks/f291ccf9da6aa7d7ae23.js +0 -1
  1626. package/assets/esri/core/workers/chunks/f328c933bc0367938d70.js +0 -1
  1627. package/assets/esri/core/workers/chunks/f5ee10a8afb7f70833bb.js +0 -346
  1628. package/assets/esri/core/workers/chunks/f61a8cc7e2b198e521ba.js +0 -1
  1629. package/assets/esri/core/workers/chunks/f9442a281cb91c64c7cd.js +0 -1
  1630. package/assets/esri/core/workers/chunks/fa7243f080bcf6444929.js +0 -1
  1631. package/assets/esri/core/workers/chunks/fad577be78560ed6f4f8.js +0 -1
  1632. package/assets/esri/core/workers/chunks/fbf3240b36718fa5dc76.js +0 -1
  1633. package/assets/esri/core/workers/chunks/fdd48334ff0ec2fa484b.js +0 -1
  1634. package/assets/esri/core/workers/chunks/fe73e74e3e4278aedcc3.js +0 -1
  1635. package/geometry/support/meshUtils/exporters/gltf/index.js +0 -5
  1636. package/views/3d/support/index.js +0 -5
  1637. package/views/3d/webgl-engine/lib/BufferVectorMath.js +0 -5
  1638. /package/assets/esri/core/workers/chunks/{6f9f32b7de59b4d9cd97.js.LICENSE.txt → ecd673eccf89643df07a.js.LICENSE.txt} +0 -0
  1639. /package/assets/esri/core/workers/chunks/{d1aeb9fe9eb573beefcc.js.LICENSE.txt → edc4f230a5bdf928f9fd.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{_ as i}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import{lerp as e}from"../../../../core/mathUtils.js";import{destroyMaybe as s}from"../../../../core/maybe.js";import{property as r}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as c}from"../../../../core/accessorSupport/decorators/subclass.js";import{transpose as o}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{t as l,g as h,i as u,c as d}from"../../../../chunks/vec32.js";import{ZEROS as p,create as f}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as _,t as m,d as g}from"../../../../chunks/vec42.js";import{create as y}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{UpdatingHandles as v}from"../../../../core/support/UpdatingHandles.js";import{getReferenceEllipsoid as b}from"../../../../geometry/ellipsoidUtils.js";import{create as O,empty as w,copy as I,offset as D,width as C,height as j,expand as G}from"../../../../geometry/support/aaBoundingRect.js";import{e as k,d as S,a as A}from"../../../../chunks/boundedPlane.js";import{create as Q}from"../../../../geometry/support/ray.js";import{a as N,c as P,j as T,i as x}from"../../../../chunks/sphere.js";import{DeconflictAABR as E}from"./DeconflictAABR.js";import{prepare as V,drawPoly as L}from"./deconflictorDebug.js";import{VisibilityGroup as U,VisibilityFlag as F}from"./enums.js";import R from"../../webgl/RenderCamera.js";import{GPUPointOcclusionQuery as H}from"../../webgl-engine/lib/GPUPointOcclusionQuery.js";import{applyPrecomputedScaleFactor as B}from"../../webgl-engine/lib/screenSizePerspectiveUtils.js";import{VertexAttribute as M}from"../../webgl-engine/lib/VertexAttribute.js";import{HUDMaterial as W}from"../../webgl-engine/materials/HUDMaterial.js";import{ScaleInfo as z}from"../../webgl-engine/materials/ScaleInfo.js";import{Yield as Y}from"../../../support/Yield.js";const q=f(),J=f(),K=y(),X=y(),Z=f(),$=n(),ii=P(),ti=Q(),ei=f(),si=O();class ri{constructor(i){this.id=i,this.aabr=O(),this.altitude=0,this.distance=0,this.distanceToOccluder=0,this.culled=!1,this.visible=!1,this.priority=0}}function ci(i,t){const e=0!==i.distanceToOccluder&&i.distance>i.distanceToOccluder,s=0!==t.distanceToOccluder&&t.distance>t.distanceToOccluder;return e!==s?+e-+s:i.priority!==t.priority?t.priority-i.priority:i.distance!==t.distance?i.distance-t.distance:i.visible!==t.visible?+t.visible-+i.visible:i.id-t.id}class oi{constructor(i,t){this.graphics3DGraphic=i,this.slicePlaneEnabled=t,this._info=null,this._labelInfo=null}ensureInfo(i){let t=this.getInfo(i);return t||(t=new ri(this.graphics3DGraphic.graphic.uid),this._setInfo(i,t)),t}getInfo(i){return i===U.LABEL?this._labelInfo:this._info}removeInfo(i){this._setInfo(i,null)}_setInfo(i,t){i===U.LABEL?this._labelInfo=t:this._info=t}}var ni;!function(i){i[i.Idle=0]="Idle",i[i.CheckOcclusion=1]="CheckOcclusion",i[i.WaitOcclusion=2]="WaitOcclusion",i[i.Collect=3]="Collect",i[i.Deconflict=4]="Deconflict",i[i.NumStates=5]="NumStates"}(ni||(ni={}));class ai{constructor(){this.camera=new R,this.slicePlane=S(),this.slicePlaneEnabled=!1}copyFrom(i){this.camera.copyFrom(i.camera),A(i.slicePlane,this.slicePlane),this.slicePlaneEnabled=i.slicePlaneEnabled}}let li=class extends t{get dirty(){return this._dirty}get state(){return this._state}constructor(i){super(i),this._dirty=!1,this._viewState=new ai,this._state=ni.Idle,this._checkOcclusion=new Map,this._active=new Map,this._checkOcclusionIterator=null,this._activeIterator=null,this._occlusionQueryUids=new Array,this._updatingHandles=new v,this._deconflictor=new E((i,t)=>{i.visible=t,this._setGraphicVisibility(this._active.get(i.id),t)},(i,t)=>i.id!==t.id,ci),this._baseOccludedVisibility=10,this._altitudeFactor=2,this._minAltitudeDifference=100}initialize(){this._updatingHandles.add(()=>(this.view?.map?.ground?.opacity??0)>0,()=>this.setDirty()),this._updatingHandles.add(()=>this.view.ready,()=>this._occlusionQuery=null)}destroy(){this._occlusionQuery=null,this._updatingHandles.destroy(),this._deconflictor.destroy(),this._checkOcclusion.clear(),this._active.clear()}setDirty(){!this._dirty&&(this._active.size>0||this._checkOcclusion.size>0)&&(this._dirty=!0,this.notifyChange("updating"))}setPriority(i,t){const e=this._active.get(i.graphic.uid)?.getInfo(this.visibilityGroup);e&&(e.priority=t)}get updating(){return this._state!==ni.Idle||this._dirty||this._updatingHandles.updating}get updatingProgress(){if(!this.updating)return 1;const i=this._state/ni.NumStates;return this._dirty?.5*i:i}get running(){return this.view.ready&&null!=this.view.state&&this.updating}runTask(i){switch(this._state){case ni.Idle:this._startUpdate(),i.madeProgress();case ni.CheckOcclusion:if(this._state=ni.CheckOcclusion,!this._processCheckOcclusion(i))return;case ni.WaitOcclusion:if(this._state=ni.WaitOcclusion,this._occlusionQuery&&!this._occlusionQuery.done)return Y;this._readOcclusionQueryResult(),i.madeProgress();case ni.Collect:if(this._state=ni.Collect,!this._collectActiveGraphics(i))return;case ni.Deconflict:if(this._state=ni.Deconflict,this._deconflictor.run(i),!this._deconflictor.done)return;default:this._state=ni.Idle,this.notifyChange("updating")}}setGraphicsActive(i,t){t?i.forEach(i=>this.addToActiveGraphics(i)):i.forEach(i=>this.removeFromActiveGraphics(i))}layerSupportsDeconfliction(i){if(null==i||"object3d"!==i.type)return!1;const t=i.stageObject;if(1!==(t?.geometries.length??0))return!1;const e=t?.geometries[0],s=e?.material;return s instanceof W}_startUpdate(){V(this.view),this._dirty=!1,this._viewState.copyFrom(this.viewState);const{fullWidth:i,fullHeight:t}=this._viewState.camera;this._deconflictor.reset(i,t),this._resetIterators(),this._occlusionQueryUids.length=0,this._checkOcclusion.size||(this._occlusionQuery=s(this._occlusionQuery))}addToActiveGraphics(i){i.ensureInfo(this.visibilityGroup),this._active.set(i.graphics3DGraphic.graphic.uid,i),this.setDirty()}removeFromActiveGraphics(i){hi(i,this.visibilityGroup),i.removeInfo(this.visibilityGroup),this._active.delete(i.graphics3DGraphic.graphic.uid),this.setDirty()}addToCheckOcclusion(i){this._checkOcclusion.set(i.graphics3DGraphic.graphic.uid,i),this.setDirty()}removeFromCheckOcclusion(i){this._checkOcclusion.delete(i.graphics3DGraphic.graphic.uid)}_processCheckOcclusion(i){if(0===this._checkOcclusion.size)return!0;const t=this._ensureCheckOcclusionIterator(),e=this._viewState.camera,r=o($,e.viewInverseTransposeMatrix),c=this.view.map.ground.opacity>0,n="global"===this.view.viewingMode&&c&&e.relativeElevation>0?ii:null;let a=0;null!=n&&(l(N(n),p,e.viewMatrix),n[3]=b(this.view.spatialReference).radius,a=T(n,p));const h=O();for(;;){if(i.done)return!1;i.madeProgress();const s=t.next();if(!0===s.done)break;const c=s.value,o=c.graphics3DGraphic;if(o.destroyed)continue;if(!o.isVisible(U.GRAPHIC,F.DECONFLICTION))continue;const u=fi(o,this.visibilityGroup);let d=null,p=!0;for(const i of u){if(!this.layerSupportsDeconfliction(i))continue;d=_i,this._projectHudLayer(i,e,d),w(h);const t=i.stageObject.geometries[0].material;if(this._expandBoundingRect(h,e,i,t,d),d.isOutsideScreen){p=!1;break}if(this._isCulledBySlice(c,d.positionView)){p=!1;break}if(null!=n&&pi(d,n,a)){p=!1;break}l(J,d.positionView,r),d.altitude=this.view.renderCoordsHelper.getAltitude(J);const s=c.ensureInfo(this.visibilityGroup);if(s.altitude=d.altitude,s.distance=d.distance,s.distanceToOccluder=d.distanceToOccluder,s.culled=!1,I(s.aabr,h),t.parameters.occlusionTest)break;this._ensureOcclusionQuery().addPosition(J)===this._occlusionQueryUids.length&&this._occlusionQueryUids.push(o.graphic.uid);break}if(this._active.has(o.graphic.uid)&&(!p||!d)){const i=c.ensureInfo(this.visibilityGroup);i.visible=!d,i.culled=!0}}return this._checkOcclusionIterator=null,this._occlusionQueryUids.length||(this._occlusionQuery=s(this._occlusionQuery)),this._occlusionQuery?.start(),!0}_readOcclusionQueryResult(){if(!this._occlusionQuery||!this._occlusionQueryUids.length)return;const i=this._viewState.camera,t=this.view.renderCoordsHelper.getAltitude(i.eye);for(let e=0;e<this._occlusionQueryUids.length;e++){const i=this._occlusionQueryUids[e],s=this._checkOcclusion.get(i);if(!s)continue;const r=this._occlusionQuery.getOcclusion(e)??-1,c=s.getInfo(this.visibilityGroup);c&&(c.distanceToOccluder=r>0?c.distance-r:0);const o=r<=0||this._occludedVisibility(c?.distanceToOccluder??0,c?.distance??r,c?.altitude??0,t);this._active.has(i)?c&&(c.culled=!o,c.visible=o):this._setGraphicVisibility(s,o)}this._occlusionQueryUids.length=0}_collectActiveGraphics(i){const t=this._ensureActiveGraphicsIterator(),e=this.visibilityGroup===U.LABEL;for(;!i.done;){i.madeProgress();const s=t.next();if(!0===s.done)return this._activeIterator=null,!0;const r=s.value,c=r.getInfo(this.visibilityGroup);if(!c)continue;!(!e||r.graphics3DGraphic.isVisible())||c.culled?(L(c.aabr,!1,!0),this._setGraphicVisibility(r,c.visible)):this._deconflictor.add(c)}return!1}_occludedVisibility(i,t,e,s){const r=Math.max(this._minAltitudeDifference,Math.abs(e-s))-this._minAltitudeDifference;return 0===i||t-i<=this._baseOccludedVisibility+this._altitudeFactor*r}_resetIterators(){this._checkOcclusionIterator=null,this._activeIterator=null}_ensureCheckOcclusionIterator(){return this._checkOcclusionIterator??=this._checkOcclusion.values(),this._checkOcclusionIterator}_ensureActiveGraphicsIterator(){return this._activeIterator??=this._active.values(),this._activeIterator}_ensureOcclusionQuery(){return this._occlusionQuery??=new H({view:this.view}),this._occlusionQueryUids.length||this._occlusionQuery.init(this._checkOcclusion.size,this._viewState.camera.eye),this._occlusionQuery}_projectHudLayer(i,t,e){const s=i.stageObject,r=s.geometries[0],c=r.material,o=N(s.boundingVolumeWorldSpace.bounds);l(q,o,t.viewMatrix);const n=r.attributes,a=n.get(M.NORMAL).data,d=n.get(M.CENTEROFFSETANDDISTANCE).data;c.applyShaderOffsetsView(q,a,s.transformation,d,t,e.scaleInfo,q),_(K,q[0],q[1],q[2],1),m(X,K,t.projectionMatrix),h(e.positionNDC,X,1/X[3]),c.applyShaderOffsetsNDC(e.positionNDC,d,t,e.positionNDC,Z),e.distanceWithoutPolygonOffset=t.depthNDCToWorld(Z[2]),e.distance=Z[2]===e.positionNDC[2]?e.distanceWithoutPolygonOffset:t.depthNDCToWorld(e.positionNDC[2]),_(X,e.positionNDC[0],e.positionNDC[1],e.positionNDC[2],1),m(K,X,t.inverseProjectionMatrix),g(K,K,1/K[3]),u(e.positionView,q[0],q[1],q[2])}_isCulledBySlice(i,t){return i.slicePlaneEnabled&&this._viewState.slicePlaneEnabled&&k(this._viewState.slicePlane,t)}_expandBoundingRect(i,t,s,r,{positionNDC:c,scaleInfo:o}){const n=s.getScreenSize(ui);B(n,o.factor,n),n[0]*=t.pixelRatio,n[1]*=t.pixelRatio;const a=D(r.calculateRelativeScreenBounds(n,o.factorAlignment.scale*t.pixelRatio,si),e(0,t.fullWidth,.5+.5*c[0]),e(0,t.fullHeight,.5+.5*c[1])),l=this.marginFactor;if(0!==l){const i=l*Math.min(C(a),j(a));a[0]-=i,a[1]-=i,a[2]+=i,a[3]+=i}G(i,a,i)}_setGraphicVisibility(i,t){const e=i?.graphics3DGraphic;e&&!e.destroyed&&(e.setVisibilityFlag(this.visibilityGroup,F.DECONFLICTION,t),this.visibilityGroup===U.LABEL&&this.view.labeler.setLabelGraphicVisibility(e,t))}};function hi(i,t){const e=i.graphics3DGraphic;e.destroyed||e.setVisibilityFlag(t,F.DECONFLICTION,!0)}i([r({constructOnly:!0})],li.prototype,"view",void 0),i([r({type:Boolean,readOnly:!0})],li.prototype,"updating",null),i([r({readOnly:!0})],li.prototype,"_updatingHandles",void 0),li=i([c("esri.views.3d.layers.graphics.Deconflictor")],li);const ui=a();class di{constructor(){this.positionView=f(),this.positionNDC=f(),this.altitude=0,this.distance=0,this.distanceToOccluder=0,this.distanceWithoutPolygonOffset=0,this.scaleInfo=new z}get isOutsideScreen(){const i=this.positionNDC;return i[0]<-1||i[1]<-1||i[2]<-1||i[0]>=1||i[1]>=1||i[2]>=1}}function pi(i,t,e){return d(ti.direction,i.positionView),u(ti.origin,0,0,0),!!x(t,ti,ei)&&i.distanceWithoutPolygonOffset>e}function fi(i,t){return t===U.LABEL?i.labelLayers:i.layers}const _i=new di;export{li as Deconflictor,oi as DeconflictorGraphic,ai as DeconflictorViewState,ni as State};
5
+ import{_ as i}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import{lerp as e}from"../../../../core/mathUtils.js";import{destroyMaybe as s}from"../../../../core/maybe.js";import{property as r}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{transpose as c}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{create as a}from"../../../../core/libs/gl-matrix-2/factories/vec2f64.js";import{t as l,g as h,i as u,c as d}from"../../../../chunks/vec32.js";import{ZEROS as p,create as f}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{s as _,t as y,d as g}from"../../../../chunks/vec42.js";import{create as m}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{UpdatingHandles as v}from"../../../../core/support/UpdatingHandles.js";import{getReferenceEllipsoid as b}from"../../../../geometry/ellipsoidUtils.js";import{create as O,empty as w,copy as j,offset as D,width as G,height as I,expand as k}from"../../../../geometry/support/aaBoundingRect.js";import{e as Q,a as C,c as P}from"../../../../chunks/boundedPlane.js";import{create as S}from"../../../../geometry/support/ray.js";import{a as x,c as A,j as V,i as T}from"../../../../chunks/sphere.js";import{DeconflictAABR as U}from"./DeconflictAABR.js";import{prepare as H,drawPoly as N}from"./deconflictorDebug.js";import R from"../../webgl/RenderCamera.js";import{GPUPointOcclusionQuery as M}from"../../webgl-engine/lib/GPUPointOcclusionQuery.js";import{applyPrecomputedScaleFactor as F}from"../../webgl-engine/lib/screenSizePerspectiveUtils.js";import{HUDMaterial as E}from"../../webgl-engine/materials/HUDMaterial.js";import{ScaleInfo as W}from"../../webgl-engine/materials/ScaleInfo.js";import{Yield as z}from"../../../support/Yield.js";const B=f(),L=f(),Y=m(),q=m(),J=f(),K=n(),X=A(),Z=S(),$=f(),ii=O();class ti{constructor(i){this.id=i,this.aabr=O(),this.altitude=0,this.distance=0,this.distanceToOccluder=0,this.culled=!1,this.visible=!1,this.priority=0}}function ei(i,t){const e=0!==i.distanceToOccluder&&i.distance>i.distanceToOccluder,s=0!==t.distanceToOccluder&&t.distance>t.distanceToOccluder;return e!==s?+e-+s:i.priority!==t.priority?t.priority-i.priority:i.distance!==t.distance?i.distance-t.distance:i.visible!==t.visible?+t.visible-+i.visible:i.id-t.id}class si{constructor(i,t){this.graphics3DGraphic=i,this.slicePlaneEnabled=t,this._info=null,this._labelInfo=null}ensureInfo(i){let t=this.getInfo(i);return t||(t=new ti(this.graphics3DGraphic.graphic.uid),this._setInfo(i,t)),t}getInfo(i){return 16===i?this._labelInfo:this._info}removeInfo(i){this._setInfo(i,null)}_setInfo(i,t){16===i?this._labelInfo=t:this._info=t}}class ri{constructor(){this.camera=new R,this.slicePlane=C(),this.slicePlaneEnabled=!1}copyFrom(i){this.camera.copyFrom(i.camera),P(i.slicePlane,this.slicePlane),this.slicePlaneEnabled=i.slicePlaneEnabled}}let oi=class extends t{get dirty(){return this._dirty}get state(){return this._state}constructor(i){super(i),this._dirty=!1,this._viewState=new ri,this._state=0,this._checkOcclusion=new Map,this._active=new Map,this._checkOcclusionIterator=null,this._activeIterator=null,this._occlusionQueryUids=new Array,this._updatingHandles=new v,this._deconflictor=new U((i,t)=>{i.visible=t,this._setGraphicVisibility(this._active.get(i.id),t)},(i,t)=>i.id!==t.id,ei),this._baseOccludedVisibility=10,this._altitudeFactor=2,this._minAltitudeDifference=100}initialize(){this._updatingHandles.add(()=>(this.view?.map?.ground?.opacity??0)>0,()=>this.setDirty()),this._updatingHandles.add(()=>this.view.ready,()=>this._occlusionQuery=null)}destroy(){this._occlusionQuery=null,this._updatingHandles.destroy(),this._deconflictor.destroy(),this._checkOcclusion.clear(),this._active.clear()}setDirty(){!this._dirty&&(this._active.size>0||this._checkOcclusion.size>0)&&(this._dirty=!0,this.notifyChange("updating"))}setPriority(i,t){const e=this._active.get(i.graphic.uid)?.getInfo(this.visibilityGroup);e&&(e.priority=t)}get updating(){return 0!==this._state||this._dirty||this._updatingHandles.updating}get updatingProgress(){if(!this.updating)return 1;const i=this._state/5;return this._dirty?.5*i:i}get running(){return this.view.ready&&null!=this.view.state&&this.updating}runTask(i){switch(this._state){case 0:this._startUpdate(),i.madeProgress();case 1:if(this._state=1,!this._processCheckOcclusion(i))return;case 2:if(this._state=2,this._occlusionQuery&&!this._occlusionQuery.done)return z;this._readOcclusionQueryResult(),i.madeProgress();case 3:if(this._state=3,!this._collectActiveGraphics(i))return;case 4:if(this._state=4,this._deconflictor.run(i),!this._deconflictor.done)return;default:this._state=0,this.notifyChange("updating")}}setGraphicsActive(i,t){t?i.forEach(i=>this.addToActiveGraphics(i)):i.forEach(i=>this.removeFromActiveGraphics(i))}layerSupportsDeconfliction(i){if(null==i||"object3d"!==i.type)return!1;const t=i.stageObject;if(1!==(t?.geometries.length??0))return!1;const e=t?.geometries[0],s=e?.material;return s instanceof E}_startUpdate(){H(this.view),this._dirty=!1,this._viewState.copyFrom(this.viewState);const{fullWidth:i,fullHeight:t}=this._viewState.camera;this._deconflictor.reset(i,t),this._resetIterators(),this._occlusionQueryUids.length=0,this._checkOcclusion.size||(this._occlusionQuery=s(this._occlusionQuery))}addToActiveGraphics(i){i.ensureInfo(this.visibilityGroup),this._active.set(i.graphics3DGraphic.graphic.uid,i),this.setDirty()}removeFromActiveGraphics(i){ci(i,this.visibilityGroup),i.removeInfo(this.visibilityGroup),this._active.delete(i.graphics3DGraphic.graphic.uid),this.setDirty()}addToCheckOcclusion(i){this._checkOcclusion.set(i.graphics3DGraphic.graphic.uid,i),this.setDirty()}removeFromCheckOcclusion(i){this._checkOcclusion.delete(i.graphics3DGraphic.graphic.uid)}_processCheckOcclusion(i){if(0===this._checkOcclusion.size)return!0;const t=this._ensureCheckOcclusionIterator(),e=this._viewState.camera,r=c(K,e.viewInverseTransposeMatrix),o=this.view.map.ground.opacity>0,n="global"===this.view.viewingMode&&o&&e.relativeElevation>0?X:null;let a=0;null!=n&&(l(x(n),p,e.viewMatrix),n[3]=b(this.view.spatialReference).radius,a=V(n,p));const h=O();for(;;){if(i.done)return!1;i.madeProgress();const s=t.next();if(!0===s.done)break;const o=s.value,c=o.graphics3DGraphic;if(c.destroyed)continue;if(!c.isVisible(1,8))continue;const u=hi(c,this.visibilityGroup);let d=null,p=!0;for(const i of u){if(!this.layerSupportsDeconfliction(i))continue;d=ui,this._projectHudLayer(i,e,d),w(h);const t=i.stageObject.geometries[0].material;if(this._expandBoundingRect(h,e,i,t,d),d.isOutsideScreen){p=!1;break}if(this._isCulledBySlice(o,d.positionView)){p=!1;break}if(null!=n&&li(d,n,a)){p=!1;break}l(L,d.positionView,r),d.altitude=this.view.renderCoordsHelper.getAltitude(L);const s=o.ensureInfo(this.visibilityGroup);if(s.altitude=d.altitude,s.distance=d.distance,s.distanceToOccluder=d.distanceToOccluder,s.culled=!1,j(s.aabr,h),t.parameters.occlusionTest)break;this._ensureOcclusionQuery().addPosition(L)===this._occlusionQueryUids.length&&this._occlusionQueryUids.push(c.graphic.uid);break}if(this._active.has(c.graphic.uid)&&(!p||!d)){const i=o.ensureInfo(this.visibilityGroup);i.visible=!d,i.culled=!0}}return this._checkOcclusionIterator=null,this._occlusionQueryUids.length||(this._occlusionQuery=s(this._occlusionQuery)),this._occlusionQuery?.start(),!0}_readOcclusionQueryResult(){if(!this._occlusionQuery||!this._occlusionQueryUids.length)return;const i=this._viewState.camera,t=this.view.renderCoordsHelper.getAltitude(i.eye);for(let e=0;e<this._occlusionQueryUids.length;e++){const i=this._occlusionQueryUids[e],s=this._checkOcclusion.get(i);if(!s)continue;const r=this._occlusionQuery.getOcclusion(e)??-1,o=s.getInfo(this.visibilityGroup);o&&(o.distanceToOccluder=r>0?o.distance-r:0);const c=r<=0||this._occludedVisibility(o?.distanceToOccluder??0,o?.distance??r,o?.altitude??0,t);this._active.has(i)?o&&(o.culled=!c,o.visible=c):this._setGraphicVisibility(s,c)}this._occlusionQueryUids.length=0}_collectActiveGraphics(i){const t=this._ensureActiveGraphicsIterator(),e=16===this.visibilityGroup;for(;!i.done;){i.madeProgress();const s=t.next();if(!0===s.done)return this._activeIterator=null,!0;const r=s.value,o=r.getInfo(this.visibilityGroup);if(!o)continue;!(!e||r.graphics3DGraphic.isVisible())||o.culled?(N(o.aabr,!1,!0),this._setGraphicVisibility(r,o.visible)):this._deconflictor.add(o)}return!1}_occludedVisibility(i,t,e,s){const r=Math.max(this._minAltitudeDifference,Math.abs(e-s))-this._minAltitudeDifference;return 0===i||t-i<=this._baseOccludedVisibility+this._altitudeFactor*r}_resetIterators(){this._checkOcclusionIterator=null,this._activeIterator=null}_ensureCheckOcclusionIterator(){return this._checkOcclusionIterator??=this._checkOcclusion.values(),this._checkOcclusionIterator}_ensureActiveGraphicsIterator(){return this._activeIterator??=this._active.values(),this._activeIterator}_ensureOcclusionQuery(){return this._occlusionQuery??=new M({view:this.view}),this._occlusionQueryUids.length||this._occlusionQuery.init(this._checkOcclusion.size,this._viewState.camera.eye),this._occlusionQuery}_projectHudLayer(i,t,e){const s=i.stageObject,r=s.geometries[0],o=r.material,c=x(s.boundingVolumeWorldSpace.bounds);l(B,c,t.viewMatrix);const n=r.attributes,a=n.get("normal").data,d=n.get("centerOffsetAndDistance").data;o.applyShaderOffsetsView(B,a,s.transformation,d,t,e.scaleInfo,B),_(Y,B[0],B[1],B[2],1),y(q,Y,t.projectionMatrix),h(e.positionNDC,q,1/q[3]),o.applyShaderOffsetsNDC(e.positionNDC,d,t,e.positionNDC,J),e.distanceWithoutPolygonOffset=t.depthNDCToWorld(J[2]),e.distance=J[2]===e.positionNDC[2]?e.distanceWithoutPolygonOffset:t.depthNDCToWorld(e.positionNDC[2]),_(q,e.positionNDC[0],e.positionNDC[1],e.positionNDC[2],1),y(Y,q,t.inverseProjectionMatrix),g(Y,Y,1/Y[3]),u(e.positionView,B[0],B[1],B[2])}_isCulledBySlice(i,t){return i.slicePlaneEnabled&&this._viewState.slicePlaneEnabled&&Q(this._viewState.slicePlane,t)}_expandBoundingRect(i,t,s,r,{positionNDC:o,scaleInfo:c}){const n=s.getScreenSize(ni);F(n,c.factor,n),n[0]*=t.pixelRatio,n[1]*=t.pixelRatio;const a=D(r.calculateRelativeScreenBounds(n,c.factorAlignment.scale*t.pixelRatio,ii),e(0,t.fullWidth,.5+.5*o[0]),e(0,t.fullHeight,.5+.5*o[1])),l=this.marginFactor;if(0!==l){const i=l*Math.min(G(a),I(a));a[0]-=i,a[1]-=i,a[2]+=i,a[3]+=i}k(i,a,i)}_setGraphicVisibility(i,t){const e=i?.graphics3DGraphic;e&&!e.destroyed&&(e.setVisibilityFlag(this.visibilityGroup,8,t),16===this.visibilityGroup&&this.view.labeler.setLabelGraphicVisibility(e,t))}};function ci(i,t){const e=i.graphics3DGraphic;e.destroyed||e.setVisibilityFlag(t,8,!0)}i([r({constructOnly:!0})],oi.prototype,"view",void 0),i([r({type:Boolean,readOnly:!0})],oi.prototype,"updating",null),i([r({readOnly:!0})],oi.prototype,"_updatingHandles",void 0),oi=i([o("esri.views.3d.layers.graphics.Deconflictor")],oi);const ni=a();class ai{constructor(){this.positionView=f(),this.positionNDC=f(),this.altitude=0,this.distance=0,this.distanceToOccluder=0,this.distanceWithoutPolygonOffset=0,this.scaleInfo=new W}get isOutsideScreen(){const i=this.positionNDC;return i[0]<-1||i[1]<-1||i[2]<-1||i[0]>=1||i[1]>=1||i[2]>=1}}function li(i,t,e){return d(Z.direction,i.positionView),u(Z.origin,0,0,0),!!T(t,Z,$)&&i.distanceWithoutPolygonOffset>e}function hi(i,t){return 16===t?i.labelLayers:i.layers}const ui=new ai;export{oi as Deconflictor,si as DeconflictorGraphic,ri as DeconflictorViewState};
@@ -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{copy as t}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{i as o}from"../../../../chunks/vec32.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{computeTranslationToOriginAndRotation as r}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBuffer as a}from"../../../../geometry/projection/projectBuffer.js";import{SampleElevationInfo as s,updateVertexPointGroundDistance as i}from"./elevationAlignmentUtils.js";import{debugFlags as l}from"../../support/debugFlags.js";import{SamplePosition as m}from"../../support/ElevationProvider.js";import{isGeometryWithMapPositions as f}from"../../webgl-engine/lib/GeometryWithMapPositions.js";import{VertexAttribute as c}from"../../webgl-engine/lib/VertexAttribute.js";function u(t,e,o,n,r){const a=t.stageObject,s=a.geometries;let i=0;for(const l of s){if(!f(l))continue;const{update:t,averageGeometrySampledElevation:s}=M(l,e,o,n,r);i+=s,t&&a.geometryVertexAttributeUpdated(l,c.POSITION)}return i/s.length}function p(e,n,a,s,m,f){const c=e.stageObject,u=n.centerPointInElevationSR;let p=0;if(c.usesVerticalDistanceToGround)s(u,E),i(c,E.verticalDistanceToGround),p=E.sampledElevation;else{s(u,E);"absolute-height"!==n.mode&&(p=E.sampledElevation)}const b=t(g,f??c.transformation),I=o(v,b[12],b[13],b[14]);l.TESTS_DISABLE_OPTIMIZATIONS?(T[0]=u.x,T[1]=u.y,T[2]=E.z,r(u.spatialReference,T,b,m.spatialReference)&&(f?t(f,b):c.transformation=b)):m.setAltitudeOfTransformation(E.z,b);const S=d/m.unitInMeters;return(Math.abs(b[12]-I[0])>=S||Math.abs(b[13]-I[1])>=S||Math.abs(b[14]-I[2])>=S)&&(f?t(f,b):c.transformation=b),p}const g=e();function b(t,e,n,a,s){const i=t.graphics3DSymbolLayer.lodRenderer;if(null==i)return 0;const m=e.centerPointInElevationSR;a(m,E);const f="absolute-height"!==e.mode?E.sampledElevation:0,c=i.instanceData,u=t.instanceIndex,p=h;c.getGlobalTransform(u,p);const g=o(v,p[12],p[13],p[14]);l.TESTS_DISABLE_OPTIMIZATIONS?(T[0]=m.x,T[1]=m.y,T[2]=E.z,r(m.spatialReference,T,p,s.spatialReference)&&c.setGlobalTransform(u,p)):s.setAltitudeOfTransformation(E.z,p);const b=d/s.unitInMeters;return(l.TESTS_DISABLE_OPTIMIZATIONS||Math.abs(p[12]-g[0])>=b||Math.abs(p[13]-g[1])>=b||Math.abs(p[14]-g[2])>=b)&&c.setGlobalTransform(u,p),f}function I(t,e,o,n,r){const a=t.stageObject,s=a.geometries;if(0===s.length)return 0;let i=0,l=null,m=0,u=!1;for(const p of s){if(!f(p))continue;const t=p.attributes.get(c.POSITION);if(t!==l){const{update:a,averageGeometrySampledElevation:s}=M(p,e,o,n,r);m=s,l=t,u=a}u&&a.geometryVertexAttributeUpdated(p,c.POSITION),i+=m}return i/s.length}const d=.01,T=n(),S=n(),O=n(),h=e(),v=n(),E=new s;function M(t,e,o,n,r){let s=!1;const i=t.transformation,f=e.requiresSampledElevationInfo;S[0]=i[12],S[1]=i[13],S[2]=i[14],t.invalidateBoundingInfo();const u=t.getMutableAttribute(c.POSITION),p=u.data,g=u.size,b=p.length/g,I=new m(t.mapPositions,o);let h=0,v=0;for(let m=0;m<b;m++){if(O[0]=p[h],O[1]=p[h+1],O[2]=p[h+2],n(I,E),f&&(v+=E.sampledElevation),l.TESTS_DISABLE_OPTIMIZATIONS)p[h]=I.array[I.offset],p[h+1]=I.array[I.offset+1],p[h+2]=E.z,a(p,o,h,p,r.spatialReference,h,1),p[h]-=S[0],p[h+1]-=S[1],p[h+2]-=S[2],s=!0;else{T[0]=p[h]+S[0],T[1]=p[h+1]+S[1],T[2]=p[h+2]+S[2],r.setAltitude(T,E.z),p[h]=T[0]-S[0],p[h+1]=T[1]-S[1],p[h+2]=T[2]-S[2];const t=d/r.unitInMeters;(Math.abs(O[0]-p[h])>=t||Math.abs(O[1]-p[h+1])>=t||Math.abs(O[2]-p[h+2])>=t)&&(s=!0)}h+=g,I.offset+=3}return v/=b,{update:s,averageGeometrySampledElevation:v}}export{b as perLodInstanceElevationAligner,p as perObjectElevationAligner,u as perVertexElevationAligner,I as sharedGeometryElevationAligner};
5
+ import{copy as t}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as e}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{i as o}from"../../../../chunks/vec32.js";import{create as n}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{computeTranslationToOriginAndRotation as a}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{projectBuffer as r}from"../../../../geometry/projection/projectBuffer.js";import{SampleElevationInfo as i,updateVertexPointGroundDistance as s}from"./elevationAlignmentUtils.js";import{debugFlags as l}from"../../support/debugFlags.js";import{SamplePosition as m}from"../../support/ElevationProvider.js";import{isGeometryWithMapPositions as c}from"../../webgl-engine/lib/GeometryWithMapPositions.js";function f(t,e,o,n,a){const r=t.stageObject,i=r.geometries;let s=0;for(const l of i){if(!c(l))continue;const{update:t,averageGeometrySampledElevation:i}=M(l,e,o,n,a);s+=i,t&&r.geometryVertexAttributeUpdated(l,"position")}return s/i.length}function p(e,n,r,i,m,c){const f=e.stageObject,p=n.centerPointInElevationSR;let g=0;if(f.usesVerticalDistanceToGround)i(p,E),s(f,E.verticalDistanceToGround),g=E.sampledElevation;else{i(p,E);"absolute-height"!==n.mode&&(g=E.sampledElevation)}const d=t(u,c??f.transformation),I=o(v,d[12],d[13],d[14]);l.TESTS_DISABLE_OPTIMIZATIONS?(T[0]=p.x,T[1]=p.y,T[2]=E.z,a(p.spatialReference,T,d,m.spatialReference)&&(c?t(c,d):f.transformation=d)):m.setAltitudeOfTransformation(E.z,d);const S=b/m.unitInMeters;return(Math.abs(d[12]-I[0])>=S||Math.abs(d[13]-I[1])>=S||Math.abs(d[14]-I[2])>=S)&&(c?t(c,d):f.transformation=d),g}const u=e();function g(t,e,n,r,i){const s=t.graphics3DSymbolLayer.lodRenderer;if(null==s)return 0;const m=e.centerPointInElevationSR;r(m,E);const c="absolute-height"!==e.mode?E.sampledElevation:0,f=s.instanceData,p=t.instanceIndex,u=h;f.getGlobalTransform(p,u);const g=o(v,u[12],u[13],u[14]);l.TESTS_DISABLE_OPTIMIZATIONS?(T[0]=m.x,T[1]=m.y,T[2]=E.z,a(m.spatialReference,T,u,i.spatialReference)&&f.setGlobalTransform(p,u)):i.setAltitudeOfTransformation(E.z,u);const d=b/i.unitInMeters;return(l.TESTS_DISABLE_OPTIMIZATIONS||Math.abs(u[12]-g[0])>=d||Math.abs(u[13]-g[1])>=d||Math.abs(u[14]-g[2])>=d)&&f.setGlobalTransform(p,u),c}function d(t,e,o,n,a){const r=t.stageObject,i=r.geometries;if(0===i.length)return 0;let s=0,l=null,m=0,f=!1;for(const p of i){if(!c(p))continue;const t=p.attributes.get("position");if(t!==l){const{update:r,averageGeometrySampledElevation:i}=M(p,e,o,n,a);m=i,l=t,f=r}f&&r.geometryVertexAttributeUpdated(p,"position"),s+=m}return s/i.length}const b=.01,T=n(),I=n(),S=n(),h=e(),v=n(),E=new i;function M(t,e,o,n,a){let i=!1;const s=t.transformation,c=e.requiresSampledElevationInfo;I[0]=s[12],I[1]=s[13],I[2]=s[14],t.invalidateBoundingInfo();const f=t.getMutableAttribute("position"),p=f.data,u=f.size,g=p.length/u,d=new m(t.mapPositions,o);let h=0,v=0;for(let m=0;m<g;m++){if(S[0]=p[h],S[1]=p[h+1],S[2]=p[h+2],n(d,E),c&&(v+=E.sampledElevation),l.TESTS_DISABLE_OPTIMIZATIONS)p[h]=d.array[d.offset],p[h+1]=d.array[d.offset+1],p[h+2]=E.z,r(p,o,h,p,a.spatialReference,h,1),p[h]-=I[0],p[h+1]-=I[1],p[h+2]-=I[2],i=!0;else{T[0]=p[h]+I[0],T[1]=p[h+1]+I[1],T[2]=p[h+2]+I[2],a.setAltitude(T,E.z),p[h]=T[0]-I[0],p[h+1]=T[1]-I[1],p[h+2]=T[2]-I[2];const t=b/a.unitInMeters;(Math.abs(S[0]-p[h])>=t||Math.abs(S[1]-p[h+1])>=t||Math.abs(S[2]-p[h+2])>=t)&&(i=!0)}h+=u,d.offset+=3}return v/=g,{update:i,averageGeometrySampledElevation:v}}export{g as perLodInstanceElevationAligner,p as perObjectElevationAligner,f as perVertexElevationAligner,d as sharedGeometryElevationAligner};
@@ -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{_ as e}from"../../../../chunks/tslib.es6.js";import{destroyMaybe as r}from"../../../../core/maybe.js";import{watch as t,initial as s,syncAndInitial as o,when as i}from"../../../../core/reactiveUtils.js";import{property as a}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{hydrateGeometry as l}from"../../../../layers/graphics/hydratedFeatures.js";import{FeatureTileController3D as c}from"../../../../layers/graphics/controllers/FeatureTileController3D.js";import{FeatureLayerViewPerformanceInfo as u}from"../FeatureLayerViewPerformanceInfo.js";import{Graphics3DGraphicsPipeline as p}from"./Graphics3DGraphicsPipeline.js";import{FeatureTileFetcher3DContext as h}from"../support/FeatureTileFetcher3DContext.js";import{EventedSet as m}from"../../support/EventedSet.js";import{UpdatePolicy as d}from"../../webgl-engine/lib/UpdatePolicy.js";let f=class extends p{constructor(e){super(e),this._controllerTotal=0,this._processorTotal=0,this._needsRefresh=!1,this.suspendResumeExtentMode="data"}initialize(){this.addHandles(t(()=>({controller:this.controller,suspended:this.suspended}),({controller:e,suspended:r})=>{e&&!r&&this._needsRefresh&&(e.refetch(),this._needsRefresh=!1)}))}destroy(){this._fetcherContext=r(this._fetcherContext)}get maximumNumberOfFeatures(){return this.controller?.maximumNumberOfFeatures??this._get("maximumNumberOfFeatures")}set maximumNumberOfFeatures(e){this._set("maximumNumberOfFeatures",e),this.controller&&(this.controller.maximumNumberOfFeatures=e)}get maximumNumberOfFeaturesExceeded(){return!!this.controller&&!(this.suspended||!this.controller.maximumNumberOfFeaturesExceeded)}get updatingProgressValue(){let e=0;if(this.controller?.updating){const r=this.controller.updatingRemaining,t=Math.max(this.controller.updatingTotal,this._controllerTotal);t>0&&(e=(t-r)/t,this._controllerTotal=t)}let r=0;if(this.processor?.updating){const e=this.processor.updatingRemaining,t=Math.max(e,this._processorTotal);t>0&&(r=(t-e)/t,this._processorTotal=t)}return.5*(e+r)}get updatePolicy(){if(!this.controller)return d.ASYNC;switch(this.controller.mode){case"snapshot":{const e=y.get(this.layer.geometryType);return null==e||this.controller.serviceDataCount>e?d.ASYNC:d.SYNC}case"tiles":return d.ASYNC}}get usedMemory(){return(this.processor?.usedMemory??0)+(this.controller?.memoryForUnusedFeatures??0)}get unloadedMemory(){const e=this.processor?.unprocessedMemoryEstimate??0,r=this.controller?.expectedFeatureDiff??0,t=this.processor?.loadedFeatures??0,s=t+r>0?t/(t+r):1;return e+r*(this.processor?.usedMemoryPerFeature??0)*s}get ignoresMemoryFactor(){return this.controller?.hasMaximumNumberOfFeaturesOverride}get performanceInfo(){const e=this.controller?.displayFeatureLimit,r=null!=e?e.averageSymbolComplexity:void 0,t=null!=r?`f:${r.verticesPerFeature},v:${r.verticesPerCoordinate}`:"n/a";return new u(super.performanceInfo,this.controller?.performanceInfo?.storedFeatures??0,this.controller?.performanceInfo?.totalVertices??0,this.maximumNumberOfFeaturesExceeded,this.controller?.mode??"n/a",t)}async doRefresh(e){const{controller:r,processor:t,suspended:s}=this;e&&r&&(s?this._needsRefresh=!0:(r.refetch(),this._needsRefresh=!1)),t.refreshFilter()}setVisibility(e,r){this.processor?.setObjectIdVisibility(e,r)}getMissingAttributesForFeature(e){return this.controller.getMissingAttributesForFeature(e)}getHydratedGeometry(e){const r=this.graphics3DProcessor;if(null==r)return null;const t=r.graphics3DGraphicsByObjectID;if(null==t)return null;const s=t.get(e);return null==s?null:l(s.graphic.geometry)}createController(){this._fetcherContext=new h({layerView:this.layerView,returnZ:this.hasZ,returnM:this.hasM});const e=new c({layerView:this.layerView,context:this._fetcherContext,graphics:new m,extent:this.clippingExtent});return this.updatingHandles.add(()=>e.serviceDataExtent,e=>{this.processor&&(this.processor.dataExtent=e)},s),this.addHandles(t(()=>this.suspended&&this.layerView.updateSuspended,r=>{r?e.suspend():e.resume()},o)),this.updatingHandles.add(()=>this.processor?.displayFeatureLimit,r=>e.displayFeatureLimit=r,s),this.addHandles(i(()=>!this.updating,()=>{this._controllerTotal=0,this._processorTotal=0})),e}beforeSetController(e){e.maximumNumberOfFeatures=this.maximumNumberOfFeatures}get test(){return{controller:this.controller,graphics3DProcessor:this.graphics3DProcessor,heatmapProcessor:this.heatmapProcessor,loadedGraphics:this.loadedGraphics}}};e([a()],f.prototype,"layerView",void 0),e([a()],f.prototype,"controller",void 0),e([a()],f.prototype,"_controllerTotal",void 0),e([a()],f.prototype,"_processorTotal",void 0),e([a()],f.prototype,"_needsRefresh",void 0),e([a()],f.prototype,"maximumNumberOfFeatures",null),e([a()],f.prototype,"maximumNumberOfFeaturesExceeded",null),e([a()],f.prototype,"updatingProgressValue",null),e([a()],f.prototype,"updatePolicy",null),e([a()],f.prototype,"suspendResumeExtentMode",void 0),f=e([n("esri.views.3d.layers.graphics.FeatureGraphics3DGraphicsPipeline")],f);const y=new Map([["point",5e3],["polygon",500],["polyline",1e3]]);export{f as FeatureGraphics3DGraphicsPipeline};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import{destroyMaybe as r}from"../../../../core/maybe.js";import{watch as t,initial as s,syncAndInitial as o,when as i}from"../../../../core/reactiveUtils.js";import{property as a}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as n}from"../../../../core/accessorSupport/decorators/subclass.js";import{hydrateGeometry as l}from"../../../../layers/graphics/hydratedFeatures.js";import{FeatureTileController3D as u}from"../../../../layers/graphics/controllers/FeatureTileController3D.js";import{FeatureLayerViewPerformanceInfo as c}from"../FeatureLayerViewPerformanceInfo.js";import{Graphics3DGraphicsPipeline as p}from"./Graphics3DGraphicsPipeline.js";import{FeatureTileFetcher3DContext as h}from"../support/FeatureTileFetcher3DContext.js";import{EventedSet as m}from"../../support/EventedSet.js";let d=class extends p{constructor(e){super(e),this._controllerTotal=0,this._processorTotal=0,this._needsRefresh=!1,this.suspendResumeExtentMode="data"}initialize(){this.addHandles(t(()=>({controller:this.controller,suspended:this.suspended}),({controller:e,suspended:r})=>{e&&!r&&this._needsRefresh&&(e.refetch(),this._needsRefresh=!1)}))}destroy(){this._fetcherContext=r(this._fetcherContext)}get maximumNumberOfFeatures(){return this.controller?.maximumNumberOfFeatures??this._get("maximumNumberOfFeatures")}set maximumNumberOfFeatures(e){this._set("maximumNumberOfFeatures",e),this.controller&&(this.controller.maximumNumberOfFeatures=e)}get maximumNumberOfFeaturesExceeded(){return!!this.controller&&!(this.suspended||!this.controller.maximumNumberOfFeaturesExceeded)}get updatingProgressValue(){let e=0;if(this.controller?.updating){const r=this.controller.updatingRemaining,t=Math.max(this.controller.updatingTotal,this._controllerTotal);t>0&&(e=(t-r)/t,this._controllerTotal=t)}let r=0;if(this.processor?.updating){const e=this.processor.updatingRemaining,t=Math.max(e,this._processorTotal);t>0&&(r=(t-e)/t,this._processorTotal=t)}return.5*(e+r)}get updatePolicy(){if(!this.controller)return 0;switch(this.controller.mode){case"snapshot":{const e=f.get(this.layer.geometryType);return null==e||this.controller.serviceDataCount>e?0:1}case"tiles":return 0}}get usedMemory(){return(this.processor?.usedMemory??0)+(this.controller?.memoryForUnusedFeatures??0)}get unloadedMemory(){const e=this.processor?.unprocessedMemoryEstimate??0,r=this.controller?.expectedFeatureDiff??0,t=this.processor?.loadedFeatures??0,s=t+r>0?t/(t+r):1;return e+r*(this.processor?.usedMemoryPerFeature??0)*s}get ignoresMemoryFactor(){return this.controller?.hasMaximumNumberOfFeaturesOverride}get performanceInfo(){const e=this.controller?.displayFeatureLimit,r=null!=e?e.averageSymbolComplexity:void 0,t=null!=r?`f:${r.verticesPerFeature},v:${r.verticesPerCoordinate}`:"n/a";return new c(super.performanceInfo,this.controller?.performanceInfo?.storedFeatures??0,this.controller?.performanceInfo?.totalVertices??0,this.maximumNumberOfFeaturesExceeded,this.controller?.mode??"n/a",t)}async doRefresh(e){const{controller:r,processor:t,suspended:s}=this;e&&r&&(s?this._needsRefresh=!0:(r.refetch(),this._needsRefresh=!1)),t.refreshFilter()}setVisibility(e,r){this.processor?.setObjectIdVisibility(e,r)}getMissingAttributesForFeature(e){return this.controller.getMissingAttributesForFeature(e)}getHydratedGeometry(e){const r=this.graphics3DProcessor;if(null==r)return null;const t=r.graphics3DGraphicsByObjectID;if(null==t)return null;const s=t.get(e);return null==s?null:l(s.graphic.geometry)}createController(){this._fetcherContext=new h({layerView:this.layerView,returnZ:this.hasZ,returnM:this.hasM});const e=new u({layerView:this.layerView,context:this._fetcherContext,graphics:new m,extent:this.clippingExtent});return this.updatingHandles.add(()=>e.serviceDataExtent,e=>{this.processor&&(this.processor.dataExtent=e)},s),this.addHandles(t(()=>this.suspended&&this.layerView.updateSuspended,r=>{r?e.suspend():e.resume()},o)),this.updatingHandles.add(()=>this.processor?.displayFeatureLimit,r=>e.displayFeatureLimit=r,s),this.addHandles(i(()=>!this.updating,()=>{this._controllerTotal=0,this._processorTotal=0})),e}beforeSetController(e){e.maximumNumberOfFeatures=this.maximumNumberOfFeatures}get test(){return{controller:this.controller,graphics3DProcessor:this.graphics3DProcessor,heatmapProcessor:this.heatmapProcessor,loadedGraphics:this.loadedGraphics}}};e([a()],d.prototype,"layerView",void 0),e([a()],d.prototype,"controller",void 0),e([a()],d.prototype,"_controllerTotal",void 0),e([a()],d.prototype,"_processorTotal",void 0),e([a()],d.prototype,"_needsRefresh",void 0),e([a()],d.prototype,"maximumNumberOfFeatures",null),e([a()],d.prototype,"maximumNumberOfFeaturesExceeded",null),e([a()],d.prototype,"updatingProgressValue",null),e([a()],d.prototype,"updatePolicy",null),e([a()],d.prototype,"suspendResumeExtentMode",void 0),d=e([n("esri.views.3d.layers.graphics.FeatureGraphics3DGraphicsPipeline")],d);const f=new Map([["point",5e3],["polygon",500],["polyline",1e3]]);export{d as FeatureGraphics3DGraphicsPipeline};
@@ -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{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import{isSome as i}from"../../../../core/arrayUtils.js";import"../../../../core/has.js";import r from"../../../../core/Error.js";import s from"../../../../core/Logger.js";import{findInMap as a}from"../../../../core/MapUtils.js";import{abortMaybe as n,removeMaybe as o,destroyMaybe as l,disposeMaybe as h}from"../../../../core/maybe.js";import{MinPriority as d}from"../../../../core/MemCache.js";import p from"../../../../core/PooledArray.js";import{throwIfAborted as c,ignoreAbortErrors as y,createResolver as g,isAbortError as u}from"../../../../core/promiseUtils.js";import{when as m,watch as b,on as _,syncAndInitial as f,whenOnce as v}from"../../../../core/reactiveUtils.js";import{schedule as C}from"../../../../core/scheduling.js";import{property as S}from"../../../../core/accessorSupport/decorators/property.js";import{subclass as G}from"../../../../core/accessorSupport/decorators/subclass.js";import{diff as w,isEmpty as x}from"../../../../core/accessorSupport/diffUtils.js";import{i as P,f as R,g as D}from"../../../../chunks/vec32.js";import{create as E}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import U from"../../../../geometry/Extent.js";import I from"../../../../geometry/Point.js";import{canProjectWithoutEngine as A}from"../../../../geometry/projectionUtils.js";import{projectBuffer as L}from"../../../../geometry/projection/projectBuffer.js";import{projectVectorToVector as O}from"../../../../geometry/projection/projectVectorToVector.js";import{projectXYZToVector as V}from"../../../../geometry/projection/projectXYZToVector.js";import{center as j,create as F,fromRect as T,equals as M}from"../../../../geometry/support/aaBoundingBox.js";import{create as k}from"../../../../geometry/support/aaBoundingRect.js";import{equals as z}from"../../../../geometry/support/spatialReferenceUtils.js";import W from"../../../../layers/Layer.js";import{getObjectId as H,computeAABB as N,hasGeometry as B}from"../../../../layers/graphics/dehydratedFeatures.js";import{hydrateGraphic as q}from"../../../../layers/graphics/hydratedFeatures.js";import{PromiseQueue as Y}from"../../../../layers/support/PromiseQueue.js";import Q from"../../../../renderers/UniqueValueRenderer.js";import{isSupportedRenderer3D as $,validateTo3D as Z}from"../../../../renderers/support/rendererConversion.js";import{RenderingInfo as J}from"../../../../renderers/support/RenderingInfo.js";import{isBasemapLayerView as X}from"../../../../support/basemapUtils.js";import{loadArcade as K}from"../../../../support/loadArcade.js";import ee from"../../../../symbols/LabelSymbol3D.js";import te from"../../../../symbols/TextSymbol.js";import ie from"../../../../symbols/WebStyleSymbol.js";import{getDefaultSymbol3D as re}from"../../../../symbols/support/defaults3D.js";import{to3D as se}from"../../../../symbols/support/symbolConversion.js";import{averageSymbolComplexities as ae,defaultSymbolComplexity as ne}from"./defaultSymbolComplexity.js";import{DisplayFeatureLimit as oe}from"./DisplayFeatureLimit.js";import{ViewElevationProvider as le}from"./ElevationQuery.js";import{VisibilityGroup as he,VisibilityFlag as de}from"./enums.js";import{extractExpressionInfo as pe,createContext as ce}from"./featureExpressionInfoUtils.js";import{Graphics3DFeatureStore as ye}from"./Graphics3DFeatureStore.js";import{Graphics3DGraphicCreationContext as ge}from"./Graphics3DGraphicCreationContext.js";import{Graphics3DSymbolCreationContext as ue}from"./Graphics3DSymbolCreationContext.js";import{make as me}from"./Graphics3DSymbolFactory.js";import{Graphics3DWebStyleSymbol as be}from"./Graphics3DWebStyleSymbol.js";import{GraphicsCorePerformanceInfo as _e}from"./GraphicsCorePerformanceInfo.js";import{GraphicStateTracking as fe}from"./GraphicStateTracking.js";import{computeCentroid as ve}from"./graphicUtils.js";import{FastUpdateStatus as Ce,ApplyRendererDiffResult as Se}from"./interfaces.js";import{LoadStatus as Ge}from"./Loadable.js";import{SpatialIndex2D as we}from"./SpatialIndex2D.js";import{StageLayerElevationProvider as xe}from"../support/StageLayerElevationProvider.js";import{toBoundingRect as Pe}from"../../support/extentUtils.js";import{GridLocalOriginFactory as Re}from"../../webgl-engine/lib/GridLocalOriginFactory.js";import{UpdatePolicy as De}from"../../webgl-engine/lib/UpdatePolicy.js";import{affectsGeometry as Ee}from"../../webgl-engine/lib/VertexAttribute.js";import{WebGLLayer as Ue}from"../../webgl-engine/lib/WebGLLayer.js";import{hasPopupTemplate as Ie}from"../../../layers/support/popupUtils.js";import{PropertiesPool as Ae}from"../../../support/PropertiesPool.js";import{ImmediateTask as Le,noBudget as Oe,TaskPriority as Ve}from"../../../support/Scheduler.js";import{TextureCompressionTracker as je}from"../../../support/TextureCompressionTracker.js";import{Yield as Fe}from"../../../support/Yield.js";import{alphaCutoff as Te}from"../../../../webscene/support/AlphaCutoff.js";var Me;const ke=E(),ze=F();let We=class extends t{static{Me=this}static{this.tmpVec=E()}get _viewSpatialReference(){return this.owner.view.spatialReference}get spatialIndex(){return this._spatialIndex||(this._spatialIndex=new we({objectIdField:this.owner.layer?.objectIdField,spatialReference:this._viewSpatialReference,hasZ:!!this.hasZ,hasM:!!this.hasM}),this._spatialIndex.setup(Array.from(this.graphics3DGraphics.values()))),this._spatialIndex.update(),this._spatialIndex}get deconflictor(){return this._deconflictor}get labeler(){return this._labeler}get numberOfGraphics(){return this._numberOfGraphics}get effectiveUpdatePolicy(){return null!=this.currentRenderer&&"dictionary"===this.currentRenderer.type?De.ASYNC:this._forcedUpdatePolicy??this.preferredUpdatePolicy}get featureStore(){return this._featureStore}get initializePromise(){return this._initializePromise}get scaleVisibility(){return this._scaleVisibility}get elevationAlignment(){return this._elevationAlignment}get objectStates(){return this._objectStates}get filterVisibility(){return this._filterVisibility}get updating(){return!!(this.dataUpdating||this._elevationAlignment?.updating||this._scaleVisibility?.updating||this._filterVisibility?.updating||this._rendererChangeAbortController||this._elevationInfoChangeAbortController||this._frameTaskHandle.updating||this._updateQueue.updating||this.running)}get dataUpdating(){return!!(this._graphicsWaitingForSymbol.size>0||this._pendingUpdates.size>0||this._spatialIndex?.updating||this._updatingPendingLoadedGraphicsChange||this._dataUpdateQueue.updating||this._loadingSymbols>0||this.compressionTracker.compressing)}get running(){return this._pendingUpdates.size>0||!!this._spatialIndex?.updating||this._dataUpdateQueue.running||this._updateQueue.running}get suspendedOrOutsideOfView(){return this.owner.suspended||!!this.owner.suspendInfo?.outsideOfView}get updatingRemaining(){return this.updating?this._pendingUpdates.size+.1*(this._spatialIndex?.updatingRemaining||0)+.1*(this._elevationAlignment?.updatingRemaining||0):0}get displayFeatureLimit(){const e=this.owner&&this.owner.view&&this.owner.view.qualitySettings,t=e?.graphics3D.minTotalNumberOfFeatures??0,i=e?.graphics3D.maxTotalNumberOfFeatures??0,r=e?.graphics3D.maxNumberOfDrawCalls??0,s=e?.graphics3D.maxTotalNumberOfVertices??0,a=this.averageSymbolComplexity,n=Math.max(1,a?.verticesPerFeature??1),o=a&&a.drawCallsPerFeature>0&&r>0?r/a.drawCallsPerFeature:i,l=Math.ceil(s/n),h=Math.max(t,Math.min(i,l,o)),d=this._get("displayFeatureLimit");return d&&d.maximumTotalNumberOfVertices===s&&d.averageSymbolComplexity===a&&d.maximumNumberOfFeatures===h?d:new oe(s,h,a)}get averageSymbolComplexity(){const e=ae(this._symbolComplexities),t=this._get("averageSymbolComplexity");return 0===e.numComplexities||null!=t&&(e.estimated&&(t.verticesPerFeature>=e.verticesPerFeature||t.verticesPerCoordinate>=e.verticesPerCoordinate||t.drawCallsPerFeature>=e.drawCallsPerFeature)||t.verticesPerFeature===e.verticesPerFeature&&t.verticesPerCoordinate===e.verticesPerCoordinate&&t.drawCallsPerFeature===e.drawCallsPerFeature)?t:e}get usedMemory(){const e=this.labelsEnabled?(this.averageSymbolComplexity?.memory.bytesPerFeatureLabel??0)*this._numberOfGraphics:0,t=this._getSymbolComplexitiesUsed().reduce((e,t)=>e+t.memory.resourceBytes,0);if(null==this._symbolMaterials){this._symbolMaterials=[];for(const e of this._symbols.values())if(null!=e)for(const t of e.symbolLayers)if(t)for(const e of t.materials)e&&this._symbolMaterials.push(e)}const i=this.owner.view.stage.renderer,r=this.owner.view.basemapTerrain.overlayManager.renderer,s=this._symbolMaterials.reduce((e,t)=>e+((i.getMaterialRenderer(t)||r.getMaterialRenderer(t))?.usedMemory??0),0);return this._usedMemory+e+t+s}get usedMemoryPerGraphic(){if(this._usedMemory&&this._numberOfGraphics){const e=this._numberOfGraphics/(this._numberOfGraphics+Math.max(this._pendingAdds,this._pendingRemoves));return this._usedMemory/this._numberOfGraphics*e}if(null!=this.averageSymbolComplexity){const e=this.labelsEnabled?this.averageSymbolComplexity.memory.bytesPerFeatureLabel:0;return this.averageSymbolComplexity.memory.bytesPerFeature+e}return 0}get unprocessedMemoryEstimate(){return(this._pendingAdds-this._pendingRemoves)*this.usedMemoryPerGraphic}get _symbolComplexities(){return this.currentRenderer?this._getSymbolComplexitiesUsedOrRenderer(this.currentRenderer):this._getSymbolComplexitiesUsed()}get visible(){return this._visible}_getConvertedSymbol(e){const t=e;if("web-style"===t.type)return t.clone();const i=this._symbolConversionCache.get(t.id);if(null!=i)return i;const r=se(t,{geometryType:this.layer?.geometryType??void 0,retainId:!0,hasLabelingContext:this._hasLabelingContext(t),cimFallbackEnabled:!0}),a=r.symbol||null;return null==a&&r.error&&s.getLogger(this).error(r.error.message),this._symbolConversionCache.set(t.id,a),a}_getSymbolComplexitiesUsedOrRenderer(e){if(null==e)return[];const t=e.symbols,i="backgroundFillSymbol"in e?e.backgroundFillSymbol:null;if(!i&&!t.length)return[];const r=[],s=this._getSymbolComplexityUsedOrRenderer(i);null!=s&&r.push(s);for(const a of t){const e=this._getSymbolComplexityUsedOrRenderer(a);null!=e&&r.push(e)}return r}_getSymbolComplexityUsedOrRenderer(e){if(null==e)return null;const t=this._symbols.get(e.id);if(null!=t)return t.complexity;const i=this._getConvertedSymbol(e);return null!=i?ne(i):null}_getSymbolComplexitiesUsed(){const e=[];return this._symbols.forEach(t=>{null!=t&&e.push(t.complexity)}),e}get _objectIdField(){return this.layer.objectIdField}constructor(e){super(e),this._propertiesPool=new Ae({computedExtent:U},this),this.computedExtent=null,this.currentRenderer=null,this.rendererHasGeometryOperations=!1,this._graphicStateTracking=null,this.graphics3DGraphics=new Map,this.stageLayer=null,this.stage=null,this._graphicsDrapedUids=new Set,this._graphicsBySymbol=new Map,this._symbolConversionCache=new Map,this._symbols=new Map,this._graphicsWithoutSymbol=new Map,this._graphicsWaitingForSymbol=new Map,this._graphicsUpdateId=0,this._frameTaskHandle=Le,this._dataUpdateQueue=new Y,this._updateQueue=new Y,this._suspendSymbolCleanup=!1,this._arcadeOnDemand=null,this._rendererChangeAbortController=null,this._elevationInfoChangeAbortController=null,this._initializeAbortController=null,this._elevationAlignment=null,this._scaleVisibility=null,this._filterVisibility=null,this._spatialIndex=null,this.extentPadding=0,this._updatingPendingLoadedGraphicsChange=null,this._featureStore=null,this._deconflictor=null,this._labeler=null,this._objectStates=null,this._viewElevationProvider=null,this._stageLayerElevationProvider=null,this._sharedSymbolResourcesOwnerHandle=null,this._whenGraphics3DGraphicRequests={},this._pendingUpdates=new Map,this._numberOfGraphics=0,this._numberOfGraphicsProvidingElevation=0,this._pendingAdds=0,this._pendingRemoves=0,this._applyPendingRemovesFirst=!1,this._loadingSymbols=0,this._pendingUpdatesPool=new p({allocator:e=>e||new Ne,deallocator:e=>(e.clear(),e)}),this.compressionTracker=new je,this._symbolWarningLogged=!1,this._geometryWarningLogged=!1,this._objectIdInvisibleSet=new Set,this._whenSymbolRemoved=new p,this.preferredUpdatePolicy=De.SYNC,this._forcedUpdatePolicy=null,this.elevationFeatureExpressionEnabled=!0,this.owner=null,this.layer=null,this.graphicSymbolSupported=!0,this.getRenderingInfoWithoutRenderer=!1,this.setUidToIdOnAdd=!0,this.hasZ=null,this.hasM=null,this._usedMemory=0,this._visible=!1,this._startCreateGraphics=!1,this._unusedSymbolsCache=e.owner.view.resourceController.memoryController.newCache("graphics-3d-unused-symbols",e=>e.destroy()),this.symbolCreationContext=new ue(e.owner.view.resourceController.scheduler,(e,t)=>this._updateQueue.push(e,t),e.owner.layerViewUid,this.compressionTracker)}initialize(){this._featureStore=new ye({objectIdField:this.owner.layer?.objectIdField,hasZ:!!this.hasZ,hasM:!!this.hasM,viewSpatialReference:this._viewSpatialReference,featureSpatialReference:this.owner.featureSpatialReference,getSpatialIndex:()=>this.spatialIndex,forEach:e=>this.graphics3DGraphics.forEach(e)});const e=(e,t,i)=>this.spatialIndex.queryGraphicUIDsInExtent(e,t,i),{componentFactories:t}=this;this._elevationAlignment=t.elevationAlignment?.(this,e),this._scaleVisibility=t.scaleVisibility?.(this,e),this._filterVisibility=t.filterVisibility?.({featureStore:this._featureStore,getFeatureCount:()=>this.graphics3DGraphics.size,updateFeatureVisibilities:e=>this.modifyGraphics3DGraphicVisibilities(t=>t.setVisibilityFlag(he.GRAPHIC,de.FILTER,e(H(t.graphic,this._objectIdField)))),setAllFeaturesVisibility:e=>this.modifyGraphics3DGraphicVisibilities(t=>t.setVisibilityFlag(he.GRAPHIC,de.FILTER,e)),clearFeaturesVisibility:()=>this.modifyGraphics3DGraphicVisibilities(e=>e.setVisibilityFlag(he.GRAPHIC,de.FILTER,!0))}),this._deconflictor=t.deconflictor?.(this),this._labeler=t.labeler?.(this,this._scaleVisibility),this._objectStates=t.objectStates?.(this),this._initializeAbortController=new AbortController,this.addHandles(m(()=>this.owner.view.state.highlights,()=>{const{highlightOrderMap:e}=this.owner.view.state;this.graphics3DGraphics.forEach(t=>t.updateHighlights(e))})),this._initializePromise=this._initializeAsync()}async _initializeAsync(){const e=this._initializeAbortController?.signal,t=this.owner.view;this._viewElevationProvider=new le(this._viewSpatialReference,t),this._initializeStage(t,this.owner.layerViewUid);const i=t.sharedSymbolResources;this.symbolCreationContext.sharedResources=i,this._sharedSymbolResourcesOwnerHandle=i.addGraphicsOwner(this.owner),null!=this.currentRenderer&&(this.symbolCreationContext.renderer=this.currentRenderer),this.symbolCreationContext.stage=this.stage,this.symbolCreationContext.streamDataRequester=i.streamDataRequester,this.symbolCreationContext.renderCoordsHelper=t.renderCoordsHelper,this.symbolCreationContext.layer=this.layer,this.symbolCreationContext.graphicsCoreOwner=this.owner,this.symbolCreationContext.localOriginFactory=new Re(t.renderSpatialReference),this.symbolCreationContext.elevationProvider=t.elevationProvider,this.symbolCreationContext.notifyGraphicGeometryChanged=e=>this.notifyGraphicGeometryChanged(e),this.symbolCreationContext.notifyGraphicVisibilityChanged=e=>this.notifyGraphicVisibilityChanged(e);const r=pe(this.layer.elevationInfo,this.elevationFeatureExpressionEnabled);if(this.symbolCreationContext.featureExpressionInfoContext=await ce(r,this._viewSpatialReference,e,s.getLogger(this)),c(e),this.symbolCreationContext.screenSizePerspectiveEnabled=t.screenSizePerspectiveEnabled&&!!this.layer.screenSizePerspectiveEnabled,this.symbolCreationContext.slicePlaneEnabled=!!this.owner.slicePlaneEnabled,this.symbolCreationContext.physicalBasedRenderingEnabled=!!this.owner.view.qualitySettings?.physicallyBasedRenderingEnabled,this.symbolCreationContext.skipHighSymbolLods=!!this.owner.view.qualitySettings?.graphics3D?.skipHighSymbolLods,"drapeSourceType"in this.owner){const{owner:e}=this;this.symbolCreationContext.drapeSourceRenderer=t.basemapTerrain.overlayManager.registerGeometryDrapeSource(e)}this.addHandles([b(()=>this.suspendedOrOutsideOfView,()=>this._updateQueue.unshift(()=>this._updateLayerVisibility(),null).catch(y)),b(()=>[this.layer?.screenSizePerspectiveEnabled,this.owner.view?.screenSizePerspectiveEnabled],()=>{const e=t.screenSizePerspectiveEnabled&&!!this.layer.screenSizePerspectiveEnabled;e!==this.symbolCreationContext.screenSizePerspectiveEnabled&&(this.symbolCreationContext.screenSizePerspectiveEnabled=e,this._labeler?.reset(),this.recreateAllGraphicsAndSymbols())}),b(()=>this.owner.slicePlaneEnabled,e=>this._slicePlaneEnabledChange(!!e)),b(()=>this.owner.view.state?.rasterPixelRatio,()=>this._pixelRatioChange()),b(()=>!!this.owner.view.qualitySettings?.physicallyBasedRenderingEnabled,e=>this._physicalBasedRenderingChange(e)),b(()=>!!this.owner.view.qualitySettings?.graphics3D?.skipHighSymbolLods,e=>this._skipHighSymbolLoDsChange(e)),b(()=>this.owner.view.focusAreasView?.polygons,()=>this._updateFocusedLabels()),b(()=>this.owner.view.map?.focusAreas.style,()=>this.recreateAllGraphicsAndSymbols()),m(()=>t.basemapTerrain?.tilingScheme,e=>{if(e.spatialReference.equals(this.symbolCreationContext.overlaySR)||null==t.basemapTerrain.spatialReference||(this.symbolCreationContext.overlaySR=t.basemapTerrain.spatialReference),this.hasHandles("loaded-graphics"))this.recreateAllGraphics();else{const e=()=>this.owner?.loadedGraphics;this.addHandles([_(e,"change",e=>{this._graphicsCollectionChanged(e),this._signalUpdatingDuringAsyncLoadedGraphicsChange()},{onListenerAdd:()=>{this.recreateAllGraphics(),this._signalUpdatingDuringAsyncLoadedGraphicsChange()}})],"loaded-graphics")}},{initial:!0}),b(()=>this.effectiveUpdatePolicy,e=>{null!=this.stageLayer&&(this.stageLayer.updatePolicy=e),this.symbolCreationContext.isAsync=this.effectiveUpdatePolicy===De.ASYNC,e===De.SYNC&&this.runTask(Oe)},f)]),this._frameTaskHandle=t.resourceController.scheduler.registerTask(Ve.GRAPHICS_CORE,this),this.layer&&"featureReduction"in this.layer&&this.addHandles(b(()=>this.layer.featureReduction,()=>this._deconflictor?.featureReductionChange())),this.notifyChange("averageSymbolComplexity"),this.rendererChange(this.owner.renderer).catch(()=>{}),this._initializeAbortController=null}_abortInitialize(){this._initializeAbortController=n(this._initializeAbortController)}_updateFocusedLabels(){this.forEachGraphics3DSymbol((e,t)=>{t&&e.updateFocus(({graphic:e})=>this.recreateGraphics([e]),t)})}destroy(){if(this._unusedSymbolsCache.destroy(),this._abortInitialize(),this._rendererChangeAbortController=n(this._rendererChangeAbortController),this._abortElevationInfoChange(),this._frameTaskHandle.remove(),this._frameTaskHandle=Le,this._dataUpdateQueue.cancelAll(),this._updateQueue.cancelAll(),this._deconflictor=o(this._deconflictor),this._labeler=o(this._labeler),this._elevationAlignment=l(this._elevationAlignment),this._scaleVisibility=l(this._scaleVisibility),this._filterVisibility=l(this._filterVisibility),this._objectStates=l(this._objectStates),this.clear(),"drapeSourceType"in this.owner){const{owner:e}=this;this.stage.view.basemapTerrain.overlayManager.unregisterDrapeSource(e)}this._featureStore=l(this._featureStore),this._updatingPendingLoadedGraphicsChange=o(this._updatingPendingLoadedGraphicsChange),this._graphicStateTracking=l(this._graphicStateTracking),this.stage&&(this.stageLayer=l(this.stageLayer),this.stage=null),this._set("owner",null);for(const e in this._whenGraphics3DGraphicRequests)this._whenGraphics3DGraphicRequests[e].reject(new r("graphic:layer-destroyed","Layer has been destroyed"));this._whenGraphics3DGraphicRequests=null,this._sharedSymbolResourcesOwnerHandle=o(this._sharedSymbolResourcesOwnerHandle),this._propertiesPool=l(this._propertiesPool),this._pendingUpdatesPool.prune(),this._pendingUpdatesPool=null,this._whenSymbolRemoved.prune(),this._symbolConversionCache.clear(),this._objectIdInvisibleSet.clear(),this._spatialIndex=l(this._spatialIndex),this._symbolMaterials=null}clear(){this._objectStates?.allGraphicsDeleted(),null!=this._graphicStateTracking&&this._graphicStateTracking.allGraphicsDeleted(),this.graphics3DGraphics.forEach(e=>e.destroy()),this._spatialIndex?.clear(),this.graphics3DGraphics.clear(),this._numberOfGraphics=0,this._usedMemory=0,this._updateLayerVisibility(),this._symbols.forEach(l),this._symbols.clear(),this._symbolMaterials&&(this._symbolMaterials.length=0,this._symbolMaterials=null),this._graphicsBySymbol.clear(),this._graphicsWithoutSymbol.clear(),this._graphicsWaitingForSymbol.clear(),this._pendingUpdates.clear(),this._pendingUpdatesPool.clear(),this._pendingAdds=0,this._pendingRemoves=0,this._applyPendingRemovesFirst=!1,this.notifyChange("dataUpdating"),this.notifyChange("running"),this.notifyChange("updatingRemaining"),this._featureStore.events.emit("changed"),this.owner.notifyContentGeometryUpdate?.()}_initializeStage(e,t){this.stage=e.stage,this.stageLayer=new Ue(this.stage,{visible:!this.suspendedOrOutsideOfView,updatePolicy:this.effectiveUpdatePolicy},t);const i=this.stageLayer.events;i.on("transformationChanged",e=>this.notifyGraphicGeometryChanged(e.graphicUid)),i.on("shaderTransformationChanged",e=>this.notifyGraphicGeometryChanged(e.graphicUid)),i.on("visibilityChanged",e=>this.notifyGraphicVisibilityChanged(e.graphicUid)),i.on("geometryAdded",e=>this.notifyGraphicGeometryChanged(e.object.graphicUid)),i.on("geometryRemoved",e=>this.notifyGraphicGeometryChanged(e.object.graphicUid)),i.on("attributesChanged",e=>Ee(e.attribute)&&this.notifyGraphicGeometryChanged(e.object.graphicUid))}notifyGraphicGeometryChanged(e){if(null==this._graphicStateTracking||null==e)return;const t=this.graphics3DGraphics.get(e);t&&this._graphicStateTracking.updateGraphicGeometry(t)}notifyGraphicVisibilityChanged(e){if(null==this._graphicStateTracking||null==e)return;const t=this.graphics3DGraphics.get(e);t&&this._graphicStateTracking.updateGraphicVisibility(t)}_updateLayerVisibility(){const e=this.displayFeatureLimit.maximumNumberOfFeatures,t=this._numberOfGraphics>e*Be,i=!this.suspendedOrOutsideOfView&&!t;i!==this._visible&&(this._visible=i,this._updateStageLayerVisibility())}_updateStageLayerVisibility(){const e=this._visible&&(null==this.layer.opacity||this.layer.opacity>=Te);this.stageLayer.visible!==e&&(this.stageLayer.visible=e,e?this.updateGraphicsVisibilities():this._hideAllGraphics(),this.owner.notifyContentGeometryUpdate?.())}getGraphics3DGraphicById(e){return null!=e?this.graphics3DGraphics.get(e):void 0}getGraphics3DGraphicByObjectId(e){return this.owner.layer?.objectIdField?this._findGraphics3DGraphicByObjectId(e):null}_getGraphicObjectID(e,t=this.owner.layer?.objectIdField){return H(e,t)}get graphics3DGraphicsByObjectID(){const e=this.owner.layer?.objectIdField;if(!e)return;const t=new Map;return this.graphics3DGraphics.forEach(i=>{if(!i)return;const r=i.graphic,s=this._getGraphicObjectID(r,e);null!=s&&t.set(s,i)}),t}get labelsEnabled(){return!!this._labeler?.layerLabelsEnabled()}async updateLabelingInfo(e){const t=this._deconflictor?.labelingInfoChange(e),i=this._labeler?.labelingInfoChange(e);await Promise.allSettled([t,i])}updateVisibilityInfo(){this._deconflictor?.labelingInfoChange(),this._labeler?.visibilityInfoChange()}get symbolUpdateType(){if(this._pendingUpdates.size>0)return"unknown";let e=!1,t=!1;for(const[i,r]of this._symbols)if(null!=r){switch(r.getFastUpdateStatus()){case Ce.Loading:return"unknown";case Ce.Fast:this._graphicsBySymbol.has(i)&&(t=!0);break;case Ce.Slow:this._graphicsBySymbol.has(i)&&(e=!0);break;case Ce.Mixed:this._graphicsBySymbol.has(i)&&(t=e=!0);case Ce.Undefined:}}return t?e?"mixed":"fast":e?"slow":"mixed"}runTask(e){if(this._dataUpdateQueue.runTask(e),this._updateQueue.runTask(e),this._applyPendingUpdates(e),this.notifyChange("running"),this.running||this.notifyChange("dataUpdating"),this.notifyChange("updatingRemaining"),!e.hasProgressed)return Fe}setObjectIdVisibility(e,t){t?this._objectIdInvisibleSet.delete(e):this._objectIdInvisibleSet.add(e);const i=this._findGraphics3DGraphicByObjectId(e);null!=i&&this._updateUserVisibility(i)}_findGraphics3DGraphicByObjectId(e){return a(this.graphics3DGraphics,t=>this._getGraphicObjectID(t.graphic)===e)}_updateUserVisibility(e){if(null==e)return!1;const t=e.graphic,i=this._getGraphicObjectID(t),r=t.visible&&!this.owner.suspended&&this.stageLayer.visible&&(null==i||!this._objectIdInvisibleSet.has(i));return e.setVisibilityFlag(he.GRAPHIC,de.USER,r)}_whenGraphics3DGraphic(e){const t=this.graphics3DGraphics.get(e.uid);if(t)return Promise.resolve(t);const i=this._whenGraphics3DGraphicRequests[e.uid];if(i)return i.promise;const r=g();return this._whenGraphics3DGraphicRequests[e.uid]=r,r.promise}async _boundsForGraphics3DGraphic(e,t){const i=this._viewSpatialReference,r=this.owner.view.renderSpatialReference,s=this.owner.view.basemapTerrain.spatialReference,a=(e,t,s)=>L(e,r,t,e,i,t,s),n=(e,t,r)=>L(e,s,t,e,i,t,r),o=this._viewElevationProvider?{service:this._viewElevationProvider,useViewElevation:null!=t&&!!t.useViewElevation,minDemResolution:null!=t?t.minDemResolution:null,minDemResolutionForPoints:this.owner.view.resolution}:null,l=await e.getProjectedBoundingBox(a,n,o,t?.signal);if(!l)return null;const h=l.boundingBox;if(l.requiresDrapedElevation){const e=this.symbolCreationContext.elevationProvider;if(e){j(h,ke);const t=e.getElevation(ke[0],ke[1],0,i,"ground")??0;h[2]=Math.min(h[2],t),h[5]=Math.max(h[5],t)}}return{boundingBox:h,screenSpaceObjects:l.screenSpaceObjects}}async whenGraphicBounds(e,t){await v(()=>this.owner?.loadedGraphics);const i=this.owner.layer?.objectIdField,s=this.owner.loadedGraphics.find(t=>t===e||null!=i&&null!=t.attributes&&e.attributes&&t.attributes[i]===e.attributes[i]);if(!s)throw new r("internal:graphic-not-part-of-view","Graphic is not part of this view");const a=await this._whenGraphics3DGraphic(s);return this._boundsForGraphics3DGraphic(a,t)}computeAttachmentOrigin(e,t){const i=this.graphics3DGraphics.get(e.uid);if(!i)return null;const r=i.computeAttachmentOrigin();if(0===r.render.num&&0===r.draped.num)return null;P(qe,0,0,0);let s=0;if(r.render.num>0){if(!O(r.render.origin,this.symbolCreationContext.renderCoordsHelper.spatialReference,Ye,t))return null;R(qe,qe,Ye),s++}if(r.draped.num>0){const[e,i]=r.draped.origin,a=this._viewElevationProvider.getElevation(e,i,"ground")??0;if(P(Ye,e,i,a),!O(Ye,this._viewElevationProvider.spatialReference,Ye,t))return null;R(qe,qe,Ye),s++}return s>1&&D(qe,qe,1/s),new I({x:qe[0],y:qe[1],z:qe[2],spatialReference:t})}getSymbolLayerSize(e,t){const i=this._symbols.get(e.id);if(null==i)throw new r("internal:symbol-not-part-of-view","Symbol is not part of this view");const s=e.symbolLayers.indexOf(t);if(-1===s)throw new r("internal:missing-symbol-layer","Symbol layer is not in symbol");const a=i.getSymbolLayerSize(s);if(null==a)throw new r("internal:missing-size","Symbol layer has no valid size");return a}_graphicsCollectionChanged(e){this._startCreateGraphics&&(this.add(e.added),this.remove(e.removed))}graphicUpdateHandler(e){const t=e.graphic.uid,i=this.graphics3DGraphics.get(t);if(null!=i||null!=this._graphicsWithoutSymbol.get(t)){switch(e.property){case"visible":this._graphicUpdateVisibleHandler(i);break;case"geometry":this._graphicUpdateGeometryHandler(i,e);break;case"symbol":this._graphicUpdateSymbolHandler(i,e);break;case"attributes":case"popupTemplate":break;case"origin-transform":this._graphicUpdateTransformHandler(i,e)}this.owner.notifyContentGeometryUpdate?.()}}_graphicUpdateGeometryHandler(e,t){this._graphicUpdateGeometryOrTransformHandler(e,t,()=>!(null==t.newValue||null==e||!e.graphics3DSymbol.updateGeometry(e,t.newValue)||!(this._labeler?.updateGraphicGeometry(e)??1))&&(this._labeler?.setDirty(),!0));const i=t.graphic.geometry;null!=i&&this._expandComputedExtent(i)}_graphicUpdateTransformHandler(e,t){const i=t.graphic.geometry;this._graphicUpdateGeometryOrTransformHandler(e,t,()=>null!=t.newValue&&null!=e&&null!=i&&e.graphics3DSymbol.updateTransform(e,i.spatialReference,t.newValue,t.action))}_graphicUpdateGeometryOrTransformHandler(e,t,i){if(null!=t.graphic.geometry){if(null==e){const e=t.graphic.symbol?.id;if(e){const t=this._symbols.get(e);if(null!=t&&t.loadStatus===Ge.LOADING)return}return void this._recreateGraphic(t.graphic)}i()||this._recreateGraphic(e.graphic)}else this._recreateGraphic(t.graphic)}_graphicUpdateSymbolHandler(e,t){const i=t.graphic,r=null!=e?e.graphics3DSymbol:null!=t.oldValue?this._symbols.get(t.oldValue.id):null;if(null==r||null==t.newValue)return void this._recreateGraphic(i);const s=r.symbol,a=this._getConvertedSymbol(t.newValue);if(null!=a&&(a.type!==s.type||"web-style"===a.type)||"web-style"===s.type)return void this._recreateGraphic(i);const n=this._graphicsBySymbol.get(s.id);if(n&&1!==n.size)return void this._recreateGraphic(i);const o=w(s,a);if(null==o)return void this._updateSymbolMapping(s.id,a);const l={diff:o,graphics3DGraphicPatches:[],symbolStatePatches:[]};if(r.prepareSymbolPatch(l),!x(l.diff))return void this._recreateGraphic(i);const h=this._getRenderingInfo(i,!1);if(null==h)return void this._recreateGraphic(i);const d=r.extentPadding;for(const p of l.symbolStatePatches)p();if(d!==r.extentPadding&&this._recomputeExtentPadding(),null!=e)for(const p of l.graphics3DGraphicPatches)p(e,h);this._updateSymbolMapping(s.id,a)}_graphicUpdateVisibleHandler(e){this._updateUserVisibility(e)&&(this._labeler?.setDirty(),this._deconflictor?.setDirty())}recreateGraphics(e){this._suspendSymbolCleanup=!0,this.remove(e),this.add(e),this._suspendSymbolCleanup=!1,this.effectiveUpdatePolicy===De.SYNC&&this._cleanupSymbols()}_recreateGraphic(e){this.recreateGraphics([e])}_beginGraphicUpdate(e){const t=this._graphicsUpdateId;return this._graphicsUpdateId++,this._graphicsWaitingForSymbol.set(e.uid,t),1===this._graphicsWaitingForSymbol.size&&this.notifyChange("dataUpdating"),t}_endGraphicUpdate(e,t){e&&(t&&this._graphicStateTracking?.updateGraphicError(e,t),this._graphicsWaitingForSymbol.delete(e.uid),0===this._graphicsWaitingForSymbol.size&&(this._cleanupSymbols(),this.notifyChange("dataUpdating")))}_recomputeExtentPadding(){let e=0;this._symbols.forEach(t=>{null!=t&&(e=Math.max(e,t.extentPadding))}),this._set("extentPadding",e)}_expandComputedExtent(e){const t=ze,i=e.spatialReference;N(e,t);const r=this._viewSpatialReference,s=Me.tmpVec;if(z(i,r)||V(t[0],t[1],0,i,s,r)&&(t[0]=s[0],t[1]=s[1],V(t[3],t[4],0,i,s,r),t[3]=s[0],t[4]=s[1]),!(isFinite(t[0])&&isFinite(t[3])&&isFinite(t[1])&&isFinite(t[4])))return;const a=this.computedExtent;let n=null;const o=isFinite(t[2])&&isFinite(t[5]),l=o&&(null==a?.zmin||t[2]<a.zmin),h=o&&(null==a?.zmax||t[5]>a.zmax);if(a){(t[0]<a.xmin||t[1]<a.ymin||t[3]>a.xmax||t[4]>a.ymax||l||h)&&(n=this._propertiesPool.get("computedExtent"),n.xmin=Math.min(t[0],a.xmin),n.ymin=Math.min(t[1],a.ymin),n.xmax=Math.max(t[3],a.xmax),n.ymax=Math.max(t[4],a.ymax),n.spatialReference=r)}else n=this._propertiesPool.get("computedExtent"),n.xmin=t[0],n.ymin=t[1],n.xmax=t[3],n.ymax=t[4],n.spatialReference=r;n&&(l&&(n.zmin=t[2]),h&&(n.zmax=t[5]),this._set("computedExtent",n))}_abortElevationInfoChange(){this._elevationInfoChangeAbortController&&(this._elevationInfoChangeAbortController.abort(),this._elevationInfoChangeAbortController=null)}async elevationInfoChange(){this._abortElevationInfoChange();const e=new AbortController;this._elevationInfoChangeAbortController=e;const t=pe(this.layer.elevationInfo,this.elevationFeatureExpressionEnabled);this.symbolCreationContext.featureExpressionInfoContext=await ce(t,this._viewSpatialReference,e.signal,s.getLogger(this)),c(e.signal),this._elevationInfoChangeAbortController=null,this._labeler?.elevationInfoChange(),this.forEachGraphics3DSymbol((e,t,i)=>{e.globalPropertyChanged("elevationInfo",t)?t?.forEach(e=>{const t=e.graphic,i=e.labelLayers;for(const r of i){r.graphics3DSymbolLayer.updateGraphicElevationContext(t,r)}}):this._recreateSymbol(i)}),this.updateStageLayerElevationProvider(),this._elevationAlignment?.elevationInfoChange()}updateStageLayerElevationProvider(){this._stageLayerElevationProvider?(this.layer.elevationInfo&&"relative-to-scene"===this.layer.elevationInfo.mode||0===this._numberOfGraphicsProvidingElevation)&&(this.owner.view.elevationProvider.unregister(this._stageLayerElevationProvider),this._stageLayerElevationProvider=h(this._stageLayerElevationProvider)):(!this.layer.elevationInfo||this.layer.elevationInfo&&"relative-to-scene"!==this.layer.elevationInfo.mode)&&this._numberOfGraphicsProvidingElevation>0&&(this._stageLayerElevationProvider=new xe({layer:this.layer,stageLayer:this.stageLayer,view:this.owner.view}),this.owner.view.elevationProvider.register("scene",this._stageLayerElevationProvider))}_clearSymbolsAndGraphics(){this.clear(),null!=this._filterVisibility&&this._filterVisibility.clear(),this._labeler?.reset(),this._deconflictor?.clear(),this._elevationAlignment?.clear(),this.stageLayer?.invalidateSpatialQueryAccelerator(),this._stageLayerElevationProvider&&(this.owner.view.elevationProvider.unregister(this._stageLayerElevationProvider),this._stageLayerElevationProvider=h(this._stageLayerElevationProvider))}startCreateGraphics(){this._startCreateGraphics=!0,this.recreateAllGraphics()}recreateAllGraphics(){this._recreateAllGraphics(!1)}recreateAllGraphicsAndSymbols(){this._recreateAllGraphics(!0)}_recreateAllGraphics(e=!1){if(!this._startCreateGraphics)return;const{loadedGraphics:t,view:i}=this.owner,r=i.basemapTerrain?.tilingScheme&&t?.length?t.toArray():null;!e&&r||this._clearSymbolsAndGraphics(),this.symbolCreationContext.screenSizePerspectiveEnabled=this.owner.view.screenSizePerspectiveEnabled&&!!this.layer.screenSizePerspectiveEnabled,this.symbolCreationContext.slicePlaneEnabled=!!this.owner.slicePlaneEnabled,this._set("computedExtent",null),r&&(e?this.add(r):this.recreateGraphics(r))}_recreateSymbol(e){const t=this._graphicsBySymbol.get(e),i=[];t&&(t.forEach((e,t)=>{const r=e.usedMemory;this._conditionalRemove(e,t),this._spatialIndex?.remove(e),i.push(e.graphic),e.destroy(),this._removeGraphics3DGraphic(t,r),this._updateLayerVisibility(),this._featureStore.events.emit("changed"),this.owner.notifyContentGeometryUpdate?.()}),this._graphicsBySymbol.set(e,new Map));const r=this._symbols.get(e);l(r),this._symbols.delete(e),this._symbolMaterials=null,l(this._unusedSymbolsCache.pop(e)),this.add(i)}_recreateGraphicsForSymbol(e){const t=this._graphicsBySymbol.get(e);if(t){const e=[];t.forEach(t=>e.push(t.graphic)),this.recreateGraphics(e)}}_conditionalRemove(e,t){this._graphicsDrapedUids.delete(t),this._objectStates?.removeGraphic(e),this._labeler?.removeGraphic(e),this._deconflictor?.removeGraphic(e),null!=this._graphicStateTracking&&this._graphicStateTracking.removeGraphic(e)}add(e){e&&0!==e.length&&(this.owner.view.basemapTerrain?.tilingScheme?(this._updatePolicyForGraphics(e)===De.ASYNC?this._addDelayed(e):this._addImmediate(e),this.notifyChange("dataUpdating")):s.getLogger(this).error("#add()","Cannot add graphics before terrain surface has been initialized"))}_updatePolicyForGraphics(e){if(this.effectiveUpdatePolicy===De.SYNC&&("mesh"===this.layer.geometryType||null==this.layer.geometryType))for(const t of e)if(null!=t.geometry&&"mesh"===t.geometry.type&&!t.geometry.loaded)return De.ASYNC;return this.effectiveUpdatePolicy}_addImmediate(e){this._geometryWarningLogged=!1,this._symbolWarningLogged=!1;for(const t of e)this._addGraphic(t,this._getRenderingInfo(t),De.SYNC);this._cleanupSymbols(),this._labeler?.setDirty(),this._deconflictor?.setDirty()}_addDelayed(e){for(const t of e){const e=t.uid;let i=this._pendingUpdates.get(e);i?i.add?i.state!==He.NEW&&i.abortController?.abort():this._pendingAdds++:(i=this._pendingUpdatesPool.pushNew(),this._pendingAdds++,this._pendingUpdates.set(e,i)),i.add=t}this.notifyChange("running"),this.notifyChange("updatingRemaining"),this.notifyChange("dataUpdating")}remove(e){this.effectiveUpdatePolicy===De.ASYNC?this._removeDelayed(e):this._removeImmediate(e),this.notifyChange("dataUpdating")}_removeImmediate(e){for(const t of e)this._removeGraphic(t);this._cleanupSymbols(),this._labeler?.setDirty(),this._deconflictor?.setDirty()}_removeDelayed(e){for(const t of e){const e=t.uid,i=this._pendingUpdates.get(e);if(i)i.add&&(i.remove?i.add=null:this._pendingUpdates.delete(e),i.state===He.LOADING&&i.abortController?.abort(),this._pendingAdds--);else{const i=this._pendingUpdatesPool.pushNew();i.remove=t,this._pendingUpdates.set(e,i),this._pendingRemoves++,this._applyPendingRemovesFirst=!0}}0===this._pendingUpdates.size&&this._finishPendingUpdates(),this.notifyChange("running"),this.notifyChange("updatingRemaining"),this.notifyChange("dataUpdating")}_finishPendingUpdates(){this._pendingUpdatesPool.clear(),this._cleanupSymbols(),(this._pendingAdds||this._pendingRemoves)&&s.getLogger(this).warn("pendingAdds/Removes in inconsistent state!"),this._pendingAdds=0,this._pendingRemoves=0,this._applyPendingRemovesFirst=!1}_applyPendingUpdates(e){if(this._geometryWarningLogged=!1,this._symbolWarningLogged=!1,0===this._pendingUpdates.size&&this._spatialIndex?.updating)return this._spatialIndex.update(),void e.madeProgress();if(this._applyPendingRemovesFirst){this._applyPendingRemovesFirst=!1;for(const[t,i]of this._pendingUpdates){if(e.done){this._applyPendingRemovesFirst=!0;break}if(i.remove&&!i.add&&(this._pendingRemoves--,e.madeProgress(),this._removeGraphic(i.remove),i.remove=null,this._pendingUpdates.delete(t),0===this._pendingRemoves))break}}for(const[t,i]of this._pendingUpdates){if(e.done)break;i.add&&i.state===He.NEW&&this._processPendingUpdateNew(i);let r=this.effectiveUpdatePolicy;if(!i.remove||i.add&&i.state!==He.READY||(this._pendingRemoves--,e.madeProgress(),this._removeGraphic(i.remove),i.remove=null,r=De.SYNC),i.add)switch(i.state){case He.READY:this._addGraphic(i.add,i.renderingInfo,r),i.add=null,this._pendingAdds--,e.madeProgress();break;case He.REJECTED:i.add=null,this._pendingAdds--;case He.LOADING:}null==i.remove&&null==i.add&&this._pendingUpdates.delete(t)}0===this._pendingUpdates.size&&(this._finishPendingUpdates(),this.notifyChange("running"),this.notifyChange("dataUpdating"))}_processPendingUpdateNew(e){if(!e.add)return void(e.state=He.READY);const t=e.add.geometry;null==t||"mesh"!==t.type||t.loaded?this._processPendingUpdateNewRenderingInfo(e):this._processPendingUpdateNewMesh(e,t)}async _processPendingUpdateNewMesh(e,t){e.state=He.LOADING,e.abortController=new AbortController;const i=e.abortController.signal;try{await t.load({signal:i})}catch(r){return this._processPendingUpdateNewError(e,r)}e.abortController=null,this._processPendingUpdateNewRenderingInfo(e)}_processPendingUpdateNewError(e,t){e.abortController=null,u(t)?e.state=He.NEW:e.state=He.REJECTED}async _processPendingUpdateNewRenderingInfo(e){if(null==this.layer.renderer||"dictionary"!==this.layer.renderer.type)return e.renderingInfo=this._getRenderingInfo(e.add),void(e.state=He.READY);e.state=He.LOADING,e.abortController=new AbortController;let t=null;try{t=await this._getRenderingInfoAsync(e.add,{signal:e.abortController.signal})}catch(i){return e.abortController=null,void(u(i)?e.state=He.NEW:e.state=He.REJECTED)}null==t?.symbol?(this._symbolWarningLogged||(this._symbolWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has no symbol and will not render`)),e.renderingInfo=null):e.renderingInfo=t,e.state=He.READY}_addGraphic(e,t,i){if(this._graphicsWithoutSymbol.set(e.uid,e),null==t?.symbol||!B(e))return;const r=this.stage.renderView.olidRenderHelper;if(r&&this.setUidToIdOnAdd){const t=X(this.owner.view,this.owner.layerViewUid);r.setUidToObjectAndLayerId(e.objectId,e.uid,this.layer.id,this.owner.layerViewUid,!!this.layer.popupEnabled&&!t&&Ie(this.layer,this.owner.view.popup?.defaultPopupTemplateEnabled))}const s=t.symbol,a=this.getOrCreateGraphics3DSymbol(s,t.renderer);if(null==a)return;this._expandComputedExtent(e.geometry);const n=this._beginGraphicUpdate(e),o=new ge(e,t,this.layer);let l=!1;const h=e=>{e===a.symbol.id&&(l=!0)};this._whenSymbolRemoved.push(h);const d=()=>{if(--this._loadingSymbols,this.destroyed)return;this._whenSymbolRemoved.removeUnordered(h);if(this._graphicsWaitingForSymbol.get(e.uid)!==n||l||a.destroyed||this.graphicSymbolSupported&&e.symbol&&e.symbol.id!==a.symbol.id)--a.referenced,this._cleanupSymbols();else{const t=this._createGraphics3DGraphic(a,o);this._spatialIndex&&null!=t&&this._spatialIndex.add(t),--a.referenced,this._endGraphicUpdate(e)}this._featureStore.events.emit("changed"),this.owner.notifyContentGeometryUpdate?.(),this._labeler?.setDirty()},p=t=>{--this._loadingSymbols,this.destroyed||(this._whenSymbolRemoved.removeUnordered(h),l||(u(t)?this.add([e]):a.destroyed||this._endGraphicUpdate(e,t)))};++this._loadingSymbols,i===De.ASYNC?a.load(()=>this._dataUpdateQueue.push(d,null).catch(y),e=>this._dataUpdateQueue.push(()=>p(e),null).catch(y)):a.load(d,p)}_removeGraphic(e){const t=e.uid,i=this.graphics3DGraphics.get(t);if(i){i.graphics3DSymbol.onRemoveGraphic(i);const e=i.usedMemory,r=i.isElevationSource;this._conditionalRemove(i,t),this._spatialIndex?.remove(i);const s=i.graphics3DSymbol.symbol.id;this._graphicsBySymbol.get(s)?.delete(t),this._graphicsWithoutSymbol.delete(t),this._removeGraphics3DGraphic(t,e,r),i.destroy(),this._featureStore.events.emit("changed"),this.owner.notifyContentGeometryUpdate?.()}else this._graphicsWithoutSymbol.delete(t),this._graphicsWaitingForSymbol.delete(t),0===this._graphicsWaitingForSymbol.size&&(this._cleanupSymbols(),this.notifyChange("dataUpdating"))}_hasLabelingContext(e){if(e instanceof ee||e instanceof te){const t=this.symbolCreationContext.layer;return!!t.labelingInfo&&t.labelingInfo.some(t=>t.symbol===e)}return!1}_hasValidSymbolCreationContext(e){return!(e instanceof ee&&!this._hasLabelingContext(e))||(s.getLogger(this).error("LabelSymbol3D is only valid as part of a LabelClass. Using LabelSymbol3D as a renderer symbol is not supported."),!1)}_getRenderingInfo(e,t=!0){const i=e.geometry;if(null==i)return t&&!this._geometryWarningLogged&&(this._geometryWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has no geometry and will not render`)),null;if(!A(i.spatialReference,this._viewSpatialReference))return t&&!this._geometryWarningLogged&&(this._geometryWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has incompatible spatial reference and will not render`)),null;if(!this.graphicSymbolSupported&&null!=e.symbol)return t&&!this._symbolWarningLogged&&(this._symbolWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} is not allowed to have a symbol, use a renderer instead`)),null;const r=this.rendererHasGeometryOperations?q(e,this.layer):e;let a;if(this.owner.getRenderingInfo&&(this.getRenderingInfoWithoutRenderer||null!=this.currentRenderer))a=this.owner.getRenderingInfo(r,this.currentRenderer,this._arcadeOnDemand);else{const e=r.symbol||re(r.geometry);a=new J(null,e)}return null==a?.symbol?(t&&!this._symbolWarningLogged&&(this._symbolWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has no symbol and will not render`)),null):a}_getRenderingInfoAsync(e,t){if(null==e.geometry)return this._geometryWarningLogged||(this._geometryWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has no geometry and will not render`)),null;if(!this.graphicSymbolSupported&&null!=e.symbol)return this._symbolWarningLogged||(this._symbolWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} is not allowed to have a symbol, use a renderer instead`)),null;const i=this.rendererHasGeometryOperations?q(e,this.layer):e;return this.owner.getRenderingInfoAsync(i,this.currentRenderer,this._arcadeOnDemand,t)}_createGraphics3DSymbol(e,t){if(!this._hasValidSymbolCreationContext(e))return null;const i=this._getConvertedSymbol(e);if(!i)return null;let r;if(null!=t&&"backgroundFillSymbol"in t&&t.backgroundFillSymbol){const e=se(t.backgroundFillSymbol,{ignoreDrivers:!0});null!=e.symbol&&(r=e.symbol.symbolLayers)}const s=me(i,this.symbolCreationContext,r);return s.load(()=>{const e=s.extentPadding;e>this.extentPadding&&this._set("extentPadding",e),this.notifyChange("averageSymbolComplexity")},()=>{}),s}getOrCreateGraphics3DSymbol(e,t){let i=this._symbols.get(e.id);if(void 0===i){const r=this._unusedSymbolsCache.pop(e.id);i=null!=r?r:e instanceof ie?new be(e,e=>this._dataUpdateQueue.push(e,null),e=>this._createGraphics3DSymbol(e,t)):this._createGraphics3DSymbol(e,t),this._symbols.set(e.id,i),this._symbolMaterials=null}return null!=i&&++i.referenced,i}trackGraphicState(e){return null==this._graphicStateTracking&&(this._graphicStateTracking=new fe(this)),this._graphicStateTracking.add(e)}_addGraphics3DGraphic(e){this._usedMemory+=e.usedMemory,this.graphics3DGraphics.set(e.graphic.uid,e),this._numberOfGraphics++,e.isElevationSource&&(this._numberOfGraphicsProvidingElevation++,this.updateStageLayerElevationProvider()),this._updateLayerVisibility()}_removeGraphics3DGraphic(e,t,i=!1){this._usedMemory-=t,this.graphics3DGraphics.delete(e),this._numberOfGraphics--,i&&(this._numberOfGraphicsProvidingElevation--,this.updateStageLayerElevationProvider()),this._updateLayerVisibility()}_createGraphics3DGraphic(e,t){const i=t.graphic;if(this._graphicsWithoutSymbol.delete(i.uid),!this._symbols.has(e.symbol.id))return this.add([i]),null;if(this.graphics3DGraphics.has(i.uid))return null;const r=e.createGraphics3DGraphic(t);if(null==r)return null;this._addGraphics3DGraphic(r);const s=e.symbol.id;this._graphicsBySymbol.has(s)||this._graphicsBySymbol.set(s,new Map),this._graphicsBySymbol.get(s).set(i.uid,r);if(r.isDraped&&this._graphicsDrapedUids.add(i.uid),r.centroid=null,null!=i.geometry&&"point"!==i.geometry.type&&(r.centroid=ve(i.geometry,this._viewSpatialReference)),this._updateUserVisibility(r),null!=this._scaleVisibility&&this._scaleVisibility.updateVisibility(r),null!=this._filterVisibility){const{defaultVisibility:e}=this._filterVisibility;r.setVisibilityFlag(he.GRAPHIC,de.FILTER,e),e||this._filterVisibility.reapply()}this._deconflictor?.addGraphic(r),this._labeler?.addGraphic(r),this._objectStates?.addGraphic(r),r.initialize(this.stageLayer),null!=this._graphicStateTracking&&this._graphicStateTracking.addGraphic(r);const a=this._whenGraphics3DGraphicRequests[i.uid];return a&&(delete this._whenGraphics3DGraphicRequests[i.uid],a.resolve(r)),this._symbolMaterials=null,r}async rendererChange(e){if(this._rendererChangeAbortController=n(this._rendererChangeAbortController),e!==this.currentRenderer)if(this._validateRenderer(e),null==e&&this._currentRendererChange(null,!1),$(e))if(e?.arcadeRequired){const t=new AbortController;this._rendererChangeAbortController=t;const{arcadeUtils:i}=await this._ensureArcade();c(t);const r=i.hasGeometryOperations(e);r&&(await i.enableGeometryOperations(),c(t)),this.effectiveUpdatePolicy===De.ASYNC?await this._updateQueue.push(()=>this._currentRendererChange(e,r),t.signal):this._currentRendererChange(e,r),this._rendererChangeAbortController=null}else if(this.effectiveUpdatePolicy===De.ASYNC){const t=new AbortController;this._rendererChangeAbortController=t,await this._updateQueue.push(()=>this._currentRendererChange(e,!1),t.signal),this._rendererChangeAbortController=null}else this._currentRendererChange(e,!1);else this._currentRendererChange(e,!1)}async _ensureArcade(){return null==this._arcadeOnDemand?(this._arcadeOnDemand=await K(),this._arcadeOnDemand):this._arcadeOnDemand}_currentRendererChange(e,t){this.currentRenderer=e,this.rendererHasGeometryOperations=t,this.symbolCreationContext.arcade=this._arcadeOnDemand;const i=this.symbolCreationContext.renderer;if(e===i)return;if(this._symbolConversionCache.clear(),this._unusedSymbolsCache.clear(),null==e)return this.symbolCreationContext.renderer=null,void this.recreateAllGraphicsAndSymbols();const r=w(i,e);this._updateUnchangedSymbolMappings(r,e,i),this.symbolCreationContext.renderer=e,null!=r&&("complete"===r.type?this.recreateAllGraphicsAndSymbols():"partial"===r.type&&(this._applyRendererDiff(r,e,i)?this._labeler?.reset():this.recreateAllGraphicsAndSymbols()),this.notifyChange("averageSymbolComplexity"))}_diffHasSymbolChange(e){for(const t in e.diff)switch(t){case"visualVariables":case"defaultSymbol":case"uniqueValueInfos":break;case"uniqueValueGroups":case"authoringInfo":case"fieldDelimiter":delete e.diff[t];break;default:return!0}return!1}_applySymbolSetDiff(e,t,i){e=e||[],t=t||[];const r=[];for(const s of t){const t=this._graphicsBySymbol.get(s.id);t&&t.forEach((a,n)=>{const o=a.graphic,l=this.layer instanceof W?this.layer:null,h=this._arcadeOnDemand;if(s===i.defaultSymbol&&i.getSymbol(q(o,l),{arcade:h})===i.defaultSymbol)return;const d=a.usedMemory;e.length||i.defaultSymbol?r.push(o):this._graphicsWithoutSymbol.set(n,o);const p=this.graphics3DGraphics.get(n);this._conditionalRemove(p,n),a.destroy(),t.delete(n),this._removeGraphics3DGraphic(n,d),this._updateLayerVisibility()}),this._whenSymbolRemoved.forAll(e=>e(s.id))}(e.length||r.length)&&(this._graphicsWithoutSymbol.forEach(e=>r.push(e)),this._graphicsWithoutSymbol.clear(),this.add(r)),this._cleanupSymbols(),this._labeler?.setDirty(),this._deconflictor?.setDirty()}_applyUniqueValueRendererDiff(e,t,r){const s=e.diff.defaultSymbol,a=e.diff.uniqueValueInfos;if(s||a){const n=a?.changed,o=a?.unchanged;if(n&&o&&n.some(e=>o.some(t=>t.oldValue.symbol?.id===e.oldValue.symbol?.id)))return!1;const l=a?a.added.map(e=>e.symbol).filter(i):[],h=a?a.removed.map(e=>e.symbol).filter(i):[];if(n)for(let e=0;e<n.length;e++)l.push(n[e].newValue.symbol),h.push(n[e].oldValue.symbol);return s?(r.defaultSymbol&&h.push(r.defaultSymbol),t.defaultSymbol&&l.push(t.defaultSymbol)):r.defaultSymbol&&l.length&&h.push(t.defaultSymbol),this._applySymbolSetDiff(l,h,t),delete e.diff.defaultSymbol,delete e.diff.uniqueValueInfos,!0}return!1}_calculateUnchangedSymbolMapping(e,t,i){if("unique-value"!==t?.type||"unique-value"!==i?.type||null!=e&&"partial"!==e.type)return[];const r=e=>null!=e?e.id:null,s=e&&e.diff,a=s?.defaultSymbol,n=s&&s.uniqueValueInfos;let o;if(n)o=n.unchanged.map(e=>({oldId:r(e.oldValue.symbol),newId:r(e.newValue.symbol)}));else{o=[];for(const e of i.uniqueValueInfos??[]){const i=r(e.symbol),s=t.uniqueValueInfos?.find(t=>t.value===e.value);s&&i!==r(s.symbol)&&o.push({oldId:i,newId:r(s.symbol)})}}return!a&&i.defaultSymbol&&o.push({oldId:r(i.defaultSymbol),newId:r(t.defaultSymbol)}),o}_updateSymbolMapping(e,t){const i=null!=t&&t?"string"==typeof t?t:t.id:null;if(null==e||e===i)return;const r=this._graphicsBySymbol.get(e);this._graphicsBySymbol.delete(e),void 0!==r&&this._graphicsBySymbol.set(i,r);const s=this._symbols.get(e);if(void 0!==s&&(this._symbols.delete(e),this._symbols.set(i,s),this._symbolMaterials=null,null!=s)){const e="string"==typeof t?null:t;null!=e?s.symbol=e:s.symbol.id=i}}_updateUnchangedSymbolMappings(e,t,i){const r=this._calculateUnchangedSymbolMapping(e,t,i);for(const{oldId:s,newId:a}of r)this._updateSymbolMapping(s,a)}_applyRendererDiff(e,t,i){if(this._diffHasSymbolChange(e))return!1;if(t instanceof Q&&i instanceof Q&&this._applyUniqueValueRendererDiff(e,t,i)&&0===Object.keys(e.diff).length)return!0;for(const r of this._graphicsBySymbol.keys()){const i=this._symbols.get(r);if(null!=i)switch(i.applyRendererDiff(e,t)){case Se.RecreateSymbol:this._recreateSymbol(r);break;case Se.RecreateGraphics:this._recreateGraphicsForSymbol(r);case Se.FastUpdate:}}return!0}opacityChange(){this._updateStageLayerVisibility(),this.forEachGraphics3DSymbol((e,t)=>e.globalPropertyChanged("opacity",t))}_slicePlaneEnabledChange(e){e!==this.symbolCreationContext.slicePlaneEnabled&&(this.symbolCreationContext.slicePlaneEnabled=e,this.stageLayer.sliceable=e,this.forEachGraphics3DSymbol((e,t)=>e.globalPropertyChanged("slicePlaneEnabled",t)),this._deconflictor?.slicePlaneEnabledChange(),this._labeler?.slicePlaneEnabledChange())}_physicalBasedRenderingChange(e){this.symbolCreationContext.physicalBasedRenderingEnabled=e,this.forEachGraphics3DSymbol((e,t,i)=>{e.globalPropertyChanged("physicalBasedRenderingEnabled",t)||this._recreateSymbol(i)})}_skipHighSymbolLoDsChange(e){this.symbolCreationContext.skipHighSymbolLods=e,this.forEachGraphics3DSymbol((e,t,i)=>{e.globalPropertyChanged("skipHighSymbolLods",t)||this._recreateSymbol(i)})}_pixelRatioChange(){this.forEachGraphics3DSymbol((e,t,i)=>{e.globalPropertyChanged("pixelRatio",t)||this._recreateSymbol(i)})}_signalUpdatingDuringAsyncLoadedGraphicsChange(){this._updatingPendingLoadedGraphicsChange&&this._updatingPendingLoadedGraphicsChange.remove(),this._updatingPendingLoadedGraphicsChange=C(()=>{this._updatingPendingLoadedGraphicsChange=null})}setClippingExtent(e,t){const i=this.symbolCreationContext.clippingExtent,r=k();return Pe(e,r,t)?this.symbolCreationContext.clippingExtent=T(F(),r):this.symbolCreationContext.clippingExtent=null,!M(this.symbolCreationContext.clippingExtent,i)}modifyGraphics3DGraphicVisibilities(e){if(this.destroyed)return;let t=!1;this.graphics3DGraphics.forEach(i=>{e(i)&&(t=!0)}),t&&(this._labeler?.setDirty(),this._deconflictor?.setDirty())}forEachGraphics3DSymbol(e,t){for(const[i,r]of this._symbols){if(null==r)return;e(r,this._graphicsBySymbol.get(i)||Qe,i)}if(!t?.excludeUnused)for(const i of this._unusedSymbolsCache)e(i,void 0,i.symbol.id)}updateGraphicsVisibilities(){null!=this._filterVisibility&&this._filterVisibility.reapply(),this.modifyGraphics3DGraphicVisibilities(e=>{const t=this._updateUserVisibility(e),i=!!this._scaleVisibility?.updateVisibility(e);return t||i})}_hideAllGraphics(){this.modifyGraphics3DGraphicVisibilities(e=>e.setVisibilityFlag(he.GRAPHIC,de.USER,!1))}_validateRenderer(e){const t=()=>`'${this.layer.title?`${this.layer.title}, `:""}id:${this.layer.id}'`,i=Z(e,{geometryType:this.layer?.geometryType,logWarning:(e,i)=>s.getLogger(this).warn(e,`Symbology conversion for layer ${t()}: ${i}`)});if(i){const e=`Renderer for layer ${t} is not supported in a SceneView`;s.getLogger(this).warn(e,i.message)}}_cleanupSymbols(){if(this._graphicsWaitingForSymbol.size>0||this._suspendSymbolCleanup)return;let e=!1;this._symbols.forEach((t,i)=>{if(null==t||t.referenced>0)return;const r=this._graphicsBySymbol.get(i);r&&0!==r.size||(this._graphicsBySymbol.delete(i),this._symbols.delete(i),this._symbolMaterials=null,this._unusedSymbolsCache.put(i,t,d),e=!0)}),e&&(this._recomputeExtentPadding(),this.notifyChange("averageSymbolComplexity"))}get test(){}get performanceInfo(){return new _e(this.graphics3DGraphics.size,Array.from(this.graphics3DGraphics.values()).reduce((e,t)=>e+(t.isVisible()?1:0),0),this._graphicsWithoutSymbol.size,this._pendingUpdates.size)}};var He;e([S({readOnly:!0})],We.prototype,"computedExtent",void 0),e([S()],We.prototype,"currentRenderer",void 0),e([S()],We.prototype,"rendererHasGeometryOperations",void 0),e([S()],We.prototype,"_frameTaskHandle",void 0),e([S()],We.prototype,"_dataUpdateQueue",void 0),e([S()],We.prototype,"_updateQueue",void 0),e([S({readOnly:!0})],We.prototype,"_viewSpatialReference",null),e([S()],We.prototype,"_rendererChangeAbortController",void 0),e([S()],We.prototype,"_elevationInfoChangeAbortController",void 0),e([S()],We.prototype,"_initializeAbortController",void 0),e([S()],We.prototype,"_elevationAlignment",void 0),e([S()],We.prototype,"_scaleVisibility",void 0),e([S()],We.prototype,"_filterVisibility",void 0),e([S()],We.prototype,"_initializePromise",void 0),e([S()],We.prototype,"_spatialIndex",void 0),e([S({readOnly:!0})],We.prototype,"extentPadding",void 0),e([S()],We.prototype,"_updatingPendingLoadedGraphicsChange",void 0),e([S()],We.prototype,"_featureStore",void 0),e([S()],We.prototype,"_objectStates",void 0),e([S()],We.prototype,"_loadingSymbols",void 0),e([S({constructOnly:!0})],We.prototype,"compressionTracker",void 0),e([S()],We.prototype,"preferredUpdatePolicy",void 0),e([S()],We.prototype,"_forcedUpdatePolicy",void 0),e([S({readOnly:!0})],We.prototype,"effectiveUpdatePolicy",null),e([S({constructOnly:!0})],We.prototype,"elevationFeatureExpressionEnabled",void 0),e([S({constructOnly:!0})],We.prototype,"owner",void 0),e([S({constructOnly:!0})],We.prototype,"layer",void 0),e([S({constructOnly:!0})],We.prototype,"graphicSymbolSupported",void 0),e([S({constructOnly:!0})],We.prototype,"getRenderingInfoWithoutRenderer",void 0),e([S({constructOnly:!0})],We.prototype,"componentFactories",void 0),e([S({constructOnly:!0})],We.prototype,"setUidToIdOnAdd",void 0),e([S()],We.prototype,"featureStore",null),e([S()],We.prototype,"initializePromise",null),e([S()],We.prototype,"scaleVisibility",null),e([S()],We.prototype,"elevationAlignment",null),e([S()],We.prototype,"objectStates",null),e([S()],We.prototype,"filterVisibility",null),e([S({readOnly:!0})],We.prototype,"updating",null),e([S({readOnly:!0})],We.prototype,"dataUpdating",null),e([S({readOnly:!0})],We.prototype,"running",null),e([S({readOnly:!0})],We.prototype,"suspendedOrOutsideOfView",null),e([S({readOnly:!0,dependsOn:[]})],We.prototype,"updatingRemaining",null),e([S({readOnly:!0})],We.prototype,"displayFeatureLimit",null),e([S({readOnly:!0,dependsOn:[]})],We.prototype,"averageSymbolComplexity",null),e([S({constructOnly:!0})],We.prototype,"hasZ",void 0),e([S({constructOnly:!0})],We.prototype,"hasM",void 0),e([S()],We.prototype,"_objectIdField",null),We=Me=e([G("esri.views.3d.layers.graphics.Graphics3DCore")],We),function(e){e[e.NEW=0]="NEW",e[e.LOADING=1]="LOADING",e[e.READY=2]="READY",e[e.REJECTED=3]="REJECTED"}(He||(He={}));class Ne{constructor(){this.add=null,this.renderingInfo=null,this.state=He.NEW,this.abortController=null,this.remove=null}clear(){this.add=null,this.renderingInfo=null,this.state=He.NEW,this.abortController=null,this.remove=null}}const Be=10,qe=E(),Ye=E(),Qe=new Map;export{We as Graphics3DCore};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import{isSome as i}from"../../../../core/arrayUtils.js";import"../../../../core/has.js";import r from"../../../../core/Error.js";import s from"../../../../core/Logger.js";import{findInMap as a}from"../../../../core/MapUtils.js";import{abortMaybe as n,removeMaybe as o,destroyMaybe as l,disposeMaybe as h}from"../../../../core/maybe.js";import{MinPriority as d}from"../../../../core/MemCache.js";import p from"../../../../core/PooledArray.js";import{throwIfAborted as c,ignoreAbortErrors as y,createResolver as g,isAbortError as u}from"../../../../core/promiseUtils.js";import{when as m,watch as b,on as _,syncAndInitial as f,whenOnce as v}from"../../../../core/reactiveUtils.js";import{schedule as C}from"../../../../core/scheduling.js";import{property as S}from"../../../../core/accessorSupport/decorators/property.js";import{subclass as w}from"../../../../core/accessorSupport/decorators/subclass.js";import{diff as G,isEmpty as x}from"../../../../core/accessorSupport/diffUtils.js";import{i as P,f as U,g as R}from"../../../../chunks/vec32.js";import{create as D}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import I from"../../../../geometry/Extent.js";import E from"../../../../geometry/Point.js";import{canProjectWithoutEngine as L}from"../../../../geometry/projectionUtils.js";import{projectBuffer as V}from"../../../../geometry/projection/projectBuffer.js";import{projectVectorToVector as j}from"../../../../geometry/projection/projectVectorToVector.js";import{projectXYZToVector as O}from"../../../../geometry/projection/projectXYZToVector.js";import{center as A,create as F,fromRect as M,equals as T}from"../../../../geometry/support/aaBoundingBox.js";import{create as k}from"../../../../geometry/support/aaBoundingRect.js";import{equals as z}from"../../../../geometry/support/spatialReferenceUtils.js";import W from"../../../../layers/Layer.js";import{getObjectId as H,computeAABB as B,hasGeometry as q}from"../../../../layers/graphics/dehydratedFeatures.js";import{hydrateGraphic as Q}from"../../../../layers/graphics/hydratedFeatures.js";import{PromiseQueue as N}from"../../../../layers/support/PromiseQueue.js";import $ from"../../../../renderers/UniqueValueRenderer.js";import{isSupportedRenderer3D as Z,validateTo3D as Y}from"../../../../renderers/support/rendererConversion.js";import{RenderingInfo as X}from"../../../../renderers/support/RenderingInfo.js";import{isBasemapLayerView as J}from"../../../../support/basemapUtils.js";import{loadArcade as K}from"../../../../support/loadArcade.js";import ee from"../../../../symbols/LabelSymbol3D.js";import te from"../../../../symbols/TextSymbol.js";import ie from"../../../../symbols/WebStyleSymbol.js";import{getDefaultSymbol3D as re}from"../../../../symbols/support/defaults3D.js";import{to3D as se}from"../../../../symbols/support/symbolConversion.js";import{averageSymbolComplexities as ae,defaultSymbolComplexity as ne}from"./defaultSymbolComplexity.js";import{DisplayFeatureLimit as oe}from"./DisplayFeatureLimit.js";import{ViewElevationProvider as le}from"./ElevationQuery.js";import{extractExpressionInfo as he,createContext as de}from"./featureExpressionInfoUtils.js";import{Graphics3DFeatureStore as pe}from"./Graphics3DFeatureStore.js";import{Graphics3DGraphicCreationContext as ce}from"./Graphics3DGraphicCreationContext.js";import{Graphics3DSymbolCreationContext as ye}from"./Graphics3DSymbolCreationContext.js";import{make as ge}from"./Graphics3DSymbolFactory.js";import{Graphics3DWebStyleSymbol as ue}from"./Graphics3DWebStyleSymbol.js";import{GraphicsCorePerformanceInfo as me}from"./GraphicsCorePerformanceInfo.js";import{GraphicStateTracking as be}from"./GraphicStateTracking.js";import{computeCentroid as _e}from"./graphicUtils.js";import{SpatialIndex2D as fe}from"./SpatialIndex2D.js";import{StageLayerElevationProvider as ve}from"../support/StageLayerElevationProvider.js";import{toBoundingRect as Ce}from"../../support/extentUtils.js";import{GridLocalOriginFactory as Se}from"../../webgl-engine/lib/GridLocalOriginFactory.js";import{affectsGeometry as we}from"../../webgl-engine/lib/VertexAttribute.js";import{WebGLLayer as Ge}from"../../webgl-engine/lib/WebGLLayer.js";import{hasPopupTemplate as xe}from"../../../layers/support/popupUtils.js";import{PropertiesPool as Pe}from"../../../support/PropertiesPool.js";import{ImmediateTask as Ue,noBudget as Re,TaskPriority as De}from"../../../support/Scheduler.js";import{TextureCompressionTracker as Ie}from"../../../support/TextureCompressionTracker.js";import{Yield as Ee}from"../../../support/Yield.js";import{alphaCutoff as Le}from"../../../../webscene/support/AlphaCutoff.js";var Ve;const je=D(),Oe=F();let Ae=class extends t{static{Ve=this}static{this.tmpVec=D()}get _viewSpatialReference(){return this.owner.view.spatialReference}get spatialIndex(){return this._spatialIndex||(this._spatialIndex=new fe({objectIdField:this.owner.layer?.objectIdField,spatialReference:this._viewSpatialReference,hasZ:!!this.hasZ,hasM:!!this.hasM}),this._spatialIndex.setup(Array.from(this.graphics3DGraphics.values()))),this._spatialIndex.update(),this._spatialIndex}get deconflictor(){return this._deconflictor}get labeler(){return this._labeler}get numberOfGraphics(){return this._numberOfGraphics}get effectiveUpdatePolicy(){return null!=this.currentRenderer&&"dictionary"===this.currentRenderer.type?0:this._forcedUpdatePolicy??this.preferredUpdatePolicy}get featureStore(){return this._featureStore}get initializePromise(){return this._initializePromise}get scaleVisibility(){return this._scaleVisibility}get elevationAlignment(){return this._elevationAlignment}get objectStates(){return this._objectStates}get filterVisibility(){return this._filterVisibility}get updating(){return!!(this.dataUpdating||this._elevationAlignment?.updating||this._scaleVisibility?.updating||this._filterVisibility?.updating||this._rendererChangeAbortController||this._elevationInfoChangeAbortController||this._frameTaskHandle.updating||this._updateQueue.updating||this.running)}get dataUpdating(){return!!(this._graphicsWaitingForSymbol.size>0||this._pendingUpdates.size>0||this._spatialIndex?.updating||this._updatingPendingLoadedGraphicsChange||this._dataUpdateQueue.updating||this._loadingSymbols>0||this.compressionTracker.compressing)}get running(){return this._pendingUpdates.size>0||!!this._spatialIndex?.updating||this._dataUpdateQueue.running||this._updateQueue.running}get suspendedOrOutsideOfView(){return this.owner.suspended||!!this.owner.suspendInfo?.outsideOfView}get updatingRemaining(){return this.updating?this._pendingUpdates.size+.1*(this._spatialIndex?.updatingRemaining||0)+.1*(this._elevationAlignment?.updatingRemaining||0):0}get displayFeatureLimit(){const e=this.owner&&this.owner.view&&this.owner.view.qualitySettings,t=e?.graphics3D.minTotalNumberOfFeatures??0,i=e?.graphics3D.maxTotalNumberOfFeatures??0,r=e?.graphics3D.maxNumberOfDrawCalls??0,s=e?.graphics3D.maxTotalNumberOfVertices??0,a=this.averageSymbolComplexity,n=Math.max(1,a?.verticesPerFeature??1),o=a&&a.drawCallsPerFeature>0&&r>0?r/a.drawCallsPerFeature:i,l=Math.ceil(s/n),h=Math.max(t,Math.min(i,l,o)),d=this._get("displayFeatureLimit");return d&&d.maximumTotalNumberOfVertices===s&&d.averageSymbolComplexity===a&&d.maximumNumberOfFeatures===h?d:new oe(s,h,a)}get averageSymbolComplexity(){const e=ae(this._symbolComplexities),t=this._get("averageSymbolComplexity");return 0===e.numComplexities||null!=t&&(e.estimated&&(t.verticesPerFeature>=e.verticesPerFeature||t.verticesPerCoordinate>=e.verticesPerCoordinate||t.drawCallsPerFeature>=e.drawCallsPerFeature)||t.verticesPerFeature===e.verticesPerFeature&&t.verticesPerCoordinate===e.verticesPerCoordinate&&t.drawCallsPerFeature===e.drawCallsPerFeature)?t:e}get usedMemory(){const e=this.labelsEnabled?(this.averageSymbolComplexity?.memory.bytesPerFeatureLabel??0)*this._numberOfGraphics:0,t=this._getSymbolComplexitiesUsed().reduce((e,t)=>e+t.memory.resourceBytes,0);if(null==this._symbolMaterials){this._symbolMaterials=[];for(const e of this._symbols.values())if(null!=e)for(const t of e.symbolLayers)if(t)for(const e of t.materials)e&&this._symbolMaterials.push(e)}const i=this.owner.view.stage.renderer,r=this.owner.view.basemapTerrain.overlayManager.renderer,s=this._symbolMaterials.reduce((e,t)=>e+((i.getMaterialRenderer(t)||r.getMaterialRenderer(t))?.usedMemory??0),0);return this._usedMemory+e+t+s}get usedMemoryPerGraphic(){if(this._usedMemory&&this._numberOfGraphics){const e=this._numberOfGraphics/(this._numberOfGraphics+Math.max(this._pendingAdds,this._pendingRemoves));return this._usedMemory/this._numberOfGraphics*e}if(null!=this.averageSymbolComplexity){const e=this.labelsEnabled?this.averageSymbolComplexity.memory.bytesPerFeatureLabel:0;return this.averageSymbolComplexity.memory.bytesPerFeature+e}return 0}get unprocessedMemoryEstimate(){return(this._pendingAdds-this._pendingRemoves)*this.usedMemoryPerGraphic}get _symbolComplexities(){return this.currentRenderer?this._getSymbolComplexitiesUsedOrRenderer(this.currentRenderer):this._getSymbolComplexitiesUsed()}get visible(){return this._visible}_getConvertedSymbol(e){const t=e;if("web-style"===t.type)return t.clone();const i=this._symbolConversionCache.get(t.id);if(null!=i)return i;const r=se(t,{geometryType:this.layer?.geometryType??void 0,retainId:!0,hasLabelingContext:this._hasLabelingContext(t),cimFallbackEnabled:!0}),a=r.symbol||null;return null==a&&r.error&&s.getLogger(this).error(r.error.message),this._symbolConversionCache.set(t.id,a),a}_getSymbolComplexitiesUsedOrRenderer(e){if(null==e)return[];const t=e.symbols,i="backgroundFillSymbol"in e?e.backgroundFillSymbol:null;if(!i&&!t.length)return[];const r=[],s=this._getSymbolComplexityUsedOrRenderer(i);null!=s&&r.push(s);for(const a of t){const e=this._getSymbolComplexityUsedOrRenderer(a);null!=e&&r.push(e)}return r}_getSymbolComplexityUsedOrRenderer(e){if(null==e)return null;const t=this._symbols.get(e.id);if(null!=t)return t.complexity;const i=this._getConvertedSymbol(e);return null!=i?ne(i):null}_getSymbolComplexitiesUsed(){const e=[];return this._symbols.forEach(t=>{null!=t&&e.push(t.complexity)}),e}get _objectIdField(){return this.layer.objectIdField}constructor(e){super(e),this._propertiesPool=new Pe({computedExtent:I},this),this.computedExtent=null,this.currentRenderer=null,this.rendererHasGeometryOperations=!1,this._graphicStateTracking=null,this.graphics3DGraphics=new Map,this.stageLayer=null,this.stage=null,this._graphicsDrapedUids=new Set,this._graphicsBySymbol=new Map,this._symbolConversionCache=new Map,this._symbols=new Map,this._graphicsWithoutSymbol=new Map,this._graphicsWaitingForSymbol=new Map,this._graphicsUpdateId=0,this._frameTaskHandle=Ue,this._dataUpdateQueue=new N,this._updateQueue=new N,this._suspendSymbolCleanup=!1,this._arcadeOnDemand=null,this._rendererChangeAbortController=null,this._elevationInfoChangeAbortController=null,this._initializeAbortController=null,this._elevationAlignment=null,this._scaleVisibility=null,this._filterVisibility=null,this._spatialIndex=null,this.extentPadding=0,this._updatingPendingLoadedGraphicsChange=null,this._featureStore=null,this._deconflictor=null,this._labeler=null,this._objectStates=null,this._viewElevationProvider=null,this._stageLayerElevationProvider=null,this._sharedSymbolResourcesOwnerHandle=null,this._whenGraphics3DGraphicRequests={},this._pendingUpdates=new Map,this._numberOfGraphics=0,this._numberOfGraphicsProvidingElevation=0,this._pendingAdds=0,this._pendingRemoves=0,this._applyPendingRemovesFirst=!1,this._loadingSymbols=0,this._pendingUpdatesPool=new p({allocator:e=>e||new Fe,deallocator:e=>(e.clear(),e)}),this.compressionTracker=new Ie,this._symbolWarningLogged=!1,this._geometryWarningLogged=!1,this._objectIdInvisibleSet=new Set,this._whenSymbolRemoved=new p,this.preferredUpdatePolicy=1,this._forcedUpdatePolicy=null,this.elevationFeatureExpressionEnabled=!0,this.owner=null,this.layer=null,this.graphicSymbolSupported=!0,this.getRenderingInfoWithoutRenderer=!1,this.setUidToIdOnAdd=!0,this.hasZ=null,this.hasM=null,this._usedMemory=0,this._visible=!1,this._startCreateGraphics=!1,this._unusedSymbolsCache=e.owner.view.resourceController.memoryController.newCache("graphics-3d-unused-symbols",e=>e.destroy()),this.symbolCreationContext=new ye(e.owner.view.resourceController.scheduler,(e,t)=>this._updateQueue.push(e,t),e.owner.layerViewUid,this.compressionTracker)}initialize(){this._featureStore=new pe({objectIdField:this.owner.layer?.objectIdField,hasZ:!!this.hasZ,hasM:!!this.hasM,viewSpatialReference:this._viewSpatialReference,featureSpatialReference:this.owner.featureSpatialReference,getSpatialIndex:()=>this.spatialIndex,forEach:e=>this.graphics3DGraphics.forEach(e)});const e=(e,t,i)=>this.spatialIndex.queryGraphicUIDsInExtent(e,t,i),{componentFactories:t}=this;this._elevationAlignment=t.elevationAlignment?.(this,e),this._scaleVisibility=t.scaleVisibility?.(this,e),this._filterVisibility=t.filterVisibility?.({featureStore:this._featureStore,getFeatureCount:()=>this.graphics3DGraphics.size,updateFeatureVisibilities:e=>this.modifyGraphics3DGraphicVisibilities(t=>t.setVisibilityFlag(1,4,e(H(t.graphic,this._objectIdField)))),setAllFeaturesVisibility:e=>this.modifyGraphics3DGraphicVisibilities(t=>t.setVisibilityFlag(1,4,e)),clearFeaturesVisibility:()=>this.modifyGraphics3DGraphicVisibilities(e=>e.setVisibilityFlag(1,4,!0))}),this._deconflictor=t.deconflictor?.(this),this._labeler=t.labeler?.(this,this._scaleVisibility),this._objectStates=t.objectStates?.(this),this._initializeAbortController=new AbortController,this.addHandles(m(()=>this.owner.view.state.highlights,()=>{const{highlightOrderMap:e}=this.owner.view.state;this.graphics3DGraphics.forEach(t=>t.updateHighlights(e))})),this._initializePromise=this._initializeAsync()}async _initializeAsync(){const e=this._initializeAbortController?.signal,t=this.owner.view;this._viewElevationProvider=new le(this._viewSpatialReference,t),this._initializeStage(t,this.owner.layerViewUid);const i=t.sharedSymbolResources;this.symbolCreationContext.sharedResources=i,this._sharedSymbolResourcesOwnerHandle=i.addGraphicsOwner(this.owner),null!=this.currentRenderer&&(this.symbolCreationContext.renderer=this.currentRenderer),this.symbolCreationContext.stage=this.stage,this.symbolCreationContext.streamDataRequester=i.streamDataRequester,this.symbolCreationContext.renderCoordsHelper=t.renderCoordsHelper,this.symbolCreationContext.layer=this.layer,this.symbolCreationContext.graphicsCoreOwner=this.owner,this.symbolCreationContext.localOriginFactory=new Se(t.renderSpatialReference),this.symbolCreationContext.elevationProvider=t.elevationProvider,this.symbolCreationContext.notifyGraphicGeometryChanged=e=>this.notifyGraphicGeometryChanged(e),this.symbolCreationContext.notifyGraphicVisibilityChanged=e=>this.notifyGraphicVisibilityChanged(e);const r=he(this.layer.elevationInfo,this.elevationFeatureExpressionEnabled);if(this.symbolCreationContext.featureExpressionInfoContext=await de(r,this._viewSpatialReference,e,s.getLogger(this)),c(e),this.symbolCreationContext.screenSizePerspectiveEnabled=t.screenSizePerspectiveEnabled&&!!this.layer.screenSizePerspectiveEnabled,this.symbolCreationContext.slicePlaneEnabled=!!this.owner.slicePlaneEnabled,this.symbolCreationContext.physicalBasedRenderingEnabled=!!this.owner.view.qualitySettings?.physicallyBasedRenderingEnabled,this.symbolCreationContext.skipHighSymbolLods=!!this.owner.view.qualitySettings?.graphics3D?.skipHighSymbolLods,"drapeSourceType"in this.owner){const{owner:e}=this;this.symbolCreationContext.drapeSourceRenderer=t.basemapTerrain.overlayManager.registerGeometryDrapeSource(e)}this.addHandles([b(()=>this.suspendedOrOutsideOfView,()=>this._updateQueue.unshift(()=>this._updateLayerVisibility(),null).catch(y)),b(()=>[this.layer?.screenSizePerspectiveEnabled,this.owner.view?.screenSizePerspectiveEnabled],()=>{const e=t.screenSizePerspectiveEnabled&&!!this.layer.screenSizePerspectiveEnabled;e!==this.symbolCreationContext.screenSizePerspectiveEnabled&&(this.symbolCreationContext.screenSizePerspectiveEnabled=e,this._labeler?.reset(),this.recreateAllGraphicsAndSymbols())}),b(()=>this.owner.slicePlaneEnabled,e=>this._slicePlaneEnabledChange(!!e)),b(()=>this.owner.view.state?.rasterPixelRatio,()=>this._pixelRatioChange()),b(()=>!!this.owner.view.qualitySettings?.physicallyBasedRenderingEnabled,e=>this._physicalBasedRenderingChange(e)),b(()=>!!this.owner.view.qualitySettings?.graphics3D?.skipHighSymbolLods,e=>this._skipHighSymbolLoDsChange(e)),b(()=>this.owner.view.focusAreasView?.polygons,()=>this._updateFocusedLabels()),b(()=>this.owner.view.map?.focusAreas.style,()=>this.recreateAllGraphicsAndSymbols()),m(()=>t.basemapTerrain?.tilingScheme,e=>{if(e.spatialReference.equals(this.symbolCreationContext.overlaySR)||null==t.basemapTerrain.spatialReference||(this.symbolCreationContext.overlaySR=t.basemapTerrain.spatialReference),this.hasHandles("loaded-graphics"))this.recreateAllGraphics();else{const e=()=>this.owner?.loadedGraphics;this.addHandles([_(e,"change",e=>{this._graphicsCollectionChanged(e),this._signalUpdatingDuringAsyncLoadedGraphicsChange()},{onListenerAdd:()=>{this.recreateAllGraphics(),this._signalUpdatingDuringAsyncLoadedGraphicsChange()}})],"loaded-graphics")}},{initial:!0}),b(()=>this.effectiveUpdatePolicy,e=>{null!=this.stageLayer&&(this.stageLayer.updatePolicy=e),this.symbolCreationContext.isAsync=0===this.effectiveUpdatePolicy,1===e&&this.runTask(Re)},f)]),this._frameTaskHandle=t.resourceController.scheduler.registerTask(De.GRAPHICS_CORE,this),this.layer&&"featureReduction"in this.layer&&this.addHandles(b(()=>this.layer.featureReduction,()=>this._deconflictor?.featureReductionChange())),this.notifyChange("averageSymbolComplexity"),this.rendererChange(this.owner.renderer).catch(()=>{}),this._initializeAbortController=null}_abortInitialize(){this._initializeAbortController=n(this._initializeAbortController)}_updateFocusedLabels(){this.forEachGraphics3DSymbol((e,t)=>{t&&e.updateFocus(({graphic:e})=>this.recreateGraphics([e]),t)})}destroy(){if(this._unusedSymbolsCache.destroy(),this._abortInitialize(),this._rendererChangeAbortController=n(this._rendererChangeAbortController),this._abortElevationInfoChange(),this._frameTaskHandle.remove(),this._frameTaskHandle=Ue,this._dataUpdateQueue.cancelAll(),this._updateQueue.cancelAll(),this._deconflictor=o(this._deconflictor),this._labeler=o(this._labeler),this._elevationAlignment=l(this._elevationAlignment),this._scaleVisibility=l(this._scaleVisibility),this._filterVisibility=l(this._filterVisibility),this._objectStates=l(this._objectStates),this.clear(),"drapeSourceType"in this.owner){const{owner:e}=this;this.stage.view.basemapTerrain.overlayManager.unregisterDrapeSource(e)}this._featureStore=l(this._featureStore),this._updatingPendingLoadedGraphicsChange=o(this._updatingPendingLoadedGraphicsChange),this._graphicStateTracking=l(this._graphicStateTracking),this.stage&&(this.stageLayer=l(this.stageLayer),this.stage=null),this._set("owner",null);for(const e in this._whenGraphics3DGraphicRequests)this._whenGraphics3DGraphicRequests[e].reject(new r("graphic:layer-destroyed","Layer has been destroyed"));this._whenGraphics3DGraphicRequests=null,this._sharedSymbolResourcesOwnerHandle=o(this._sharedSymbolResourcesOwnerHandle),this._propertiesPool=l(this._propertiesPool),this._pendingUpdatesPool.prune(),this._pendingUpdatesPool=null,this._whenSymbolRemoved.prune(),this._symbolConversionCache.clear(),this._objectIdInvisibleSet.clear(),this._spatialIndex=l(this._spatialIndex),this._symbolMaterials=null}clear(){this._objectStates?.allGraphicsDeleted(),null!=this._graphicStateTracking&&this._graphicStateTracking.allGraphicsDeleted(),this.graphics3DGraphics.forEach(e=>e.destroy()),this._spatialIndex?.clear(),this.graphics3DGraphics.clear(),this._numberOfGraphics=0,this._usedMemory=0,this._updateLayerVisibility(),this._symbols.forEach(l),this._symbols.clear(),this._symbolMaterials&&(this._symbolMaterials.length=0,this._symbolMaterials=null),this._graphicsBySymbol.clear(),this._graphicsWithoutSymbol.clear(),this._graphicsWaitingForSymbol.clear(),this._pendingUpdates.clear(),this._pendingUpdatesPool.clear(),this._pendingAdds=0,this._pendingRemoves=0,this._applyPendingRemovesFirst=!1,this.notifyChange("dataUpdating"),this.notifyChange("running"),this.notifyChange("updatingRemaining"),this._featureStore.events.emit("changed"),this.owner.notifyContentGeometryUpdate?.()}_initializeStage(e,t){this.stage=e.stage,this.stageLayer=new Ge(this.stage,{visible:!this.suspendedOrOutsideOfView,updatePolicy:this.effectiveUpdatePolicy},t);const i=this.stageLayer.events;i.on("transformationChanged",e=>this.notifyGraphicGeometryChanged(e.graphicUid)),i.on("shaderTransformationChanged",e=>this.notifyGraphicGeometryChanged(e.graphicUid)),i.on("visibilityChanged",e=>this.notifyGraphicVisibilityChanged(e.graphicUid)),i.on("geometryAdded",e=>this.notifyGraphicGeometryChanged(e.object.graphicUid)),i.on("geometryRemoved",e=>this.notifyGraphicGeometryChanged(e.object.graphicUid)),i.on("attributesChanged",e=>we(e.attribute)&&this.notifyGraphicGeometryChanged(e.object.graphicUid))}notifyGraphicGeometryChanged(e){if(null==this._graphicStateTracking||null==e)return;const t=this.graphics3DGraphics.get(e);t&&this._graphicStateTracking.updateGraphicGeometry(t)}notifyGraphicVisibilityChanged(e){if(null==this._graphicStateTracking||null==e)return;const t=this.graphics3DGraphics.get(e);t&&this._graphicStateTracking.updateGraphicVisibility(t)}_updateLayerVisibility(){const e=this.displayFeatureLimit.maximumNumberOfFeatures,t=this._numberOfGraphics>e*Me,i=!this.suspendedOrOutsideOfView&&!t;i!==this._visible&&(this._visible=i,this._updateStageLayerVisibility())}_updateStageLayerVisibility(){const e=this._visible&&(null==this.layer.opacity||this.layer.opacity>=Le);this.stageLayer.visible!==e&&(this.stageLayer.visible=e,e?this.updateGraphicsVisibilities():this._hideAllGraphics(),this.owner.notifyContentGeometryUpdate?.())}getGraphics3DGraphicById(e){return null!=e?this.graphics3DGraphics.get(e):void 0}getGraphics3DGraphicByObjectId(e){return this.owner.layer?.objectIdField?this._findGraphics3DGraphicByObjectId(e):null}_getGraphicObjectID(e,t=this.owner.layer?.objectIdField){return H(e,t)}get graphics3DGraphicsByObjectID(){const e=this.owner.layer?.objectIdField;if(!e)return;const t=new Map;return this.graphics3DGraphics.forEach(i=>{if(!i)return;const r=i.graphic,s=this._getGraphicObjectID(r,e);null!=s&&t.set(s,i)}),t}get labelsEnabled(){return!!this._labeler?.layerLabelsEnabled()}async updateLabelingInfo(e){const t=this._deconflictor?.labelingInfoChange(e),i=this._labeler?.labelingInfoChange(e);await Promise.allSettled([t,i])}updateVisibilityInfo(){this._deconflictor?.labelingInfoChange(),this._labeler?.visibilityInfoChange()}get symbolUpdateType(){if(this._pendingUpdates.size>0)return"unknown";let e=!1,t=!1;for(const[i,r]of this._symbols)if(null!=r){switch(r.getFastUpdateStatus()){case 3:return"unknown";case 1:this._graphicsBySymbol.has(i)&&(t=!0);break;case 0:this._graphicsBySymbol.has(i)&&(e=!0);break;case 2:this._graphicsBySymbol.has(i)&&(t=e=!0)}}return t?e?"mixed":"fast":e?"slow":"mixed"}runTask(e){if(this._dataUpdateQueue.runTask(e),this._updateQueue.runTask(e),this._applyPendingUpdates(e),this.notifyChange("running"),this.running||this.notifyChange("dataUpdating"),this.notifyChange("updatingRemaining"),!e.hasProgressed)return Ee}setObjectIdVisibility(e,t){t?this._objectIdInvisibleSet.delete(e):this._objectIdInvisibleSet.add(e);const i=this._findGraphics3DGraphicByObjectId(e);null!=i&&this._updateUserVisibility(i)}_findGraphics3DGraphicByObjectId(e){return a(this.graphics3DGraphics,t=>this._getGraphicObjectID(t.graphic)===e)}_updateUserVisibility(e){if(null==e)return!1;const t=e.graphic,i=this._getGraphicObjectID(t),r=t.visible&&!this.owner.suspended&&this.stageLayer.visible&&(null==i||!this._objectIdInvisibleSet.has(i));return e.setVisibilityFlag(1,1,r)}_whenGraphics3DGraphic(e){const t=this.graphics3DGraphics.get(e.uid);if(t)return Promise.resolve(t);const i=this._whenGraphics3DGraphicRequests[e.uid];if(i)return i.promise;const r=g();return this._whenGraphics3DGraphicRequests[e.uid]=r,r.promise}async _boundsForGraphics3DGraphic(e,t){const i=this._viewSpatialReference,r=this.owner.view.renderSpatialReference,s=this.owner.view.basemapTerrain.spatialReference,a=(e,t,s)=>V(e,r,t,e,i,t,s),n=(e,t,r)=>V(e,s,t,e,i,t,r),o=this._viewElevationProvider?{service:this._viewElevationProvider,useViewElevation:null!=t&&!!t.useViewElevation,minDemResolution:null!=t?t.minDemResolution:null,minDemResolutionForPoints:this.owner.view.resolution}:null,l=await e.getProjectedBoundingBox(a,n,o,t?.signal);if(!l)return null;const h=l.boundingBox;if(l.requiresDrapedElevation){const e=this.symbolCreationContext.elevationProvider;if(e){A(h,je);const t=e.getElevation(je[0],je[1],0,i,"ground")??0;h[2]=Math.min(h[2],t),h[5]=Math.max(h[5],t)}}return{boundingBox:h,screenSpaceObjects:l.screenSpaceObjects}}async whenGraphicBounds(e,t){await v(()=>this.owner?.loadedGraphics);const i=this.owner.layer?.objectIdField,s=this.owner.loadedGraphics.find(t=>t===e||null!=i&&null!=t.attributes&&e.attributes&&t.attributes[i]===e.attributes[i]);if(!s)throw new r("internal:graphic-not-part-of-view","Graphic is not part of this view");const a=await this._whenGraphics3DGraphic(s);return this._boundsForGraphics3DGraphic(a,t)}computeAttachmentOrigin(e,t){const i=this.graphics3DGraphics.get(e.uid);if(!i)return null;const r=i.computeAttachmentOrigin();if(0===r.render.num&&0===r.draped.num)return null;P(Te,0,0,0);let s=0;if(r.render.num>0){if(!j(r.render.origin,this.symbolCreationContext.renderCoordsHelper.spatialReference,ke,t))return null;U(Te,Te,ke),s++}if(r.draped.num>0){const[e,i]=r.draped.origin,a=this._viewElevationProvider.getElevation(e,i,"ground")??0;if(P(ke,e,i,a),!j(ke,this._viewElevationProvider.spatialReference,ke,t))return null;U(Te,Te,ke),s++}return s>1&&R(Te,Te,1/s),new E({x:Te[0],y:Te[1],z:Te[2],spatialReference:t})}getSymbolLayerSize(e,t){const i=this._symbols.get(e.id);if(null==i)throw new r("internal:symbol-not-part-of-view","Symbol is not part of this view");const s=e.symbolLayers.indexOf(t);if(-1===s)throw new r("internal:missing-symbol-layer","Symbol layer is not in symbol");const a=i.getSymbolLayerSize(s);if(null==a)throw new r("internal:missing-size","Symbol layer has no valid size");return a}_graphicsCollectionChanged(e){this._startCreateGraphics&&(this.add(e.added),this.remove(e.removed))}graphicUpdateHandler(e){const t=e.graphic.uid,i=this.graphics3DGraphics.get(t);if(null!=i||null!=this._graphicsWithoutSymbol.get(t)){switch(e.property){case"visible":this._graphicUpdateVisibleHandler(i);break;case"geometry":this._graphicUpdateGeometryHandler(i,e);break;case"symbol":this._graphicUpdateSymbolHandler(i,e);break;case"attributes":case"popupTemplate":break;case"origin-transform":this._graphicUpdateTransformHandler(i,e)}this.owner.notifyContentGeometryUpdate?.()}}_graphicUpdateGeometryHandler(e,t){this._graphicUpdateGeometryOrTransformHandler(e,t,()=>!(null==t.newValue||null==e||!e.graphics3DSymbol.updateGeometry(e,t.newValue)||!(this._labeler?.updateGraphicGeometry(e)??1))&&(this._labeler?.setDirty(),!0));const i=t.graphic.geometry;null!=i&&this._expandComputedExtent(i)}_graphicUpdateTransformHandler(e,t){const i=t.graphic.geometry;this._graphicUpdateGeometryOrTransformHandler(e,t,()=>null!=t.newValue&&null!=e&&null!=i&&e.graphics3DSymbol.updateTransform(e,i.spatialReference,t.newValue,t.action))}_graphicUpdateGeometryOrTransformHandler(e,t,i){if(null!=t.graphic.geometry){if(null==e){const e=t.graphic.symbol?.id;if(e){const t=this._symbols.get(e);if(null!=t&&0===t.loadStatus)return}return void this._recreateGraphic(t.graphic)}i()||this._recreateGraphic(e.graphic)}else this._recreateGraphic(t.graphic)}_graphicUpdateSymbolHandler(e,t){const i=t.graphic,r=null!=e?e.graphics3DSymbol:null!=t.oldValue?this._symbols.get(t.oldValue.id):null;if(null==r||null==t.newValue)return void this._recreateGraphic(i);const s=r.symbol,a=this._getConvertedSymbol(t.newValue);if(null!=a&&(a.type!==s.type||"web-style"===a.type)||"web-style"===s.type)return void this._recreateGraphic(i);const n=this._graphicsBySymbol.get(s.id);if(n&&1!==n.size)return void this._recreateGraphic(i);const o=G(s,a);if(null==o)return void this._updateSymbolMapping(s.id,a);const l={diff:o,graphics3DGraphicPatches:[],symbolStatePatches:[]};if(r.prepareSymbolPatch(l),!x(l.diff))return void this._recreateGraphic(i);const h=this._getRenderingInfo(i,!1);if(null==h)return void this._recreateGraphic(i);const d=r.extentPadding;for(const p of l.symbolStatePatches)p();if(d!==r.extentPadding&&this._recomputeExtentPadding(),null!=e)for(const p of l.graphics3DGraphicPatches)p(e,h);this._updateSymbolMapping(s.id,a)}_graphicUpdateVisibleHandler(e){this._updateUserVisibility(e)&&(this._labeler?.setDirty(),this._deconflictor?.setDirty())}recreateGraphics(e){this._suspendSymbolCleanup=!0,this.remove(e),this.add(e),this._suspendSymbolCleanup=!1,1===this.effectiveUpdatePolicy&&this._cleanupSymbols()}_recreateGraphic(e){this.recreateGraphics([e])}_beginGraphicUpdate(e){const t=this._graphicsUpdateId;return this._graphicsUpdateId++,this._graphicsWaitingForSymbol.set(e.uid,t),1===this._graphicsWaitingForSymbol.size&&this.notifyChange("dataUpdating"),t}_endGraphicUpdate(e,t){e&&(t&&this._graphicStateTracking?.updateGraphicError(e,t),this._graphicsWaitingForSymbol.delete(e.uid),0===this._graphicsWaitingForSymbol.size&&(this._cleanupSymbols(),this.notifyChange("dataUpdating")))}_recomputeExtentPadding(){let e=0;this._symbols.forEach(t=>{null!=t&&(e=Math.max(e,t.extentPadding))}),this._set("extentPadding",e)}_expandComputedExtent(e){const t=Oe,i=e.spatialReference;B(e,t);const r=this._viewSpatialReference,s=Ve.tmpVec;if(z(i,r)||O(t[0],t[1],0,i,s,r)&&(t[0]=s[0],t[1]=s[1],O(t[3],t[4],0,i,s,r),t[3]=s[0],t[4]=s[1]),!(isFinite(t[0])&&isFinite(t[3])&&isFinite(t[1])&&isFinite(t[4])))return;const a=this.computedExtent;let n=null;const o=isFinite(t[2])&&isFinite(t[5]),l=o&&(null==a?.zmin||t[2]<a.zmin),h=o&&(null==a?.zmax||t[5]>a.zmax);if(a){(t[0]<a.xmin||t[1]<a.ymin||t[3]>a.xmax||t[4]>a.ymax||l||h)&&(n=this._propertiesPool.get("computedExtent"),n.xmin=Math.min(t[0],a.xmin),n.ymin=Math.min(t[1],a.ymin),n.xmax=Math.max(t[3],a.xmax),n.ymax=Math.max(t[4],a.ymax),n.spatialReference=r)}else n=this._propertiesPool.get("computedExtent"),n.xmin=t[0],n.ymin=t[1],n.xmax=t[3],n.ymax=t[4],n.spatialReference=r;n&&(l&&(n.zmin=t[2]),h&&(n.zmax=t[5]),this._set("computedExtent",n))}_abortElevationInfoChange(){this._elevationInfoChangeAbortController&&(this._elevationInfoChangeAbortController.abort(),this._elevationInfoChangeAbortController=null)}async elevationInfoChange(){this._abortElevationInfoChange();const e=new AbortController;this._elevationInfoChangeAbortController=e;const t=he(this.layer.elevationInfo,this.elevationFeatureExpressionEnabled);this.symbolCreationContext.featureExpressionInfoContext=await de(t,this._viewSpatialReference,e.signal,s.getLogger(this)),c(e.signal),this._elevationInfoChangeAbortController=null,this._labeler?.elevationInfoChange(),this.forEachGraphics3DSymbol((e,t,i)=>{e.globalPropertyChanged("elevationInfo",t)?t?.forEach(e=>{const t=e.graphic,i=e.labelLayers;for(const r of i){r.graphics3DSymbolLayer.updateGraphicElevationContext(t,r)}}):this._recreateSymbol(i)}),this.updateStageLayerElevationProvider(),this._elevationAlignment?.elevationInfoChange()}updateStageLayerElevationProvider(){this._stageLayerElevationProvider?(this.layer.elevationInfo&&"relative-to-scene"===this.layer.elevationInfo.mode||0===this._numberOfGraphicsProvidingElevation)&&(this.owner.view.elevationProvider.unregister(this._stageLayerElevationProvider),this._stageLayerElevationProvider=h(this._stageLayerElevationProvider)):(!this.layer.elevationInfo||this.layer.elevationInfo&&"relative-to-scene"!==this.layer.elevationInfo.mode)&&this._numberOfGraphicsProvidingElevation>0&&(this._stageLayerElevationProvider=new ve({layer:this.layer,stageLayer:this.stageLayer,view:this.owner.view}),this.owner.view.elevationProvider.register("scene",this._stageLayerElevationProvider))}_clearSymbolsAndGraphics(){this.clear(),null!=this._filterVisibility&&this._filterVisibility.clear(),this._labeler?.reset(),this._deconflictor?.clear(),this._elevationAlignment?.clear(),this.stageLayer?.invalidateSpatialQueryAccelerator(),this._stageLayerElevationProvider&&(this.owner.view.elevationProvider.unregister(this._stageLayerElevationProvider),this._stageLayerElevationProvider=h(this._stageLayerElevationProvider))}startCreateGraphics(){this._startCreateGraphics=!0,this.recreateAllGraphics()}recreateAllGraphics(){this._recreateAllGraphics(!1)}recreateAllGraphicsAndSymbols(){this._recreateAllGraphics(!0)}_recreateAllGraphics(e=!1){if(!this._startCreateGraphics)return;const{loadedGraphics:t,view:i}=this.owner,r=i.basemapTerrain?.tilingScheme&&t?.length?t.toArray():null;!e&&r||this._clearSymbolsAndGraphics(),this.symbolCreationContext.screenSizePerspectiveEnabled=this.owner.view.screenSizePerspectiveEnabled&&!!this.layer.screenSizePerspectiveEnabled,this.symbolCreationContext.slicePlaneEnabled=!!this.owner.slicePlaneEnabled,this._set("computedExtent",null),r&&(e?this.add(r):this.recreateGraphics(r))}_recreateSymbol(e){const t=this._graphicsBySymbol.get(e),i=[];t&&(t.forEach((e,t)=>{const r=e.usedMemory;this._conditionalRemove(e,t),this._spatialIndex?.remove(e),i.push(e.graphic),e.destroy(),this._removeGraphics3DGraphic(t,r),this._updateLayerVisibility(),this._featureStore.events.emit("changed"),this.owner.notifyContentGeometryUpdate?.()}),this._graphicsBySymbol.set(e,new Map));const r=this._symbols.get(e);l(r),this._symbols.delete(e),this._symbolMaterials=null,l(this._unusedSymbolsCache.pop(e)),this.add(i)}_recreateGraphicsForSymbol(e){const t=this._graphicsBySymbol.get(e);if(t){const e=[];t.forEach(t=>e.push(t.graphic)),this.recreateGraphics(e)}}_conditionalRemove(e,t){this._graphicsDrapedUids.delete(t),this._objectStates?.removeGraphic(e),this._labeler?.removeGraphic(e),this._deconflictor?.removeGraphic(e),null!=this._graphicStateTracking&&this._graphicStateTracking.removeGraphic(e)}add(e){e&&0!==e.length&&(this.owner.view.basemapTerrain?.tilingScheme?(0===this._updatePolicyForGraphics(e)?this._addDelayed(e):this._addImmediate(e),this.notifyChange("dataUpdating")):s.getLogger(this).error("#add()","Cannot add graphics before terrain surface has been initialized"))}_updatePolicyForGraphics(e){if(1===this.effectiveUpdatePolicy&&("mesh"===this.layer.geometryType||null==this.layer.geometryType))for(const t of e)if(null!=t.geometry&&"mesh"===t.geometry.type&&!t.geometry.loaded)return 0;return this.effectiveUpdatePolicy}_addImmediate(e){this._geometryWarningLogged=!1,this._symbolWarningLogged=!1;for(const t of e)this._addGraphic(t,this._getRenderingInfo(t),1);this._cleanupSymbols(),this._labeler?.setDirty(),this._deconflictor?.setDirty()}_addDelayed(e){for(const t of e){const e=t.uid;let i=this._pendingUpdates.get(e);i?i.add?0!==i.state&&i.abortController?.abort():this._pendingAdds++:(i=this._pendingUpdatesPool.pushNew(),this._pendingAdds++,this._pendingUpdates.set(e,i)),i.add=t}this.notifyChange("running"),this.notifyChange("updatingRemaining"),this.notifyChange("dataUpdating")}remove(e){0===this.effectiveUpdatePolicy?this._removeDelayed(e):this._removeImmediate(e),this.notifyChange("dataUpdating")}_removeImmediate(e){for(const t of e)this._removeGraphic(t);this._cleanupSymbols(),this._labeler?.setDirty(),this._deconflictor?.setDirty()}_removeDelayed(e){for(const t of e){const e=t.uid,i=this._pendingUpdates.get(e);if(i)i.add&&(i.remove?i.add=null:this._pendingUpdates.delete(e),1===i.state&&i.abortController?.abort(),this._pendingAdds--);else{const i=this._pendingUpdatesPool.pushNew();i.remove=t,this._pendingUpdates.set(e,i),this._pendingRemoves++,this._applyPendingRemovesFirst=!0}}0===this._pendingUpdates.size&&this._finishPendingUpdates(),this.notifyChange("running"),this.notifyChange("updatingRemaining"),this.notifyChange("dataUpdating")}_finishPendingUpdates(){this._pendingUpdatesPool.clear(),this._cleanupSymbols(),(this._pendingAdds||this._pendingRemoves)&&s.getLogger(this).warn("pendingAdds/Removes in inconsistent state!"),this._pendingAdds=0,this._pendingRemoves=0,this._applyPendingRemovesFirst=!1}_applyPendingUpdates(e){if(this._geometryWarningLogged=!1,this._symbolWarningLogged=!1,0===this._pendingUpdates.size&&this._spatialIndex?.updating)return this._spatialIndex.update(),void e.madeProgress();if(this._applyPendingRemovesFirst){this._applyPendingRemovesFirst=!1;for(const[t,i]of this._pendingUpdates){if(e.done){this._applyPendingRemovesFirst=!0;break}if(i.remove&&!i.add&&(this._pendingRemoves--,e.madeProgress(),this._removeGraphic(i.remove),i.remove=null,this._pendingUpdates.delete(t),0===this._pendingRemoves))break}}for(const[t,i]of this._pendingUpdates){if(e.done)break;i.add&&0===i.state&&this._processPendingUpdateNew(i);let r=this.effectiveUpdatePolicy;if(!i.remove||i.add&&2!==i.state||(this._pendingRemoves--,e.madeProgress(),this._removeGraphic(i.remove),i.remove=null,r=1),i.add)switch(i.state){case 2:this._addGraphic(i.add,i.renderingInfo,r),i.add=null,this._pendingAdds--,e.madeProgress();break;case 3:i.add=null,this._pendingAdds--}null==i.remove&&null==i.add&&this._pendingUpdates.delete(t)}0===this._pendingUpdates.size&&(this._finishPendingUpdates(),this.notifyChange("running"),this.notifyChange("dataUpdating"))}_processPendingUpdateNew(e){if(!e.add)return void(e.state=2);const t=e.add.geometry;null==t||"mesh"!==t.type||t.loaded?this._processPendingUpdateNewRenderingInfo(e):this._processPendingUpdateNewMesh(e,t)}async _processPendingUpdateNewMesh(e,t){e.state=1,e.abortController=new AbortController;const i=e.abortController.signal;try{await t.load({signal:i})}catch(r){return this._processPendingUpdateNewError(e,r)}e.abortController=null,this._processPendingUpdateNewRenderingInfo(e)}_processPendingUpdateNewError(e,t){e.abortController=null,u(t)?e.state=0:e.state=3}async _processPendingUpdateNewRenderingInfo(e){if(null==this.layer.renderer||"dictionary"!==this.layer.renderer.type)return e.renderingInfo=this._getRenderingInfo(e.add),void(e.state=2);e.state=1,e.abortController=new AbortController;let t=null;try{t=await this._getRenderingInfoAsync(e.add,{signal:e.abortController.signal})}catch(i){return e.abortController=null,void(u(i)?e.state=0:e.state=3)}null==t?.symbol?(this._symbolWarningLogged||(this._symbolWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has no symbol and will not render`)),e.renderingInfo=null):e.renderingInfo=t,e.state=2}_addGraphic(e,t,i){if(this._graphicsWithoutSymbol.set(e.uid,e),null==t?.symbol||!q(e))return;const r=this.stage.renderView.olidRenderHelper;if(r&&this.setUidToIdOnAdd){const t=J(this.owner.view,this.owner.layerViewUid);r.setUidToObjectAndLayerId(e.objectId,e.uid,this.layer.id,this.owner.layerViewUid,!!this.layer.popupEnabled&&!t&&xe(this.layer,this.owner.view.popup?.defaultPopupTemplateEnabled))}const s=t.symbol,a=this.getOrCreateGraphics3DSymbol(s,t.renderer);if(null==a)return;this._expandComputedExtent(e.geometry);const n=this._beginGraphicUpdate(e),o=new ce(e,t,this.layer);let l=!1;const h=e=>{e===a.symbol.id&&(l=!0)};this._whenSymbolRemoved.push(h);const d=()=>{if(--this._loadingSymbols,this.destroyed)return;this._whenSymbolRemoved.removeUnordered(h);if(this._graphicsWaitingForSymbol.get(e.uid)!==n||l||a.destroyed||this.graphicSymbolSupported&&e.symbol&&e.symbol.id!==a.symbol.id)--a.referenced,this._cleanupSymbols();else{const t=this._createGraphics3DGraphic(a,o);this._spatialIndex&&null!=t&&this._spatialIndex.add(t),--a.referenced,this._endGraphicUpdate(e)}this._featureStore.events.emit("changed"),this.owner.notifyContentGeometryUpdate?.(),this._labeler?.setDirty()},p=t=>{--this._loadingSymbols,this.destroyed||(this._whenSymbolRemoved.removeUnordered(h),l||(u(t)?this.add([e]):a.destroyed||this._endGraphicUpdate(e,t)))};++this._loadingSymbols,0===i?a.load(()=>this._dataUpdateQueue.push(d,null).catch(y),e=>this._dataUpdateQueue.push(()=>p(e),null).catch(y)):a.load(d,p)}_removeGraphic(e){const t=e.uid,i=this.graphics3DGraphics.get(t);if(i){i.graphics3DSymbol.onRemoveGraphic(i);const e=i.usedMemory,r=i.isElevationSource;this._conditionalRemove(i,t),this._spatialIndex?.remove(i);const s=i.graphics3DSymbol.symbol.id;this._graphicsBySymbol.get(s)?.delete(t),this._graphicsWithoutSymbol.delete(t),this._removeGraphics3DGraphic(t,e,r),i.destroy(),this._featureStore.events.emit("changed"),this.owner.notifyContentGeometryUpdate?.()}else this._graphicsWithoutSymbol.delete(t),this._graphicsWaitingForSymbol.delete(t),0===this._graphicsWaitingForSymbol.size&&(this._cleanupSymbols(),this.notifyChange("dataUpdating"))}_hasLabelingContext(e){if(e instanceof ee||e instanceof te){const t=this.symbolCreationContext.layer;return!!t.labelingInfo&&t.labelingInfo.some(t=>t.symbol===e)}return!1}_hasValidSymbolCreationContext(e){return!(e instanceof ee&&!this._hasLabelingContext(e))||(s.getLogger(this).error("LabelSymbol3D is only valid as part of a LabelClass. Using LabelSymbol3D as a renderer symbol is not supported."),!1)}_getRenderingInfo(e,t=!0){const i=e.geometry;if(null==i)return t&&!this._geometryWarningLogged&&(this._geometryWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has no geometry and will not render`)),null;if(!L(i.spatialReference,this._viewSpatialReference))return t&&!this._geometryWarningLogged&&(this._geometryWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has incompatible spatial reference and will not render`)),null;if(!this.graphicSymbolSupported&&null!=e.symbol)return t&&!this._symbolWarningLogged&&(this._symbolWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} is not allowed to have a symbol, use a renderer instead`)),null;const r=this.rendererHasGeometryOperations?Q(e,this.layer):e;let a;if(this.owner.getRenderingInfo&&(this.getRenderingInfoWithoutRenderer||null!=this.currentRenderer))a=this.owner.getRenderingInfo(r,this.currentRenderer,this._arcadeOnDemand);else{const e=r.symbol||re(r.geometry);a=new X(null,e)}return null==a?.symbol?(t&&!this._symbolWarningLogged&&(this._symbolWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has no symbol and will not render`)),null):a}_getRenderingInfoAsync(e,t){if(null==e.geometry)return this._geometryWarningLogged||(this._geometryWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} has no geometry and will not render`)),null;if(!this.graphicSymbolSupported&&null!=e.symbol)return this._symbolWarningLogged||(this._symbolWarningLogged=!0,s.getLogger(this).warn(`Graphic in layer ${this.layer.id} is not allowed to have a symbol, use a renderer instead`)),null;const i=this.rendererHasGeometryOperations?Q(e,this.layer):e;return this.owner.getRenderingInfoAsync(i,this.currentRenderer,this._arcadeOnDemand,t)}_createGraphics3DSymbol(e,t){if(!this._hasValidSymbolCreationContext(e))return null;const i=this._getConvertedSymbol(e);if(!i)return null;let r;if(null!=t&&"backgroundFillSymbol"in t&&t.backgroundFillSymbol){const e=se(t.backgroundFillSymbol,{ignoreDrivers:!0});null!=e.symbol&&(r=e.symbol.symbolLayers)}const s=ge(i,this.symbolCreationContext,r);return s.load(()=>{const e=s.extentPadding;e>this.extentPadding&&this._set("extentPadding",e),this.notifyChange("averageSymbolComplexity")},()=>{}),s}getOrCreateGraphics3DSymbol(e,t){let i=this._symbols.get(e.id);if(void 0===i){const r=this._unusedSymbolsCache.pop(e.id);i=null!=r?r:e instanceof ie?new ue(e,e=>this._dataUpdateQueue.push(e,null),e=>this._createGraphics3DSymbol(e,t)):this._createGraphics3DSymbol(e,t),this._symbols.set(e.id,i),this._symbolMaterials=null}return null!=i&&++i.referenced,i}trackGraphicState(e){return null==this._graphicStateTracking&&(this._graphicStateTracking=new be(this)),this._graphicStateTracking.add(e)}_addGraphics3DGraphic(e){this._usedMemory+=e.usedMemory,this.graphics3DGraphics.set(e.graphic.uid,e),this._numberOfGraphics++,e.isElevationSource&&(this._numberOfGraphicsProvidingElevation++,this.updateStageLayerElevationProvider()),this._updateLayerVisibility()}_removeGraphics3DGraphic(e,t,i=!1){this._usedMemory-=t,this.graphics3DGraphics.delete(e),this._numberOfGraphics--,i&&(this._numberOfGraphicsProvidingElevation--,this.updateStageLayerElevationProvider()),this._updateLayerVisibility()}_createGraphics3DGraphic(e,t){const i=t.graphic;if(this._graphicsWithoutSymbol.delete(i.uid),!this._symbols.has(e.symbol.id))return this.add([i]),null;if(this.graphics3DGraphics.has(i.uid))return null;const r=e.createGraphics3DGraphic(t);if(null==r)return null;this._addGraphics3DGraphic(r);const s=e.symbol.id;this._graphicsBySymbol.has(s)||this._graphicsBySymbol.set(s,new Map),this._graphicsBySymbol.get(s).set(i.uid,r);if(r.isDraped&&this._graphicsDrapedUids.add(i.uid),r.centroid=null,null!=i.geometry&&"point"!==i.geometry.type&&(r.centroid=_e(i.geometry,this._viewSpatialReference)),this._updateUserVisibility(r),null!=this._scaleVisibility&&this._scaleVisibility.updateVisibility(r),null!=this._filterVisibility){const{defaultVisibility:e}=this._filterVisibility;r.setVisibilityFlag(1,4,e),e||this._filterVisibility.reapply()}this._deconflictor?.addGraphic(r),this._labeler?.addGraphic(r),this._objectStates?.addGraphic(r),r.initialize(this.stageLayer),null!=this._graphicStateTracking&&this._graphicStateTracking.addGraphic(r);const a=this._whenGraphics3DGraphicRequests[i.uid];return a&&(delete this._whenGraphics3DGraphicRequests[i.uid],a.resolve(r)),this._symbolMaterials=null,r}async rendererChange(e){if(this._rendererChangeAbortController=n(this._rendererChangeAbortController),e!==this.currentRenderer)if(this._validateRenderer(e),null==e&&this._currentRendererChange(null,!1),Z(e))if(e?.arcadeRequired){const t=new AbortController;this._rendererChangeAbortController=t;const{arcadeUtils:i}=await this._ensureArcade();c(t);const r=i.hasGeometryOperations(e);r&&(await i.enableGeometryOperations(),c(t)),0===this.effectiveUpdatePolicy?await this._updateQueue.push(()=>this._currentRendererChange(e,r),t.signal):this._currentRendererChange(e,r),this._rendererChangeAbortController=null}else if(0===this.effectiveUpdatePolicy){const t=new AbortController;this._rendererChangeAbortController=t,await this._updateQueue.push(()=>this._currentRendererChange(e,!1),t.signal),this._rendererChangeAbortController=null}else this._currentRendererChange(e,!1);else this._currentRendererChange(e,!1)}async _ensureArcade(){return null==this._arcadeOnDemand?(this._arcadeOnDemand=await K(),this._arcadeOnDemand):this._arcadeOnDemand}_currentRendererChange(e,t){this.currentRenderer=e,this.rendererHasGeometryOperations=t,this.symbolCreationContext.arcade=this._arcadeOnDemand;const i=this.symbolCreationContext.renderer;if(e===i)return;if(this._symbolConversionCache.clear(),this._unusedSymbolsCache.clear(),null==e)return this.symbolCreationContext.renderer=null,void this.recreateAllGraphicsAndSymbols();const r=G(i,e);this._updateUnchangedSymbolMappings(r,e,i),this.symbolCreationContext.renderer=e,null!=r&&("complete"===r.type?this.recreateAllGraphicsAndSymbols():"partial"===r.type&&(this._applyRendererDiff(r,e,i)?this._labeler?.reset():this.recreateAllGraphicsAndSymbols()),this.notifyChange("averageSymbolComplexity"))}_diffHasSymbolChange(e){for(const t in e.diff)switch(t){case"visualVariables":case"defaultSymbol":case"uniqueValueInfos":break;case"uniqueValueGroups":case"authoringInfo":case"fieldDelimiter":delete e.diff[t];break;default:return!0}return!1}_applySymbolSetDiff(e,t,i){e=e||[],t=t||[];const r=[];for(const s of t){const t=this._graphicsBySymbol.get(s.id);t&&t.forEach((a,n)=>{const o=a.graphic,l=this.layer instanceof W?this.layer:null,h=this._arcadeOnDemand;if(s===i.defaultSymbol&&i.getSymbol(Q(o,l),{arcade:h})===i.defaultSymbol)return;const d=a.usedMemory;e.length||i.defaultSymbol?r.push(o):this._graphicsWithoutSymbol.set(n,o);const p=this.graphics3DGraphics.get(n);this._conditionalRemove(p,n),a.destroy(),t.delete(n),this._removeGraphics3DGraphic(n,d),this._updateLayerVisibility()}),this._whenSymbolRemoved.forAll(e=>e(s.id))}(e.length||r.length)&&(this._graphicsWithoutSymbol.forEach(e=>r.push(e)),this._graphicsWithoutSymbol.clear(),this.add(r)),this._cleanupSymbols(),this._labeler?.setDirty(),this._deconflictor?.setDirty()}_applyUniqueValueRendererDiff(e,t,r){const s=e.diff.defaultSymbol,a=e.diff.uniqueValueInfos;if(s||a){const n=a?.changed,o=a?.unchanged;if(n&&o&&n.some(e=>o.some(t=>t.oldValue.symbol?.id===e.oldValue.symbol?.id)))return!1;const l=a?a.added.map(e=>e.symbol).filter(i):[],h=a?a.removed.map(e=>e.symbol).filter(i):[];if(n)for(let e=0;e<n.length;e++)l.push(n[e].newValue.symbol),h.push(n[e].oldValue.symbol);return s?(r.defaultSymbol&&h.push(r.defaultSymbol),t.defaultSymbol&&l.push(t.defaultSymbol)):r.defaultSymbol&&l.length&&h.push(t.defaultSymbol),this._applySymbolSetDiff(l,h,t),delete e.diff.defaultSymbol,delete e.diff.uniqueValueInfos,!0}return!1}_calculateUnchangedSymbolMapping(e,t,i){if("unique-value"!==t?.type||"unique-value"!==i?.type||null!=e&&"partial"!==e.type)return[];const r=e=>null!=e?e.id:null,s=e&&e.diff,a=s?.defaultSymbol,n=s&&s.uniqueValueInfos;let o;if(n)o=n.unchanged.map(e=>({oldId:r(e.oldValue.symbol),newId:r(e.newValue.symbol)}));else{o=[];for(const e of i.uniqueValueInfos??[]){const i=r(e.symbol),s=t.uniqueValueInfos?.find(t=>t.value===e.value);s&&i!==r(s.symbol)&&o.push({oldId:i,newId:r(s.symbol)})}}return!a&&i.defaultSymbol&&o.push({oldId:r(i.defaultSymbol),newId:r(t.defaultSymbol)}),o}_updateSymbolMapping(e,t){const i=null!=t&&t?"string"==typeof t?t:t.id:null;if(null==e||e===i)return;const r=this._graphicsBySymbol.get(e);this._graphicsBySymbol.delete(e),void 0!==r&&this._graphicsBySymbol.set(i,r);const s=this._symbols.get(e);if(void 0!==s&&(this._symbols.delete(e),this._symbols.set(i,s),this._symbolMaterials=null,null!=s)){const e="string"==typeof t?null:t;null!=e?s.symbol=e:s.symbol.id=i}}_updateUnchangedSymbolMappings(e,t,i){const r=this._calculateUnchangedSymbolMapping(e,t,i);for(const{oldId:s,newId:a}of r)this._updateSymbolMapping(s,a)}_applyRendererDiff(e,t,i){if(this._diffHasSymbolChange(e))return!1;if(t instanceof $&&i instanceof $&&this._applyUniqueValueRendererDiff(e,t,i)&&0===Object.keys(e.diff).length)return!0;for(const r of this._graphicsBySymbol.keys()){const i=this._symbols.get(r);if(null!=i)switch(i.applyRendererDiff(e,t)){case 0:this._recreateSymbol(r);break;case 1:this._recreateGraphicsForSymbol(r)}}return!0}opacityChange(){this._updateStageLayerVisibility(),this.forEachGraphics3DSymbol((e,t)=>e.globalPropertyChanged("opacity",t))}_slicePlaneEnabledChange(e){e!==this.symbolCreationContext.slicePlaneEnabled&&(this.symbolCreationContext.slicePlaneEnabled=e,this.stageLayer.sliceable=e,this.forEachGraphics3DSymbol((e,t)=>e.globalPropertyChanged("slicePlaneEnabled",t)),this._deconflictor?.slicePlaneEnabledChange(),this._labeler?.slicePlaneEnabledChange())}_physicalBasedRenderingChange(e){this.symbolCreationContext.physicalBasedRenderingEnabled=e,this.forEachGraphics3DSymbol((e,t,i)=>{e.globalPropertyChanged("physicalBasedRenderingEnabled",t)||this._recreateSymbol(i)})}_skipHighSymbolLoDsChange(e){this.symbolCreationContext.skipHighSymbolLods=e,this.forEachGraphics3DSymbol((e,t,i)=>{e.globalPropertyChanged("skipHighSymbolLods",t)||this._recreateSymbol(i)})}_pixelRatioChange(){this.forEachGraphics3DSymbol((e,t,i)=>{e.globalPropertyChanged("pixelRatio",t)||this._recreateSymbol(i)})}_signalUpdatingDuringAsyncLoadedGraphicsChange(){this._updatingPendingLoadedGraphicsChange&&this._updatingPendingLoadedGraphicsChange.remove(),this._updatingPendingLoadedGraphicsChange=C(()=>{this._updatingPendingLoadedGraphicsChange=null})}setClippingExtent(e,t){const i=this.symbolCreationContext.clippingExtent,r=k();return Ce(e,r,t)?this.symbolCreationContext.clippingExtent=M(F(),r):this.symbolCreationContext.clippingExtent=null,!T(this.symbolCreationContext.clippingExtent,i)}modifyGraphics3DGraphicVisibilities(e){if(this.destroyed)return;let t=!1;this.graphics3DGraphics.forEach(i=>{e(i)&&(t=!0)}),t&&(this._labeler?.setDirty(),this._deconflictor?.setDirty())}forEachGraphics3DSymbol(e,t){for(const[i,r]of this._symbols){if(null==r)return;e(r,this._graphicsBySymbol.get(i)||ze,i)}if(!t?.excludeUnused)for(const i of this._unusedSymbolsCache)e(i,void 0,i.symbol.id)}updateGraphicsVisibilities(){null!=this._filterVisibility&&this._filterVisibility.reapply(),this.modifyGraphics3DGraphicVisibilities(e=>{const t=this._updateUserVisibility(e),i=!!this._scaleVisibility?.updateVisibility(e);return t||i})}_hideAllGraphics(){this.modifyGraphics3DGraphicVisibilities(e=>e.setVisibilityFlag(1,1,!1))}_validateRenderer(e){const t=()=>`'${this.layer.title?`${this.layer.title}, `:""}id:${this.layer.id}'`,i=Y(e,{geometryType:this.layer?.geometryType,logWarning:(e,i)=>s.getLogger(this).warn(e,`Symbology conversion for layer ${t()}: ${i}`)});if(i){const e=`Renderer for layer ${t} is not supported in a SceneView`;s.getLogger(this).warn(e,i.message)}}_cleanupSymbols(){if(this._graphicsWaitingForSymbol.size>0||this._suspendSymbolCleanup)return;let e=!1;this._symbols.forEach((t,i)=>{if(null==t||t.referenced>0)return;const r=this._graphicsBySymbol.get(i);r&&0!==r.size||(this._graphicsBySymbol.delete(i),this._symbols.delete(i),this._symbolMaterials=null,this._unusedSymbolsCache.put(i,t,d),e=!0)}),e&&(this._recomputeExtentPadding(),this.notifyChange("averageSymbolComplexity"))}get test(){}get performanceInfo(){return new me(this.graphics3DGraphics.size,Array.from(this.graphics3DGraphics.values()).reduce((e,t)=>e+(t.isVisible()?1:0),0),this._graphicsWithoutSymbol.size,this._pendingUpdates.size)}};e([S({readOnly:!0})],Ae.prototype,"computedExtent",void 0),e([S()],Ae.prototype,"currentRenderer",void 0),e([S()],Ae.prototype,"rendererHasGeometryOperations",void 0),e([S()],Ae.prototype,"_frameTaskHandle",void 0),e([S()],Ae.prototype,"_dataUpdateQueue",void 0),e([S()],Ae.prototype,"_updateQueue",void 0),e([S({readOnly:!0})],Ae.prototype,"_viewSpatialReference",null),e([S()],Ae.prototype,"_rendererChangeAbortController",void 0),e([S()],Ae.prototype,"_elevationInfoChangeAbortController",void 0),e([S()],Ae.prototype,"_initializeAbortController",void 0),e([S()],Ae.prototype,"_elevationAlignment",void 0),e([S()],Ae.prototype,"_scaleVisibility",void 0),e([S()],Ae.prototype,"_filterVisibility",void 0),e([S()],Ae.prototype,"_initializePromise",void 0),e([S()],Ae.prototype,"_spatialIndex",void 0),e([S({readOnly:!0})],Ae.prototype,"extentPadding",void 0),e([S()],Ae.prototype,"_updatingPendingLoadedGraphicsChange",void 0),e([S()],Ae.prototype,"_featureStore",void 0),e([S()],Ae.prototype,"_objectStates",void 0),e([S()],Ae.prototype,"_loadingSymbols",void 0),e([S({constructOnly:!0})],Ae.prototype,"compressionTracker",void 0),e([S()],Ae.prototype,"preferredUpdatePolicy",void 0),e([S()],Ae.prototype,"_forcedUpdatePolicy",void 0),e([S({readOnly:!0})],Ae.prototype,"effectiveUpdatePolicy",null),e([S({constructOnly:!0})],Ae.prototype,"elevationFeatureExpressionEnabled",void 0),e([S({constructOnly:!0})],Ae.prototype,"owner",void 0),e([S({constructOnly:!0})],Ae.prototype,"layer",void 0),e([S({constructOnly:!0})],Ae.prototype,"graphicSymbolSupported",void 0),e([S({constructOnly:!0})],Ae.prototype,"getRenderingInfoWithoutRenderer",void 0),e([S({constructOnly:!0})],Ae.prototype,"componentFactories",void 0),e([S({constructOnly:!0})],Ae.prototype,"setUidToIdOnAdd",void 0),e([S()],Ae.prototype,"featureStore",null),e([S()],Ae.prototype,"initializePromise",null),e([S()],Ae.prototype,"scaleVisibility",null),e([S()],Ae.prototype,"elevationAlignment",null),e([S()],Ae.prototype,"objectStates",null),e([S()],Ae.prototype,"filterVisibility",null),e([S({readOnly:!0})],Ae.prototype,"updating",null),e([S({readOnly:!0})],Ae.prototype,"dataUpdating",null),e([S({readOnly:!0})],Ae.prototype,"running",null),e([S({readOnly:!0})],Ae.prototype,"suspendedOrOutsideOfView",null),e([S({readOnly:!0,dependsOn:[]})],Ae.prototype,"updatingRemaining",null),e([S({readOnly:!0})],Ae.prototype,"displayFeatureLimit",null),e([S({readOnly:!0,dependsOn:[]})],Ae.prototype,"averageSymbolComplexity",null),e([S({constructOnly:!0})],Ae.prototype,"hasZ",void 0),e([S({constructOnly:!0})],Ae.prototype,"hasM",void 0),e([S()],Ae.prototype,"_objectIdField",null),Ae=Ve=e([w("esri.views.3d.layers.graphics.Graphics3DCore")],Ae);class Fe{constructor(){this.add=null,this.renderingInfo=null,this.state=0,this.abortController=null,this.remove=null}clear(){this.add=null,this.renderingInfo=null,this.state=0,this.abortController=null,this.remove=null}}const Me=10,Te=D(),ke=D(),ze=new Map;export{Ae as Graphics3DCore};
@@ -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{i as e}from"../../../../chunks/vec32.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as r,empty as i,expandWithRect as o,center as s,set as d,toRect as n}from"../../../../geometry/support/aaBoundingBox.js";import{create as a}from"../../../../geometry/support/aaBoundingRect.js";import{demResolutionForBoundingBox as h}from"./graphicUtils.js";import{Object3DState as c}from"../../webgl-engine/lib/basicInterfaces.js";import{DirtyOperation as g,DirtyState as m}from"../../webgl-engine/lib/ModelDirtyTypes.js";class l{constructor(e,t,r,i){this.graphics3DSymbolLayer=e,this.renderGeometries=t,this.boundingBox=r,this._drapeSourceRenderer=i,this.type="draped",this._visible=!1,this._addedToStage=!1,this.isElevationSource=!1}initialize(e){this.stage=e.stage}get usedMemory(){return this.graphics3DSymbolLayer.usedMemory}setVisibility(e){if(null!=this.stage&&this._visible!==e){if(this._visible=e,e&&!this._addedToStage)return this._addedToStage=!0,void this._drapeSourceRenderer.addGeometries(this.renderGeometries,g.ADD);if(e||this._addedToStage){for(const e of this.renderGeometries)e.visible=this._visible;this._drapeSourceRenderer.modifyGeometries(this.renderGeometries,m.VISIBILITY)}}}destroy(){this.stage&&this._addedToStage&&this._drapeSourceRenderer.removeGeometries(this.renderGeometries,g.REMOVE),this._addedToStage=!1,this._visible=!1,this.stage=null}getCenterObjectSpace(r=t()){return e(r,0,0,0)}getBoundingBoxObjectSpace(e=r()){return i(e)}addObjectState(e){e.stateType===c.Highlight&&(this.renderGeometries.forEach(t=>{const r=t.geometry.allocateIdAndHighlight(e.highlightName);e.addRenderGeometry(t,r,this)}),this._addedToStage&&this._drapeSourceRenderer.modifyGeometries(this.renderGeometries,m.HIGHLIGHT))}removeObjectState(e){this.renderGeometries.forEach(t=>e.removeByObject(t))}updateHighlights(e){}removeRenderGeometryObjectState(e,t){t.channel===c.Highlight&&(e.geometry.removeHighlight(t),this._addedToStage&&this._drapeSourceRenderer.modifyGeometries([e],m.HIGHLIGHT))}computeAttachmentOrigin(e){for(const t of this.renderGeometries)t.geometry.computeAttachmentOrigin(y)&&(e.draped.origin[0]+=y[0],e.draped.origin[1]+=y[1],e.draped.num++)}async getProjectedBoundingBox(e,t,r,d,n){i(n);for(let i=0;i<this.renderGeometries.length;i++){const t=this.renderGeometries[i];this._getRenderGeometryProjectedBoundingRect(t,e,u,r),o(n,u)}if(t){let e;s(n,y);const r=h(n,t.service.spatialReference,t);try{e=await t.service.queryElevation(y[0],y[1],d,r,"ground")}catch(a){}null!=e&&(n[2]=Math.min(n[2],e),n[5]=Math.max(n[5],e))}return n}_getRenderGeometryProjectedBoundingRect(e,t,r,i){if(this.boundingBox)d(p,this.boundingBox);else{const t=e.boundingSphere,r=t[3];p[0]=t[0]-r,p[1]=t[1]-r,p[2]=t[2]-r,p[3]=t[0]+r,p[4]=t[1]+r,p[5]=t[2]+r}return t(p,0,2),this.calculateRelativeScreenBounds&&i.push({location:s(p),screenSpaceBoundingRect:this.calculateRelativeScreenBounds()}),n(p,r)}}const u=a(),p=r(),y=t();export{l as Graphics3DDrapedGraphicLayer};
5
+ import{i as e}from"../../../../chunks/vec32.js";import{create as t}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{create as r,empty as i,expandWithRect as o,center as s,set as d,toRect as a}from"../../../../geometry/support/aaBoundingBox.js";import{create as n}from"../../../../geometry/support/aaBoundingRect.js";import{demResolutionForBoundingBox as h}from"./graphicUtils.js";class c{constructor(e,t,r,i){this.graphics3DSymbolLayer=e,this.renderGeometries=t,this.boundingBox=r,this._drapeSourceRenderer=i,this.type="draped",this._visible=!1,this._addedToStage=!1,this.isElevationSource=!1}initialize(e){this.stage=e.stage}get usedMemory(){return this.graphics3DSymbolLayer.usedMemory}setVisibility(e){if(null!=this.stage&&this._visible!==e){if(this._visible=e,e&&!this._addedToStage)return this._addedToStage=!0,void this._drapeSourceRenderer.addGeometries(this.renderGeometries,0);if(e||this._addedToStage){for(const e of this.renderGeometries)e.visible=this._visible;this._drapeSourceRenderer.modifyGeometries(this.renderGeometries,1)}}}destroy(){this.stage&&this._addedToStage&&this._drapeSourceRenderer.removeGeometries(this.renderGeometries,2),this._addedToStage=!1,this._visible=!1,this.stage=null}getCenterObjectSpace(r=t()){return e(r,0,0,0)}getBoundingBoxObjectSpace(e=r()){return i(e)}addObjectState(e){0===e.stateType&&(this.renderGeometries.forEach(t=>{const r=t.geometry.allocateIdAndHighlight(e.highlightName);e.addRenderGeometry(t,r,this)}),this._addedToStage&&this._drapeSourceRenderer.modifyGeometries(this.renderGeometries,8))}removeObjectState(e){this.renderGeometries.forEach(t=>e.removeByObject(t))}updateHighlights(e){}removeRenderGeometryObjectState(e,t){0===t.channel&&(e.geometry.removeHighlight(t),this._addedToStage&&this._drapeSourceRenderer.modifyGeometries([e],8))}computeAttachmentOrigin(e){for(const t of this.renderGeometries)t.geometry.computeAttachmentOrigin(u)&&(e.draped.origin[0]+=u[0],e.draped.origin[1]+=u[1],e.draped.num++)}async getProjectedBoundingBox(e,t,r,d,a){i(a);for(let i=0;i<this.renderGeometries.length;i++){const t=this.renderGeometries[i];this._getRenderGeometryProjectedBoundingRect(t,e,m,r),o(a,m)}if(t){let e;s(a,u);const r=h(a,t.service.spatialReference,t);try{e=await t.service.queryElevation(u[0],u[1],d,r,"ground")}catch(n){}null!=e&&(a[2]=Math.min(a[2],e),a[5]=Math.max(a[5],e))}return a}_getRenderGeometryProjectedBoundingRect(e,t,r,i){if(this.boundingBox)d(g,this.boundingBox);else{const t=e.boundingSphere,r=t[3];g[0]=t[0]-r,g[1]=t[1]-r,g[2]=t[2]-r,g[3]=t[0]+r,g[4]=t[1]+r,g[5]=t[2]+r}return t(g,0,2),this.calculateRelativeScreenBounds&&i.push({location:s(g),screenSpaceBoundingRect:this.calculateRelativeScreenBounds()}),a(g,r)}}const m=n(),g=r(),u=t();export{c as Graphics3DDrapedGraphicLayer};
@@ -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{_ as t}from"../../../../chunks/tslib.es6.js";import e from"../../../../core/Accessor.js";import i from"../../../../core/Evented.js";import{watch as r}from"../../../../core/reactiveUtils.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import{ExtentSet as n}from"./ExtentSet.js";import{UpdatePolicy as o}from"../../webgl-engine/lib/UpdatePolicy.js";import{TaskPriority as h}from"../../../support/Scheduler.js";let p=class extends e{constructor(t){super(t),this._dirtyExtents=new n,this._globalDirty=!1,this._averageExtentUpdateSize=0,this._dirtyGraphicsSet=new Set,this._updateElevation=!1,this.graphicsCoreOwner=null,this.graphicsCore=null,this.events=new i}initialize(){const t=this.elevationProvider,e=this.graphicsCoreOwner.view.resourceController.scheduler;this._task=e.registerTask(d(this.graphicsCore.layer.elevationInfo?.mode),this),this.addHandles([t.on("elevation-change",t=>this._elevationChanged(t)),r(()=>this.graphicsCoreOwner.suspended,()=>this._suspendedChange()),this._task,r(()=>d(this.graphicsCore.layer.elevationInfo?.mode),t=>this._task.priority=t)])}destroy(){this._dirtyGraphicsSet.clear(),this.graphicsCoreOwner=null,this.graphicsCore=null,this.queryGraphicUIDsInExtent=null,this.elevationProvider=null,this._dirtyExtents.destroy()}clear(){this._dirtyGraphicsSet.clear(),this.notifyChange("updating")}_suspendedChange(){!0===this.graphicsCoreOwner.suspended?this._updateElevation=!1:!1===this.graphicsCoreOwner.suspended&&this._updateElevation&&(this._globalDirty=!0,this.notifyChange("updating"))}elevationInfoChange(){this._globalDirty=!0,this.notifyChange("updating")}get updating(){return this.running}get running(){return this._dirtyGraphicsSet.size>0||this._dirtyExtents&&!this._dirtyExtents.empty||this._globalDirty}get updatingRemaining(){return this._dirtyGraphicsSet.size+this._dirtyExtents.size*this._averageExtentUpdateSize}runTask(t){for(this._globalDirty&&(this._markAllGraphicsElevationDirty(),this._globalDirty=!1,t.madeProgress()),t.run(()=>this._dirtyExtents.merge(t));this.running&&!t.done;)this._updateDirtyGraphics(t),this._updateDirtyExtents(t);this.notifyChange("updating")}_updateDirtyGraphics(t){const e=this.graphicsCoreOwner.view.renderCoordsHelper,i=this.graphicsCore.effectiveUpdatePolicy===o.ASYNC;for(const r of this._dirtyGraphicsSet.keys()){const s=this.graphicsCore.getGraphics3DGraphicById(r);if(this._dirtyGraphicsSet.delete(r),null!=s&&(s.alignWithElevation(this.elevationProvider,e,i),this.graphicsCore.deconflictor?.setDirty(),t.madeProgress()),t.done)return}}_updateDirtyExtents(t){for(;!this._dirtyExtents.empty&&!t.done;){const e=this._dirtyExtents.pop(),i=this.elevationProvider.spatialReference;this.events.emit("invalidate-elevation",{extent:e,spatialReference:i});const r=this._dirtyGraphicsSet.size;this.queryGraphicUIDsInExtent(e,i,t=>{const e=this.graphicsCore.getGraphics3DGraphicById(t);null!=e&&e.needsElevationUpdates()&&this._dirtyGraphicsSet.add(t)}),this._averageExtentUpdateSize=.1*(this._dirtyGraphicsSet.size-r)+.9*this._averageExtentUpdateSize,t.madeProgress()}}_markAllGraphicsElevationDirty(){this._dirtyExtents.clear(),this._dirtyGraphicsSet.clear(),this.graphicsCore.graphics3DGraphics.forEach((t,e)=>this._dirtyGraphicsSet.add(e))}_elevationChanged(t){if("scene"===t.context&&(!this.graphicsCore.layer.elevationInfo||"relative-to-scene"!==this.graphicsCore.layer.elevationInfo.mode))return;const e=t.extent;if(this.graphicsCoreOwner.suspended){if(!this._updateElevation){const t=this.graphicsCore.computedExtent;t&&e[2]>t.xmin&&e[0]<t.xmax&&e[3]>t.ymin&&e[1]<t.ymax&&(this._updateElevation=!0)}this.events.emit("invalidate-elevation",t)}else e[0]===-1/0?this._globalDirty=!0:this._dirtyExtents.add(e),this.notifyChange("updating")}};function d(t){return null==t?h.ELEVATION_ALIGNMENT:"relative-to-scene"===t?h.ELEVATION_ALIGNMENT_SCENE:h.ELEVATION_ALIGNMENT}t([s()],p.prototype,"graphicsCoreOwner",void 0),t([s()],p.prototype,"graphicsCore",void 0),t([s()],p.prototype,"queryGraphicUIDsInExtent",void 0),t([s()],p.prototype,"elevationProvider",void 0),t([s({readOnly:!0})],p.prototype,"updating",null),t([s({readOnly:!0})],p.prototype,"updatingRemaining",null),p=t([a("esri.views.3d.layers.graphics.Graphics3DElevationAlignment")],p);export{p as Graphics3DElevationAlignment};
5
+ import{_ as t}from"../../../../chunks/tslib.es6.js";import e from"../../../../core/Accessor.js";import i from"../../../../core/Evented.js";import{watch as r}from"../../../../core/reactiveUtils.js";import{property as s}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import"../../../../core/Logger.js";import"../../../../core/RandomLCG.js";import{subclass as a}from"../../../../core/accessorSupport/decorators/subclass.js";import{ExtentSet as n}from"./ExtentSet.js";import{TaskPriority as o}from"../../../support/Scheduler.js";let h=class extends e{constructor(t){super(t),this._dirtyExtents=new n,this._globalDirty=!1,this._averageExtentUpdateSize=0,this._dirtyGraphicsSet=new Set,this._updateElevation=!1,this.graphicsCoreOwner=null,this.graphicsCore=null,this.events=new i}initialize(){const t=this.elevationProvider,e=this.graphicsCoreOwner.view.resourceController.scheduler;this._task=e.registerTask(p(this.graphicsCore.layer.elevationInfo?.mode),this),this.addHandles([t.on("elevation-change",t=>this._elevationChanged(t)),r(()=>this.graphicsCoreOwner.suspended,()=>this._suspendedChange()),this._task,r(()=>p(this.graphicsCore.layer.elevationInfo?.mode),t=>this._task.priority=t)])}destroy(){this._dirtyGraphicsSet.clear(),this.graphicsCoreOwner=null,this.graphicsCore=null,this.queryGraphicUIDsInExtent=null,this.elevationProvider=null,this._dirtyExtents.destroy()}clear(){this._dirtyGraphicsSet.clear(),this.notifyChange("updating")}_suspendedChange(){!0===this.graphicsCoreOwner.suspended?this._updateElevation=!1:!1===this.graphicsCoreOwner.suspended&&this._updateElevation&&(this._globalDirty=!0,this.notifyChange("updating"))}elevationInfoChange(){this._globalDirty=!0,this.notifyChange("updating")}get updating(){return this.running}get running(){return this._dirtyGraphicsSet.size>0||this._dirtyExtents&&!this._dirtyExtents.empty||this._globalDirty}get updatingRemaining(){return this._dirtyGraphicsSet.size+this._dirtyExtents.size*this._averageExtentUpdateSize}runTask(t){for(this._globalDirty&&(this._markAllGraphicsElevationDirty(),this._globalDirty=!1,t.madeProgress()),t.run(()=>this._dirtyExtents.merge(t));this.running&&!t.done;)this._updateDirtyGraphics(t),this._updateDirtyExtents(t);this.notifyChange("updating")}_updateDirtyGraphics(t){const e=this.graphicsCoreOwner.view.renderCoordsHelper,i=0===this.graphicsCore.effectiveUpdatePolicy;for(const r of this._dirtyGraphicsSet.keys()){const s=this.graphicsCore.getGraphics3DGraphicById(r);if(this._dirtyGraphicsSet.delete(r),null!=s&&(s.alignWithElevation(this.elevationProvider,e,i),this.graphicsCore.deconflictor?.setDirty(),t.madeProgress()),t.done)return}}_updateDirtyExtents(t){for(;!this._dirtyExtents.empty&&!t.done;){const e=this._dirtyExtents.pop(),i=this.elevationProvider.spatialReference;this.events.emit("invalidate-elevation",{extent:e,spatialReference:i});const r=this._dirtyGraphicsSet.size;this.queryGraphicUIDsInExtent(e,i,t=>{const e=this.graphicsCore.getGraphics3DGraphicById(t);null!=e&&e.needsElevationUpdates()&&this._dirtyGraphicsSet.add(t)}),this._averageExtentUpdateSize=.1*(this._dirtyGraphicsSet.size-r)+.9*this._averageExtentUpdateSize,t.madeProgress()}}_markAllGraphicsElevationDirty(){this._dirtyExtents.clear(),this._dirtyGraphicsSet.clear(),this.graphicsCore.graphics3DGraphics.forEach((t,e)=>this._dirtyGraphicsSet.add(e))}_elevationChanged(t){if("scene"===t.context&&(!this.graphicsCore.layer.elevationInfo||"relative-to-scene"!==this.graphicsCore.layer.elevationInfo.mode))return;const e=t.extent;if(this.graphicsCoreOwner.suspended){if(!this._updateElevation){const t=this.graphicsCore.computedExtent;t&&e[2]>t.xmin&&e[0]<t.xmax&&e[3]>t.ymin&&e[1]<t.ymax&&(this._updateElevation=!0)}this.events.emit("invalidate-elevation",t)}else e[0]===-1/0?this._globalDirty=!0:this._dirtyExtents.add(e),this.notifyChange("updating")}};function p(t){return null==t?o.ELEVATION_ALIGNMENT:"relative-to-scene"===t?o.ELEVATION_ALIGNMENT_SCENE:o.ELEVATION_ALIGNMENT}t([s()],h.prototype,"graphicsCoreOwner",void 0),t([s()],h.prototype,"graphicsCore",void 0),t([s()],h.prototype,"queryGraphicUIDsInExtent",void 0),t([s()],h.prototype,"elevationProvider",void 0),t([s({readOnly:!0})],h.prototype,"updating",null),t([s({readOnly:!0})],h.prototype,"updatingRemaining",null),h=t([a("esri.views.3d.layers.graphics.Graphics3DElevationAlignment")],h);export{h as Graphics3DElevationAlignment};
@@ -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 t from"../../../../core/Error.js";import{clone as e}from"../../../../core/lang.js";import{getMetersPerVerticalUnitForSR as r}from"../../../../core/unitUtils.js";import{e as s}from"../../../../chunks/earcut.js";import{normalFromMat4 as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{invert as n,invertOrIdentity as a}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as l}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{i as c,t as m,a as p,h,n as u,c as g,d}from"../../../../chunks/vec32.js";import{ONES as f,create as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{computeTranslationToOriginAndRotation as b}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{create as _,fromBuffer as x,intersectsClippingArea as S}from"../../../../geometry/support/aaBoundingBox.js";import{newDoubleArray as j}from"../../../../geometry/support/DoubleArray.js";import{newIndexArray as P,getZeroIndexArray as w}from"../../../../geometry/support/Indices.js";import{t as O}from"../../../../chunks/vec3.js";import{makeVertexCandidate as E,makeEdgeCandidate as M}from"../../../../layers/graphics/data/SnappingCandidate.js";import{getDriverAxisSizeValue as v}from"../../../../renderers/support/renderingInfoUtils.js";import{EmissiveSourceMode as C}from"../../../../symbols/support/materialUtils.js";import{ViewingMode as I}from"../../../ViewingMode.js";import{needsElevationUpdates3D as A,SampleElevationInfo as L}from"./elevationAlignmentUtils.js";import{Object3DEdgeState as D,Graphics3DObject3DGraphicLayer as B}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as U}from"./Graphics3DSymbolLayer.js";import{validateSymbolLayerSize as z,computeCentroid as R}from"./graphicUtils.js";import{ApplyRendererDiffResult as T}from"./interfaces.js";import{geometryAsPolygon as G}from"./polygonUtils.js";import{createMaterial as N}from"../support/edgeUtils.js";import{encodeNaNUInt8 as V}from"../support/symbolColorUtils.js";import{debugFlags as F}from"../../support/debugFlags.js";import{SamplePosition as k}from"../../support/ElevationProvider.js";import{geometryToRenderInfo as H}from"../../support/renderInfoUtils/polygon.js";import{NormalType as W}from"../../webgl-engine/core/shaderLibrary/attributes/NormalAttribute.glsl.js";import{Attribute as q}from"../../webgl-engine/lib/Attribute.js";import{CullFaceOptions as Y}from"../../webgl-engine/lib/basicInterfaces.js";import{Geometry as Z}from"../../webgl-engine/lib/Geometry.js";import{isGeometryWithMapPositions as J}from"../../webgl-engine/lib/GeometryWithMapPositions.js";import{compressNormals as K,compressNormal as Q}from"../../webgl-engine/lib/Normals.js";import{Object3D as X}from"../../webgl-engine/lib/Object3D.js";import{VertexAttribute as $}from"../../webgl-engine/lib/VertexAttribute.js";import{DefaultMaterial as tt}from"../../webgl-engine/materials/DefaultMaterial.js";import{GeometryType as et}from"../../webgl-engine/lib/IntersectableGeometry.js";const rt=["polygon","extent"];class st extends U{constructor(t,e,r,s){super(t,e,r,s,_t(e)),this.ensureDrapedStatus(!1)}async doLoad(){if(!this._drivenProperties.size){const e=z(this._getSymbolSize());if(e)throw new t("graphics3dextrudesymbollayer:invalid-size",e)}const e=this.symbolLayer,r=e?.material,s=this.symbolLayer.material?.color?.a,o=this.needsDrivenTransparentPass||null!=s&&1!==s,i=r?.emissive,n=!this._hasDrivenColorOrOpacity&&(null==s||0===s),a={usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0,ambient:f,diffuse:f,opacity:n?0:1,layerOpacity:this._getLayerOpacity(),drivenOpacity:o,hasSymbolColors:!0,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:e.castShadows,emissiveStrength:i?.strength??0,emissiveSource:C.Color,offsetTransparentBackfaces:!0,normalType:W.Compressed},l=new tt(a,this._context),c=new tt({...a,cullFace:Y.Back},this._context);this._materials[It.Main]=l,this._materials[It.Bottom]=c,this._updateTransparentDepedentMaterialParameters()}destroy(){super.destroy(),this._materials.length=0}createGraphics3DGraphic(t){const e=t.graphic;if(!this._validateGeometry(e.geometry,rt,this.symbolLayer.type))return null;const r=this._getDrivenUInt8ColorWithNaNSupport(t.renderingInfo,this._materialColor,!1);V(r,r);const s=this.setGraphicElevationContext(e);return this._createAs3DShape(e,t.renderingInfo,r,s,e.uid)}layerOpacityChanged(t,e){const r=this._getLayerOpacity();this._materials[It.Main]?.setParameters({layerOpacity:r}),this._materials[It.Bottom]?.setParameters({layerOpacity:r}),this._updateTransparentDepedentMaterialParameters(),t?.forEach(t=>e(t)?.layerOpacityChanged(r,this._context.isAsync))}layerElevationInfoChanged(t,e){return this.updateGraphics3DGraphicElevationInfo(t,e,A)}slicePlaneEnabledChanged(t,e){return this._materials[It.Main]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),this._materials[It.Bottom]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),t?.forEach(t=>{const r=e(t);null!=r&&r.slicePlaneEnabledChanged(this._context.slicePlaneEnabled,this._context.isAsync)}),!0}physicalBasedRenderingChanged(){const t={usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0};return this._materials[It.Main]?.setParameters(t),this._materials[It.Bottom]?.setParameters(t),!0}_getExtrusionSize(t){let e;return e=t.size&&this._drivenProperties.size?v(t.size,2)??0:this._getSymbolSize(),e/=this._context.renderCoordsHelper.unitInMeters,e}applyRendererDiff(t,e){return this._drivenPropertiesChanged(e)?T.RecreateSymbol:T.RecreateGraphics}async queryForSnapping(t,s,o,i){const n=this._getExtrusionSize(o)*this._context.renderCoordsHelper.unitInMeters/r(s),{objectId:a,target:l}=t,c=e(l);switch(c.z=(c.z??0)+n,t.type){case"edge":{const{start:r,end:s}=t,o=e(r),i=e(s);return o.z=(o.z??0)+n,i.z=(i.z??0)+n,[M(a,c,1/0,o,i)]}case"vertex":return[E(a,c,1/0),M(a,l,1/0,l,c)];default:return[]}}_getSymbolSize(){return this.symbolLayer.size??1}_createAs3DShape(t,e,r,a,c){const m=G(t.geometry);if(null==m)return null;if(0===m.rings.length||!m.rings.some(t=>t.length>0))return this._logGeometryValidationWarnings(m.rings,"rings","ExtrudeSymbol3DLayer"),null;const p=H(m,this._context.elevationProvider,this._context.renderCoordsHelper,a);this._logGeometryCreationWarnings(p,m.rings,"rings","ExtrudeSymbol3DLayer");const h=R(m);if(null==h)return null;const u=new Array,g=new Array,d=_(),f=l(),w=y(),E=this._context.renderCoordsHelper.viewingMode===I.Global;E||this._context.renderCoordsHelper.worldUpAtPosition(null,w),b(m.spatialReference,[h.x,h.y,0],f,this._context.renderCoordsHelper.spatialReference);const M=l();n(M,f);const v=i();o(v,M);const{polygons:C,mapPositions:L,position:U}=p,z=new Map,T=this._materials[It.Main];for(const o of C){const t=o.count;if(this._context.clippingExtent&&(x(o.mapPositions,d),!S(d,this._context.clippingExtent)))continue;const i=s(o.mapPositions,o.holeIndices,3);if(0===i.length)continue;const n=i.length,a=6*t,l=P(a+n),m=P(n),p=j(3*a),h=j(3*a),y=j(3*a),b=j(a);it(U,L,i,o,p,y,h,b,l,m,this._getExtrusionSize(e),w,E),O(p,p,M);const _=this._context.stage.renderView.getObjectAndLayerIdColor({graphicUid:c,layerViewUid:this._context.layerViewUid}),v=new At(p,y,K(h),b),C=ot(T,l,l.length-m.length,v,r,_),I=t,A=t,D=2*o.count,B=new Lt(I,A,D,n/3);bt(C,B,f),z.set(C,B),u.push(C,ot(this._materials[It.Bottom],m,0,v,r,_)),g.push(v.heights)}if(0===u.length)return null;const V=new X({geometries:u,layerViewUid:this._context.layerViewUid,graphicUid:c,isElevationSource:!0});V.transformation=f;const F=N(this.symbolLayer,{opacity:this._getLayerOpacity()}),k=F?new D(this._materials[It.Main],F,this._context.slicePlaneEnabled):null,W=new B(this,V,null,(t,e,r,s,o)=>yt(t,e,r,s,o,g,z),a,k);return W.alignedSampledElevation=p.sampledElevation,W.needsElevationUpdates=A(a.mode),W}get _materialColor(){return this.symbolLayer.material?.color}_updateTransparentDepedentMaterialParameters(){const t=this._materials[It.Main];t&&t.setParameters({cullFace:t.transparent?Y.None:Y.Back})}}function ot(t,e,r,s,o,i){const n=w(e.length),a=[[$.POSITION,new q(s.positions,e,3,!0)],[$.NORMALCOMPRESSED,new q(s.normals,e,2,!0)],[$.SYMBOLCOLOR,new q(o,n,4,!0)]];return new Z(t,a,s.elevation,et.Mesh,i,r)}function it(t,e,r,s,o,i,n,a,l,c,m,p,h){const u=r.length/3;let g=2*s.count;nt(t,e,s.index,s.count,r,0,u,o,i,n,a,l,c,g,m,p,h);let d=0,f=2*s.count;g=0;const y=s.pathLengths[0];ct(o,i,a,n,d,y,s.count,f,l,g,m),f+=4*y,g+=2*y,d+=y;for(let b=1;b<s.pathLengths.length;++b){const t=s.pathLengths[b];ct(o,i,a,n,d,t,s.count,f,l,g,m),f+=4*t,g+=2*t,d+=t}}function nt(t,e,r,s,o,i,n,a,l,c,m,p,h,d,f,y,b){g(St,y),l??=[],c??=[],m??=[];const _=f>0?1:-1;let x=3*r,S=0,j=3*S,P=s,w=3*P;for(let g=0;g<s;++g){const r=t[x],s=t[x+1],o=t[x+2];b&&(St[0]=r,St[1]=s,St[2]=o,u(St,St)),a[j+0]=r,a[j+1]=s,a[j+2]=o;const i=e[x+0],n=e[x+1],p=e[x+2];l[j+0]=i,l[j+1]=n,l[j+2]=p,c[j+0]=-_*St[0],c[j+1]=-_*St[1],c[j+2]=-_*St[2],m[S]=0,a[w+0]=r+f*St[0],a[w+1]=s+f*St[1],a[w+2]=o+f*St[2],l[w+0]=i,l[w+1]=n,l[w+2]=p,m[P]=f,j+=3,w+=3,x+=3,S+=1,P+=1}x=3*i,j=0,w=3*d;const O=f<0?wt:Pt,E=f<0?Pt:wt;for(let u=0;u<n;++u)h[j]=o[x+O[0]],h[j+1]=o[x+O[1]],h[j+2]=o[x+O[2]],p[w]=o[x+E[0]]+s,p[w+1]=o[x+E[1]]+s,p[w+2]=o[x+E[2]]+s,j+=3,w+=3,x+=3}function at(t,e,r,s,o,i,n){s[i]=s[n],n*=3,t[i*=3]=t[n],t[i+1]=t[n+1],t[i+2]=t[n+2],e[i]=e[n],e[i+1]=e[n+1],e[i+2]=e[n+2],r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2]}const lt=y();function ct(t,e,r,s,o,i,n,a,l,c,m){e??=[],r??=[],s??=[];let p=o,h=o+1,u=o+n,g=o+n+1,d=a,f=a+1,y=a+2*i,b=a+2*i+1;m<0&&(p=o+n+1,g=o);let _=3*c;for(let x=0;x<i;++x)x===i-1&&(h=o,m>0?g=o+n:p=o+n),dt(t,p,h,u,lt),at(t,e,s,r,lt,d,p),at(t,e,s,r,lt,f,h),at(t,e,s,r,lt,y,u),at(t,e,s,r,lt,b,g),l[_]=d,l[_+1]=y,l[_+2]=b,l[_+3]=d,l[_+4]=b,l[_+5]=f,_+=6,p++,h++,u++,g++,d+=2,f+=2,y+=2,b+=2}const mt=y(),pt=y(),ht=y(),ut=y(),gt=y();function dt(t,e,r,s,o){e*=3,r*=3,s*=3,c(mt,t[e++],t[e++],t[e++]),c(pt,t[r++],t[r++],t[r++]),c(ht,t[s++],t[s++],t[s++]),d(ut,pt,mt),d(gt,ht,mt),h(o,gt,ut),u(o,o)}const ft=y();function yt(t,e,r,s,o,i,n){const p=t.stageObject,h=p.geometries,u=h.length,g="absolute-height"!==e.mode;let d=0;const f=p.transformation,y=a(l(),f);for(let a=0;a<u;a+=2){const t=h[a];if(!J(t))continue;const e=t.getMutableAttribute($.POSITION).data,l=i[a/2],u=new k(t.mapPositions),b=e.length/3;let _=!1,x=0;{let t=0;for(let i=0;i<b;i++){ft[0]=e[t],ft[1]=e[t+1],ft[2]=e[t+2],s(u,jt),g&&(x+=jt.sampledElevation),F.TESTS_DISABLE_OPTIMIZATIONS?(c(xt,u.array[u.offset],u.array[u.offset+1],jt.z+l[t/3]),null!=r&&o.toRenderCoords(xt,r,xt),m(xt,xt,y)):(c(xt,e[t],e[t+1],e[t+2]),m(xt,xt,f),o.setAltitude(xt,jt.z+l[t/3]),m(xt,xt,y)),e[t]=xt[0],e[t+1]=xt[1],e[t+2]=xt[2];const i=Ot/o.unitInMeters;(Math.abs(ft[0]-e[t])>=i||Math.abs(ft[1]-e[t+1])>=i||Math.abs(ft[2]-e[t+2])>=i)&&(_=!0),u.offset+=3,t+=3}}if(_){const e=n.get(t);e&&bt(t,e,f),p.geometryVertexAttributeUpdated(h[a],$.NORMALCOMPRESSED),t.invalidateBoundingInfo(),p.geometryVertexAttributeUpdated(h[a],$.POSITION),h[a+1].invalidateBoundingInfo(),p.geometryVertexAttributeUpdated(h[a+1],$.POSITION)}d+=x/b}return d/u}function bt(t,e,r){const s=t.getMutableAttribute($.POSITION),o=t.getMutableAttribute($.NORMALCOMPRESSED).data,{topVertexStart:i,topVertexCount:n,topFaceStart:a,topFaceCount:l}=e,g=s.data,d=n,f=t.attributes.get($.POSITION).indices,y=a+l,b=i+n,_=j(3*d);for(let c=0;c<d;++c){const t=3*c;_[t+0]=0,_[t+1]=0,_[t+2]=0}const x=Et,S=Mt,P=vt,w=Ct,O=St;for(let j=a;j<y;++j){const t=3*j;for(let e=0;e<3;++e){const s=f[t+e];w[e]=s;const o=3*s;c(xt,g[o+0],g[o+1],g[o+2]),m(x[e],xt,r)}p(S,x[1],x[0]),p(P,x[2],x[0]),h(O,S,P),u(O,O);for(let e=0;e<3;++e){const t=3*(w[e]-i);_[t+0]+=O[0],_[t+1]+=O[1],_[t+2]+=O[2]}}for(let c=i;c<b;++c){const t=3*(c-i),e=_[t+0],r=_[t+1],s=_[t+2],n=Math.sqrt(e*e+r*r+s*s);Q(o,c,e/n,r/n,s/n)}}function _t(t){return 1===(t.material?.color?.a??0)}const xt=y(),St=y(),jt=new L,Pt=[0,2,1],wt=[0,1,2],Ot=.01,Et=[y(),y(),y()],Mt=y(),vt=y(),Ct=[0,0,0];var It;!function(t){t[t.Main=0]="Main",t[t.Bottom=1]="Bottom"}(It||(It={}));class At{constructor(t,e,r,s){this.positions=t,this.elevation=e,this.normals=r,this.heights=s}}class Lt{constructor(t,e,r,s){this.topVertexStart=t,this.topVertexCount=e,this.topFaceStart=r,this.topFaceCount=s}}export{st as Graphics3DExtrudeSymbolLayer,it as extrudePolygon};
5
+ import"../../../../core/has.js";import t from"../../../../core/Error.js";import{clone as e}from"../../../../core/lang.js";import{getMetersPerVerticalUnitForSR as r}from"../../../../core/unitUtils.js";import{e as s}from"../../../../chunks/earcut.js";import{normalFromMat4 as o}from"../../../../core/libs/gl-matrix-2/math/mat3.js";import{create as i}from"../../../../core/libs/gl-matrix-2/factories/mat3f64.js";import{invert as n,invertOrIdentity as a}from"../../../../core/libs/gl-matrix-2/math/mat4.js";import{create as l}from"../../../../core/libs/gl-matrix-2/factories/mat4f64.js";import{i as c,t as p,a as m,h,n as d,c as u,d as g}from"../../../../chunks/vec32.js";import{ONES as f,create as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{computeTranslationToOriginAndRotation as b}from"../../../../geometry/projection/computeTranslationToOriginAndRotation.js";import{create as _,fromBuffer as x,intersectsClippingArea as j}from"../../../../geometry/support/aaBoundingBox.js";import{newDoubleArray as S}from"../../../../geometry/support/DoubleArray.js";import{newIndexArray as P,getZeroIndexArray as v}from"../../../../geometry/support/Indices.js";import{t as w}from"../../../../chunks/vec3.js";import{makeVertexCandidate as C,makeEdgeCandidate as E}from"../../../../layers/graphics/data/SnappingCandidate.js";import{getDriverAxisSizeValue as A}from"../../../../renderers/support/renderingInfoUtils.js";import{needsElevationUpdates3D as D,SampleElevationInfo as z}from"./elevationAlignmentUtils.js";import{Object3DEdgeState as I,Graphics3DObject3DGraphicLayer as U}from"./Graphics3DObject3DGraphicLayer.js";import{Graphics3DSymbolLayer as L}from"./Graphics3DSymbolLayer.js";import{validateSymbolLayerSize as M,computeCentroid as O}from"./graphicUtils.js";import{geometryAsPolygon as G}from"./polygonUtils.js";import{createMaterial as V}from"../support/edgeUtils.js";import{encodeNaNUInt8 as T}from"../support/symbolColorUtils.js";import{debugFlags as B}from"../../support/debugFlags.js";import{SamplePosition as R}from"../../support/ElevationProvider.js";import{geometryToRenderInfo as F}from"../../support/renderInfoUtils/polygon.js";import{Attribute as H}from"../../webgl-engine/lib/Attribute.js";import{Geometry as k}from"../../webgl-engine/lib/Geometry.js";import{isGeometryWithMapPositions as N}from"../../webgl-engine/lib/GeometryWithMapPositions.js";import{compressNormals as W,compressNormal as q}from"../../webgl-engine/lib/Normals.js";import{Object3D as Z}from"../../webgl-engine/lib/Object3D.js";import{DefaultMaterial as J}from"../../webgl-engine/materials/DefaultMaterial.js";const K=["polygon","extent"];class Q extends L{constructor(t,e,r,s){super(t,e,r,s,ht(e)),this.ensureDrapedStatus(!1)}async doLoad(){if(!this._drivenProperties.size){const e=M(this._getSymbolSize());if(e)throw new t("graphics3dextrudesymbollayer:invalid-size",e)}const e=this.symbolLayer,r=e?.material,s=this.symbolLayer.material?.color?.a,o=this.needsDrivenTransparentPass||null!=s&&1!==s,i=r?.emissive,n=!this._hasDrivenColorOrOpacity&&(null==s||0===s),a={usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0,ambient:f,diffuse:f,opacity:n?0:1,layerOpacity:this._getLayerOpacity(),drivenOpacity:o,hasSymbolColors:!0,hasSlicePlane:this._context.slicePlaneEnabled,castShadows:e.castShadows,emissiveStrength:i?.strength??0,emissiveSource:1,offsetTransparentBackfaces:!0,normalType:1},l=new J(a,this._context),c=new J({...a,cullFace:2},this._context);this._materials[0]=l,this._materials[1]=c,this._updateTransparentDepedentMaterialParameters()}destroy(){super.destroy(),this._materials.length=0}createGraphics3DGraphic(t){const e=t.graphic;if(!this._validateGeometry(e.geometry,K,this.symbolLayer.type))return null;const r=this._getDrivenUInt8ColorWithNaNSupport(t.renderingInfo,this._materialColor,!1);T(r,r);const s=this.setGraphicElevationContext(e);return this._createAs3DShape(e,t.renderingInfo,r,s,e.uid)}layerOpacityChanged(t,e){const r=this._getLayerOpacity();this._materials[0]?.setParameters({layerOpacity:r}),this._materials[1]?.setParameters({layerOpacity:r}),this._updateTransparentDepedentMaterialParameters(),t?.forEach(t=>e(t)?.layerOpacityChanged(r,this._context.isAsync))}layerElevationInfoChanged(t,e){return this.updateGraphics3DGraphicElevationInfo(t,e,D)}slicePlaneEnabledChanged(t,e){return this._materials[0]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),this._materials[1]?.setParameters({hasSlicePlane:this._context.slicePlaneEnabled}),t?.forEach(t=>{const r=e(t);null!=r&&r.slicePlaneEnabledChanged(this._context.slicePlaneEnabled,this._context.isAsync)}),!0}physicalBasedRenderingChanged(){const t={usePBR:this._context.physicalBasedRenderingEnabled,isSchematic:!0};return this._materials[0]?.setParameters(t),this._materials[1]?.setParameters(t),!0}_getExtrusionSize(t){let e;return e=t.size&&this._drivenProperties.size?A(t.size,2)??0:this._getSymbolSize(),e/=this._context.renderCoordsHelper.unitInMeters,e}applyRendererDiff(t,e){return this._drivenPropertiesChanged(e)?0:1}async queryForSnapping(t,s,o,i){const n=this._getExtrusionSize(o)*this._context.renderCoordsHelper.unitInMeters/r(s),{objectId:a,target:l}=t,c=e(l);switch(c.z=(c.z??0)+n,t.type){case"edge":{const{start:r,end:s}=t,o=e(r),i=e(s);return o.z=(o.z??0)+n,i.z=(i.z??0)+n,[E(a,c,1/0,o,i)]}case"vertex":return[C(a,c,1/0),E(a,l,1/0,l,c)];default:return[]}}_getSymbolSize(){return this.symbolLayer.size??1}_createAs3DShape(t,e,r,a,c){const p=G(t.geometry);if(null==p)return null;if(0===p.rings.length||!p.rings.some(t=>t.length>0))return this._logGeometryValidationWarnings(p.rings,"rings","ExtrudeSymbol3DLayer"),null;const m=F(p,this._context.elevationProvider,this._context.renderCoordsHelper,a);this._logGeometryCreationWarnings(m,p.rings,"rings","ExtrudeSymbol3DLayer");const h=O(p);if(null==h)return null;const d=new Array,u=new Array,g=_(),f=l(),v=y(),C=1===this._context.renderCoordsHelper.viewingMode;C||this._context.renderCoordsHelper.worldUpAtPosition(null,v),b(p.spatialReference,[h.x,h.y,0],f,this._context.renderCoordsHelper.spatialReference);const E=l();n(E,f);const A=i();o(A,E);const{polygons:z,mapPositions:L,position:M}=m,T=new Map,B=this._materials[0];for(const o of z){const t=o.count;if(this._context.clippingExtent&&(x(o.mapPositions,g),!j(g,this._context.clippingExtent)))continue;const i=s(o.mapPositions,o.holeIndices,3);if(0===i.length)continue;const n=i.length,a=6*t,l=P(a+n),p=P(n),m=S(3*a),h=S(3*a),y=S(3*a),b=S(a);Y(M,L,i,o,m,y,h,b,l,p,this._getExtrusionSize(e),v,C),w(m,m,E);const _=this._context.stage.renderView.getObjectAndLayerIdColor({graphicUid:c,layerViewUid:this._context.layerViewUid}),A=new Pt(m,y,W(h),b),D=X(B,l,l.length-p.length,A,r,_),z=t,I=t,U=2*o.count,O=new vt(z,I,U,n/3);mt(D,O,f),T.set(D,O),d.push(D,X(this._materials[1],p,0,A,r,_)),u.push(A.heights)}if(0===d.length)return null;const R=new Z({geometries:d,layerViewUid:this._context.layerViewUid,graphicUid:c,isElevationSource:!0});R.transformation=f;const H=V(this.symbolLayer,{opacity:this._getLayerOpacity()}),k=H?new I(this._materials[0],H,this._context.slicePlaneEnabled):null,N=new U(this,R,null,(t,e,r,s,o)=>pt(t,e,r,s,o,u,T),a,k);return N.alignedSampledElevation=m.sampledElevation,N.needsElevationUpdates=D(a.mode),N}get _materialColor(){return this.symbolLayer.material?.color}_updateTransparentDepedentMaterialParameters(){const t=this._materials[0];t&&t.setParameters({cullFace:t.transparent?0:2})}}function X(t,e,r,s,o,i){const n=v(e.length),a=[["position",new H(s.positions,e,3,!0)],["normalCompressed",new H(s.normals,e,2,!0)],["symbolColor",new H(o,n,4,!0)]];return new k(t,a,s.elevation,0,i,r)}function Y(t,e,r,s,o,i,n,a,l,c,p,m,h){const d=r.length/3;let u=2*s.count;$(t,e,s.index,s.count,r,0,d,o,i,n,a,l,c,u,p,m,h);let g=0,f=2*s.count;u=0;const y=s.pathLengths[0];rt(o,i,a,n,g,y,s.count,f,l,u,p),f+=4*y,u+=2*y,g+=y;for(let b=1;b<s.pathLengths.length;++b){const t=s.pathLengths[b];rt(o,i,a,n,g,t,s.count,f,l,u,p),f+=4*t,u+=2*t,g+=t}}function $(t,e,r,s,o,i,n,a,l,c,p,m,h,g,f,y,b){u(ut,y),l??=[],c??=[],p??=[];const _=f>0?1:-1;let x=3*r,j=0,S=3*j,P=s,v=3*P;for(let u=0;u<s;++u){const r=t[x],s=t[x+1],o=t[x+2];b&&(ut[0]=r,ut[1]=s,ut[2]=o,d(ut,ut)),a[S+0]=r,a[S+1]=s,a[S+2]=o;const i=e[x+0],n=e[x+1],m=e[x+2];l[S+0]=i,l[S+1]=n,l[S+2]=m,c[S+0]=-_*ut[0],c[S+1]=-_*ut[1],c[S+2]=-_*ut[2],p[j]=0,a[v+0]=r+f*ut[0],a[v+1]=s+f*ut[1],a[v+2]=o+f*ut[2],l[v+0]=i,l[v+1]=n,l[v+2]=m,p[P]=f,S+=3,v+=3,x+=3,j+=1,P+=1}x=3*i,S=0,v=3*g;const w=f<0?yt:ft,C=f<0?ft:yt;for(let d=0;d<n;++d)h[S]=o[x+w[0]],h[S+1]=o[x+w[1]],h[S+2]=o[x+w[2]],m[v]=o[x+C[0]]+s,m[v+1]=o[x+C[1]]+s,m[v+2]=o[x+C[2]]+s,S+=3,v+=3,x+=3}function tt(t,e,r,s,o,i,n){s[i]=s[n],n*=3,t[i*=3]=t[n],t[i+1]=t[n+1],t[i+2]=t[n+2],e[i]=e[n],e[i+1]=e[n+1],e[i+2]=e[n+2],r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2]}const et=y();function rt(t,e,r,s,o,i,n,a,l,c,p){e??=[],r??=[],s??=[];let m=o,h=o+1,d=o+n,u=o+n+1,g=a,f=a+1,y=a+2*i,b=a+2*i+1;p<0&&(m=o+n+1,u=o);let _=3*c;for(let x=0;x<i;++x)x===i-1&&(h=o,p>0?u=o+n:m=o+n),lt(t,m,h,d,et),tt(t,e,s,r,et,g,m),tt(t,e,s,r,et,f,h),tt(t,e,s,r,et,y,d),tt(t,e,s,r,et,b,u),l[_]=g,l[_+1]=y,l[_+2]=b,l[_+3]=g,l[_+4]=b,l[_+5]=f,_+=6,m++,h++,d++,u++,g+=2,f+=2,y+=2,b+=2}const st=y(),ot=y(),it=y(),nt=y(),at=y();function lt(t,e,r,s,o){e*=3,r*=3,s*=3,c(st,t[e++],t[e++],t[e++]),c(ot,t[r++],t[r++],t[r++]),c(it,t[s++],t[s++],t[s++]),g(nt,ot,st),g(at,it,st),h(o,at,nt),d(o,o)}const ct=y();function pt(t,e,r,s,o,i,n){const m=t.stageObject,h=m.geometries,d=h.length,u="absolute-height"!==e.mode;let g=0;const f=m.transformation,y=a(l(),f);for(let a=0;a<d;a+=2){const t=h[a];if(!N(t))continue;const e=t.getMutableAttribute("position").data,l=i[a/2],d=new R(t.mapPositions),b=e.length/3;let _=!1,x=0;{let t=0;for(let i=0;i<b;i++){ct[0]=e[t],ct[1]=e[t+1],ct[2]=e[t+2],s(d,gt),u&&(x+=gt.sampledElevation),B.TESTS_DISABLE_OPTIMIZATIONS?(c(dt,d.array[d.offset],d.array[d.offset+1],gt.z+l[t/3]),null!=r&&o.toRenderCoords(dt,r,dt),p(dt,dt,y)):(c(dt,e[t],e[t+1],e[t+2]),p(dt,dt,f),o.setAltitude(dt,gt.z+l[t/3]),p(dt,dt,y)),e[t]=dt[0],e[t+1]=dt[1],e[t+2]=dt[2];const i=bt/o.unitInMeters;(Math.abs(ct[0]-e[t])>=i||Math.abs(ct[1]-e[t+1])>=i||Math.abs(ct[2]-e[t+2])>=i)&&(_=!0),d.offset+=3,t+=3}}if(_){const e=n.get(t);e&&mt(t,e,f),m.geometryVertexAttributeUpdated(h[a],"normalCompressed"),t.invalidateBoundingInfo(),m.geometryVertexAttributeUpdated(h[a],"position"),h[a+1].invalidateBoundingInfo(),m.geometryVertexAttributeUpdated(h[a+1],"position")}g+=x/b}return g/d}function mt(t,e,r){const s=t.getMutableAttribute("position"),o=t.getMutableAttribute("normalCompressed").data,{topVertexStart:i,topVertexCount:n,topFaceStart:a,topFaceCount:l}=e,u=s.data,g=n,f=t.attributes.get("position").indices,y=a+l,b=i+n,_=S(3*g);for(let c=0;c<g;++c){const t=3*c;_[t+0]=0,_[t+1]=0,_[t+2]=0}const x=_t,j=xt,P=jt,v=St,w=ut;for(let S=a;S<y;++S){const t=3*S;for(let e=0;e<3;++e){const s=f[t+e];v[e]=s;const o=3*s;c(dt,u[o+0],u[o+1],u[o+2]),p(x[e],dt,r)}m(j,x[1],x[0]),m(P,x[2],x[0]),h(w,j,P),d(w,w);for(let e=0;e<3;++e){const t=3*(v[e]-i);_[t+0]+=w[0],_[t+1]+=w[1],_[t+2]+=w[2]}}for(let c=i;c<b;++c){const t=3*(c-i),e=_[t+0],r=_[t+1],s=_[t+2],n=Math.sqrt(e*e+r*r+s*s);q(o,c,e/n,r/n,s/n)}}function ht(t){return 1===(t.material?.color?.a??0)}const dt=y(),ut=y(),gt=new z,ft=[0,2,1],yt=[0,1,2],bt=.01,_t=[y(),y(),y()],xt=y(),jt=y(),St=[0,0,0];class Pt{constructor(t,e,r,s){this.positions=t,this.elevation=e,this.normals=r,this.heights=s}}class vt{constructor(t,e,r,s){this.topVertexStart=t,this.topVertexCount=e,this.topFaceStart=r,this.topFaceCount=s}}export{Q as Graphics3DExtrudeSymbolLayer,Y as extrudePolygon};