@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 e from"../../../../request.js";import{result as t}from"../../../../core/asyncUtils.js";import r from"../../../../core/Error.js";import n from"../../../../core/Logger.js";import{estimateNestedObjectMemory as s}from"../../../../core/memoryEstimations.js";import{NestedMap as o}from"../../../../core/NestedMap.js";import{throwIfAbortError as a}from"../../../../core/promiseUtils.js";import{Version as i}from"../../../../core/Version.js";import{fromArray as l}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{empty as u,expandWithVec3 as c}from"../../../../geometry/support/aaBoundingBox.js";import{getContinuousIndexArray as m}from"../../../../geometry/support/Indices.js";import{requestImage as p}from"../../../../support/requestImageUtils.js";import{DocType as f}from"../../support/index.js";import{Attribute as d}from"../../webgl-engine/lib/Attribute.js";import{CullFaceOptions as g,AlphaDiscardMode as y}from"../../webgl-engine/lib/basicInterfaces.js";import{Geometry as w}from"../../webgl-engine/lib/Geometry.js";import{Texture as b}from"../../webgl-engine/lib/Texture.js";import{VertexAttribute as x}from"../../webgl-engine/lib/VertexAttribute.js";import{DefaultMaterial as h}from"../../webgl-engine/materials/DefaultMaterial.js";import{TextureWrapMode as v}from"../../../webgl/enums.js";const j=()=>n.getLogger("esri.views.3d.layers.graphics.objectResourceUtils");class A{constructor(e,t,r){this.resource=e,this.textures=t,this.cachedMemory=r}}async function I(e,t){const r=await P(e,t),n=await k(r.textureDefinitions??{},t);let o=0;for(const s in n)if(n.hasOwnProperty(s)){const e=n[s];o+=e?.image?e.image.width*e.image.height*4:0}return new A(r,n,o+s(r))}async function P(r,n){const s=n?.streamDataRequester;if(s)return M(r,s,n);const o=await t(e(r,n));if(!0===o.ok)return o.value.data;a(o.error),E(o.error)}async function M(e,r,n){const s=await t(r.request(e,f.JSON,n));if(!0===s.ok)return s.value;a(s.error),E(s.error.details.url)}function E(e){throw new r("",`Request for object resource failed: ${e}`)}function O(e){const t=e.params,r=t.topology;let n=!0;switch(t.vertexAttributes||(j().warn("Geometry must specify vertex attributes"),n=!1),t.topology){case"PerAttributeArray":break;case"Indexed":case null:case void 0:{const e=t.faces;if(e){if(t.vertexAttributes)for(const r in t.vertexAttributes){const t=e[r];t?.values?(null!=t.valueType&&"UInt32"!==t.valueType&&(j().warn(`Unsupported indexed geometry indices type '${t.valueType}', only UInt32 is currently supported`),n=!1),null!=t.valuesPerElement&&1!==t.valuesPerElement&&(j().warn(`Unsupported indexed geometry values per element '${t.valuesPerElement}', only 1 is currently supported`),n=!1)):(j().warn(`Indexed geometry does not specify face indices for '${r}' attribute`),n=!1)}}else j().warn("Indexed geometries must specify faces"),n=!1;break}default:j().warn(`Unsupported topology '${r}'`),n=!1}e.params.material||(j().warn("Geometry requires material"),n=!1);const s=e.params.vertexAttributes;for(const o in s){s[o].values||(j().warn("Geometries with externally defined attributes are not yet supported"),n=!1)}return n}function U(e,t){const r=new Array,n=new Array,s=new Array,a=new o,u=e.resource,c=i.parse(u.version||"1.0","wosr");B.validate(c);const p=u.model.name,f=u.model.geometries,y=u.materialDefinitions??{},v=e.textures;let j=0;const A=new Map;for(let o=0;o<f.length;o++){const e=f[o];if(!O(e))continue;const i=R(e),u=e.params.vertexAttributes,c=[],p=t=>{if("PerAttributeArray"===e.params.topology)return null;const r=e.params.faces;for(const e in r)if(e===t)return r[e].values;return null},I=u[x.POSITION],P=I.values.length/I.valuesPerElement;for(const t in u){const e=u[t],r=e.values,n=p(t)??m(P);c.push([t,new d(r,n,e.valuesPerElement,!0)])}const M=i.texture,E=v&&v[M];if(E&&!A.has(M)){const{image:e,parameters:t}=E,r=new b(e,t);n.push(r),A.set(M,r)}const U=A.get(M),T=U?U.id:void 0,k=i.material;let B=a.get(k,M);if(null==B){const e=y[k.slice(k.lastIndexOf("/")+1)].params;1===e.transparency&&(e.transparency=0);const r=E?q(E.alphaChannelUsage):void 0,n={ambient:l(e.diffuse),diffuse:l(e.diffuse),opacity:1-(e.transparency||0),textureAlphaMode:r,textureAlphaCutoff:.33,textureId:T,doubleSided:!0,cullFace:g.None,colorMixMode:e.externalColorMixMode||"tint",textureAlphaPremultiplied:E?.parameters.preMultiplyAlpha??!1};t?.materialParameters&&Object.assign(n,t.materialParameters),B=new h(n,t),a.set(k,M,B)}s.push(B);const C=new w(B,c);j+=c.find(e=>e[0]===x.POSITION)?.[1]?.indices.length??0,r.push(C)}return{engineResources:[{name:p,stageResources:{textures:n,materials:s,geometries:r},pivotOffset:u.model.pivotOffset,numberOfVertices:j,lodThreshold:null}],referenceBoundingBox:T(r)}}function T(e){const t=u();return e.forEach(e=>{const r=e.boundingInfo;null!=r&&(c(t,r.bbMin),c(t,r.bbMax))}),t}async function k(e,t){const r=new Array;for(const o in e){const n=e[o],s=n.images[0].data;if(!s){j().warn("Externally referenced texture data is not yet supported");continue}const a=n.encoding+";base64,"+s,i="/textureDefinitions/"+o,l="rgba"===n.channels?n.alphaChannelUsage||"transparency":"none",u={noUnpackFlip:!0,wrap:{s:v.REPEAT,t:v.REPEAT},preMultiplyAlpha:q(l)!==y.Opaque},c=t?.disableTextures?Promise.resolve(null):p(a,t);r.push(c.then(e=>({refId:i,image:e,parameters:u,alphaChannelUsage:l})))}const n=await Promise.all(r),s={};for(const o of n)s[o.refId]=o;return s}function q(e){switch(e){case"mask":return y.Mask;case"maskAndTransparency":return y.MaskBlend;case"none":return y.Opaque;default:return y.Blend}}function R(e){const t=e.params;return{id:1,material:t.material,texture:t.texture,region:t.texture}}const B=new i(1,2,"wosr");export{A as LoaderResultWOSR,k as createTextureResources,I as load,U as processLoadResult};
5
+ import e from"../../../../request.js";import{result as t}from"../../../../core/asyncUtils.js";import r from"../../../../core/Error.js";import n from"../../../../core/Logger.js";import{estimateNestedObjectMemory as s}from"../../../../core/memoryEstimations.js";import{NestedMap as o}from"../../../../core/NestedMap.js";import{throwIfAbortError as a}from"../../../../core/promiseUtils.js";import{Version as i}from"../../../../core/Version.js";import{fromArray as l}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import{empty as u,expandWithVec3 as c}from"../../../../geometry/support/aaBoundingBox.js";import{getContinuousIndexArray as m}from"../../../../geometry/support/Indices.js";import{requestImage as p}from"../../../../support/requestImageUtils.js";import{Attribute as f}from"../../webgl-engine/lib/Attribute.js";import{Geometry as d}from"../../webgl-engine/lib/Geometry.js";import{Texture as g}from"../../webgl-engine/lib/Texture.js";import{DefaultMaterial as y}from"../../webgl-engine/materials/DefaultMaterial.js";const w=()=>n.getLogger("esri.views.3d.layers.graphics.objectResourceUtils");class h{constructor(e,t,r){this.resource=e,this.textures=t,this.cachedMemory=r}}async function x(e,t){const r=await b(e,t),n=await U(r.textureDefinitions??{},t);let o=0;for(const s in n)if(n.hasOwnProperty(s)){const e=n[s];o+=e?.image?e.image.width*e.image.height*4:0}return new h(r,n,o+s(r))}async function b(r,n){const s=n?.streamDataRequester;if(s)return v(r,s,n);const o=await t(e(r,n));if(!0===o.ok)return o.value.data;a(o.error),A(o.error)}async function v(e,r,n){const s=await t(r.request(e,0,n));if(!0===s.ok)return s.value;a(s.error),A(s.error.details.url)}function A(e){throw new r("",`Request for object resource failed: ${e}`)}function j(e){const t=e.params,r=t.topology;let n=!0;switch(t.vertexAttributes||(w().warn("Geometry must specify vertex attributes"),n=!1),t.topology){case"PerAttributeArray":break;case"Indexed":case null:case void 0:{const e=t.faces;if(e){if(t.vertexAttributes)for(const r in t.vertexAttributes){const t=e[r];t?.values?(null!=t.valueType&&"UInt32"!==t.valueType&&(w().warn(`Unsupported indexed geometry indices type '${t.valueType}', only UInt32 is currently supported`),n=!1),null!=t.valuesPerElement&&1!==t.valuesPerElement&&(w().warn(`Unsupported indexed geometry values per element '${t.valuesPerElement}', only 1 is currently supported`),n=!1)):(w().warn(`Indexed geometry does not specify face indices for '${r}' attribute`),n=!1)}}else w().warn("Indexed geometries must specify faces"),n=!1;break}default:w().warn(`Unsupported topology '${r}'`),n=!1}e.params.material||(w().warn("Geometry requires material"),n=!1);const s=e.params.vertexAttributes;for(const o in s){s[o].values||(w().warn("Geometries with externally defined attributes are not yet supported"),n=!1)}return n}function M(e,t){const r=new Array,n=new Array,s=new Array,a=new o,u=e.resource,c=i.parse(u.version||"1.0","wosr");k.validate(c);const p=u.model.name,w=u.model.geometries,h=u.materialDefinitions??{},x=e.textures;let b=0;const v=new Map;for(let o=0;o<w.length;o++){const e=w[o];if(!j(e))continue;const i=E(e),u=e.params.vertexAttributes,c=[],p=t=>{if("PerAttributeArray"===e.params.topology)return null;const r=e.params.faces;for(const e in r)if(e===t)return r[e].values;return null},A=u.position,M=A.values.length/A.valuesPerElement;for(const t in u){const e=u[t],r=e.values,n=p(t)??m(M);c.push([t,new f(r,n,e.valuesPerElement,!0)])}const P=i.texture,U=x&&x[P];if(U&&!v.has(P)){const{image:e,parameters:t}=U,r=new g(e,t);n.push(r),v.set(P,r)}const k=v.get(P),T=k?k.id:void 0,q=i.material;let O=a.get(q,P);if(null==O){const e=h[q.slice(q.lastIndexOf("/")+1)].params;1===e.transparency&&(e.transparency=0);const r=U?I(U.alphaChannelUsage):void 0,n={ambient:l(e.diffuse),diffuse:l(e.diffuse),opacity:1-(e.transparency||0),textureAlphaMode:r,textureAlphaCutoff:.33,textureId:T,doubleSided:!0,cullFace:0,colorMixMode:e.externalColorMixMode||"tint",textureAlphaPremultiplied:U?.parameters.preMultiplyAlpha??!1};t?.materialParameters&&Object.assign(n,t.materialParameters),O=new y(n,t),a.set(q,P,O)}s.push(O);const C=new d(O,c);b+=c.find(e=>"position"===e[0])?.[1]?.indices.length??0,r.push(C)}return{engineResources:[{name:p,stageResources:{textures:n,materials:s,geometries:r},pivotOffset:u.model.pivotOffset,numberOfVertices:b,lodThreshold:null}],referenceBoundingBox:P(r)}}function P(e){const t=u();return e.forEach(e=>{const r=e.boundingInfo;null!=r&&(c(t,r.bbMin),c(t,r.bbMax))}),t}async function U(e,t){const r=new Array;for(const o in e){const n=e[o],s=n.images[0].data;if(!s){w().warn("Externally referenced texture data is not yet supported");continue}const a=n.encoding+";base64,"+s,i="/textureDefinitions/"+o,l="rgba"===n.channels?n.alphaChannelUsage||"transparency":"none",u={noUnpackFlip:!0,wrap:{s:10497,t:10497},preMultiplyAlpha:1!==I(l)},c=t?.disableTextures?Promise.resolve(null):p(a,t);r.push(c.then(e=>({refId:i,image:e,parameters:u,alphaChannelUsage:l})))}const n=await Promise.all(r),s={};for(const o of n)s[o.refId]=o;return s}function I(e){switch(e){case"mask":return 2;case"maskAndTransparency":return 3;case"none":return 1;default:return 0}}function E(e){const t=e.params;return{id:1,material:t.material,texture:t.texture,region:t.texture}}const k=new i(1,2,"wosr");export{h as LoaderResultWOSR,U as createTextureResources,x as load,M as processLoadResult};
@@ -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{clone as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{createMaterialFromEdges as r}from"../support/edgeUtils.js";import{ColorMixModeEnum as o}from"../support/symbolColorUtils.js";var a;!function(e){e[e.Solid=0]="Solid",e[e.WireFrame=1]="WireFrame",e[e.XRay=2]="XRay"}(a||(a={}));const l=.15,t=.5*l;function i(e){switch(e.filterMode.type){case"solid":return{mode:a.Solid};case"wire-frame":return{mode:a.WireFrame,edgeMaterial:r(e.filterMode.edges,{})};case"x-ray":return{mode:a.XRay}}}function c(e,r){if(null==r)return e.color[3]=0,void(e.edgeMaterial=null);switch(r.mode){case a.Solid:return;case a.WireFrame:return e.color[3]=0,void(e.edgeMaterial=r.edgeMaterial);case a.XRay:return e.color[0]=1,e.color[1]=1,e.color[2]=1,e.color[3]*=l,e.colorMixMode=o.Replace,e.castShadows=!1,e.pickable=!1,void(e.edgeMaterial=s(e.edgeMaterial))}}function s(e){return null==e?null:(d.lastMaterial!==e&&(d.cachedMaterial=n(e),d.lastMaterial=e),d.cachedMaterial)}function n(r){const o=e(r.color);return o[3]*=t,{...r,color:o}}const d={cachedMaterial:null,lastMaterial:null};export{a as FilterModeEnum,c as applyFilterMode,i as parseFilterMode};
5
+ import"../../../../core/has.js";import{clone as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{createMaterialFromEdges as r}from"../support/edgeUtils.js";const o=.15,t=.5*o;function a(e){switch(e.filterMode.type){case"solid":return{mode:0};case"wire-frame":return{mode:1,edgeMaterial:r(e.filterMode.edges,{})};case"x-ray":return{mode:2}}}function l(e,r){if(null==r)return e.color[3]=0,void(e.edgeMaterial=null);switch(r.mode){case 0:return;case 1:return e.color[3]=0,void(e.edgeMaterial=r.edgeMaterial);case 2:return e.color[0]=1,e.color[1]=1,e.color[2]=1,e.color[3]*=o,e.colorMixMode=3,e.castShadows=!1,e.pickable=!1,void(e.edgeMaterial=c(e.edgeMaterial))}}function c(e){return null==e?null:(n.lastMaterial!==e&&(n.cachedMaterial=i(e),n.lastMaterial=e),n.cachedMaterial)}function i(r){const o=e(r.color);return o[3]*=t,{...r,color:o}}const n={cachedMaterial:null,lastMaterial:null};export{l as applyFilterMode,a as parseFilterMode};
@@ -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{removeUnordered as t}from"../../../../core/arrayUtils.js";import{makeHandle as e}from"../../../../core/handleUtils.js";import{getOrCreateMapValue as i}from"../../../../core/MapUtils.js";import{ForAllFeaturesReturnType as s}from"../II3SMeshView3D.js";class h{constructor(t){this.highlightName=t,this.ids=new Set}}class l{constructor({collection:t,forAllFeatures:e,forAllFeaturesOfNode:i}){this._highlights=new Map,this._collection=t,this._forAllFeatures=e,this._forAllFeaturesOfNode=i}destroy(){this._highlights.forEach(t=>t.forEach(t=>this._releaseSet(t))),this._highlights=null}acquireSet(s){const l=new h(s);i(this._highlights,s,()=>[]).push(l);const o=e(()=>{const e=this._highlights?.get(s);e&&(this._releaseSet(l),t(e,l))});return{set:l,handle:o}}setFeatureIds(t,e){e.forEach(e=>t.ids.add(e)),this._initializeSet(t)}_initializeSet(t){this._forAllFeatures((e,i,h)=>(t.ids.has(e)&&this._collection.addComponentHighlight(h.objectHandle,i,t.highlightName),s.CONTINUE))}_releaseSet(t){this._forAllFeatures((e,i,h)=>(t.ids.has(e)&&this._collection.removeComponentHighlight(h.objectHandle,i,t.highlightName),s.CONTINUE))}objectCreated(t){this._highlights.forEach((e,i)=>{e.forEach(e=>{this._forAllFeaturesOfNode(t,(h,l)=>(e.ids.has(h)&&this._collection.addComponentHighlight(t.objectHandle,l,i),s.CONTINUE))})})}objectDeleted(t){this._collection.clearHighlights(t.objectHandle)}}export{l as default};
5
+ import{removeUnordered as t}from"../../../../core/arrayUtils.js";import{makeHandle as e}from"../../../../core/handleUtils.js";import{getOrCreateMapValue as i}from"../../../../core/MapUtils.js";class h{constructor(t){this.highlightName=t,this.ids=new Set}}class s{constructor({collection:t,forAllFeatures:e,forAllFeaturesOfNode:i}){this._highlights=new Map,this._collection=t,this._forAllFeatures=e,this._forAllFeaturesOfNode=i}destroy(){this._highlights.forEach(t=>t.forEach(t=>this._releaseSet(t))),this._highlights=null}acquireSet(s){const l=new h(s);i(this._highlights,s,()=>[]).push(l);const o=e(()=>{const e=this._highlights?.get(s);e&&(this._releaseSet(l),t(e,l))});return{set:l,handle:o}}setFeatureIds(t,e){e.forEach(e=>t.ids.add(e)),this._initializeSet(t)}_initializeSet(t){this._forAllFeatures((e,i,h)=>(t.ids.has(e)&&this._collection.addComponentHighlight(h.objectHandle,i,t.highlightName),1))}_releaseSet(t){this._forAllFeatures((e,i,h)=>(t.ids.has(e)&&this._collection.removeComponentHighlight(h.objectHandle,i,t.highlightName),1))}objectCreated(t){this._highlights.forEach((e,i)=>{e.forEach(e=>{this._forAllFeaturesOfNode(t,(h,s)=>(e.ids.has(h)&&this._collection.addComponentHighlight(t.objectHandle,s,i),1))})})}objectDeleted(t){this._collection.clearHighlights(t.objectHandle)}}export{s as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{_ as t}from"../../../../chunks/tslib.es6.js";import e from"../../../../core/Accessor.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 r}from"../../../../core/accessorSupport/decorators/subclass.js";import{ElevationMode as i}from"../II3SMeshView3D.js";import{ExtentSet as o}from"../graphics/ExtentSet.js";import{TaskPriority as n}from"../../../support/Scheduler.js";let a=class extends e{constructor(t,e,s,r){super({}),this._updateExtent=e,this._updateNode=s,this._getElevationMode=r,this.running=!1,this._extentSet=new o,this._nodeSet=new Set;const i=this._taskPriority,n=t.registerTask(this._taskPriority,this);this.addHandles(n),this._task=n,this._lastTaskPriority=i}destroy(){this._extentSet.destroy()}get _taskPriority(){const t=this._getElevationMode();return t&&t===i.RelativeToGround?n.ELEVATION_ALIGNMENT_SCENE:n.ELEVATION_ALIGNMENT}_updateTaskPriority(){const t=this._taskPriority;t!==this._lastTaskPriority&&(this._task.priority=t,this._lastTaskPriority=t)}addExtent(t){this._extentSet.add(t),this._updateTaskPriority(),this.running=!0}schedule(t){this._nodeSet.add(t),this._updateTaskPriority(),this.running=!0}remove(t){this._nodeSet.delete(t),this._updateRunning()}runTask(t){const e=this._extentSet;for(t.run(()=>e.merge(t));!e.empty&&!t.done;){const s=this._updateExtent(e.pop());null!=s&&s.forAll(t=>this.schedule(t)),t.madeProgress()}if(t.done)return;const s=this._nodeSet;for(const r of s)if(s.delete(r),this._updateNode(r),t.madeProgress(),t.done)break;this._updateRunning()}_updateRunning(){this.running=this._nodeSet.size>0||this._extentSet.size>0}};t([s()],a.prototype,"running",void 0),a=t([r("esri.views.3d.layers.i3s.I3SAsyncElevationUpdater")],a);export{a as I3SAsyncElevationUpdater};
5
+ import{_ as t}from"../../../../chunks/tslib.es6.js";import e from"../../../../core/Accessor.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 r}from"../../../../core/accessorSupport/decorators/subclass.js";import{ExtentSet as i}from"../graphics/ExtentSet.js";import{TaskPriority as o}from"../../../support/Scheduler.js";let n=class extends e{constructor(t,e,s,r){super({}),this._updateExtent=e,this._updateNode=s,this._getElevationMode=r,this.running=!1,this._extentSet=new i,this._nodeSet=new Set;const o=this._taskPriority,n=t.registerTask(this._taskPriority,this);this.addHandles(n),this._task=n,this._lastTaskPriority=o}destroy(){this._extentSet.destroy()}get _taskPriority(){const t=this._getElevationMode();return t&&1===t?o.ELEVATION_ALIGNMENT_SCENE:o.ELEVATION_ALIGNMENT}_updateTaskPriority(){const t=this._taskPriority;t!==this._lastTaskPriority&&(this._task.priority=t,this._lastTaskPriority=t)}addExtent(t){this._extentSet.add(t),this._updateTaskPriority(),this.running=!0}schedule(t){this._nodeSet.add(t),this._updateTaskPriority(),this.running=!0}remove(t){this._nodeSet.delete(t),this._updateRunning()}runTask(t){const e=this._extentSet;for(t.run(()=>e.merge(t));!e.empty&&!t.done;){const s=this._updateExtent(e.pop());null!=s&&s.forAll(t=>this.schedule(t)),t.madeProgress()}if(t.done)return;const s=this._nodeSet;for(const r of s)if(s.delete(r),this._updateNode(r),t.madeProgress(),t.done)break;this._updateRunning()}_updateRunning(){this.running=this._nodeSet.size>0||this._extentSet.size>0}};t([s()],n.prototype,"running",void 0),n=t([r("esri.views.3d.layers.i3s.I3SAsyncElevationUpdater")],n);export{n as I3SAsyncElevationUpdater};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../core/Error.js";import{clone as t}from"../../../../core/lang.js";import n from"../../../../core/Logger.js";import{isInt16Array as r,minInt16 as o,isInt32Array as i,minInt32 as u,nativeArrayMaxSize as a}from"../../../../core/typedArrayUtil.js";import{compactUCharArray as s}from"../../../../geometry/support/UCharArray.js";import{compactUShortArray as c}from"../../../../geometry/support/UShortArray.js";import{decodeRGB as f,decodeIntensity as l}from"./LEPCC.js";import{VertexAttribute as d}from"../../webgl-engine/lib/VertexAttribute.js";const b=()=>n.getLogger("esri.views.3d.layers.i3s.I3SBinaryReader");function y(t,n,r){let o="",i=0;for(;i<r;){const u=t[n+i];if(u<128)o+=String.fromCharCode(u),i++;else if(u>=192&&u<224){if(i+1>=r)throw new e("utf8-decode-error","UTF-8 Decode failed. Two byte character was truncated.");const a=(31&u)<<6|63&t[n+i+1];o+=String.fromCharCode(a),i+=2}else if(u>=224&&u<240){if(i+2>=r)throw new e("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const a=(15&u)<<12|(63&t[n+i+1])<<6|63&t[n+i+2];o+=String.fromCharCode(a),i+=3}else{if(!(u>=240&&u<248))throw new e("utf8-decode-error","UTF-8 Decode failed. Invalid multi byte sequence.");{if(i+3>=r)throw new e("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const a=(7&u)<<18|(63&t[n+i+1])<<12|(63&t[n+i+2])<<6|63&t[n+i+3];if(a>=65536){const e=55296+(a-65536>>10),t=56320+(1023&a);o+=String.fromCharCode(e,t)}else o+=String.fromCharCode(a);i+=4}}}return o}function g(e,t){const n={byteOffset:0,byteCount:0,fields:Object.create(null)};let r=0;for(let o=0;o<t.length;o++){const i=t[o],u=i.valueType||i.type,a=F[u];n.fields[i.property]=a(e,r),r+=j[u].BYTES_PER_ELEMENT}return n.byteCount=r,n}function p(e,t,n){return m(e,t,n).map(e=>{const t=e?Date.parse(e):null;return null==t||Number.isNaN(t)?null:t})}function m(t,n,r){const o=[];let i,u,a=0;for(u=0;u<t;u+=1){if(i=n[u],i>0){if(o.push(y(r,a,i-1)),0!==r[a+i-1])throw new e("string-array-error","Invalid string array: missing null termination.")}else o.push(null);a+=i}return o}function w(e,t){return new(0,j[t.valueType])(e,t.byteOffset,t.count*t.valuesPerElement)}function v(e,t){const n=w(e,t);if(n.length>=a)return n;const r=new Array;return n.forEach((e,t)=>r.push(C(n,t))),r}function C(e,t){if(!e)return null;const n=e[t];if(r(e))return n===o?null:n;if(i(e))return n===u?null:n;return n!=n?null:n}function I(e,t){return new Uint8Array(e,t.byteOffset,t.byteCount)}function h(n,r,o){const i=null!=r.header?g(n,r.header):{byteOffset:0,byteCount:0,fields:{count:o}},u={header:i,byteOffset:i.byteCount,byteCount:0,entries:Object.create(null)};let a=i.byteCount;for(let s=0;s<r.ordering.length;s++){const n=r.ordering[s],o=t(r[n]);if(o.count=i.fields.count??0,"String"===o.valueType){if(o.byteOffset=a,o.byteCount=i.fields[n+"ByteCount"],"UTF-8"!==o.encoding)throw new e("unsupported-encoding","Unsupported String encoding.",{encoding:o.encoding});if(o.timeEncoding&&"ECMA_ISO8601"!==o.timeEncoding)throw new e("unsupported-time-encoding","Unsupported time encoding.",{timeEncoding:o.timeEncoding})}else{if(!R(o.valueType))throw new e("unsupported-value-type","Unsupported binary valueType",{valueType:o.valueType});{const e=B(o.valueType);a+=a%e!==0?e-a%e:0,o.byteOffset=a,o.byteCount=e*o.valuesPerElement*o.count}}a+=o.byteCount??0,u.entries[n]=o}return u.byteCount=a-u.byteOffset,u}function A(t,n,r){if(n!==t&&b().error(`Invalid ${r} buffer size\n expected: ${t}, actual: ${n})`),n<t)throw new e("buffer-too-small","Binary buffer is too small",{expectedSize:t,actualSize:n})}function O(e){return{isDraco:!1,isLegacy:!1,color:null!=e.color,normal:null!=e.normal,uv0:null!=e.uv0,uvRegion:null!=e.uvRegion,featureIndex:null!=e.faceRange&&null!=e.featureId}}function U(e,t){const n=g(e,t&&t.header);let r=n.byteCount;const o={isDraco:!1,header:n,byteOffset:n.byteCount,byteCount:0,vertexAttributes:{}},i=n.fields,u=null!=i.vertexCount?i.vertexCount:i.count;for(const c of t.ordering){if(!t.vertexAttributes[c])continue;const e={...t.vertexAttributes[c],byteOffset:r,count:u},n=x[c]||"_"+c;o.vertexAttributes[n]=e,r+=B(e.valueType)*e.valuesPerElement*u}const a=i.faceCount;if(t.faces&&a){o.faces={};for(const e of t.ordering){if(!t.faces[e])continue;const n={...t.faces[e],byteOffset:r,count:a};o.faces[e]=n,r+=B(n.valueType)*n.valuesPerElement*a}}const s=i.featureCount;if(t.featureAttributes&&t.featureAttributeOrder&&s){o.featureAttributes={};for(const e of t.featureAttributeOrder){if(!t.featureAttributes[e])continue;const n={...t.featureAttributes[e],byteOffset:r,count:s};o.featureAttributes[e]=n;r+=("UInt64"===n.valueType?8:B(n.valueType))*n.valuesPerElement*s}}return A(r,e.byteLength,"geometry"),o.byteCount=r-o.byteOffset,o}function E(e,t){return!(!e||!e.compressedAttributes||"draco"!==e.compressedAttributes.encoding)?S(e.compressedAttributes.attributes):e?O(e):T(t)}function T(e){const t={isDraco:!1,isLegacy:!0,color:!1,normal:!1,uv0:!1,uvRegion:!1,featureIndex:!1};for(const n of e.ordering)if(e.vertexAttributes[n])switch(n){case"position":break;case"normal":t.normal=!0;break;case"color":t.color=!0;break;case"uv0":t.uv0=!0;break;case"region":t.uvRegion=!0}return e.featureAttributes&&e.featureAttributeOrder&&(t.featureIndex=!0),t}function S(e){const t={isDraco:!0,isLegacy:!1,color:!1,normal:!1,uv0:!1,uvRegion:!1,featureIndex:!1};for(const n of e)switch(n){case"position":break;case"normal":t.normal=!0;break;case"uv0":t.uv0=!0;break;case"color":t.color=!0;break;case"uv-region":t.uvRegion=!0;break;case"feature-index":t.featureIndex=!0}return t}const x={position:d.POSITION,normal:d.NORMAL,color:d.COLOR,uv0:d.UV0,region:d.UVREGION};function D(t,n,r,o=!1){if("lepcc-rgb"===t.encoding)return o?f(n):s(f(n));if("lepcc-intensity"===t.encoding)return o?l(n):c(l(n));if(null!=t.encoding&&""!==t.encoding)throw new e("unknown-attribute-storage-info-encoding","Unknown Attribute Storage Info Encoding");t["attributeByteCounts "]&&!t.attributeByteCounts&&(b().warn("Warning: Trailing space in 'attributeByteCounts '."),t.attributeByteCounts=t["attributeByteCounts "]),"ObjectIds"===t.ordering[0]&&t.hasOwnProperty("objectIds")&&(b().warn("Warning: Case error in objectIds"),t.ordering[0]="objectIds");const i=h(n,t,r);A(i.byteOffset+i.byteCount,n.byteLength,"attribute");const u=i.entries.attributeValues||i.entries.objectIds;if(u){if("String"===u.valueType){const e=i.entries.attributeByteCounts,t=w(n,e),r=I(n,u);return u.timeEncoding?p(e.count,t,r):m(e.count,t,r)}return o?w(n,u):v(n,u)}throw new e("bad-attribute-storage-info","Bad attributeStorageInfo specification.")}const j={Float32:Float32Array,Float64:Float64Array,UInt8:Uint8Array,Int8:Int8Array,UInt16:Uint16Array,Int16:Int16Array,UInt32:Uint32Array,Int32:Int32Array},F={Float32:(e,t)=>new DataView(e,0).getFloat32(t,!0),Float64:(e,t)=>new DataView(e,0).getFloat64(t,!0),UInt8:(e,t)=>new DataView(e,0).getUint8(t),Int8:(e,t)=>new DataView(e,0).getInt8(t),UInt16:(e,t)=>new DataView(e,0).getUint16(t,!0),Int16:(e,t)=>new DataView(e,0).getInt16(t,!0),UInt32:(e,t)=>new DataView(e,0).getUint32(t,!0),Int32:(e,t)=>new DataView(e,0).getInt32(t,!0)};function R(e){return j.hasOwnProperty(e)}function B(e){return R(e)?j[e].BYTES_PER_ELEMENT:0}export{h as createAttributeDataIndex,E as createGeometryDescriptor,S as createGeometryDescriptorForDraco,O as createGeometryDescriptorFromDefinition,T as createGeometryDescriptorFromSchema,U as createGeometryIndexFromSchema,I as createRawView,w as createTypedView,B as getBytesPerValue,C as getCachedAttributeValue,R as isValueType,D as readBinaryAttribute,p as readDateStringArray,g as readHeader,m as readStringArray,F as valueType2ArrayBufferReader,j as valueType2TypedArrayClassMap};
5
+ import e from"../../../../core/Error.js";import{clone as t}from"../../../../core/lang.js";import n from"../../../../core/Logger.js";import{isInt16Array as r,minInt16 as o,isInt32Array as i,minInt32 as u,nativeArrayMaxSize as a}from"../../../../core/typedArrayUtil.js";import{compactUCharArray as s}from"../../../../geometry/support/UCharArray.js";import{compactUShortArray as c}from"../../../../geometry/support/UShortArray.js";import{decodeRGB as f,decodeIntensity as l}from"./LEPCC.js";const d=()=>n.getLogger("esri.views.3d.layers.i3s.I3SBinaryReader");function b(t,n,r){let o="",i=0;for(;i<r;){const u=t[n+i];if(u<128)o+=String.fromCharCode(u),i++;else if(u>=192&&u<224){if(i+1>=r)throw new e("utf8-decode-error","UTF-8 Decode failed. Two byte character was truncated.");const a=(31&u)<<6|63&t[n+i+1];o+=String.fromCharCode(a),i+=2}else if(u>=224&&u<240){if(i+2>=r)throw new e("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const a=(15&u)<<12|(63&t[n+i+1])<<6|63&t[n+i+2];o+=String.fromCharCode(a),i+=3}else{if(!(u>=240&&u<248))throw new e("utf8-decode-error","UTF-8 Decode failed. Invalid multi byte sequence.");{if(i+3>=r)throw new e("utf8-decode-error","UTF-8 Decode failed. Multi byte character was truncated.");const a=(7&u)<<18|(63&t[n+i+1])<<12|(63&t[n+i+2])<<6|63&t[n+i+3];if(a>=65536){const e=55296+(a-65536>>10),t=56320+(1023&a);o+=String.fromCharCode(e,t)}else o+=String.fromCharCode(a);i+=4}}}return o}function y(e,t){const n={byteOffset:0,byteCount:0,fields:Object.create(null)};let r=0;for(let o=0;o<t.length;o++){const i=t[o],u=i.valueType||i.type,a=j[u];n.fields[i.property]=a(e,r),r+=x[u].BYTES_PER_ELEMENT}return n.byteCount=r,n}function g(e,t,n){return p(e,t,n).map(e=>{const t=e?Date.parse(e):null;return null==t||Number.isNaN(t)?null:t})}function p(t,n,r){const o=[];let i,u,a=0;for(u=0;u<t;u+=1){if(i=n[u],i>0){if(o.push(b(r,a,i-1)),0!==r[a+i-1])throw new e("string-array-error","Invalid string array: missing null termination.")}else o.push(null);a+=i}return o}function m(e,t){return new(0,x[t.valueType])(e,t.byteOffset,t.count*t.valuesPerElement)}function w(e,t){const n=m(e,t);if(n.length>=a)return n;const r=new Array;return n.forEach((e,t)=>r.push(v(n,t))),r}function v(e,t){if(!e)return null;const n=e[t];if(r(e))return n===o?null:n;if(i(e))return n===u?null:n;return n!=n?null:n}function C(e,t){return new Uint8Array(e,t.byteOffset,t.byteCount)}function h(n,r,o){const i=null!=r.header?y(n,r.header):{byteOffset:0,byteCount:0,fields:{count:o}},u={header:i,byteOffset:i.byteCount,byteCount:0,entries:Object.create(null)};let a=i.byteCount;for(let s=0;s<r.ordering.length;s++){const n=r.ordering[s],o=t(r[n]);if(o.count=i.fields.count??0,"String"===o.valueType){if(o.byteOffset=a,o.byteCount=i.fields[n+"ByteCount"],"UTF-8"!==o.encoding)throw new e("unsupported-encoding","Unsupported String encoding.",{encoding:o.encoding});if(o.timeEncoding&&"ECMA_ISO8601"!==o.timeEncoding)throw new e("unsupported-time-encoding","Unsupported time encoding.",{timeEncoding:o.timeEncoding})}else{if(!F(o.valueType))throw new e("unsupported-value-type","Unsupported binary valueType",{valueType:o.valueType});{const e=B(o.valueType);a+=a%e!==0?e-a%e:0,o.byteOffset=a,o.byteCount=e*o.valuesPerElement*o.count}}a+=o.byteCount??0,u.entries[n]=o}return u.byteCount=a-u.byteOffset,u}function I(t,n,r){if(n!==t&&d().error(`Invalid ${r} buffer size\n expected: ${t}, actual: ${n})`),n<t)throw new e("buffer-too-small","Binary buffer is too small",{expectedSize:t,actualSize:n})}function A(e){return{isDraco:!1,isLegacy:!1,color:null!=e.color,normal:null!=e.normal,uv0:null!=e.uv0,uvRegion:null!=e.uvRegion,featureIndex:null!=e.faceRange&&null!=e.featureId}}function U(e,t){const n=y(e,t&&t.header);let r=n.byteCount;const o={isDraco:!1,header:n,byteOffset:n.byteCount,byteCount:0,vertexAttributes:{}},i=n.fields,u=null!=i.vertexCount?i.vertexCount:i.count;for(const c of t.ordering){if(!t.vertexAttributes[c])continue;const e={...t.vertexAttributes[c],byteOffset:r,count:u},n=D[c]||"_"+c;o.vertexAttributes[n]=e,r+=B(e.valueType)*e.valuesPerElement*u}const a=i.faceCount;if(t.faces&&a){o.faces={};for(const e of t.ordering){if(!t.faces[e])continue;const n={...t.faces[e],byteOffset:r,count:a};o.faces[e]=n,r+=B(n.valueType)*n.valuesPerElement*a}}const s=i.featureCount;if(t.featureAttributes&&t.featureAttributeOrder&&s){o.featureAttributes={};for(const e of t.featureAttributeOrder){if(!t.featureAttributes[e])continue;const n={...t.featureAttributes[e],byteOffset:r,count:s};o.featureAttributes[e]=n;r+=("UInt64"===n.valueType?8:B(n.valueType))*n.valuesPerElement*s}}return I(r,e.byteLength,"geometry"),o.byteCount=r-o.byteOffset,o}function E(e,t){return!(!e||!e.compressedAttributes||"draco"!==e.compressedAttributes.encoding)?O(e.compressedAttributes.attributes):e?A(e):T(t)}function T(e){const t={isDraco:!1,isLegacy:!0,color:!1,normal:!1,uv0:!1,uvRegion:!1,featureIndex:!1};for(const n of e.ordering)if(e.vertexAttributes[n])switch(n){case"position":break;case"normal":t.normal=!0;break;case"color":t.color=!0;break;case"uv0":t.uv0=!0;break;case"region":t.uvRegion=!0}return e.featureAttributes&&e.featureAttributeOrder&&(t.featureIndex=!0),t}function O(e){const t={isDraco:!0,isLegacy:!1,color:!1,normal:!1,uv0:!1,uvRegion:!1,featureIndex:!1};for(const n of e)switch(n){case"position":break;case"normal":t.normal=!0;break;case"uv0":t.uv0=!0;break;case"color":t.color=!0;break;case"uv-region":t.uvRegion=!0;break;case"feature-index":t.featureIndex=!0}return t}const D={position:"position",normal:"normal",color:"color",uv0:"uv0",region:"uvRegion"};function S(t,n,r,o=!1){if("lepcc-rgb"===t.encoding)return o?f(n):s(f(n));if("lepcc-intensity"===t.encoding)return o?l(n):c(l(n));if(null!=t.encoding&&""!==t.encoding)throw new e("unknown-attribute-storage-info-encoding","Unknown Attribute Storage Info Encoding");t["attributeByteCounts "]&&!t.attributeByteCounts&&(d().warn("Warning: Trailing space in 'attributeByteCounts '."),t.attributeByteCounts=t["attributeByteCounts "]),"ObjectIds"===t.ordering[0]&&t.hasOwnProperty("objectIds")&&(d().warn("Warning: Case error in objectIds"),t.ordering[0]="objectIds");const i=h(n,t,r);I(i.byteOffset+i.byteCount,n.byteLength,"attribute");const u=i.entries.attributeValues||i.entries.objectIds;if(u){if("String"===u.valueType){const e=i.entries.attributeByteCounts,t=m(n,e),r=C(n,u);return u.timeEncoding?g(e.count,t,r):p(e.count,t,r)}return o?m(n,u):w(n,u)}throw new e("bad-attribute-storage-info","Bad attributeStorageInfo specification.")}const x={Float32:Float32Array,Float64:Float64Array,UInt8:Uint8Array,Int8:Int8Array,UInt16:Uint16Array,Int16:Int16Array,UInt32:Uint32Array,Int32:Int32Array},j={Float32:(e,t)=>new DataView(e,0).getFloat32(t,!0),Float64:(e,t)=>new DataView(e,0).getFloat64(t,!0),UInt8:(e,t)=>new DataView(e,0).getUint8(t),Int8:(e,t)=>new DataView(e,0).getInt8(t),UInt16:(e,t)=>new DataView(e,0).getUint16(t,!0),Int16:(e,t)=>new DataView(e,0).getInt16(t,!0),UInt32:(e,t)=>new DataView(e,0).getUint32(t,!0),Int32:(e,t)=>new DataView(e,0).getInt32(t,!0)};function F(e){return x.hasOwnProperty(e)}function B(e){return F(e)?x[e].BYTES_PER_ELEMENT:0}export{h as createAttributeDataIndex,E as createGeometryDescriptor,O as createGeometryDescriptorForDraco,A as createGeometryDescriptorFromDefinition,T as createGeometryDescriptorFromSchema,U as createGeometryIndexFromSchema,C as createRawView,m as createTypedView,B as getBytesPerValue,v as getCachedAttributeValue,F as isValueType,S as readBinaryAttribute,g as readDateStringArray,y as readHeader,p as readStringArray,j as valueType2ArrayBufferReader,x as valueType2TypedArrayClassMap};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../Color.js";import o from"../../../../core/Error.js";import{loadImageAsync as t}from"../../../../support/requestUtils.js";import{EncodedMeshTexture as r}from"../../glTF/internal/resourceUtils.js";import{TextureUsage as a,TextureEncoding as s}from"./enums.js";import{CullFaceOptions as n}from"../../webgl-engine/lib/basicInterfaces.js";import{useSchematicPBR as i,schematicMRRFactors as l}from"../../webgl-engine/materials/pbrUtils.js";import{alphaCutoff as u}from"../../../../webscene/support/AlphaCutoff.js";async function c(o){const t=[],r=[];if(null==o){return{material:{alphaMode:"opaque",alphaCutoff:u,doubleSided:!0,cullFace:0,normalTextureId:-1,emissiveTextureId:-1,occlusionTextureId:-1,emissiveFactor:[0,0,0],metallicRoughness:{baseColorFactor:[1,1,1,1],baseColorTextureId:-1,metallicRoughnessTextureId:-1,metallicFactor:0,roughnessFactor:.6000000238418579},wrapTextures:!1,hasParametersFromSource:!0},requiredTextures:t,textureData:r}}const s=d(o);"auto"===o.alphaMode&&console.warn('alphaMode "auto" not supported by I3S PBRMaterial - defaulting to "blend".');const c=i({normalTexture:o.normalTexture,emissiveTexture:s?o.emissiveTexture:null,emissiveFactor:s?e.toUnitRGB(o.emissiveColor):null,occlusionTexture:s?o.occlusionTexture:null,metallicRoughnessTexture:s?o.metallicRoughnessTexture:null,metallicFactor:s?o.metallic:null,roughnessFactor:s?o.roughness:null}),g=c?l[0]:s?o.metallic:0,p=c?l[1]:s?o.roughness:0;return{material:{alphaMode:"auto"===o.alphaMode?"blend":o.alphaMode,alphaCutoff:o.alphaCutoff,doubleSided:o.doubleSided,cullFace:o.doubleSided?n.None:n.Back,normalTextureId:await m(o.normalTexture,t,r,a.Normal),emissiveTextureId:s?await m(o.emissiveTexture,t,r,a.Emissive):-1,occlusionTextureId:s?await m(o.occlusionTexture,t,r,a.Occlusion):-1,emissiveFactor:s&&null!=o.emissiveColor?e.toUnitRGB(o.emissiveColor):[0,0,0],metallicRoughness:{baseColorFactor:null!=o.color?e.toUnitRGBA(o.color):[1,1,1,1],baseColorTextureId:await m(o.colorTexture,t,r,a.Color),metallicRoughnessTextureId:s?await m(o.metallicRoughnessTexture,t,r,a.MetallicRoughness):-1,metallicFactor:g,roughnessFactor:p},wrapTextures:!0,hasParametersFromSource:c},requiredTextures:t,textureData:r}}async function m(e,a,n,i){if(null==e)return-1;const l=n.length,u=e.data,c=e.url;if(null!=u){if(u instanceof HTMLImageElement||u instanceof HTMLCanvasElement)return n.push({id:l,usage:i,data:u,encoding:s.PNG}),a.push({id:l,usage:i,encodings:[{name:void 0,encoding:s.PNG}]}),l;if(u instanceof HTMLVideoElement)return-1;if(u instanceof ImageData)throw new o("scenelayer","ImageData textures not supported yet for client side I3S nodes");if(u instanceof r)return n.push({id:l,usage:i,data:u.data,encoding:s.KTX2}),a.push({id:l,usage:i,encodings:[{name:void 0,encoding:s.KTX2}]}),l}else if(null!=c){const e=new Image;e.src=c;const o=await t(e,e.src,!1,void 0);return n.push({id:l,usage:i,data:o,encoding:s.PNG}),a.push({id:l,usage:i,encodings:[{name:void 0,encoding:s.PNG}]}),l}return-1}function d(e){return e.hasOwnProperty("metallicRoughnessTexture")}export{c as convertMeshMaterialToPBRMaterial};
5
+ import e from"../../../../Color.js";import o from"../../../../core/Error.js";import{loadImageAsync as t}from"../../../../support/requestUtils.js";import{EncodedMeshTexture as r}from"../../glTF/internal/resourceUtils.js";import{useSchematicPBR as a,schematicMRRFactors as s}from"../../webgl-engine/materials/pbrUtils.js";import{alphaCutoff as n}from"../../../../webscene/support/AlphaCutoff.js";async function l(o){const t=[],r=[];if(null==o){return{material:{alphaMode:"opaque",alphaCutoff:n,doubleSided:!0,cullFace:0,normalTextureId:-1,emissiveTextureId:-1,occlusionTextureId:-1,emissiveFactor:[0,0,0],metallicRoughness:{baseColorFactor:[1,1,1,1],baseColorTextureId:-1,metallicRoughnessTextureId:-1,metallicFactor:0,roughnessFactor:.6000000238418579},wrapTextures:!1,hasParametersFromSource:!0},requiredTextures:t,textureData:r}}const l=i(o);"auto"===o.alphaMode&&console.warn('alphaMode "auto" not supported by I3S PBRMaterial - defaulting to "blend".');const c=a({normalTexture:o.normalTexture,emissiveTexture:l?o.emissiveTexture:null,emissiveFactor:l?e.toUnitRGB(o.emissiveColor):null,occlusionTexture:l?o.occlusionTexture:null,metallicRoughnessTexture:l?o.metallicRoughnessTexture:null,metallicFactor:l?o.metallic:null,roughnessFactor:l?o.roughness:null}),d=c?s[0]:l?o.metallic:0,m=c?s[1]:l?o.roughness:0;return{material:{alphaMode:"auto"===o.alphaMode?"blend":o.alphaMode,alphaCutoff:o.alphaCutoff,doubleSided:o.doubleSided,cullFace:o.doubleSided?0:2,normalTextureId:await u(o.normalTexture,t,r,4),emissiveTextureId:l?await u(o.emissiveTexture,t,r,16):-1,occlusionTextureId:l?await u(o.occlusionTexture,t,r,8):-1,emissiveFactor:l&&null!=o.emissiveColor?e.toUnitRGB(o.emissiveColor):[0,0,0],metallicRoughness:{baseColorFactor:null!=o.color?e.toUnitRGBA(o.color):[1,1,1,1],baseColorTextureId:await u(o.colorTexture,t,r,1),metallicRoughnessTextureId:l?await u(o.metallicRoughnessTexture,t,r,2):-1,metallicFactor:d,roughnessFactor:m},wrapTextures:!0,hasParametersFromSource:c},requiredTextures:t,textureData:r}}async function u(e,a,s,n){if(null==e)return-1;const l=s.length,u=e.data,i=e.url;if(null!=u){if(u instanceof HTMLImageElement||u instanceof HTMLCanvasElement)return s.push({id:l,usage:n,data:u,encoding:8}),a.push({id:l,usage:n,encodings:[{name:void 0,encoding:8}]}),l;if(u instanceof HTMLVideoElement)return-1;if(u instanceof ImageData)throw new o("scenelayer","ImageData textures not supported yet for client side I3S nodes");if(u instanceof r)return s.push({id:l,usage:n,data:u.data,encoding:1}),a.push({id:l,usage:n,encodings:[{name:void 0,encoding:1}]}),l}else if(null!=i){const e=new Image;e.src=i;const o=await t(e,e.src,!1,void 0);return s.push({id:l,usage:n,data:o,encoding:8}),a.push({id:l,usage:n,encodings:[{name:void 0,encoding:8}]}),l}return-1}function i(e){return e.hasOwnProperty("metallicRoughnessTexture")}export{l as convertMeshMaterialToPBRMaterial};
@@ -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{removeMaybe as e}from"../../../../core/maybe.js";import{addFrameTask as s}from"../../../../core/scheduling.js";import{FadeDirection as d}from"../support/I3SLayerView.js";class o{constructor(){this.lodCrossfadeSignedDuration=0}}class i{constructor(e){this._view=e,this._preRenderFrameTaskHandle=null,this._currentFrameStartTime=null,this._numFadingNodes=0}destroy(){this._preRenderFrameTaskHandle?.remove(),this._preRenderFrameTaskHandle=null,this._view=null}get updating(){return this._numFadingNodes>0}stopNodeFading(s){null!=s.lodCrossfadeProgress&&(this._numFadingNodes--,s.lodCrossfadeProgress=null,0===this._numFadingNodes&&(null!=this._preRenderFrameTaskHandle&&(this._preRenderFrameTaskHandle=e(this._preRenderFrameTaskHandle)),this._view.notifyLODUpdate(),this._view.notifyUpdate()))}_startNodeFading(e,d,o){0===this._numFadingNodes&&(this._preRenderFrameTaskHandle=s({preRender:e=>this._updateAllNodeFading(e)}),this._view.notifyLODUpdate()),null==e.lodCrossfadeProgress&&(this._numFadingNodes++,this._view.notifyUpdate()),e.lodCrossfadeSignedDuration=o,e.lodCrossfadeProgress=d}_updateAllNodeFading(e){const s=this._view.nodeCrossfadingEnabled;this._view.foreachCrossfadeNode((d,o)=>{if(null!=d?.lodCrossfadeProgress){const i=d.lodCrossfadeSignedDuration,t=i>0?this._view.fullOpacity:0,r=e.deltaTime/i,a=d.lodCrossfadeProgress+Math.abs(r),n=!s||a>=1||0===i,l=t-(n?0:i>0?1:-1)*(1-a);n?(this.stopNodeFading(d),i<0&&this._view.markNodeToRemove(o)):d.lodCrossfadeProgress=a,this._view.setNodeOpacityByIndex(o,l)}}),this._view.removeMarkedNodes()}stopAllNodeFading(){this._view.foreachCrossfadeNode((e,s)=>{if(null!=e?.lodCrossfadeProgress){this.stopNodeFading(e);const d=e.lodCrossfadeSignedDuration;d<0&&this._view.markNodeToRemove(s);const o=d>0?this._view.fullOpacity:0;this._view.setNodeOpacityByIndex(s,o)}}),this._view.removeMarkedNodes()}fadeNode(e,s,o,i){null==this._currentFrameStartTime&&(this._currentFrameStartTime=Date.now());const r=this._view,a=r.nodeCrossfadingEnabled,n=o===d.FadeIn?r.fullOpacity:0,l=a?i?o===d.FadeIn?r.lodCrossfadeinDuration:r.lodCrossfadeoutDuration:r.lodCrossfadeUncoveredDuration:0,h=this._view.getNodeOpacityByIndex(e);if(a&&h!==n&&l>0){const e=1-Math.abs(n-h);this._startNodeFading(s,e,t(o)*l)}else this.stopNodeFading(s),this._view.setNodeOpacityByIndex(e,n),o===d.FadeOut&&this._view.removeNode(e)}isNodeFullyFadedIn(e){const s=this._view.getNodeCrossfadeMetaData(e);return null==s||null==s.lodCrossfadeProgress&&this._view.getNodeOpacityByIndex(e)===this._view.fullOpacity}}function t(e){return e===d.FadeIn?1:-1}export{i as I3SCrossfadeHelper,o as NodeCrossfadeMetaData};
5
+ import{removeMaybe as e}from"../../../../core/maybe.js";import{addFrameTask as s}from"../../../../core/scheduling.js";class o{constructor(){this.lodCrossfadeSignedDuration=0}}class d{constructor(e){this._view=e,this._preRenderFrameTaskHandle=null,this._currentFrameStartTime=null,this._numFadingNodes=0}destroy(){this._preRenderFrameTaskHandle?.remove(),this._preRenderFrameTaskHandle=null,this._view=null}get updating(){return this._numFadingNodes>0}stopNodeFading(s){null!=s.lodCrossfadeProgress&&(this._numFadingNodes--,s.lodCrossfadeProgress=null,0===this._numFadingNodes&&(null!=this._preRenderFrameTaskHandle&&(this._preRenderFrameTaskHandle=e(this._preRenderFrameTaskHandle)),this._view.notifyLODUpdate(),this._view.notifyUpdate()))}_startNodeFading(e,o,d){0===this._numFadingNodes&&(this._preRenderFrameTaskHandle=s({preRender:e=>this._updateAllNodeFading(e)}),this._view.notifyLODUpdate()),null==e.lodCrossfadeProgress&&(this._numFadingNodes++,this._view.notifyUpdate()),e.lodCrossfadeSignedDuration=d,e.lodCrossfadeProgress=o}_updateAllNodeFading(e){const s=this._view.nodeCrossfadingEnabled;this._view.foreachCrossfadeNode((o,d)=>{if(null!=o?.lodCrossfadeProgress){const i=o.lodCrossfadeSignedDuration,t=i>0?this._view.fullOpacity:0,r=e.deltaTime/i,a=o.lodCrossfadeProgress+Math.abs(r),n=!s||a>=1||0===i,l=t-(n?0:i>0?1:-1)*(1-a);n?(this.stopNodeFading(o),i<0&&this._view.markNodeToRemove(d)):o.lodCrossfadeProgress=a,this._view.setNodeOpacityByIndex(d,l)}}),this._view.removeMarkedNodes()}stopAllNodeFading(){this._view.foreachCrossfadeNode((e,s)=>{if(null!=e?.lodCrossfadeProgress){this.stopNodeFading(e);const o=e.lodCrossfadeSignedDuration;o<0&&this._view.markNodeToRemove(s);const d=o>0?this._view.fullOpacity:0;this._view.setNodeOpacityByIndex(s,d)}}),this._view.removeMarkedNodes()}fadeNode(e,s,o,d){null==this._currentFrameStartTime&&(this._currentFrameStartTime=Date.now());const t=this._view,r=t.nodeCrossfadingEnabled,a=0===o?t.fullOpacity:0,n=r?d?0===o?t.lodCrossfadeinDuration:t.lodCrossfadeoutDuration:t.lodCrossfadeUncoveredDuration:0,l=this._view.getNodeOpacityByIndex(e);if(r&&l!==a&&n>0){const e=1-Math.abs(a-l);this._startNodeFading(s,e,i(o)*n)}else this.stopNodeFading(s),this._view.setNodeOpacityByIndex(e,a),1===o&&this._view.removeNode(e)}isNodeFullyFadedIn(e){const s=this._view.getNodeCrossfadeMetaData(e);return null==s||null==s.lodCrossfadeProgress&&this._view.getNodeOpacityByIndex(e)===this._view.fullOpacity}}function i(e){return 0===e?1:-1}export{d as I3SCrossfadeHelper,o as NodeCrossfadeMetaData};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import has from"../../../../core/has.js";import e from"../../../../core/PooledArray.js";import{isAbortError as t}from"../../../../core/promiseUtils.js";import{projectBoundingSphere as i}from"../../../../geometry/projection/projectBoundingSphere.js";import{l as s,h as n,c as o,u as r}from"../../../../chunks/sphere.js";import{DocType as a}from"../../support/index.js";import{LodMetric as l,NodeBase as d,Node as h,NodeFilterImpact as u,NodeIMModificationImpact as c,NodeTraversalState as g}from"./I3SNode.js";import{invalidateMbs as _,addWraparound as f}from"./I3SUtil.js";import{ValidatedNode as m}from"./ValidatedNode.js";import{ElevationRange as v}from"../../support/ElevationRange.js";import{Obb as N}from"../../support/orientedBoundingBox.js";class p{constructor(e,t,i,s,n){this.childOffset=e,this.childCount=t,this.visibilityCache=i,this.ref=s,this.node=n,this.useAsHole=0,this.filterImpact=u.NotChecked,this.traversalState=null,this.parent=-1}invalidateBounds(){this.node?.invalidateServiceBVsInRenderSR(),this.ref?.invalidateServiceBVsInRenderSR()}}class b{constructor(e=new Array,t=new Array){this.nodes=e,this.children=t,this.lastTraversed=0,this.numNodesWithLoadedChildren=0}}class I{get _useNodePages(){return this._pageSize>0}constructor(t,i,s,n,o,r,a,d,h,u,c,g,_,f,m,v){this.viewingMode=t,this._layer=i,this._streamDataController=n,this._clientNodeLoader=o,this._viewportQueries=r,this._logger=a,this.holeFilling=d,this._isLoaded=h,this._isReloading=u,this._isSelected=c,this._enable=g,this._needsUpdate=_,this._canRequest=f,this._computeVisibilityObb=m,this._computeNodeFiltering=v,this._dirty=!0,this._nodePages=new Map,this._clientNodePage=null,this._pageSize=0,this._rootIndex=0,this._lodMetric=l.None,this._lodConversion=e=>e,this._isEditable=!1,this._urlPrefix="",this._loadingNodes=new Set,this._loadingPages=new Set,this._failedNodes=new Set,this._failedPages=new Set,this._indexMissing=1,this._maxUnloadedPrio=Number.NEGATIVE_INFINITY,this._maxProcessingPrio=Number.POSITIVE_INFINITY,this._version=S(0),this._visibilityCacheVersion=S(0),this._maxLevel=1,this._featureEstimate={estimate:0,leavesReached:!1},this._unloadedMemoryEstimate=0,this._missingPagesAndNodes=new e({deallocator:null}),this._prefetchNodes=new e({deallocator:null}),this._updates=new P(this._missingPagesAndNodes),this._imModificationUncategorized=new e({deallocator:null}),this.ignoreServiceObb=!1,this.progressiveLoadPenalty=0,this._pageQueue=new Array,this._newPages=new Array,this.needNodeElevationRange=!1,this.layerHasModifications=!1,this._layerHasFilter=!1,this._frameNumber=0,this._traverseDescendantsQueue=[0],this._traverseDescendantsNestingLevel=0,this._isEditable=null!=i.associatedLayer?.infoFor3D,i.serviceUpdateTimeStamp?.lastUpdate&&(this._lastUpdate=`${i.serviceUpdateTimeStamp.lastUpdate}`),this._maxLodLevel=this._viewportQueries?this._viewportQueries.maxLodLevel:1,this._init(s)}_init(e){if("page"===e.type){const t=e.rootPage;switch(this._urlPrefix=e.urlPrefix,this._pageSize=e.pageSize,e.lodMetric){case"maxScreenThreshold":this._lodMetric=l.MaxScreenThreshold;break;case"maxScreenThresholdSQ":this._lodMetric=l.MaxScreenThreshold,this._lodConversion=D}if(this._isEditable){this._rootIndex=-1;const i=M(e.rootIndex,e.pageSize),s=t.nodes[i],n={nodes:[{index:this._rootIndex,children:[e.rootIndex],mesh:void 0,obb:s.obb,lodThreshold:s.lodThreshold}]};this._addPage(E(this._rootIndex,this._pageSize),n),this.getNode(-1).serviceObbInIndexSR=void 0}else this._rootIndex=e.rootIndex;this._addPage(E(e.rootIndex,this._pageSize),t),this._updateParentsAndLevel()}else if("node"===e.type){this._urlPrefix=e.urlPrefix;const t=new b;if(this._nodePages.set(0,t),this._isEditable){this._clientNodePage=new b;const t={id:"-1",version:null,mbs:e.rootNode.mbs,obb:e.rootNode.obb,sharedResource:null,geometryData:null,attributeData:null,featureData:null,children:[{id:"root",href:"../root",mbs:e.rootNode.mbs,obb:e.rootNode.obb}]};this._rootIndex=this._makeClientRefNode(new d(t.id,null),-1);const i=this._validateNode(t.id,t);i&&this._addNode(i,this._rootIndex)}else this._rootIndex=this._makeRefNode(new d(e.rootNode.id,null),-1);const i=this._validateNode(e.rootNode.id,e.rootNode);i&&this._addNode(i,0)}}addClientNodeToIndex(e,t){const i=-1,s=new d(e,t),n=this._makeClientRefNode(s,i);return this._linkChildToParentNode(i,n),this.requestUpdate(),n}removeClientNodeFromIndex(e,t,i){this._destroyClientRefNode(e,t,i),this.requestUpdate()}_loadPage(e){this._loadingPages.add(e);const i=this._urlPrefix+e;this._streamDataController.request(i,a.JSON).then(t=>{this._pageQueue.push({pageIndex:e,page:t})}).catch(i=>{this._loadingPages.delete(e),t(i)||(this._failedPages.add(e),this._logger.error("#loadPage()",this._layer,`Error when loading page ${e}`,i))})}_addQueuedPages(e){for(;this._pageQueue.length>0&&!e.done;){const{pageIndex:t,page:i}=this._pageQueue.shift();this._addPage(t,i),this._loadingPages.delete(t),e.madeProgress(),this.needNodeElevationRange&&this._newPages.push(t)}this._updateParentsAndLevel()}_invalidateElevationRangeForNewPages(e){if(this.needNodeElevationRange)for(;this._newPages.length>0&&!e.done;){const e=this._nodePages.get(this._newPages.shift());e?.nodes.forEach(e=>{let t=e.parent;for(;null!=t&&t!==this._rootIndex;){const e=this.getNode(t);e&&!Number.isNaN(e?.elevationRangeMin)&&(e.invalidateElevationRange(),this.invalidateBoundingVolumeCache(t)),t=this.getParentIndex(t)}})}}_addPage(e,t){const i=[],n=[],o=t.nodes.map((t,o)=>{const r=i.length,a=t.children?t.children.length:0;n.push(this._rootIndex);for(let e=0;e<a;e++)i.push(t.children[e]);const l=`${t.index}`,d=N.fromJSON(t.obb),u=s(d.center,d.radius),c=t.mesh?.attribute,g=t.mesh?.geometry,_=t.mesh?.material,f={hasSharedResource:!1,isEmpty:null==g,attributes:null!=c?.resource?`${c.resource}`:void 0,geometry:null!=g?.resource?`${g.resource}`:void 0,texture:null!=_?.resource?`${_.resource}`:void 0,geometryDefinition:g?g.definition:-1,materialDefinition:_?_.definition:-1},m=new h(l,O(o,e,this._pageSize),u,a,0,f,this._lastUpdate,this._lodMetric,this._lodConversion(t.lodThreshold),g?.featureCount??null);return m.serviceObbInIndexSR=d,m.visibilityObbInRenderSR=this._computeVisibilityObb(m),m.vertexCount=g?g.vertexCount:0,new p(r,a,x(this._visibilityCacheVersion),null,m)}),r=new b(o,i);-1===e?this._clientNodePage=r:this._nodePages.set(e,r)}_updateParentsAndLevel(){const e=new Array,t=(t,i,s)=>{const n=this._getPage(t);if(null!=n){const o=M(t,this._pageSize),r=n.nodes[o];r.parent=null!=i?i:-1;const a=r.node;null!=a&&(a.level=s,e.push(t))}};for(t(this._rootIndex,null,0);e.length;){const i=e.pop(),s=this.getNode(i);if(null!=s)for(let e=0;e<s.childCount;e++){t(this.getChildIndex(s.index,e),i,s.level+1),this._maxLevel=Math.max(this._maxLevel,s.level+1)}}}_getPage(e){const t=E(e,this._pageSize);return this._getPageFromPageIndex(t)}_getPageFromPageIndex(e){return e<0?this._clientNodePage:this._nodePages.get(e)}_getNodeInternal(e){const t=this._getPage(e);return null==t?null:(t.lastTraversed=this._frameNumber,t.nodes[M(e,this._pageSize)])}_addNode(e,t){e.children&&this.populateChildren(t,e.children);const i=this.getParent(t),s=null!=i?i.level+1:0;this._maxLevel=Math.max(this._maxLevel,e.children?s+1:s);const{lodMetric:n,maxError:o}=A(e.lodSelection),r=this._getNodeInternal(t),a=new h(e.id,t,e.mbs,r.childCount,s,e.resources,e.version,n,o,e.numFeatures);r.node=a,e.obb&&(a.serviceObbInIndexSR=N.fromJSON(e.obb)),a.visibilityObbInRenderSR=this._computeVisibilityObb(a);const l=r.ref;return null!=l&&(null==l.serviceMbsInIndexSR&&(l.serviceMbsInIndexSR=e.mbs),a.shareServiceBVsInRenderSRWith(l),l.visibilityObbInRenderSR=a.visibilityObbInRenderSR),a}_makeRefNode(e,t){const i=this._nodePages.get(0);if(t<-1)return this._makeClientRefNode(e,t);if(null==i)return-1;const s=i.nodes.length,n=new p(0,0,x(this._visibilityCacheVersion),e,null);return i.nodes.push(n),n.parent=t,e.invalidateServiceBVsInRenderSR(),s}_makeClientRefNode(e,t){const i=this._clientNodePage;if(null==i)return-1;if(t>=0)throw new Error("I3SIndex::client side nodes can not be made children of service side nodes.");const s=-(i.nodes.length+1),n=new p(0,0,x(this._visibilityCacheVersion),e,null);return i.nodes.push(n),n.parent=t,e.invalidateServiceBVsInRenderSR(),s}_linkChildToParentNode(e,t){const i=this._clientNodePage;if(null==i||e>=0)return;const s=M(e,this._pageSize),n=M(t,this._pageSize),o=i.nodes[s],r=o.childOffset;i.children.splice(o.childOffset+o.childCount,0,t);const a=1;o.childCount+=a,null!=o.node&&(o.node.childCount+=a);for(const l of i.nodes)l.childOffset>r&&(l.childOffset+=a);i.nodes[n].parent=e,this._updateParentBoundingInformation(e)}_destroyClientRefNode(e,t,i){const s=this._clientNodePage;if(null==s)return;const n=this.getParentIndex(e);if(null==n)return;const o=new Set,r=new Map,a=e=>{const i=M(e,this._pageSize),n=s.nodes[i];if(n.childCount>0)for(let t=n.childOffset;t<n.childOffset+n.childCount;++t)a(s.children[t]);const r=n.node?.id??n.ref?.id;if(null==r)throw new Error("Node has no id");t(r,e),o.add(n)};a(e);const l=s.nodes,d=s.children,h=s.nodes.map(()=>-1),u=[],c=[];for(let g=0;g<l.length;++g){const e=l[g];if(o.has(e))continue;const t=u.length,s=O(g,-1,this._pageSize),n=O(t,-1,this._pageSize);if(e.node&&(e.node.index=n),h[g]=n,u.push(e),s!==n){const t=e.node?.id??e.ref?.id;if(null==t)throw new Error("Node has no id");i(t,s,n),r.set(s,n)}}for(let g=0;g<u.length;++g){const e=O(g,-1,this._pageSize),t=u[g],i=c.length;for(let s=t.childOffset;s<t.childOffset+t.childCount;++s){const t=d[s];if(t>=0)c.push(t);else{const i=M(t,this._pageSize),s=l[i];if(o.has(s))continue;const n=h[i];c.push(n),s.parent=e}}t.childOffset=i,t.childCount=c.length-i,t.node&&(t.node.childCount=t.childCount)}s.nodes=u,s.children=c,this._updateParentBoundingInformation(h[M(n,this._pageSize)])}_updateParentBoundingInformation(e){let t=e;do{let e=null;const s=this._clientNodeLoader.indexSR,a=this._clientNodeLoader.renderSR,l=this._getNodeInternal(t);if(null==l)return;for(let o=0;o<l.childCount;o++){const l=this.getChildIndex(t,o),d=this._getNodeInternal(l),h=null!=d?d.ref||d.node:null;if(null!=h&&h.serviceMbsInIndexSR[3]>0)if(null==e)e=n(h.serviceMbsInIndexSR,z);else{const t=k,n=T,o=B;i(h.serviceMbsInIndexSR,s,t,a),i(e,s,n,a),r(t,n,o),i(o,a,e,s)}}const d=t=>{null!=t&&(t.serviceObbInIndexSR=null,null!=e?(t.serviceMbsInIndexSR??=o(),n(e,t.serviceMbsInIndexSR)):_(t.serviceMbsInIndexSR),t.invalidateServiceBVsInRenderSR(),t.geometryObbInRenderSR=null)};d(l.ref),d(l.node),this.invalidateNodeVisibilityCacheInternal(l),t=this.getParentIndex(t)}while(null!=t)}populateChildren(e,t){const i=this._getNodeInternal(e),s=this._getPage(e);i.childOffset=s.children.length,i.childCount=t.length;for(let n=0;n<t.length;n++){const i=this._makeRefNode(t[n],e);s.children.push(i)}}getNode(e){const t=this._getNodeInternal(e);return null!=t?t.node:null}getIndexById(e){let t;return this._forAllNodes((i,s)=>{(null!=i.node&&i.node.id===e||null!=i.ref&&i.ref.id===e)&&(t=s)}),t}getNodeById(e){const t=this.getIndexById(e);return null!=t&&t>=0?this.getNode(t):null}getChildIndex(e,t){const i=this._getPage(e);if(null==i)return-1;const s=i.nodes[M(e,this._pageSize)];return i.children[s.childOffset+t]}getParentIndex(e){const t=this._getPage(e);return null!=t&&e!==this._rootIndex?t.nodes[M(e,this._pageSize)]?.parent:null}getParent(e){const t=this.getParentIndex(e);return null!=t?this.getNode(t):null}isLeaf(e){const t=this._getNodeInternal(e);return null!=t&&0===t.childCount}get rootNode(){return this.getNode(this._rootIndex)}get isEditable(){return this._isEditable}removeAllGeometryObbs(){this._forAllNodes(e=>{null!=e.node&&(e.node.geometryObbInRenderSR=null)})}invalidateVisibilityCache(){this._visibilityCacheVersion=S(this._visibilityCacheVersion)}invalidateNodeVisibilityCache(e){const t=this._getNodeInternal(e);null!=t&&this.invalidateNodeVisibilityCacheInternal(t)}invalidateNodeVisibilityCacheInternal(e){e.visibilityCache=x(this._visibilityCacheVersion)}invalidateBoundingVolumeCache(e){const t=this._getNodeInternal(e);null!=t&&(t?.invalidateBounds(),this.invalidateNodeVisibilityCacheInternal(t))}updateElevationChanged(e){const t=this._getNodeInternal(e);if(null==t)return;if(!this.needNodeElevationRange)return void this.invalidateBoundingVolumeCache(e);const i=null!=t.node?t.node:t.ref;null!=i&&i.invalidateElevationRange()}invalidateGeometryVisibility(e){const t=this._getNodeInternal(e),i=t?.node;i&&(i.geometryObbInRenderSR=null,i.invalidateServiceBVsInRenderSR())}invalidateVisibilityObbs(){null!=this.rootNode&&this.traverse(this.rootNode,e=>(e.visibilityObbInRenderSR=this._computeVisibilityObb(e),e.geometryObbInRenderSR=null,!0))}_isElevationRangeUpToDate(e){if(!this.needNodeElevationRange)return!0;const t=e?.node??e?.ref;return!t||t.elevationRangeValid}updateElevationRange(e){this._updateElevationRangeInternal(e,null)}_updateElevationRangeInternal(e,t){const i=this._getNodeInternal(e);if(!i)return!1;const s=i?.node??i?.ref;if(!s)return!1;if(s.elevationRangeValid)return t?.expandElevationRange(s),!0;const n=new v;let o=!1;for(let l=0;l<i.childCount;l++){const t=this.getChildIndex(e,l),i=this._updateElevationRangeInternal(t,n);o=o||!i}if(0===i.childCount||o){const e=!i.node?.resources.isEmpty;this._viewportQueries.expandElevationRange(s,e,n)}const r=s.elevationRangeMin,a=s.elevationRangeMax;return r===n.elevationRangeMin&&a===n.elevationRangeMax?(t?.expandElevationRange(s),!0):(i.node?.setElevationRange(n),i.ref?.setElevationRange(n),this.invalidateBoundingVolumeCache(e),t?.expandElevationRange(s),!0)}isNodeVisible(e){const t=this._getNodeInternal(e);if(null==t)return!0;const i=t.ref;if(null!=i&&!i.serviceMbsInIndexSR)return!0;if(this._isElevationRangeUpToDate(t)&&C(t.visibilityCache,this._visibilityCacheVersion))return w(t.visibilityCache);const s=t.node,n=this._viewportQueries;if(s){const e=n.ensureElevationAgnosticBoundingVolume(s),i=n.isElevationAgnosticBoundingVolumeVisible(e);let o=i;if(this.needNodeElevationRange&&i){const t=n.getNodeObbInRenderSRIndependentOfElevationOffset(s);null!=t&&(o=n.isObbVisibleIndependentOfElevation(e,t))}if(!o)return t.visibilityCache=R(!1,this._visibilityCacheVersion),!1}if(this._layerHasFilter&&this._computeNodeFiltering&&(null!=s||null!=i)&&t.filterImpact===u.NotChecked){const e=null!=s?s.serviceMbsInIndexSR:null!=i?i.serviceMbsInIndexSR:null;t.filterImpact=null!=e?this._computeNodeFiltering(e):u.Unmodified}const o=null!=s&&t.filterImpact===u.Culled;let r=!(null!=s&&s.imModificationImpact===c.Culled)&&!o;if(r){const t=!s||i&&!s.visibilityObbInRenderSR?i??null:s;if(null!=t){this.needNodeElevationRange&&this.updateElevationRange(e);r=n.isNodeVisible(t)}}return t.visibilityCache=R(r,this._visibilityCacheVersion),r}isGeometryVisible(e){if(!this.isNodeVisible(e))return!1;const t=this._getNodeInternal(e);return!!(null==t?.node?.geometryObbInRenderSR||this.layerHasModifications&&t.node.imModificationImpact===c.NotChecked)||this._viewportQueries.isGeometryVisible(t.node)}_traverseCoverage(e,t,i,s,n){const o=this._getPage(e);if(null==o||0===t.childCount)return;const r=t.childOffset+t.childCount,a=new Array;for(let l=t.childOffset;l<r;++l){const e=o.children[l],t=this._getNodeInternal(e);null!=t?.node&&this.isGeometryVisible(e)&&a.push(t)}s/=a.length;for(const l of a){const e=l.node.index;this._isLoaded(e)||this._isReloading(e)?(n.delta=Math.max(n.delta,i),n.coverage+=s):this._traverseCoverage(e,l,i+1,s,n)}}useNodeAsHole(e){if("off"===this.holeFilling)return!1;const t=this._getNodeInternal(e);if(null==t)return!1;if("always"===this.holeFilling)return!0;if(C(t.useAsHole,this._version))return w(t.useAsHole);const i={delta:0,coverage:0};this._traverseCoverage(e,t,0,1,i);const s=i.delta*i.coverage<=.5;return t.useAsHole=R(s,this._version),s}get maxLevel(){return this._maxLevel}get dirty(){return this._dirty}destroy(){this._updates.destroy(),this._nodePages.clear(),this._clientNodePage=null,this._layer=null,this._missingPagesAndNodes.prune(),this._prefetchNodes.prune(),this._imModificationUncategorized.prune()}requestUpdate(){this._dirty=!0,this._indexMissing=1,this._version=S(this._version)}imModificationsChanged(e){this.layerHasModifications=e,this._forAllNodes(({node:e})=>{null!=e&&(e.imModificationImpact=c.NotChecked,e.visibilityObbInRenderSR=this._computeVisibilityObb(e),e.hasModifications&&this.invalidateGeometryVisibility(e.index))}),this.invalidateVisibilityCache()}layerFilterChanged(e){this._layerHasFilter=e,this._forAllNodes(e=>{if(null!=e){e.filterImpact=u.NotChecked;const t=e.node;null!=t&&this.invalidateNodeVisibilityCache(t.index)}}),this.invalidateVisibilityCache()}update(e,t,i){if(!this._dirty)return;this._pageQueue.length>0&&this._addQueuedPages(t),this._invalidateElevationRangeForNewPages(t),this._maxUnloadedPrio=Number.NEGATIVE_INFINITY,this._maxProcessingPrio=Number.NEGATIVE_INFINITY,this._missingPagesAndNodes.clear(),this._prefetchNodes.clear(),this._updates.reset(e),y.clear();let s=!0;const n=new L,o=new F,r=this._imModificationUncategorized;r.clear();const a=new Set;let l=0;const d=(a,d,h)=>{const u=E(a,this._pageSize);if(null==d){let e=this._entryPriority(a);return e===1/0&&(e=this._entryPriority(h)),y.set(u,Math.max(e,y.get(u)||0)),this._loadingPages.has(u)||this._failedPages.has(u)||(this._missingPagesAndNodes.push(u),++l),void(this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e))}const g=d.node;if(this._updateNodeFeatureEstimate(g,o),null==g){const e=this._entryPriority(a);return this._loadingNodes.has(a)||this._failedNodes.has(a)||(this._missingPagesAndNodes.push(a),y.set(a,e)),void(this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e))}const _=this._getPage(a);if(0===this._missingPagesAndNodes.length&&!this._useNodePages)for(let e=0;e<d.childCount;e++){const t=_.children[d.childOffset+e],i=this._getNodeInternal(t);null!=i&&!i.node&&!this._loadingNodes.has(t)&&!this._failedNodes.has(t)&&t>=0&&(y.set(t,this._entryPriority(t)),this._prefetchNodes.push(t))}if(g.failed||g.resources.isEmpty)return void(s&&d.childCount>0&&this._isSelected(g)&&(s=!1));if(this._isLoaded(a)){if(n.known+=g.memory,++n.knownNodes,this._isSelected(g)?d.childCount>0&&(s=!1):(n.unremoved+=g.memory,s=!1),this._needsUpdate(g)){const e=this._entryPriority(a);y.set(a,e),this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e),this._updates.update.push(a)}return}if(g.memory&&(n.known+=g.memory,++n.knownNodes),!this._isSelected(g))return void(this._isReloading(a)&&this._updates.remove.push(a));if(d.childCount>0&&(s=!1),g.memory?(n.missing+=g.memory,n.known+=g.memory,++n.knownNodes):++n.missingNodes,e.includes(g.index))return this._maxProcessingPrio=Math.max(this._maxProcessingPrio,this._entryPriority(a)),void(this._updates.cancel=this._updates.cancel.filter(e=>e!==g.index));if(!t.done&&this._enable(g))return void t.madeProgress();const f=this._entryPriority(a);y.set(a,f),this._maxProcessingPrio=Math.max(this._maxProcessingPrio,f),this._updates.add.push(a),this.layerHasModifications&&i&&null!=g&&g.imModificationImpact===c.NotChecked&&r.push(a)};this.traverseVisible(d,a),this._frameNumber++,this._missingPagesAndNodes.sort((e,t)=>e-t),this._missingPagesAndNodes.filterInPlace((e,t)=>t<1||this._missingPagesAndNodes.data[t-1]!==e),this._missingPagesAndNodes.sort((e,t)=>y.get(e)-y.get(t)),this._missingPagesAndNodes.length>0&&(this._maxUnloadedPrio=y.get(this._missingPagesAndNodes.back()),this._prefetchNodes.clear()),this._removeUnusedNodePages(a,l);const h=this._updates.add;h.length>0&&this.layerHasModifications&&(r.length>0&&i?.(r),h.filterInPlace(e=>{const t=this._getNodeInternal(e),i=null==t?.node||t.node.imModificationImpact!==c.Culled;return i||this.invalidateNodeVisibilityCache(e),i})),this._unloadedMemoryEstimate=n.missing-n.unremoved,n.knownNodes>3&&n.missingNodes>0&&(this._unloadedMemoryEstimate+=n.known/n.knownNodes*n.missingNodes),this._unloadedMemoryEstimate=.8*Math.max(0,this._unloadedMemoryEstimate),this._featureEstimate.estimate=this._computeFeatureEstimate(o),this._featureEstimate.leavesReached=s,this._updates.add.filterInPlace(e=>y.get(e)>=this._maxUnloadedPrio).sort((e,t)=>y.get(e)-y.get(t)),this._updates.update.sort((e,t)=>y.get(e)-y.get(t)),this._indexMissing=this._loadingPages.size+this._loadingNodes.size+this._missingPagesAndNodes.length,this._dirty=this._indexMissing>0,y.clear()}checkFeatureTarget(e,t){const i=this._viewportQueries.updateScreenSpaceErrorBias(t);let s=t,n=t,o=i,r=10;for(;r--;){const i=new F;this._updateFeatureEstimate(s,i);if(this._computeFeatureEstimate(i)<=e){if(s>=t||i.missingNodes>0||0===r)break;o=s,s=.5*(s+n)}else n=s,s=.5*(s+o)}return this._version=S(this._version),this._viewportQueries.updateScreenSpaceErrorBias(i),Math.min(t,s)}_removeUnusedNodePages(e,t){if(!this._useNodePages)return;const i=e.size,s=this._nodePages,n=s.size+this._loadingPages.size+t;if(n>U&&n>i){const t=new Array;for(const[i,n]of s)0!==n.numNodesWithLoadedChildren||e.has(i)||t.push([n.lastTraversed,i]);t.sort((e,t)=>e[0]-t[0]).some(e=>{const t=e[1];return this._deleteNodePage(t),s.size<=U})}}_updateFeatureEstimate(e,t){this._version=S(this._version),this._viewportQueries.updateScreenSpaceErrorBias(e),this.traverseVisible((e,i)=>this._updateNodeFeatureEstimate(i?.node,t))}_updateNodeFeatureEstimate(e,t){null!=e&&!e.failed&&this._isSelected(e)&&(null!=e.numFeatures?(t.numFeatures+=e.numFeatures,++t.knownNodes):++t.missingNodes)}_computeFeatureEstimate(e){let t=e.numFeatures;return e.knownNodes>3&&e.missingNodes>0&&(t+=e.numFeatures/e.knownNodes*e.missingNodes),Math.max(0,t)}load(){return this._load(this._missingPagesAndNodes)}prefetch(){return this._prefetchNodes.sort((e,t)=>y.get(e)-y.get(t)),this._load(this._prefetchNodes)}_load(e){if(0===e.length||!this._canRequest())return!1;for(;e.length>0&&this._canRequest();){const t=e.pop();this._useNodePages&&t>=0?this._loadPage(t):this._loadNode(t)}return!0}get isLoading(){return this._indexMissing>0}get isPrefetching(){return this._prefetchNodes.length>0}get indexLoading(){return this._loadingPages.size+this._loadingNodes.size}get indexMissing(){return this._indexMissing}get unloadedMemoryEstimate(){return this._unloadedMemoryEstimate}get updates(){return this._updates}get featureEstimate(){return this._featureEstimate}get maxPriority(){return Math.max(this._maxProcessingPrio,this._maxUnloadedPrio)}nodeTraversalState(e){if(null==e)return null;const t=e.index,i=this._getNodeInternal(t);if(!i)return null;let s=i?.traversalState;if(s&&C(s.version,this._version))return s;const n=this._viewportQueries.getLodLevel(e),o=this._viewportQueries.hasLOD(e);let r=!0;if(o){const e=this.getParentIndex(t);if(null!=e){const t=this._getNodeInternal(e),i=t?.traversalState;r=!!i&&n>i.lodLevel}else r=n>0}else r=0===e.childCount;return s?(s.lodLevel=n,s.isChosen=r,s.version=R(!0,this._version),s):(s=new g(o,r,n,R(!0,this._version)),i.traversalState=s,s)}async _loadNode(e){this._loadingNodes.add(e);const i=this._getNodeInternal(e).ref;if(null==i)return void this._failedNodes.add(e);const s=i.id,n=this._urlPrefix+s,o=()=>{this._loadingNodes.delete(e),0===this._missingPagesAndNodes.length&&0===this._loadingNodes.size&&this.requestUpdate()};let r=null;try{r=e>=0?await this._streamDataController.request(n,a.JSON):await this._clientNodeLoader.loadNodeJSON(s)}catch(h){return o(),void(t(h)||(this._logger.error("#loadNode()",this._layer,"Error loading node: "+n),this._failedNodes.add(e)))}o();const l=this._validateNode(s,r);if(null==l)return;l.obb&&this.invalidateNodeVisibilityCache(e);const d=this._addNode(l,e);this.nodeTraversalState(d)}_validateNode(e,t){if(null==t||"object"!=typeof t||t.id!==e)return this._logger.error("#validateNode()",this._layer,`Invalid node. Wrong type or wrong id "${e}"`),null;if(!Array.isArray(t.mbs))return this._logger.error("#validateNode()",this._layer,`Invalid bounding volume on node ${e}.`),null;t.sharedResource&&"./shared"!==t.sharedResource.href&&"./shared/"!==t.sharedResource.href&&this._logger.warn("#validateNode()",this._layer,`Invalid shared resource href on node "${e}"`);const i=t.geometryData;null==i||Array.isArray(i)&&0===i.length||Array.isArray(i)&&1===i.length&&"./geometries/0"===i[0].href||this._logger.warn("#validateNode()",this._layer,`Invalid geometry data on node "${e}"`);const s=t.attributeData,n=this._layer.attributeStorageInfo;null==s||Array.isArray(s)&&!s.some((e,t)=>e.href!==`./attributes/${n?.[t]?.key??`f_${t}`}/0`)||this._logger.warn("#validateNode()",this._layer,`Invalid attribute data on node "${e}"`),t.featureData&&t.featureData.length>1&&this._logger.warn("#validateNode()",this._layer,`Node ${e} has ${t.featureData.length} bundles. Only the first bundle will be loaded.`);const o=t.hasOwnProperty("obb")&&!this.ignoreServiceObb?t.obb:void 0,r=t.featureData&&1===t.featureData.length&&t.featureData[0].featureRange?t.featureData[0].featureRange[1]-t.featureData[0].featureRange[0]+1:void 0,a=t=>{if(null==t)return null;const i=t=>this._logger.error("#validateNode()",this._layer,`Invalid node reference on node ${e}: ${t}`);if("number"==typeof t.id)i(`id ${t.id} is a number instead of a string.`);else if("string"!=typeof t.id||!Array.isArray(t.mbs))return i("Missing or invalid id."),null;if(!Array.isArray(t.mbs))return i(`Invalid bounding volume on reference ${t.id}.`),null;t.href&&t.href!=="../"+t.id&&this._logger.error("#validateNode()",this._layer,`Invalid node href on node "${e}"`);const s=new d(`${t.id}`,t.mbs);return s.serviceObbInIndexSR=!this.ignoreServiceObb&&t.hasOwnProperty("obb")&&t.obb?N.fromJSON(t.obb):null,s.visibilityObbInRenderSR=this._computeVisibilityObb(s),s},l=Array.isArray(t.children)?t.children.map(a).filter(e=>null!=e):null,h=t.featureData?.length??!1,u=!0===t.isEmpty;return new m(e,t.mbs,o,"string"==typeof t.version?t.version:null,{isEmpty:!h&&u,hasSharedResource:null!=t.sharedResource,attributes:t.attributeData?e:void 0,texture:t.textureData&&t.textureData.length>0?e:void 0,geometry:null!=t.geometryData?e:void 0},l,Array.isArray(t.lodSelection)?t.lodSelection:null,r)}resetFailedNodes(){this._failedNodes.clear(),this._failedPages.clear(),this._forAllNodes(e=>{null!=e.node&&(e.node.failed=!1)})}_entryPriority(e){const t=this._getNodeInternal(e),i=this.getParentIndex(e);if(null==t||null==i&&null==t.node)return null==i?1/0:this._entryPriority(i);let s=0;if(t.node&&null!=i){const e=this._getNodeInternal(i).traversalState;null!=e&&(s=e.lodLevel)}let n=this.progressiveLoadPenalty;for(let r=e;null!=r;r=this.getParentIndex(r))if(this._isLoaded(r)){n=0;break}const o=null!=t.ref?this._viewportQueries.distToPOI(t.ref):null!=t.node?this._viewportQueries.distToPOI(t.node):0;return-o-s*(o+this.progressiveLoadPenalty)+n}traverseVisible(e,t){const i=this._getNodeInternal(this._rootIndex);null!=i?this._traverseVisible(this._rootIndex,null,i,e,t):e(this._rootIndex,null,null)}_traverseVisible(e,t,i,s,n){const o=E(e,this._pageSize);if(n&&n.add(o),i.node&&0===i.childCount)return void(this.isGeometryVisible(e)&&s(e,i,t));if(!this.isNodeVisible(e))return;if(s(e,i,t),null==i.node)return;const r=this.nodeTraversalState(i.node);if(r?.nodeHasLOD&&r.lodLevel===this._maxLodLevel)return;const a=this._getPageFromPageIndex(o);for(let l=0;l<i.childCount;l++){const t=a.children[i.childOffset+l],o=this._getNodeInternal(t);if(o)this._traverseVisible(t,e,o,s,n);else{if(n){const e=E(t,this._pageSize);n.add(e)}s(t,null,e)}}}traverse(e,t){t(e)&&this.traverseDescendants(e,t)}traverseDescendants(e,t){++this._traverseDescendantsNestingLevel;const i=e.index,s=this._pageSize,n=E(i,s),o=this._getPageFromPageIndex(n);if(null==o)return;const r=this._frameNumber,a=this._nodePages,l=M(i,s),d=o.nodes[l],h=d.childCount;if(o.lastTraversed=r,0===h)return;const u=new Array,c=1===this._traverseDescendantsNestingLevel?this._traverseDescendantsQueue:[0];let g=0;{const{childOffset:e,childCount:t}=d,{children:i}=o;c.length=2**Math.ceil(Math.log2(g+t));for(let s=e;s<e+t;++s){const e=i[s];e>=0?(c[g]=e,++g):u.push(e)}}if(u.length>0){const e=this._clientNodePage;if(e){const i=e.children;let s=0;for(;s<u.length;){const n=u[s];++s;const o=-n-1,r=e.nodes[o],a=r.node;if(!a||!t(a))continue;const{childCount:l}=r;if(0===l)continue;const{childOffset:d}=r,h=d+l;for(let e=d;e<h;++e)u.push(i[e])}}}if(g>0){let e=0;if(s>0){let i=n*s,l=o,d=l.nodes;for(;e<g;){const n=c[e];let o;if(++e,i<=n&&n<i+s)o=l;else{const e=n/s|0,t=a.get(e);if(void 0===t)continue;o=t,o.lastTraversed=r,l=o,d=l.nodes,i=s*e}const h=d[n-i],u=h.node;if(null==u||!1===t(u))continue;const{childCount:_}=h;if(0===_)continue;const f=g+_;for(c.length<f&&(c.length=2**Math.ceil(Math.log2(g+_)));c.length<g+_;)c.length+=c.length;const m=o.children,{childOffset:v}=h,N=v+_;for(let e=v;e<N;++e)c[g]=m[e],++g}}else{const i=a.get(0);if(i)for(;e<g;){const s=c[e++],n=i.nodes[s],o=n.node;if(!o||!t(o))continue;const{childCount:r}=n;if(0===r)continue;c.length=Math.max(c.length,2**Math.ceil(Math.log2(g+r)));const a=i.children,{childOffset:l}=n,d=l+r;for(let e=l;e<d;++e)c[g]=a[e],++g}}}--this._traverseDescendantsNestingLevel}updateChildrenLoaded(e,t){let i=this.getNode(e);for(;null!=i;){const e=i.childrenLoaded,s=e+t;i.childrenLoaded=s;const n=0===e?1:0===s?-1:0,o=i.index;if(0!==n){this._getPage(o).numNodesWithLoadedChildren+=n}i=this.getParent(o)}}checkChildrenLoadedInvariant(){return!0}updateElevationInfo(e,t){this.needNodeElevationRange=t&&!!e&&("relative-to-ground"===e.mode||"relative-to-scene"===e.mode||"on-the-ground"===e.mode),this._viewportQueries.updateElevationInfo(e),this.invalidateAllElevationRanges()}invalidateAllElevationRanges(){this._forAllNodes(e=>{e?.invalidateBounds(),e.node?.invalidateElevationRange(),e.ref?.invalidateElevationRange()})}_forAllNodes(e){if(null!=this._clientNodePage){const t=this._clientNodePage;for(let i=0;i<t.nodes.length;i++)e(t.nodes[i],-(i+1))}for(const[t,i]of this._nodePages){const s=t*this._pageSize;for(let t=0;t<i.nodes.length;t++)e(i.nodes[t],s+t)}}clearCaches(){if(this._useNodePages){const e=this._nodePages,t=new Set;this.traverseVisible(e=>t.add(E(e,this._pageSize)));for(const[i,s]of e)if(0!==s.numNodesWithLoadedChildren||t.has(i))for(const e of s.nodes)e.traversalState=null;else this._deleteNodePage(i)}}_deleteNodePage(e){this._nodePages.delete(e)}get test(){}}const y=new Map;class P{constructor(t){this.missing=t,this.update=new e({deallocator:null}),this.add=new e({deallocator:null}),this.remove=new e({deallocator:null}),this.cancel=[]}destroy(){this.update.prune(),this.add.prune(),this.remove.prune(),this.cancel.length=0}reset(e){this.add.clear(),this.update.clear(),this.cancel=e}}function x(e){return f(e,-2)}function S(e){return f(e,2)}function R(e,t){return t+(e?1:0)}function C(e,t){return(-2&e)===t}function w(e){return!(1&~e)}function E(e,t){return e<0?-1:t>0?e/t|0:0}function M(e,t){return e<0?-e-1:0===t?e:e%t}function O(e,t,i){return-1===t?-(e+1):0===i?e:t*i+e}const V=[["maxScreenThreshold",l.MaxScreenThreshold],["screenSpaceRelative",l.ScreenSpaceRelative],["removedFeatureDiameter",l.RemovedFeatureDiameter],["distanceRangeFromDefaultCamera",l.DistanceRangeFromDefaultCamera]];function A(e){if(e)for(let t=0;t<e.length;t++)for(const i of V)if(i[0]===e[t].metricType)return{lodMetric:i[1],maxError:e[t].maxError};return{lodMetric:l.None,maxError:0}}class L{constructor(){this.known=0,this.knownNodes=0,this.missing=0,this.missingNodes=0,this.unremoved=0}}class F{constructor(){this.numFeatures=0,this.knownNodes=0,this.missingNodes=0}}function D(e){return Math.sqrt(e*(4/Math.PI))}const z=o(),k=o(),T=o(),B=o(),U=has("esri-mobile")?100:300;export{I as I3SIndex,A as selectErrorMetric};
5
+ import has from"../../../../core/has.js";import e from"../../../../core/PooledArray.js";import{isAbortError as t}from"../../../../core/promiseUtils.js";import{projectBoundingSphere as i}from"../../../../geometry/projection/projectBoundingSphere.js";import{l as s,h as n,c as o,u as r}from"../../../../chunks/sphere.js";import{NodeBase as a,Node as l,NodeTraversalState as d}from"./I3SNode.js";import{invalidateMbs as h,addWraparound as u}from"./I3SUtil.js";import{ValidatedNode as c}from"./ValidatedNode.js";import{ElevationRange as g}from"../../support/ElevationRange.js";import{Obb as _}from"../../support/orientedBoundingBox.js";class f{constructor(e,t,i,s,n){this.childOffset=e,this.childCount=t,this.visibilityCache=i,this.ref=s,this.node=n,this.useAsHole=0,this.filterImpact=2,this.traversalState=null,this.parent=-1}invalidateBounds(){this.node?.invalidateServiceBVsInRenderSR(),this.ref?.invalidateServiceBVsInRenderSR()}}class m{constructor(e=new Array,t=new Array){this.nodes=e,this.children=t,this.lastTraversed=0,this.numNodesWithLoadedChildren=0}}class v{get _useNodePages(){return this._pageSize>0}constructor(t,i,s,n,o,r,a,l,d,h,u,c,g,_,f,m){this.viewingMode=t,this._layer=i,this._streamDataController=n,this._clientNodeLoader=o,this._viewportQueries=r,this._logger=a,this.holeFilling=l,this._isLoaded=d,this._isReloading=h,this._isSelected=u,this._enable=c,this._needsUpdate=g,this._canRequest=_,this._computeVisibilityObb=f,this._computeNodeFiltering=m,this._dirty=!0,this._nodePages=new Map,this._clientNodePage=null,this._pageSize=0,this._rootIndex=0,this._lodMetric=0,this._lodConversion=e=>e,this._isEditable=!1,this._urlPrefix="",this._loadingNodes=new Set,this._loadingPages=new Set,this._failedNodes=new Set,this._failedPages=new Set,this._indexMissing=1,this._maxUnloadedPrio=Number.NEGATIVE_INFINITY,this._maxProcessingPrio=Number.POSITIVE_INFINITY,this._version=I(0),this._visibilityCacheVersion=I(0),this._maxLevel=1,this._featureEstimate={estimate:0,leavesReached:!1},this._unloadedMemoryEstimate=0,this._missingPagesAndNodes=new e({deallocator:null}),this._prefetchNodes=new e({deallocator:null}),this._updates=new N(this._missingPagesAndNodes),this._imModificationUncategorized=new e({deallocator:null}),this.ignoreServiceObb=!1,this.progressiveLoadPenalty=0,this._pageQueue=new Array,this._newPages=new Array,this.needNodeElevationRange=!1,this.layerHasModifications=!1,this._layerHasFilter=!1,this._frameNumber=0,this._traverseDescendantsQueue=[0],this._traverseDescendantsNestingLevel=0,this._isEditable=null!=i.associatedLayer?.infoFor3D,i.serviceUpdateTimeStamp?.lastUpdate&&(this._lastUpdate=`${i.serviceUpdateTimeStamp.lastUpdate}`),this._maxLodLevel=this._viewportQueries?this._viewportQueries.maxLodLevel:1,this._init(s)}_init(e){if("page"===e.type){const t=e.rootPage;switch(this._urlPrefix=e.urlPrefix,this._pageSize=e.pageSize,e.lodMetric){case"maxScreenThreshold":this._lodMetric=1;break;case"maxScreenThresholdSQ":this._lodMetric=1,this._lodConversion=O}if(this._isEditable){this._rootIndex=-1;const i=S(e.rootIndex,e.pageSize),s=t.nodes[i],n={nodes:[{index:this._rootIndex,children:[e.rootIndex],mesh:void 0,obb:s.obb,lodThreshold:s.lodThreshold}]};this._addPage(R(this._rootIndex,this._pageSize),n),this.getNode(-1).serviceObbInIndexSR=void 0}else this._rootIndex=e.rootIndex;this._addPage(R(e.rootIndex,this._pageSize),t),this._updateParentsAndLevel()}else if("node"===e.type){this._urlPrefix=e.urlPrefix;const t=new m;if(this._nodePages.set(0,t),this._isEditable){this._clientNodePage=new m;const t={id:"-1",version:null,mbs:e.rootNode.mbs,obb:e.rootNode.obb,sharedResource:null,geometryData:null,attributeData:null,featureData:null,children:[{id:"root",href:"../root",mbs:e.rootNode.mbs,obb:e.rootNode.obb}]};this._rootIndex=this._makeClientRefNode(new a(t.id,null),-1);const i=this._validateNode(t.id,t);i&&this._addNode(i,this._rootIndex)}else this._rootIndex=this._makeRefNode(new a(e.rootNode.id,null),-1);const i=this._validateNode(e.rootNode.id,e.rootNode);i&&this._addNode(i,0)}}addClientNodeToIndex(e,t){const i=-1,s=new a(e,t),n=this._makeClientRefNode(s,i);return this._linkChildToParentNode(i,n),this.requestUpdate(),n}removeClientNodeFromIndex(e,t,i){this._destroyClientRefNode(e,t,i),this.requestUpdate()}_loadPage(e){this._loadingPages.add(e);const i=this._urlPrefix+e;this._streamDataController.request(i,0).then(t=>{this._pageQueue.push({pageIndex:e,page:t})}).catch(i=>{this._loadingPages.delete(e),t(i)||(this._failedPages.add(e),this._logger.error("#loadPage()",this._layer,`Error when loading page ${e}`,i))})}_addQueuedPages(e){for(;this._pageQueue.length>0&&!e.done;){const{pageIndex:t,page:i}=this._pageQueue.shift();this._addPage(t,i),this._loadingPages.delete(t),e.madeProgress(),this.needNodeElevationRange&&this._newPages.push(t)}this._updateParentsAndLevel()}_invalidateElevationRangeForNewPages(e){if(this.needNodeElevationRange)for(;this._newPages.length>0&&!e.done;){const e=this._nodePages.get(this._newPages.shift());e?.nodes.forEach(e=>{let t=e.parent;for(;null!=t&&t!==this._rootIndex;){const e=this.getNode(t);e&&!Number.isNaN(e?.elevationRangeMin)&&(e.invalidateElevationRange(),this.invalidateBoundingVolumeCache(t)),t=this.getParentIndex(t)}})}}_addPage(e,t){const i=[],n=[],o=t.nodes.map((t,o)=>{const r=i.length,a=t.children?t.children.length:0;n.push(this._rootIndex);for(let e=0;e<a;e++)i.push(t.children[e]);const d=`${t.index}`,h=_.fromJSON(t.obb),u=s(h.center,h.radius),c=t.mesh?.attribute,g=t.mesh?.geometry,m=t.mesh?.material,v={hasSharedResource:!1,isEmpty:null==g,attributes:null!=c?.resource?`${c.resource}`:void 0,geometry:null!=g?.resource?`${g.resource}`:void 0,texture:null!=m?.resource?`${m.resource}`:void 0,geometryDefinition:g?g.definition:-1,materialDefinition:m?m.definition:-1},p=new l(d,C(o,e,this._pageSize),u,a,0,v,this._lastUpdate,this._lodMetric,this._lodConversion(t.lodThreshold),g?.featureCount??null);return p.serviceObbInIndexSR=h,p.visibilityObbInRenderSR=this._computeVisibilityObb(p),p.vertexCount=g?g.vertexCount:0,new f(r,a,b(this._visibilityCacheVersion),null,p)}),r=new m(o,i);-1===e?this._clientNodePage=r:this._nodePages.set(e,r)}_updateParentsAndLevel(){const e=new Array,t=(t,i,s)=>{const n=this._getPage(t);if(null!=n){const o=S(t,this._pageSize),r=n.nodes[o];r.parent=null!=i?i:-1;const a=r.node;null!=a&&(a.level=s,e.push(t))}};for(t(this._rootIndex,null,0);e.length;){const i=e.pop(),s=this.getNode(i);if(null!=s)for(let e=0;e<s.childCount;e++){t(this.getChildIndex(s.index,e),i,s.level+1),this._maxLevel=Math.max(this._maxLevel,s.level+1)}}}_getPage(e){const t=R(e,this._pageSize);return this._getPageFromPageIndex(t)}_getPageFromPageIndex(e){return e<0?this._clientNodePage:this._nodePages.get(e)}_getNodeInternal(e){const t=this._getPage(e);return null==t?null:(t.lastTraversed=this._frameNumber,t.nodes[S(e,this._pageSize)])}_addNode(e,t){e.children&&this.populateChildren(t,e.children);const i=this.getParent(t),s=null!=i?i.level+1:0;this._maxLevel=Math.max(this._maxLevel,e.children?s+1:s);const{lodMetric:n,maxError:o}=E(e.lodSelection),r=this._getNodeInternal(t),a=new l(e.id,t,e.mbs,r.childCount,s,e.resources,e.version,n,o,e.numFeatures);r.node=a,e.obb&&(a.serviceObbInIndexSR=_.fromJSON(e.obb)),a.visibilityObbInRenderSR=this._computeVisibilityObb(a);const d=r.ref;return null!=d&&(null==d.serviceMbsInIndexSR&&(d.serviceMbsInIndexSR=e.mbs),a.shareServiceBVsInRenderSRWith(d),d.visibilityObbInRenderSR=a.visibilityObbInRenderSR),a}_makeRefNode(e,t){const i=this._nodePages.get(0);if(t<-1)return this._makeClientRefNode(e,t);if(null==i)return-1;const s=i.nodes.length,n=new f(0,0,b(this._visibilityCacheVersion),e,null);return i.nodes.push(n),n.parent=t,e.invalidateServiceBVsInRenderSR(),s}_makeClientRefNode(e,t){const i=this._clientNodePage;if(null==i)return-1;if(t>=0)throw new Error("I3SIndex::client side nodes can not be made children of service side nodes.");const s=-(i.nodes.length+1),n=new f(0,0,b(this._visibilityCacheVersion),e,null);return i.nodes.push(n),n.parent=t,e.invalidateServiceBVsInRenderSR(),s}_linkChildToParentNode(e,t){const i=this._clientNodePage;if(null==i||e>=0)return;const s=S(e,this._pageSize),n=S(t,this._pageSize),o=i.nodes[s],r=o.childOffset;i.children.splice(o.childOffset+o.childCount,0,t);const a=1;o.childCount+=a,null!=o.node&&(o.node.childCount+=a);for(const l of i.nodes)l.childOffset>r&&(l.childOffset+=a);i.nodes[n].parent=e,this._updateParentBoundingInformation(e)}_destroyClientRefNode(e,t,i){const s=this._clientNodePage;if(null==s)return;const n=this.getParentIndex(e);if(null==n)return;const o=new Set,r=new Map,a=e=>{const i=S(e,this._pageSize),n=s.nodes[i];if(n.childCount>0)for(let t=n.childOffset;t<n.childOffset+n.childCount;++t)a(s.children[t]);const r=n.node?.id??n.ref?.id;if(null==r)throw new Error("Node has no id");t(r,e),o.add(n)};a(e);const l=s.nodes,d=s.children,h=s.nodes.map(()=>-1),u=[],c=[];for(let g=0;g<l.length;++g){const e=l[g];if(o.has(e))continue;const t=u.length,s=C(g,-1,this._pageSize),n=C(t,-1,this._pageSize);if(e.node&&(e.node.index=n),h[g]=n,u.push(e),s!==n){const t=e.node?.id??e.ref?.id;if(null==t)throw new Error("Node has no id");i(t,s,n),r.set(s,n)}}for(let g=0;g<u.length;++g){const e=C(g,-1,this._pageSize),t=u[g],i=c.length;for(let s=t.childOffset;s<t.childOffset+t.childCount;++s){const t=d[s];if(t>=0)c.push(t);else{const i=S(t,this._pageSize),s=l[i];if(o.has(s))continue;const n=h[i];c.push(n),s.parent=e}}t.childOffset=i,t.childCount=c.length-i,t.node&&(t.node.childCount=t.childCount)}s.nodes=u,s.children=c,this._updateParentBoundingInformation(h[S(n,this._pageSize)])}_updateParentBoundingInformation(e){let t=e;do{let e=null;const s=this._clientNodeLoader.indexSR,a=this._clientNodeLoader.renderSR,l=this._getNodeInternal(t);if(null==l)return;for(let o=0;o<l.childCount;o++){const l=this.getChildIndex(t,o),d=this._getNodeInternal(l),h=null!=d?d.ref||d.node:null;if(null!=h&&h.serviceMbsInIndexSR[3]>0)if(null==e)e=n(h.serviceMbsInIndexSR,A);else{const t=L,n=F,o=z;i(h.serviceMbsInIndexSR,s,t,a),i(e,s,n,a),r(t,n,o),i(o,a,e,s)}}const d=t=>{null!=t&&(t.serviceObbInIndexSR=null,null!=e?(t.serviceMbsInIndexSR??=o(),n(e,t.serviceMbsInIndexSR)):h(t.serviceMbsInIndexSR),t.invalidateServiceBVsInRenderSR(),t.geometryObbInRenderSR=null)};d(l.ref),d(l.node),this.invalidateNodeVisibilityCacheInternal(l),t=this.getParentIndex(t)}while(null!=t)}populateChildren(e,t){const i=this._getNodeInternal(e),s=this._getPage(e);i.childOffset=s.children.length,i.childCount=t.length;for(let n=0;n<t.length;n++){const i=this._makeRefNode(t[n],e);s.children.push(i)}}getNode(e){const t=this._getNodeInternal(e);return null!=t?t.node:null}getIndexById(e){let t;return this._forAllNodes((i,s)=>{(null!=i.node&&i.node.id===e||null!=i.ref&&i.ref.id===e)&&(t=s)}),t}getNodeById(e){const t=this.getIndexById(e);return null!=t&&t>=0?this.getNode(t):null}getChildIndex(e,t){const i=this._getPage(e);if(null==i)return-1;const s=i.nodes[S(e,this._pageSize)];return i.children[s.childOffset+t]}getParentIndex(e){const t=this._getPage(e);return null!=t&&e!==this._rootIndex?t.nodes[S(e,this._pageSize)]?.parent:null}getParent(e){const t=this.getParentIndex(e);return null!=t?this.getNode(t):null}isLeaf(e){const t=this._getNodeInternal(e);return null!=t&&0===t.childCount}get rootNode(){return this.getNode(this._rootIndex)}get isEditable(){return this._isEditable}removeAllGeometryObbs(){this._forAllNodes(e=>{null!=e.node&&(e.node.geometryObbInRenderSR=null)})}invalidateVisibilityCache(){this._visibilityCacheVersion=I(this._visibilityCacheVersion)}invalidateNodeVisibilityCache(e){const t=this._getNodeInternal(e);null!=t&&this.invalidateNodeVisibilityCacheInternal(t)}invalidateNodeVisibilityCacheInternal(e){e.visibilityCache=b(this._visibilityCacheVersion)}invalidateBoundingVolumeCache(e){const t=this._getNodeInternal(e);null!=t&&(t?.invalidateBounds(),this.invalidateNodeVisibilityCacheInternal(t))}updateElevationChanged(e){const t=this._getNodeInternal(e);if(null==t)return;if(!this.needNodeElevationRange)return void this.invalidateBoundingVolumeCache(e);const i=null!=t.node?t.node:t.ref;null!=i&&i.invalidateElevationRange()}invalidateGeometryVisibility(e){const t=this._getNodeInternal(e),i=t?.node;i&&(i.geometryObbInRenderSR=null,i.invalidateServiceBVsInRenderSR())}invalidateVisibilityObbs(){null!=this.rootNode&&this.traverse(this.rootNode,e=>(e.visibilityObbInRenderSR=this._computeVisibilityObb(e),e.geometryObbInRenderSR=null,!0))}_isElevationRangeUpToDate(e){if(!this.needNodeElevationRange)return!0;const t=e?.node??e?.ref;return!t||t.elevationRangeValid}updateElevationRange(e){this._updateElevationRangeInternal(e,null)}_updateElevationRangeInternal(e,t){const i=this._getNodeInternal(e);if(!i)return!1;const s=i?.node??i?.ref;if(!s)return!1;if(s.elevationRangeValid)return t?.expandElevationRange(s),!0;const n=new g;let o=!1;for(let l=0;l<i.childCount;l++){const t=this.getChildIndex(e,l),i=this._updateElevationRangeInternal(t,n);o=o||!i}if(0===i.childCount||o){const e=!i.node?.resources.isEmpty;this._viewportQueries.expandElevationRange(s,e,n)}const r=s.elevationRangeMin,a=s.elevationRangeMax;return r===n.elevationRangeMin&&a===n.elevationRangeMax?(t?.expandElevationRange(s),!0):(i.node?.setElevationRange(n),i.ref?.setElevationRange(n),this.invalidateBoundingVolumeCache(e),t?.expandElevationRange(s),!0)}isNodeVisible(e){const t=this._getNodeInternal(e);if(null==t)return!0;const i=t.ref;if(null!=i&&!i.serviceMbsInIndexSR)return!0;if(this._isElevationRangeUpToDate(t)&&P(t.visibilityCache,this._visibilityCacheVersion))return x(t.visibilityCache);const s=t.node,n=this._viewportQueries;if(s){const e=n.ensureElevationAgnosticBoundingVolume(s),i=n.isElevationAgnosticBoundingVolumeVisible(e);let o=i;if(this.needNodeElevationRange&&i){const t=n.getNodeObbInRenderSRIndependentOfElevationOffset(s);null!=t&&(o=n.isObbVisibleIndependentOfElevation(e,t))}if(!o)return t.visibilityCache=y(!1,this._visibilityCacheVersion),!1}if(this._layerHasFilter&&this._computeNodeFiltering&&(null!=s||null!=i)&&2===t.filterImpact){const e=null!=s?s.serviceMbsInIndexSR:null!=i?i.serviceMbsInIndexSR:null;t.filterImpact=null!=e?this._computeNodeFiltering(e):0}const o=null!=s&&1===t.filterImpact;let r=!(null!=s&&2===s.imModificationImpact)&&!o;if(r){const t=!s||i&&!s.visibilityObbInRenderSR?i??null:s;if(null!=t){this.needNodeElevationRange&&this.updateElevationRange(e);r=n.isNodeVisible(t)}}return t.visibilityCache=y(r,this._visibilityCacheVersion),r}isGeometryVisible(e){if(!this.isNodeVisible(e))return!1;const t=this._getNodeInternal(e);return!!(null==t?.node?.geometryObbInRenderSR||this.layerHasModifications&&4===t.node.imModificationImpact)||this._viewportQueries.isGeometryVisible(t.node)}_traverseCoverage(e,t,i,s,n){const o=this._getPage(e);if(null==o||0===t.childCount)return;const r=t.childOffset+t.childCount,a=new Array;for(let l=t.childOffset;l<r;++l){const e=o.children[l],t=this._getNodeInternal(e);null!=t?.node&&this.isGeometryVisible(e)&&a.push(t)}s/=a.length;for(const l of a){const e=l.node.index;this._isLoaded(e)||this._isReloading(e)?(n.delta=Math.max(n.delta,i),n.coverage+=s):this._traverseCoverage(e,l,i+1,s,n)}}useNodeAsHole(e){if("off"===this.holeFilling)return!1;const t=this._getNodeInternal(e);if(null==t)return!1;if("always"===this.holeFilling)return!0;if(P(t.useAsHole,this._version))return x(t.useAsHole);const i={delta:0,coverage:0};this._traverseCoverage(e,t,0,1,i);const s=i.delta*i.coverage<=.5;return t.useAsHole=y(s,this._version),s}get maxLevel(){return this._maxLevel}get dirty(){return this._dirty}destroy(){this._updates.destroy(),this._nodePages.clear(),this._clientNodePage=null,this._layer=null,this._missingPagesAndNodes.prune(),this._prefetchNodes.prune(),this._imModificationUncategorized.prune()}requestUpdate(){this._dirty=!0,this._indexMissing=1,this._version=I(this._version)}imModificationsChanged(e){this.layerHasModifications=e,this._forAllNodes(({node:e})=>{null!=e&&(e.imModificationImpact=4,e.visibilityObbInRenderSR=this._computeVisibilityObb(e),e.hasModifications&&this.invalidateGeometryVisibility(e.index))}),this.invalidateVisibilityCache()}layerFilterChanged(e){this._layerHasFilter=e,this._forAllNodes(e=>{if(null!=e){e.filterImpact=2;const t=e.node;null!=t&&this.invalidateNodeVisibilityCache(t.index)}}),this.invalidateVisibilityCache()}update(e,t,i){if(!this._dirty)return;this._pageQueue.length>0&&this._addQueuedPages(t),this._invalidateElevationRangeForNewPages(t),this._maxUnloadedPrio=Number.NEGATIVE_INFINITY,this._maxProcessingPrio=Number.NEGATIVE_INFINITY,this._missingPagesAndNodes.clear(),this._prefetchNodes.clear(),this._updates.reset(e),p.clear();let s=!0;const n=new M,o=new V,r=this._imModificationUncategorized;r.clear();const a=new Set;let l=0;const d=(a,d,h)=>{const u=R(a,this._pageSize);if(null==d){let e=this._entryPriority(a);return e===1/0&&(e=this._entryPriority(h)),p.set(u,Math.max(e,p.get(u)||0)),this._loadingPages.has(u)||this._failedPages.has(u)||(this._missingPagesAndNodes.push(u),++l),void(this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e))}const c=d.node;if(this._updateNodeFeatureEstimate(c,o),null==c){const e=this._entryPriority(a);return this._loadingNodes.has(a)||this._failedNodes.has(a)||(this._missingPagesAndNodes.push(a),p.set(a,e)),void(this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e))}const g=this._getPage(a);if(0===this._missingPagesAndNodes.length&&!this._useNodePages)for(let e=0;e<d.childCount;e++){const t=g.children[d.childOffset+e],i=this._getNodeInternal(t);null!=i&&!i.node&&!this._loadingNodes.has(t)&&!this._failedNodes.has(t)&&t>=0&&(p.set(t,this._entryPriority(t)),this._prefetchNodes.push(t))}if(c.failed||c.resources.isEmpty)return void(s&&d.childCount>0&&this._isSelected(c)&&(s=!1));if(this._isLoaded(a)){if(n.known+=c.memory,++n.knownNodes,this._isSelected(c)?d.childCount>0&&(s=!1):(n.unremoved+=c.memory,s=!1),this._needsUpdate(c)){const e=this._entryPriority(a);p.set(a,e),this._maxProcessingPrio=Math.max(this._maxProcessingPrio,e),this._updates.update.push(a)}return}if(c.memory&&(n.known+=c.memory,++n.knownNodes),!this._isSelected(c))return void(this._isReloading(a)&&this._updates.remove.push(a));if(d.childCount>0&&(s=!1),c.memory?(n.missing+=c.memory,n.known+=c.memory,++n.knownNodes):++n.missingNodes,e.includes(c.index))return this._maxProcessingPrio=Math.max(this._maxProcessingPrio,this._entryPriority(a)),void(this._updates.cancel=this._updates.cancel.filter(e=>e!==c.index));if(!t.done&&this._enable(c))return void t.madeProgress();const _=this._entryPriority(a);p.set(a,_),this._maxProcessingPrio=Math.max(this._maxProcessingPrio,_),this._updates.add.push(a),this.layerHasModifications&&i&&null!=c&&4===c.imModificationImpact&&r.push(a)};this.traverseVisible(d,a),this._frameNumber++,this._missingPagesAndNodes.sort((e,t)=>e-t),this._missingPagesAndNodes.filterInPlace((e,t)=>t<1||this._missingPagesAndNodes.data[t-1]!==e),this._missingPagesAndNodes.sort((e,t)=>p.get(e)-p.get(t)),this._missingPagesAndNodes.length>0&&(this._maxUnloadedPrio=p.get(this._missingPagesAndNodes.back()),this._prefetchNodes.clear()),this._removeUnusedNodePages(a,l);const h=this._updates.add;h.length>0&&this.layerHasModifications&&(r.length>0&&i?.(r),h.filterInPlace(e=>{const t=this._getNodeInternal(e),i=null==t?.node||2!==t.node.imModificationImpact;return i||this.invalidateNodeVisibilityCache(e),i})),this._unloadedMemoryEstimate=n.missing-n.unremoved,n.knownNodes>3&&n.missingNodes>0&&(this._unloadedMemoryEstimate+=n.known/n.knownNodes*n.missingNodes),this._unloadedMemoryEstimate=.8*Math.max(0,this._unloadedMemoryEstimate),this._featureEstimate.estimate=this._computeFeatureEstimate(o),this._featureEstimate.leavesReached=s,this._updates.add.filterInPlace(e=>p.get(e)>=this._maxUnloadedPrio).sort((e,t)=>p.get(e)-p.get(t)),this._updates.update.sort((e,t)=>p.get(e)-p.get(t)),this._indexMissing=this._loadingPages.size+this._loadingNodes.size+this._missingPagesAndNodes.length,this._dirty=this._indexMissing>0,p.clear()}checkFeatureTarget(e,t){const i=this._viewportQueries.updateScreenSpaceErrorBias(t);let s=t,n=t,o=i,r=10;for(;r--;){const i=new V;this._updateFeatureEstimate(s,i);if(this._computeFeatureEstimate(i)<=e){if(s>=t||i.missingNodes>0||0===r)break;o=s,s=.5*(s+n)}else n=s,s=.5*(s+o)}return this._version=I(this._version),this._viewportQueries.updateScreenSpaceErrorBias(i),Math.min(t,s)}_removeUnusedNodePages(e,t){if(!this._useNodePages)return;const i=e.size,s=this._nodePages,n=s.size+this._loadingPages.size+t;if(n>D&&n>i){const t=new Array;for(const[i,n]of s)0!==n.numNodesWithLoadedChildren||e.has(i)||t.push([n.lastTraversed,i]);t.sort((e,t)=>e[0]-t[0]).some(e=>{const t=e[1];return this._deleteNodePage(t),s.size<=D})}}_updateFeatureEstimate(e,t){this._version=I(this._version),this._viewportQueries.updateScreenSpaceErrorBias(e),this.traverseVisible((e,i)=>this._updateNodeFeatureEstimate(i?.node,t))}_updateNodeFeatureEstimate(e,t){null!=e&&!e.failed&&this._isSelected(e)&&(null!=e.numFeatures?(t.numFeatures+=e.numFeatures,++t.knownNodes):++t.missingNodes)}_computeFeatureEstimate(e){let t=e.numFeatures;return e.knownNodes>3&&e.missingNodes>0&&(t+=e.numFeatures/e.knownNodes*e.missingNodes),Math.max(0,t)}load(){return this._load(this._missingPagesAndNodes)}prefetch(){return this._prefetchNodes.sort((e,t)=>p.get(e)-p.get(t)),this._load(this._prefetchNodes)}_load(e){if(0===e.length||!this._canRequest())return!1;for(;e.length>0&&this._canRequest();){const t=e.pop();this._useNodePages&&t>=0?this._loadPage(t):this._loadNode(t)}return!0}get isLoading(){return this._indexMissing>0}get isPrefetching(){return this._prefetchNodes.length>0}get indexLoading(){return this._loadingPages.size+this._loadingNodes.size}get indexMissing(){return this._indexMissing}get unloadedMemoryEstimate(){return this._unloadedMemoryEstimate}get updates(){return this._updates}get featureEstimate(){return this._featureEstimate}get maxPriority(){return Math.max(this._maxProcessingPrio,this._maxUnloadedPrio)}nodeTraversalState(e){if(null==e)return null;const t=e.index,i=this._getNodeInternal(t);if(!i)return null;let s=i?.traversalState;if(s&&P(s.version,this._version))return s;const n=this._viewportQueries.getLodLevel(e),o=this._viewportQueries.hasLOD(e);let r=!0;if(o){const e=this.getParentIndex(t);if(null!=e){const t=this._getNodeInternal(e),i=t?.traversalState;r=!!i&&n>i.lodLevel}else r=n>0}else r=0===e.childCount;return s?(s.lodLevel=n,s.isChosen=r,s.version=y(!0,this._version),s):(s=new d(o,r,n,y(!0,this._version)),i.traversalState=s,s)}async _loadNode(e){this._loadingNodes.add(e);const i=this._getNodeInternal(e).ref;if(null==i)return void this._failedNodes.add(e);const s=i.id,n=this._urlPrefix+s,o=()=>{this._loadingNodes.delete(e),0===this._missingPagesAndNodes.length&&0===this._loadingNodes.size&&this.requestUpdate()};let r=null;try{r=e>=0?await this._streamDataController.request(n,0):await this._clientNodeLoader.loadNodeJSON(s)}catch(d){return o(),void(t(d)||(this._logger.error("#loadNode()",this._layer,"Error loading node: "+n),this._failedNodes.add(e)))}o();const a=this._validateNode(s,r);if(null==a)return;a.obb&&this.invalidateNodeVisibilityCache(e);const l=this._addNode(a,e);this.nodeTraversalState(l)}_validateNode(e,t){if(null==t||"object"!=typeof t||t.id!==e)return this._logger.error("#validateNode()",this._layer,`Invalid node. Wrong type or wrong id "${e}"`),null;if(!Array.isArray(t.mbs))return this._logger.error("#validateNode()",this._layer,`Invalid bounding volume on node ${e}.`),null;t.sharedResource&&"./shared"!==t.sharedResource.href&&"./shared/"!==t.sharedResource.href&&this._logger.warn("#validateNode()",this._layer,`Invalid shared resource href on node "${e}"`);const i=t.geometryData;null==i||Array.isArray(i)&&0===i.length||Array.isArray(i)&&1===i.length&&"./geometries/0"===i[0].href||this._logger.warn("#validateNode()",this._layer,`Invalid geometry data on node "${e}"`);const s=t.attributeData,n=this._layer.attributeStorageInfo;null==s||Array.isArray(s)&&!s.some((e,t)=>e.href!==`./attributes/${n?.[t]?.key??`f_${t}`}/0`)||this._logger.warn("#validateNode()",this._layer,`Invalid attribute data on node "${e}"`),t.featureData&&t.featureData.length>1&&this._logger.warn("#validateNode()",this._layer,`Node ${e} has ${t.featureData.length} bundles. Only the first bundle will be loaded.`);const o=t.hasOwnProperty("obb")&&!this.ignoreServiceObb?t.obb:void 0,r=t.featureData&&1===t.featureData.length&&t.featureData[0].featureRange?t.featureData[0].featureRange[1]-t.featureData[0].featureRange[0]+1:void 0,l=t=>{if(null==t)return null;const i=t=>this._logger.error("#validateNode()",this._layer,`Invalid node reference on node ${e}: ${t}`);if("number"==typeof t.id)i(`id ${t.id} is a number instead of a string.`);else if("string"!=typeof t.id||!Array.isArray(t.mbs))return i("Missing or invalid id."),null;if(!Array.isArray(t.mbs))return i(`Invalid bounding volume on reference ${t.id}.`),null;t.href&&t.href!=="../"+t.id&&this._logger.error("#validateNode()",this._layer,`Invalid node href on node "${e}"`);const s=new a(`${t.id}`,t.mbs);return s.serviceObbInIndexSR=!this.ignoreServiceObb&&t.hasOwnProperty("obb")&&t.obb?_.fromJSON(t.obb):null,s.visibilityObbInRenderSR=this._computeVisibilityObb(s),s},d=Array.isArray(t.children)?t.children.map(l).filter(e=>null!=e):null,h=t.featureData?.length??!1,u=!0===t.isEmpty;return new c(e,t.mbs,o,"string"==typeof t.version?t.version:null,{isEmpty:!h&&u,hasSharedResource:null!=t.sharedResource,attributes:t.attributeData?e:void 0,texture:t.textureData&&t.textureData.length>0?e:void 0,geometry:null!=t.geometryData?e:void 0},d,Array.isArray(t.lodSelection)?t.lodSelection:null,r)}resetFailedNodes(){this._failedNodes.clear(),this._failedPages.clear(),this._forAllNodes(e=>{null!=e.node&&(e.node.failed=!1)})}_entryPriority(e){const t=this._getNodeInternal(e),i=this.getParentIndex(e);if(null==t||null==i&&null==t.node)return null==i?1/0:this._entryPriority(i);let s=0;if(t.node&&null!=i){const e=this._getNodeInternal(i).traversalState;null!=e&&(s=e.lodLevel)}let n=this.progressiveLoadPenalty;for(let r=e;null!=r;r=this.getParentIndex(r))if(this._isLoaded(r)){n=0;break}const o=null!=t.ref?this._viewportQueries.distToPOI(t.ref):null!=t.node?this._viewportQueries.distToPOI(t.node):0;return-o-s*(o+this.progressiveLoadPenalty)+n}traverseVisible(e,t){const i=this._getNodeInternal(this._rootIndex);null!=i?this._traverseVisible(this._rootIndex,null,i,e,t):e(this._rootIndex,null,null)}_traverseVisible(e,t,i,s,n){const o=R(e,this._pageSize);if(n&&n.add(o),i.node&&0===i.childCount)return void(this.isGeometryVisible(e)&&s(e,i,t));if(!this.isNodeVisible(e))return;if(s(e,i,t),null==i.node)return;const r=this.nodeTraversalState(i.node);if(r?.nodeHasLOD&&r.lodLevel===this._maxLodLevel)return;const a=this._getPageFromPageIndex(o);for(let l=0;l<i.childCount;l++){const t=a.children[i.childOffset+l],o=this._getNodeInternal(t);if(o)this._traverseVisible(t,e,o,s,n);else{if(n){const e=R(t,this._pageSize);n.add(e)}s(t,null,e)}}}traverse(e,t){t(e)&&this.traverseDescendants(e,t)}traverseDescendants(e,t){++this._traverseDescendantsNestingLevel;const i=e.index,s=this._pageSize,n=R(i,s),o=this._getPageFromPageIndex(n);if(null==o)return;const r=this._frameNumber,a=this._nodePages,l=S(i,s),d=o.nodes[l],h=d.childCount;if(o.lastTraversed=r,0===h)return;const u=new Array,c=1===this._traverseDescendantsNestingLevel?this._traverseDescendantsQueue:[0];let g=0;{const{childOffset:e,childCount:t}=d,{children:i}=o;c.length=2**Math.ceil(Math.log2(g+t));for(let s=e;s<e+t;++s){const e=i[s];e>=0?(c[g]=e,++g):u.push(e)}}if(u.length>0){const e=this._clientNodePage;if(e){const i=e.children;let s=0;for(;s<u.length;){const n=u[s];++s;const o=-n-1,r=e.nodes[o],a=r.node;if(!a||!t(a))continue;const{childCount:l}=r;if(0===l)continue;const{childOffset:d}=r,h=d+l;for(let e=d;e<h;++e)u.push(i[e])}}}if(g>0){let e=0;if(s>0){let i=n*s,l=o,d=l.nodes;for(;e<g;){const n=c[e];let o;if(++e,i<=n&&n<i+s)o=l;else{const e=n/s|0,t=a.get(e);if(void 0===t)continue;o=t,o.lastTraversed=r,l=o,d=l.nodes,i=s*e}const h=d[n-i],u=h.node;if(null==u||!1===t(u))continue;const{childCount:_}=h;if(0===_)continue;const f=g+_;for(c.length<f&&(c.length=2**Math.ceil(Math.log2(g+_)));c.length<g+_;)c.length+=c.length;const m=o.children,{childOffset:v}=h,p=v+_;for(let e=v;e<p;++e)c[g]=m[e],++g}}else{const i=a.get(0);if(i)for(;e<g;){const s=c[e++],n=i.nodes[s],o=n.node;if(!o||!t(o))continue;const{childCount:r}=n;if(0===r)continue;c.length=Math.max(c.length,2**Math.ceil(Math.log2(g+r)));const a=i.children,{childOffset:l}=n,d=l+r;for(let e=l;e<d;++e)c[g]=a[e],++g}}}--this._traverseDescendantsNestingLevel}updateChildrenLoaded(e,t){let i=this.getNode(e);for(;null!=i;){const e=i.childrenLoaded,s=e+t;i.childrenLoaded=s;const n=0===e?1:0===s?-1:0,o=i.index;if(0!==n){this._getPage(o).numNodesWithLoadedChildren+=n}i=this.getParent(o)}}checkChildrenLoadedInvariant(){return!0}updateElevationInfo(e,t){this.needNodeElevationRange=t&&!!e&&("relative-to-ground"===e.mode||"relative-to-scene"===e.mode||"on-the-ground"===e.mode),this._viewportQueries.updateElevationInfo(e),this.invalidateAllElevationRanges()}invalidateAllElevationRanges(){this._forAllNodes(e=>{e?.invalidateBounds(),e.node?.invalidateElevationRange(),e.ref?.invalidateElevationRange()})}_forAllNodes(e){if(null!=this._clientNodePage){const t=this._clientNodePage;for(let i=0;i<t.nodes.length;i++)e(t.nodes[i],-(i+1))}for(const[t,i]of this._nodePages){const s=t*this._pageSize;for(let t=0;t<i.nodes.length;t++)e(i.nodes[t],s+t)}}clearCaches(){if(this._useNodePages){const e=this._nodePages,t=new Set;this.traverseVisible(e=>t.add(R(e,this._pageSize)));for(const[i,s]of e)if(0!==s.numNodesWithLoadedChildren||t.has(i))for(const e of s.nodes)e.traversalState=null;else this._deleteNodePage(i)}}_deleteNodePage(e){this._nodePages.delete(e)}get test(){}}const p=new Map;class N{constructor(t){this.missing=t,this.update=new e({deallocator:null}),this.add=new e({deallocator:null}),this.remove=new e({deallocator:null}),this.cancel=[]}destroy(){this.update.prune(),this.add.prune(),this.remove.prune(),this.cancel.length=0}reset(e){this.add.clear(),this.update.clear(),this.cancel=e}}function b(e){return u(e,-2)}function I(e){return u(e,2)}function y(e,t){return t+(e?1:0)}function P(e,t){return(-2&e)===t}function x(e){return!(1&~e)}function R(e,t){return e<0?-1:t>0?e/t|0:0}function S(e,t){return e<0?-e-1:0===t?e:e%t}function C(e,t,i){return-1===t?-(e+1):0===i?e:t*i+e}const w=[["maxScreenThreshold",1],["screenSpaceRelative",2],["removedFeatureDiameter",3],["distanceRangeFromDefaultCamera",4]];function E(e){if(e)for(let t=0;t<e.length;t++)for(const i of w)if(i[0]===e[t].metricType)return{lodMetric:i[1],maxError:e[t].maxError};return{lodMetric:0,maxError:0}}class M{constructor(){this.known=0,this.knownNodes=0,this.missing=0,this.missingNodes=0,this.unremoved=0}}class V{constructor(){this.numFeatures=0,this.knownNodes=0,this.missingNodes=0}}function O(e){return Math.sqrt(e*(4/Math.PI))}const A=o(),L=o(),F=o(),z=o(),D=has("esri-mobile")?100:300;export{v as I3SIndex,E as selectErrorMetric};
@@ -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{ViewingMode as e}from"../../../ViewingMode.js";import{isValidMbs as t}from"./I3SUtil.js";import{I3sTarget as i}from"./Intersector.js";import{StoreResults as n}from"../../webgl-engine/lib/IntersectorInterfaces.js";import{IntersectorResult as r}from"../../webgl-engine/lib/IntersectorResult.js";import{IntersectorType as s}from"../../webgl-engine/lib/IntersectorType.js";import{MeshIntersectionOptions as l}from"../../webgl-engine/lib/RayIntersections.js";import{getVerticalOffsetI3S as o}from"../../webgl-engine/lib/verticalOffsetUtils.js";class c{constructor(e){this.type=s.I3S,this._needVerticalOffset=!1,this.layerViewUid=e.layerViewUid,this.sublayerId=e.sublayerId,this._collection=e.collection,this._traverseNodeHierarchy=e.traverseNodeHierarchy,this.slicePlaneEnabled=e.slicePlaneEnabled,this.isGround=e.isGround}updateElevationAlignState(t,i){this._needVerticalOffset=t&&i===e.Global}intersect(e,s,c,d,u,b){const f=e.results,m=e.options.store===n.ALL,h=e.ray.direction,p=e.tolerance;let y=e=>e,g=e=>e;const I=o(e.verticalOffset??(this._needVerticalOffset?0:null));null!=e.verticalOffset&&null!=I&&(y=e=>I.applyToMbs(e),g=e=>I.applyToObb(e));const R=new l(b,e.options.normalRequired),w=(n,l)=>{if(0===n.childrenLoaded)return!1;const o=n.serviceObbInRenderSR?.isValid?n.serviceObbInRenderSR:null;return!(o&&!g(o).intersectRay(c,h,p))&&(!l||!o&&t(n.serviceMbsInRenderSR)&&!a(y(n.serviceMbsInRenderSR),c,h,p)||null!=n.geometryObbInRenderSR&&!g(n.geometryObbInRenderSR).intersectRay(c,h,p)||this._collection.intersect(l,c,d,p,I,R,(t,l,o,a)=>{if(l<0||null!=s&&!s(c,d,l))return;const u=e=>{const r=new i(this.layerViewUid,this.sublayerId,n.index,t,a);e.set(this.type,r,l,o)};if(this.isGround&&(null==f.ground.distance||l<f.ground.distance)&&u(f.ground),!e.options.isFiltered&&((null==f.min.distance||l<f.min.distance)&&u(f.min),(null==f.max.distance||l>f.max.distance)&&u(f.max),m)){const t=new r(e.ray);u(t),e.results.all.push(t)}}),!0)};this._traverseNodeHierarchy(w)}}function a(e,t,i,n=0){const r=e[3]+n,s=t[0]-e[0],l=t[1]-e[1],o=t[2]-e[2],c=i[0],a=i[1],d=i[2],u=c*s+a*l+d*o;return u*u-(c*c+a*a+d*d)*(s*s+l*l+o*o-r*r)>=0}export{c as I3SIntersectionHandler};
5
+ import{isValidMbs as e}from"./I3SUtil.js";import{I3sTarget as t}from"./Intersector.js";import{IntersectorResult as i}from"../../webgl-engine/lib/IntersectorResult.js";import{MeshIntersectionOptions as n}from"../../webgl-engine/lib/RayIntersections.js";import{getVerticalOffsetI3S as s}from"../../webgl-engine/lib/verticalOffsetUtils.js";class r{constructor(e){this.type=4,this._needVerticalOffset=!1,this.layerViewUid=e.layerViewUid,this.sublayerId=e.sublayerId,this._collection=e.collection,this._traverseNodeHierarchy=e.traverseNodeHierarchy,this.slicePlaneEnabled=e.slicePlaneEnabled,this.isGround=e.isGround}updateElevationAlignState(e,t){this._needVerticalOffset=e&&1===t}intersect(r,o,c,a,d,u){const b=r.results,f=2===r.options.store,h=r.ray.direction,y=r.tolerance;let m=e=>e,p=e=>e;const R=s(r.verticalOffset??(this._needVerticalOffset?0:null));null!=r.verticalOffset&&null!=R&&(m=e=>R.applyToMbs(e),p=e=>R.applyToObb(e));const I=new n(u,r.options.normalRequired),g=(n,s)=>{if(0===n.childrenLoaded)return!1;const d=n.serviceObbInRenderSR?.isValid?n.serviceObbInRenderSR:null;return!(d&&!p(d).intersectRay(c,h,y))&&(!s||!d&&e(n.serviceMbsInRenderSR)&&!l(m(n.serviceMbsInRenderSR),c,h,y)||null!=n.geometryObbInRenderSR&&!p(n.geometryObbInRenderSR).intersectRay(c,h,y)||this._collection.intersect(s,c,a,y,R,I,(e,s,l,d)=>{if(s<0||null!=o&&!o(c,a,s))return;const u=i=>{const r=new t(this.layerViewUid,this.sublayerId,n.index,e,d);i.set(this.type,r,s,l)};if(this.isGround&&(null==b.ground.distance||s<b.ground.distance)&&u(b.ground),!r.options.isFiltered&&((null==b.min.distance||s<b.min.distance)&&u(b.min),(null==b.max.distance||s>b.max.distance)&&u(b.max),f)){const e=new i(r.ray);u(e),r.results.all.push(e)}}),!0)};this._traverseNodeHierarchy(g)}}function l(e,t,i,n=0){const s=e[3]+n,r=t[0]-e[0],l=t[1]-e[1],o=t[2]-e[2],c=i[0],a=i[1],d=i[2],u=c*r+a*l+d*o;return u*u-(c*c+a*a+d*d)*(r*r+l*l+o*o-s*s)>=0}export{r as I3SIntersectionHandler};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import e from"../../../../core/PooledArray.js";import{NodeState as i}from"./I3SNode.js";import{FadeDirection as s}from"../support/I3SLayerView.js";class o{constructor(e){this._layerView=e,this._lodGlobalDirty=!1}destroy(){this._index=null,this._lodGlobalHandling=null,this._removeNodes=null}startNodeLoading(e,i,s){this._maxLodLevel=s.maxLodLevel,this._index=i,this._removeNodes=e}shouldLoadNode(e){if(null==e)return!1;const i=this._index.nodeTraversalState(e);return!!this._isChosenMaxLOD(i)||!!i.isChosen&&this._childrenRequireLoading(e)}setLodGlobalDirty(){this._lodGlobalDirty=!0}get requiresLODGlobalHandling(){return null!=this._index&&!0===this._lodGlobalDirty}lodGlobalHandling(e){if(!this.requiresLODGlobalHandling)return!1;this._lodGlobalDirty=!1;const i=this._layerView.view.resourceController.memoryController.usedMemory,s=Math.max(0,Math.floor(10*(i-1)));d.clear(),this._lodGlobalHandling(this._index.rootNode,s,!1,!!this._layerView.nodeCrossfadingEnabled);const o=d.length;this._removeNodes(d,e);const t=d.length<o;return 0!==d.length&&(this._lodGlobalDirty=!0),d.clear(),t}_lodGlobalHandling(e,o,t,l){if(null==e)return!1;const n=e.index,r=this._index,a=this._layerView,h=r.nodeTraversalState(e),u=this._isChosenMaxLOD(h),_=e.resources.isEmpty;if(u&&_)return e.childrenLoaded>0&&this._removeChildrenRecursive(e),!0;const c=a.isNodeLoaded(n);if(l&&c&&u){const i=!t&&this.hasNoVisibleChildren(e);a.fadeNode(n,s.FadeIn,!i)}const x=c&&(!a.isNodeFullyFadedIn||a.isNodeFullyFadedIn(n));if(c&&(a.updateNodeState(n,u?i.Leaf:i.Hole),u))return x&&this._removeChildrenRecursive(e),x;const L=e.childCount>0;let y=L;if(L)for(let i=0;i<e.childCount;i++){const e=r.getChildIndex(n,i),s=r.getNode(e);if(null!=s){!r.isGeometryVisible(e)||this._lodGlobalHandling(s,o,t||x,l)||(y=!1)}else r.isNodeVisible(e)&&(y=!1)}const m=c&&!u&&(y||d.length<o);m&&d.push(n),!l||m||!c||t||y||a.fadeNode(n,s.FadeIn,!1);const N=e.resources.isEmpty;return y||x&&!m||N}_removeChildrenRecursive(e){this._index.traverseDescendants(e,e=>((this._layerView.isNodeLoaded(e.index)||this._layerView.isNodeReloading(e.index))&&d.push(e.index),e.childrenLoaded>0))}hasNoVisibleChildren(e){let i=!0;return this._index.traverseDescendants(e,e=>!(!i||!this._index.isNodeVisible(e.index))&&(this._layerView.isNodeLoaded(e.index)?(i=!1,!1):e.childrenLoaded>0)),i}_childrenRequireLoading(e){let i=!1,s=!0;return this._index.traverseDescendants(e,e=>{if(!s||!this._index.isNodeVisible(e.index))return!1;const o=this._index.nodeTraversalState(e);return this._isChosenMaxLOD(o)&&this._index.isGeometryVisible(e.index)&&(i=!0),this._layerView.isNodeLoaded(e.index)?(s=!1,!1):e.childrenLoaded>0}),s&&i}_isChosenMaxLOD(e){return e.isChosen&&(!e.nodeHasLOD||e.lodLevel===this._maxLodLevel)}static cleanupI3SLodHandling(){d.prune()}}const d=new e({deallocator:null});export{o as default};
5
+ import e from"../../../../core/PooledArray.js";class i{constructor(e){this._layerView=e,this._lodGlobalDirty=!1}destroy(){this._index=null,this._lodGlobalHandling=null,this._removeNodes=null}startNodeLoading(e,i,s){this._maxLodLevel=s.maxLodLevel,this._index=i,this._removeNodes=e}shouldLoadNode(e){if(null==e)return!1;const i=this._index.nodeTraversalState(e);return!!this._isChosenMaxLOD(i)||!!i.isChosen&&this._childrenRequireLoading(e)}setLodGlobalDirty(){this._lodGlobalDirty=!0}get requiresLODGlobalHandling(){return null!=this._index&&!0===this._lodGlobalDirty}lodGlobalHandling(e){if(!this.requiresLODGlobalHandling)return!1;this._lodGlobalDirty=!1;const i=this._layerView.view.resourceController.memoryController.usedMemory,l=Math.max(0,Math.floor(10*(i-1)));s.clear(),this._lodGlobalHandling(this._index.rootNode,l,!1,!!this._layerView.nodeCrossfadingEnabled);const o=s.length;this._removeNodes(s,e);const d=s.length<o;return 0!==s.length&&(this._lodGlobalDirty=!0),s.clear(),d}_lodGlobalHandling(e,i,l,o){if(null==e)return!1;const d=e.index,t=this._index,n=this._layerView,r=t.nodeTraversalState(e),a=this._isChosenMaxLOD(r),h=e.resources.isEmpty;if(a&&h)return e.childrenLoaded>0&&this._removeChildrenRecursive(e),!0;const u=n.isNodeLoaded(d);if(o&&u&&a){const i=!l&&this.hasNoVisibleChildren(e);n.fadeNode(d,0,!i)}const _=u&&(!n.isNodeFullyFadedIn||n.isNodeFullyFadedIn(d));if(u&&(n.updateNodeState(d,a?1:0),a))return _&&this._removeChildrenRecursive(e),_;const c=e.childCount>0;let x=c;if(c)for(let s=0;s<e.childCount;s++){const e=t.getChildIndex(d,s),n=t.getNode(e);if(null!=n){!t.isGeometryVisible(e)||this._lodGlobalHandling(n,i,l||_,o)||(x=!1)}else t.isNodeVisible(e)&&(x=!1)}const L=u&&!a&&(x||s.length<i);L&&s.push(d),!o||L||!u||l||x||n.fadeNode(d,0,!1);const y=e.resources.isEmpty;return x||_&&!L||y}_removeChildrenRecursive(e){this._index.traverseDescendants(e,e=>((this._layerView.isNodeLoaded(e.index)||this._layerView.isNodeReloading(e.index))&&s.push(e.index),e.childrenLoaded>0))}hasNoVisibleChildren(e){let i=!0;return this._index.traverseDescendants(e,e=>!(!i||!this._index.isNodeVisible(e.index))&&(this._layerView.isNodeLoaded(e.index)?(i=!1,!1):e.childrenLoaded>0)),i}_childrenRequireLoading(e){let i=!1,s=!0;return this._index.traverseDescendants(e,e=>{if(!s||!this._index.isNodeVisible(e.index))return!1;const l=this._index.nodeTraversalState(e);return this._isChosenMaxLOD(l)&&this._index.isGeometryVisible(e.index)&&(i=!0),this._layerView.isNodeLoaded(e.index)?(s=!1,!1):e.childrenLoaded>0}),s&&i}_isChosenMaxLOD(e){return e.isChosen&&(!e.nodeHasLOD||e.lodLevel===this._maxLodLevel)}static cleanupI3SLodHandling(){s.prune()}}const s=new e({deallocator:null});export{i as default};
@@ -2,4 +2,4 @@
2
2
  All material copyright ESRI, All Rights Reserved, unless otherwise specified.
3
3
  See https://js.arcgis.com/4.34/esri/copyright.txt for details.
4
4
  */
5
- import{validateColorAndOpacity as e,validateColor as o}from"../../../../core/colorUtils.js";import has from"../../../../core/has.js";import{clamp as r}from"../../../../core/mathUtils.js";import{EmissiveSourceMode as s}from"../../../../symbols/support/materialUtils.js";import{TextureUsage as a,TextureEncoding as t,uncompressedFormats as l,compressibleUsages as n}from"./enums.js";import{RenderTexture as i}from"../../webgl-engine/core/material/RenderTexture.js";import{getEllipsoidMode as u}from"../../webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{CullFaceOptions as c,AlphaDiscardMode as m,TextureEncodingMimeType as d}from"../../webgl-engine/lib/basicInterfaces.js";import{Texture as p}from"../../webgl-engine/lib/Texture.js";import{useSchematicPBRI3S as g,useSchematicPBR as f,schematicMRRFactors as h,advancedMRRFactors as T}from"../../webgl-engine/materials/pbrUtils.js";import{TextureWrapMode as x}from"../../../webgl/enums.js";import{alphaCutoff as F}from"../../../../webscene/support/AlphaCutoff.js";function b(o,r,s){const t=new Map,l=(e,o)=>{if(null==e)return-1;const r=t.get(e.id);if(r)return r.usage|=o,r.id;const s=t.size;return t.set(e.id,{id:s,usage:o}),s},n=r.pbrMetallicRoughness,i=n?.baseColorFactor?e(n.baseColorFactor):null,u=r.emissiveFactor,m=has("disable-feature:diffuse-rendering-i3s")||s?g({normalTexture:r.normalTexture,emissiveTexture:r.emissiveTexture,emissiveFactor:r.emissiveFactor,occlusionTexture:r.occlusionTexture,metallicRoughnessTexture:n?.metallicRoughnessTexture,metallicFactor:n?.metallicFactor,roughnessFactor:n?.roughnessFactor}):f({normalTexture:r.normalTexture,emissiveTexture:r.emissiveTexture,emissiveFactor:r.emissiveFactor,occlusionTexture:r.occlusionTexture,metallicRoughnessTexture:n?.metallicRoughnessTexture,metallicFactor:n?.metallicFactor,roughnessFactor:n?.roughnessFactor}),d=m?h[0]:n?.metallicFactor??T[0],p=m?h[1]:n?.roughnessFactor??T[1],x="mask"===r.alphaMode?a.Color|a.AlphaMask:a.Color,F={baseColorFactor:i?[i[0],i[1],i[2],i[3]]:[1,1,1,1],baseColorTextureId:l(n?.baseColorTexture,x),metallicRoughnessTextureId:l(n?.metallicRoughnessTexture,a.MetallicRoughness),metallicFactor:d,roughnessFactor:p},b={alphaMode:r.alphaMode,alphaCutoff:r.alphaCutoff,doubleSided:r.doubleSided,cullFace:"none"===r.cullFace?c.None:"back"===r.cullFace?c.Back:"front"===r.cullFace?c.Front:c.None,normalTextureId:l(r.normalTexture,a.Normal),emissiveTextureId:l(r.emissiveTexture,a.Emissive),occlusionTextureId:l(r.occlusionTexture,a.Occlusion),emissiveFactor:u?[u[0],u[1],u[2]]:[0,0,0],metallicRoughness:F,wrapTextures:!1,hasParametersFromSource:m},M=[];return t.forEach(({usage:e},r)=>{const s=null!=o&&o[r]&&o[r].formats,a=s?C(s.map(({name:e,format:o})=>({name:e,encoding:S[o]}))):[];M.push({id:r,usage:e,encodings:a})}),{material:b,textures:M}}function C(e){return e.sort((e,o)=>e.encoding-o.encoding)}const S={ktx2:t.KTX2,basis:t.Basis,dds:t.DDS_S3TC,png:t.PNG,jpg:t.JPG,"ktx-etc2":t.KTX_ETC2},M={[d.KTX2_ENCODING]:t.Basis,[d.BASIS_ENCODING]:t.Basis,[d.DDS_ENCODING]:t.DDS_S3TC,"image/png":t.PNG,"image/jpg":t.JPG,"image/jpeg":t.JPG,"image/ktx":t.KTX_ETC2};function P(e){const s=e?.materialDefinitions?Object.keys(e.materialDefinitions)[0]:null,t=e?.textureDefinitions?Object.keys(e.textureDefinitions)[0]:null,l=s?e.materialDefinitions?.[s]:null,n=t?e.textureDefinitions?.[t]:null,i=D();if(null!=l){const e=l.params;e.diffuse&&(o(e.diffuse),i.metallicRoughness.baseColorFactor=[e.diffuse[0],e.diffuse[1],e.diffuse[2],1]),null!=e.doubleSided&&(i.doubleSided=e.doubleSided,i.cullFace=e.doubleSided?c.None:c.Back),"none"!==e.cullFace&&"front"!==e.cullFace&&"back"!==e.cullFace||(i.cullFace="none"===e.cullFace?c.None:"back"===e.cullFace?c.Back:c.Front),e.transparency&&(i.metallicRoughness.baseColorFactor[3]=r(1-e.transparency,0,1)),(e.useVertexColorAlpha||i.metallicRoughness.baseColorFactor[3]<1)&&(i.alphaMode="blend")}const u=[];if(null!=n){const e=0;!n.wrap||"repeat"!==n.wrap[0]&&"repeat"!==n.wrap[1]||(i.wrapTextures=!0);let o=a.Color;"rgba"===n.channels&&(i.alphaMode="blend",o|=a.AlphaMask);const r=n.images.length-1,s=n.images[r],t=e=>e?.split("/").pop(),l=Array.isArray(n.encoding)?C(n.encoding.map((e,o)=>({name:t(s.href[o]),encoding:M[e]||0}))):[{name:t(s.href),encoding:M[n.encoding]||0}];u.push({id:e,usage:o,encodings:l}),i.metallicRoughness.baseColorTextureId=e}return{material:i,textures:u}}const D=()=>({alphaMode:"opaque",alphaCutoff:F,doubleSided:!0,cullFace:c.None,normalTextureId:-1,emissiveTextureId:-1,occlusionTextureId:-1,emissiveFactor:[0,0,0],metallicRoughness:{baseColorFactor:[.8,.8,.8,1],baseColorTextureId:-1,metallicRoughnessTextureId:-1,metallicFactor:0,roughnessFactor:.6},wrapTextures:!1,hasParametersFromSource:!0});function R(e,o,r,s,t,l){if(null==e?.data)return null;const n=e.data,i=s.renderingContext.parameters.maxMaxAnisotropy,u=i>1,c=r||!o.wrapTextures?w:E,m=G(e.encoding),d=e.usage&a.Color?"opaque"===o.alphaMode?3:4:3,g=j(e.encoding,e.usage)?{compressionTracker:t,compressionCallback:l}:void 0;return new p(n,{mipmap:u,maxAnisotropy:i,encoding:m,wrap:c,components:d,compressionOptions:g,noUnpackFlip:!0})}const w={s:x.CLAMP_TO_EDGE,t:x.CLAMP_TO_EDGE},E={s:x.REPEAT,t:x.REPEAT};function N(o,r,t,l,n,c){const d=c.rendererTextureUsage,p=e=>v(l,t,e&d),g=e(r.metallicRoughness.baseColorFactor);o.baseColor=[g[0],g[1],g[2],g[3]],o.hasParametersFromSource=!!r.hasParametersFromSource,o.usePBR=c.usePBR,o.mrrFactors=[r.metallicRoughness.metallicFactor,r.metallicRoughness.roughnessFactor,r.hasParametersFromSource?h[2]:T[2]],o.emissiveBaseColor=r.emissiveFactor,o.emissiveSource=s.Emissive,o.isIntegratedMesh=c.isIntegratedMesh,o.textureAlphaCutoff="mask"===r.alphaMode?r.alphaCutoff:F,o.alphaDiscardMode="opaque"===r.alphaMode?m.Opaque:"mask"===r.alphaMode?m.Mask:m.MaskBlend;const f=[],x=p(a.Color|a.AlphaMask);null!=x&&(o.baseColorTexture=new i(n,x),f.push(o.baseColorTexture.loadPromise));const b=p(a.MetallicRoughness);null!=b&&(o.metallicRoughnessTexture=new i(n,b),f.push(o.metallicRoughnessTexture.loadPromise));const C=p(a.Emissive);null!=C&&(o.emissionTexture=new i(n,C),f.push(o.emissionTexture.loadPromise));const S=p(a.Occlusion);null!=S&&(o.occlusionTexture=new i(n,S),f.push(o.occlusionTexture.loadPromise));const M=p(a.Normal);return null!=M&&(o.normalTexture=new i(n,M),f.push(o.normalTexture.loadPromise)),o.commonMaterialParameters.hasSlicePlane=c.slicePlaneEnabled,o.commonMaterialParameters.doubleSided=r.doubleSided,o.commonMaterialParameters.cullFace=r.cullFace,o.ellipsoidMode=u(c.viewSpatialReference),Promise.all(f)}function k(e){const o=!!e.compressedTextureS3TC,r=!!e.compressedTextureETC,s=has("disable-feature:i3s-basis")?0:t.Basis|t.KTX2,a=t.JPG|t.PNG,l=s|t.DDS_S3TC;return a|(o?l:0)|(r?s:0)}function I(e,o){if(null!=o)return e.find(e=>0!==(e.encoding&o))}function v(e,o,r){if(null==e||r===a.None)return null;for(let s=0;s<e.length;s++){const a=e[s];if(null!=a&&0!==(a.usage&r)){const e=o[s];return null!=e?e.id:null}}return null}function j(e,o){return!!has("enable-feature:esri-compress-IM-textures")&&(0!==(e&l)&&!(o&~n))}function G(e){switch(e){case t.KTX2:return d.KTX2_ENCODING;case t.Basis:return d.BASIS_ENCODING;case t.DDS_S3TC:return d.DDS_ENCODING;case t.PNG:return"image/png";case t.JPG:return"image/jpeg";case t.KTX_ETC2:return"image/ktx";default:return""}}export{N as configureMaterial,R as createTexture,D as defaultMaterial,b as getMaterialAndTextures,P as getMaterialAndTexturesFromShared,k as getSupportedEncodings,I as selectEncoding};
5
+ import{validateColorAndOpacity as e,validateColor as r}from"../../../../core/colorUtils.js";import has from"../../../../core/has.js";import{clamp as o}from"../../../../core/mathUtils.js";import{uncompressedFormats as s,compressibleUsages as a}from"./enums.js";import{RenderTexture as t}from"../../webgl-engine/core/material/RenderTexture.js";import{getEllipsoidMode as n}from"../../webgl-engine/core/shaderLibrary/util/EllipsoidMode.js";import{Texture as l}from"../../webgl-engine/lib/Texture.js";import{useSchematicPBRI3S as i,useSchematicPBR as u,schematicMRRFactors as c,advancedMRRFactors as m}from"../../webgl-engine/materials/pbrUtils.js";import{alphaCutoff as d}from"../../../../webscene/support/AlphaCutoff.js";function g(r,o,s){const a=new Map,t=(e,r)=>{if(null==e)return-1;const o=a.get(e.id);if(o)return o.usage|=r,o.id;const s=a.size;return a.set(e.id,{id:s,usage:r}),s},n=o.pbrMetallicRoughness,l=n?.baseColorFactor?e(n.baseColorFactor):null,d=o.emissiveFactor,g=has("disable-feature:diffuse-rendering-i3s")||s?i({normalTexture:o.normalTexture,emissiveTexture:o.emissiveTexture,emissiveFactor:o.emissiveFactor,occlusionTexture:o.occlusionTexture,metallicRoughnessTexture:n?.metallicRoughnessTexture,metallicFactor:n?.metallicFactor,roughnessFactor:n?.roughnessFactor}):u({normalTexture:o.normalTexture,emissiveTexture:o.emissiveTexture,emissiveFactor:o.emissiveFactor,occlusionTexture:o.occlusionTexture,metallicRoughnessTexture:n?.metallicRoughnessTexture,metallicFactor:n?.metallicFactor,roughnessFactor:n?.roughnessFactor}),f=g?c[0]:n?.metallicFactor??m[0],h=g?c[1]:n?.roughnessFactor??m[1],T="mask"===o.alphaMode?33:1,F={baseColorFactor:l?[l[0],l[1],l[2],l[3]]:[1,1,1,1],baseColorTextureId:t(n?.baseColorTexture,T),metallicRoughnessTextureId:t(n?.metallicRoughnessTexture,2),metallicFactor:f,roughnessFactor:h},b={alphaMode:o.alphaMode,alphaCutoff:o.alphaCutoff,doubleSided:o.doubleSided,cullFace:"none"===o.cullFace?0:"back"===o.cullFace?2:"front"===o.cullFace?1:0,normalTextureId:t(o.normalTexture,4),emissiveTextureId:t(o.emissiveTexture,16),occlusionTextureId:t(o.occlusionTexture,8),emissiveFactor:d?[d[0],d[1],d[2]]:[0,0,0],metallicRoughness:F,wrapTextures:!1,hasParametersFromSource:g},C=[];return a.forEach(({usage:e},o)=>{const s=null!=r&&r[o]&&r[o].formats,a=s?p(s.map(({name:e,format:r})=>({name:e,encoding:x[r]}))):[];C.push({id:o,usage:e,encodings:a})}),{material:b,textures:C}}function p(e){return e.sort((e,r)=>e.encoding-r.encoding)}const x={ktx2:1,basis:2,dds:4,png:8,jpg:16,"ktx-etc2":32},f={"image/ktx2":2,"image/x.basis":2,"image/vnd-ms.dds":4,"image/png":8,"image/jpg":16,"image/jpeg":16,"image/ktx":32};function h(e){const s=e?.materialDefinitions?Object.keys(e.materialDefinitions)[0]:null,a=e?.textureDefinitions?Object.keys(e.textureDefinitions)[0]:null,t=s?e.materialDefinitions?.[s]:null,n=a?e.textureDefinitions?.[a]:null,l=T();if(null!=t){const e=t.params;e.diffuse&&(r(e.diffuse),l.metallicRoughness.baseColorFactor=[e.diffuse[0],e.diffuse[1],e.diffuse[2],1]),null!=e.doubleSided&&(l.doubleSided=e.doubleSided,l.cullFace=e.doubleSided?0:2),"none"!==e.cullFace&&"front"!==e.cullFace&&"back"!==e.cullFace||(l.cullFace="none"===e.cullFace?0:"back"===e.cullFace?2:1),e.transparency&&(l.metallicRoughness.baseColorFactor[3]=o(1-e.transparency,0,1)),(e.useVertexColorAlpha||l.metallicRoughness.baseColorFactor[3]<1)&&(l.alphaMode="blend")}const i=[];if(null!=n){const e=0;!n.wrap||"repeat"!==n.wrap[0]&&"repeat"!==n.wrap[1]||(l.wrapTextures=!0);let r=1;"rgba"===n.channels&&(l.alphaMode="blend",r|=32);const o=n.images.length-1,s=n.images[o],a=e=>e?.split("/").pop(),t=Array.isArray(n.encoding)?p(n.encoding.map((e,r)=>({name:a(s.href[r]),encoding:f[e]||0}))):[{name:a(s.href),encoding:f[n.encoding]||0}];i.push({id:e,usage:r,encodings:t}),l.metallicRoughness.baseColorTextureId=e}return{material:l,textures:i}}const T=()=>({alphaMode:"opaque",alphaCutoff:d,doubleSided:!0,cullFace:0,normalTextureId:-1,emissiveTextureId:-1,occlusionTextureId:-1,emissiveFactor:[0,0,0],metallicRoughness:{baseColorFactor:[.8,.8,.8,1],baseColorTextureId:-1,metallicRoughnessTextureId:-1,metallicFactor:0,roughnessFactor:.6},wrapTextures:!1,hasParametersFromSource:!0});function F(e,r,o,s,a,t){if(null==e?.data)return null;const n=e.data,i=s.renderingContext.parameters.maxMaxAnisotropy,u=i>1,c=o||!r.wrapTextures?b:C,m=S(e.encoding),d=1&e.usage?"opaque"===r.alphaMode?3:4:3,g=P(e.encoding,e.usage)?{compressionTracker:a,compressionCallback:t}:void 0;return new l(n,{mipmap:u,maxAnisotropy:i,encoding:m,wrap:c,components:d,compressionOptions:g,noUnpackFlip:!0})}const b={s:33071,t:33071},C={s:10497,t:10497};function R(r,o,s,a,l,i){const u=i.rendererTextureUsage,g=e=>v(a,s,e&u),p=e(o.metallicRoughness.baseColorFactor);r.baseColor=[p[0],p[1],p[2],p[3]],r.hasParametersFromSource=!!o.hasParametersFromSource,r.usePBR=i.usePBR,r.mrrFactors=[o.metallicRoughness.metallicFactor,o.metallicRoughness.roughnessFactor,o.hasParametersFromSource?c[2]:m[2]],r.emissiveBaseColor=o.emissiveFactor,r.emissiveSource=0,r.isIntegratedMesh=i.isIntegratedMesh,r.textureAlphaCutoff="mask"===o.alphaMode?o.alphaCutoff:d,r.alphaDiscardMode="opaque"===o.alphaMode?1:"mask"===o.alphaMode?2:3;const x=[],f=g(33);null!=f&&(r.baseColorTexture=new t(l,f),x.push(r.baseColorTexture.loadPromise));const h=g(2);null!=h&&(r.metallicRoughnessTexture=new t(l,h),x.push(r.metallicRoughnessTexture.loadPromise));const T=g(16);null!=T&&(r.emissionTexture=new t(l,T),x.push(r.emissionTexture.loadPromise));const F=g(8);null!=F&&(r.occlusionTexture=new t(l,F),x.push(r.occlusionTexture.loadPromise));const b=g(4);return null!=b&&(r.normalTexture=new t(l,b),x.push(r.normalTexture.loadPromise)),r.commonMaterialParameters.hasSlicePlane=i.slicePlaneEnabled,r.commonMaterialParameters.doubleSided=o.doubleSided,r.commonMaterialParameters.cullFace=o.cullFace,r.ellipsoidMode=n(i.viewSpatialReference),Promise.all(x)}function w(e){const r=!!e.compressedTextureS3TC,o=!!e.compressedTextureETC,s=has("disable-feature:i3s-basis")?0:3;return 24|(r?4|s:0)|(o?s:0)}function M(e,r){if(null!=r)return e.find(e=>0!==(e.encoding&r))}function v(e,r,o){if(null==e||0===o)return null;for(let s=0;s<e.length;s++){const a=e[s];if(null!=a&&0!==(a.usage&o)){const e=r[s];return null!=e?e.id:null}}return null}function P(e,r){return!!has("enable-feature:esri-compress-IM-textures")&&(0!==(e&s)&&!(r&~a))}function S(e){switch(e){case 1:return"image/ktx2";case 2:return"image/x.basis";case 4:return"image/vnd-ms.dds";case 8:return"image/png";case 16:return"image/jpeg";case 32:return"image/ktx";default:return""}}export{R as configureMaterial,F as createTexture,T as defaultMaterial,g as getMaterialAndTextures,h as getMaterialAndTexturesFromShared,w as getSupportedEncodings,M as selectEncoding};
@@ -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{indexOf as r,PositionHint as i}from"../../../../core/arrayUtils.js";import s from"../../../../core/Logger.js";import{clamp as o}from"../../../../core/mathUtils.js";import{unwrapUpdating as n,updating as a,isUpdating as l}from"../../../../core/maybeUpdating.js";import{whenOnce as c}from"../../../../core/reactiveUtils.js";import{getUnitString as p}from"../../../../core/unitUtils.js";import{property as u}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import{subclass as g}from"../../../../core/accessorSupport/decorators/subclass.js";import{o as m,f as d,i as f}from"../../../../chunks/vec32.js";import{fromValues as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import h from"../../../../core/sql/WhereClause.js";import{getReferenceEllipsoid as j}from"../../../../geometry/ellipsoidUtils.js";import{load as R,project as S}from"../../../../geometry/projectionUtils.js";import w from"../../../../geometry/SpatialReference.js";import{projectBoundingSphere as E}from"../../../../geometry/projection/projectBoundingSphere.js";import{projectVectorToVector as v}from"../../../../geometry/projection/projectVectorToVector.js";import{create as b}from"../../../../geometry/support/aaBoundingBox.js";import{fromValues as F,expandWithNestedArray as I,expand as _}from"../../../../geometry/support/aaBoundingRect.js";import{doubleArrayFrom as k}from"../../../../geometry/support/DoubleArray.js";import{earth as M}from"../../../../geometry/support/Ellipsoid.js";import{isWGS84 as T,isWebMercator as D}from"../../../../geometry/support/spatialReferenceUtils.js";import{f as G}from"../../../../chunks/sphere.js";import{project as C}from"../../../../geometry/support/webMercatorUtils.js";import A from"../../../../layers/support/FeatureFilter.js";import{objectIdFilter as x,filterInPlace as L}from"./I3SUtil.js";let O=class extends t{constructor(e){super(e),this._projectionEngineLoaded=!1}initialize(){c(()=>this.viewFilter?.geometry||null!=this.layerFilter).then(()=>this.loadAsyncModule(import("../../../../geometry/geometryEngine.js").then(e=>{this.destroyed||(this._geometryEngine=e)})))}get sortedObjectIds(){if(null==this.viewFilter?.objectIds)return null;const e=k(this.viewFilter.objectIds);return e.sort(),e}get parsedWhereClause(){const e=this.viewFilter?.where;if(null==e||!e)return null;try{return h.create(e,{fieldsIndex:this.layerFieldsIndex})}catch(t){s.getLogger(this).error(`Failed to parse filter where clause: ${t}`)}return null}addFilters(e,t,r,i){const o=this.sortedObjectIds;null!=o&&e.push(e=>x(o,!0,e)),this.addSqlFilter(e,this.parsedWhereClause),this.addTimeFilter(e,this.viewFilter?.timeExtent);const a=n(this._layerMaskGeometries),l=this._geometryEngine,c=()=>s.getLogger(this);if(null!=a&&null!=this.layerFilter&&null!=l){const s=this.layerFilter.spatialRelationship;e.push((e,o)=>W(c,l,e,o,i,t,r,a,s))}const p=n(this._viewMaskGeometries);if(null!=p&&null!=this.viewFilter&&null!=l){const s=this.viewFilter.spatialRelationship;e.push((e,o)=>W(c,l,e,o,i,t,r,p,s))}}isMBSGeometryVisible(e,t,r){const i=n(this._layerMaskGeometries),o=this._geometryEngine;if(null!=i&&null!=this.layerFilter&&null!=o){const n=this.layerFilter.spatialRelationship,a=i[0].spatialReference||t;if(!E(e,r,q,a))return s.getLogger(this).warnOnce("SceneLayer.mask geometry is using unsupported SpatialReference, skipping geometry filter for MBS"),!0;return V(o,q,i,a,n)}const a=n(this._viewMaskGeometries);if(null!=a&&null!=this.viewFilter&&null!=o){const i=this.viewFilter.spatialRelationship,n=a[0].spatialReference||t;if(!E(e,r,q,n))return s.getLogger(this).warnOnce("SceneLayerView.filter.geometry is using unsupported SpatialReference, skipping geometry filter for MBS"),!0;return V(o,q,a,n,i)}return!0}get parsedGeometry(){const e=n(this._viewMaskGeometries),t=n(this._layerMaskGeometries);return null==e||null==t?e||t:t.concat(e)}get _layerMaskGeometries(){const e=this.layerFilter;return null==e?null:null==this._geometryEngine?a:"disjoint"===e.spatialRelationship?e.geometries.map(e=>({type:"polygon",rings:e.rings,spatialReference:e.spatialReference,cache:{}})):[e.geometries.reduce((e,t)=>(e.rings=[...e.rings,...t.rings],e),{type:"polygon",rings:[],spatialReference:e.geometries[0].spatialReference,cache:{}})]}get _viewMaskGeometries(){if(null==this.viewFilter)return null;const{geometry:e}=this.viewFilter;if(null==e)return null;if(null==this.viewFilter||null==this._geometryEngine)return a;const{distance:t,units:r}=this.viewFilter,i=this.viewFilter.spatialRelationship,o="mesh"===e.type?e.extent:e;if(null==t||0===t)return K(this._geometryEngine,o,i);const n=r||p(o.spatialReference);if(o.spatialReference.isWGS84){const e=this._geometryEngine.geodesicBuffer(o,t,n);return K(this._geometryEngine,e,i)}const l=C(o,w.WGS84);if(null!=l){const e=C(this._geometryEngine.geodesicBuffer(l,t,n),o.spatialReference);return K(this._geometryEngine,e,i)}if(!this._projectionEngineLoaded&&(this.loadAsyncModule(R().then(()=>this._projectionEngineLoaded=!0)),!this._projectionEngineLoaded))return null;let c=null;try{c=S(o,w.WGS84)}catch(u){}if(c)try{c=S(this._geometryEngine.geodesicBuffer(c,t,n),o.spatialReference)}catch(u){c=null}return c||s.getLogger(this).error(`Filter by geodesic buffer (distance) unsupported, failed to project input geometry (${o.spatialReference.wkid}) to WGS84.`),K(this._geometryEngine,c,i)}get updating(){return l(this._layerMaskGeometries)||l(this._viewMaskGeometries)}static checkSupport(e){return null!=e&&(!!U(e.spatialRelationship)||(s.getLogger(this.prototype).warn(`Filters with spatialRelationship other than ${B.join(", ")} are not supported for mesh scene layers`),!1))}};e([u()],O.prototype,"layerFilter",void 0),e([u({type:A})],O.prototype,"viewFilter",void 0),e([u()],O.prototype,"layerFieldsIndex",void 0),e([u()],O.prototype,"loadAsyncModule",void 0),e([u()],O.prototype,"addSqlFilter",void 0),e([u()],O.prototype,"addTimeFilter",void 0),e([u({readOnly:!0})],O.prototype,"sortedObjectIds",null),e([u({readOnly:!0})],O.prototype,"parsedWhereClause",null),e([u({readOnly:!0})],O.prototype,"parsedGeometry",null),e([u({readOnly:!0})],O.prototype,"_layerMaskGeometries",null),e([u({readOnly:!0})],O.prototype,"_viewMaskGeometries",null),e([u()],O.prototype,"updating",null),e([u()],O.prototype,"_projectionEngineLoaded",void 0),e([u()],O.prototype,"_geometryEngine",void 0),O=e([g("esri.views.3d.layers.i3s.I3SMeshViewFilter")],O);const B=(e=>e)(["contains","intersects","disjoint"]);function U(e){return null!=e&&B.includes(e)}var P;function K(e,t,s){if(null==t)return null;if("disjoint"===s&&"polygon"===t.type){const s=t.rings.length,o=t.spatialReference,n=new Array(s);for(let e=0;e<s;++e){const r=F(1/0,1/0,-1/0,-1/0);I(r,t.rings[e]),n[e]={type:"polygon",rings:[t.rings[e]],spatialReference:o,cache:{},aabr:r}}n.sort((e,t)=>e.aabr[0]-t.aabr[0]);const a=new Set,l=new i;for(let t=0;t<n.length;++t){const i=n[t],s=i.aabr[0];a.forEach(t=>{if(s>=t.aabr[2])return void a.delete(t);if(i.aabr[1]>t.aabr[3]||i.aabr[3]<t.aabr[1]||!e.intersects(i,t))return;i.rings=i.rings.concat(t.rings),_(i.aabr,t.aabr,i.aabr),i.cache={},a.delete(t);const o=r(n,t,n.length,l);n.splice(o,1)}),a.add(i)}for(const e of n)e.aabr=void 0;return n}return[t]}function V(e,t,r,i,s){if(t[3]>=.5*(t[2]+j(i).radius))return!0;const o=$(e,t,i);return r.every(t=>z(e,t,o,s)!==P.DISCARD)}function W(e,t,r,i,s,o,n,a,l){const c=a[0].spatialReference||o.spatialReference;if(!E(i.node.serviceMbsInIndexSR,n,q,c))return void e().warnOnce("SceneLayerView.filter.geometry is using unsupported SpatialReference, skipping geometry filter");const p=$(t,q,c),u=N(l,o,c,s,i.objectHandle),g="intersects"===l;let m=null;for(const d of a){if(0===r.length)return;switch(z(t,d,p,l)){case P.DISCARD:return g&&(i.weaklyRemovedIds=i.weaklyRemovedIds?.concat(r)??r.slice()),void(r.length=0);case P.KEEP:continue}L(r,i.featureIds,e=>!!J(t,d,e,u)||(g&&(m||=[],m.push(i.featureIds[e])),!1))}m&&(i.weaklyRemovedIds=i.weaklyRemovedIds?.concat(m)??m)}!function(e){e[e.KEEP=0]="KEEP",e[e.DISCARD=1]="DISCARD",e[e.TEST=2]="TEST"}(P||(P={}));const q=G(0,0,0,0);function N(e,t,r,i,s){const o=t.renderSpatialReference,n=new Map,a={type:"polygon",rings:[[[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],spatialReference:r};a.rings[0][3]=a.rings[0][0];const l={indices:null,data:null,stride:0,startIndex:0,endIndex:0};let c,p;switch(e){case"intersects":c=(e,t,r)=>e.intersects(t,r)?P.KEEP:P.TEST,p=H;break;case"contains":c=(e,t,r)=>e.contains(t,r)?P.TEST:P.DISCARD,p=H;break;default:c=(e,t,r)=>e.disjoint(t,r)?P.TEST:P.DISCARD,p=Z}return{collection:i,object:s,type:e,maskSR:r,renderSR:o,aabbCache:n,triangle:a,positions:l,triangleTest:c,geometryTest:p}}function $(e,t,r){const i={type:"point",x:t[0],y:t[1],hasZ:!1,hasM:!1,spatialReference:r},s=!T(r)&&!D(r),n=Number.isNaN(t[3])?0:o(t[3],0,2*M.radius),a=s?e.buffer(i,n,1):e.geodesicBuffer(i,n,1);return a.type="polygon",a}function z(e,t,r,i){switch(i){case"intersects":case"contains":return H(e,t,r);case"disjoint":return Z(e,t,r)}}function H(e,t,r){return e.intersects(t,r)?e.contains(t,r)?P.KEEP:P.TEST:P.DISCARD}function Z(e,t,r){return e.intersects(t,r)?e.contains(t,r)?P.DISCARD:P.TEST:P.KEEP}function J(e,t,r,i){const{collection:s,object:o,renderSR:n,maskSR:a,geometryTest:l,aabbCache:c}=i;let p=c.get(r);if(!p){const e=s.getObjectTransform(o);s.getComponentAabb(o,r,Q);const t=[y(Q[0],Q[1],0),y(Q[0],Q[4],0),y(Q[3],Q[4],0),y(Q[3],Q[1],0)];for(let r=0;r<4;++r)m(t[r],t[r],e.rotationScale),d(t[r],t[r],e.position),v(t[r],n,t[r],a);p={type:"polygon",rings:[t],spatialReference:a,cache:{}},p.rings[0][4]=p.rings[0][0],c.set(r,p)}switch(l(e,t,p)){case P.DISCARD:return!1;case P.KEEP:return!0}const{triangle:u,triangleTest:g,positions:h}=i,j=u.rings[0][0],R=u.rings[0][1],S=u.rings[0][2],w=s.getObjectTransform(o);s.getComponentPositions(o,r,h);const{indices:E,data:b,stride:F,startIndex:I,endIndex:_}=h;for(let y=I;y<_;y+=3){const r=F*E[y],i=F*E[y+1],s=F*E[y+2];switch(f(j,b[r],b[r+1],b[r+2]),f(R,b[i],b[i+1],b[i+2]),f(S,b[s],b[s+1],b[s+2]),m(j,j,w.rotationScale),m(R,R,w.rotationScale),m(S,S,w.rotationScale),d(j,j,w.position),d(R,R,w.position),d(S,S,w.position),v(j,n,j,a),v(R,n,R,a),v(S,n,S,a),g(e,t,u)){case P.DISCARD:return!1;case P.KEEP:return!0}}return"intersects"!==i.type}const Q=b();export{O as I3SMeshViewFilter};
5
+ import{_ as e}from"../../../../chunks/tslib.es6.js";import t from"../../../../core/Accessor.js";import{indexOf as r,PositionHint as i}from"../../../../core/arrayUtils.js";import s from"../../../../core/Logger.js";import{clamp as o}from"../../../../core/mathUtils.js";import{unwrapUpdating as n,updating as a,isUpdating as l}from"../../../../core/maybeUpdating.js";import{whenOnce as c}from"../../../../core/reactiveUtils.js";import{getUnitString as p}from"../../../../core/unitUtils.js";import{property as u}from"../../../../core/accessorSupport/decorators/property.js";import"../../../../core/has.js";import{subclass as g}from"../../../../core/accessorSupport/decorators/subclass.js";import{o as m,f as d,i as f}from"../../../../chunks/vec32.js";import{fromValues as y}from"../../../../core/libs/gl-matrix-2/factories/vec3f64.js";import h from"../../../../core/sql/WhereClause.js";import{getReferenceEllipsoid as j}from"../../../../geometry/ellipsoidUtils.js";import{load as w,project as b}from"../../../../geometry/projectionUtils.js";import v from"../../../../geometry/SpatialReference.js";import{projectBoundingSphere as R}from"../../../../geometry/projection/projectBoundingSphere.js";import{projectVectorToVector as F}from"../../../../geometry/projection/projectVectorToVector.js";import{create as S}from"../../../../geometry/support/aaBoundingBox.js";import{fromValues as _,expandWithNestedArray as k,expand as M}from"../../../../geometry/support/aaBoundingRect.js";import{doubleArrayFrom as E}from"../../../../geometry/support/DoubleArray.js";import{earth as I}from"../../../../geometry/support/Ellipsoid.js";import{isWGS84 as G,isWebMercator as x}from"../../../../geometry/support/spatialReferenceUtils.js";import{f as L}from"../../../../chunks/sphere.js";import{project as O}from"../../../../geometry/support/webMercatorUtils.js";import B from"../../../../layers/support/FeatureFilter.js";import{objectIdFilter as U,filterInPlace as T}from"./I3SUtil.js";let C=class extends t{constructor(e){super(e),this._projectionEngineLoaded=!1}initialize(){c(()=>this.viewFilter?.geometry||null!=this.layerFilter).then(()=>this.loadAsyncModule(import("../../../../geometry/geometryEngine.js").then(e=>{this.destroyed||(this._geometryEngine=e)})))}get sortedObjectIds(){if(null==this.viewFilter?.objectIds)return null;const e=E(this.viewFilter.objectIds);return e.sort(),e}get parsedWhereClause(){const e=this.viewFilter?.where;if(null==e||!e)return null;try{return h.create(e,{fieldsIndex:this.layerFieldsIndex})}catch(t){s.getLogger(this).error(`Failed to parse filter where clause: ${t}`)}return null}addFilters(e,t,r,i){const o=this.sortedObjectIds;null!=o&&e.push(e=>U(o,!0,e)),this.addSqlFilter(e,this.parsedWhereClause),this.addTimeFilter(e,this.viewFilter?.timeExtent);const a=n(this._layerMaskGeometries),l=this._geometryEngine,c=()=>s.getLogger(this);if(null!=a&&null!=this.layerFilter&&null!=l){const s=this.layerFilter.spatialRelationship;e.push((e,o)=>N(c,l,e,o,i,t,r,a,s))}const p=n(this._viewMaskGeometries);if(null!=p&&null!=this.viewFilter&&null!=l){const s=this.viewFilter.spatialRelationship;e.push((e,o)=>N(c,l,e,o,i,t,r,p,s))}}isMBSGeometryVisible(e,t,r){const i=n(this._layerMaskGeometries),o=this._geometryEngine;if(null!=i&&null!=this.layerFilter&&null!=o){const n=this.layerFilter.spatialRelationship,a=i[0].spatialReference||t;if(!R(e,r,$,a))return s.getLogger(this).warnOnce("SceneLayer.mask geometry is using unsupported SpatialReference, skipping geometry filter for MBS"),!0;return q(o,$,i,a,n)}const a=n(this._viewMaskGeometries);if(null!=a&&null!=this.viewFilter&&null!=o){const i=this.viewFilter.spatialRelationship,n=a[0].spatialReference||t;if(!R(e,r,$,n))return s.getLogger(this).warnOnce("SceneLayerView.filter.geometry is using unsupported SpatialReference, skipping geometry filter for MBS"),!0;return q(o,$,a,n,i)}return!0}get parsedGeometry(){const e=n(this._viewMaskGeometries),t=n(this._layerMaskGeometries);return null==e||null==t?e||t:t.concat(e)}get _layerMaskGeometries(){const e=this.layerFilter;return null==e?null:null==this._geometryEngine?a:"disjoint"===e.spatialRelationship?e.geometries.map(e=>({type:"polygon",rings:e.rings,spatialReference:e.spatialReference,cache:{}})):[e.geometries.reduce((e,t)=>(e.rings=[...e.rings,...t.rings],e),{type:"polygon",rings:[],spatialReference:e.geometries[0].spatialReference,cache:{}})]}get _viewMaskGeometries(){if(null==this.viewFilter)return null;const{geometry:e}=this.viewFilter;if(null==e)return null;if(null==this.viewFilter||null==this._geometryEngine)return a;const{distance:t,units:r}=this.viewFilter,i=this.viewFilter.spatialRelationship,o="mesh"===e.type?e.extent:e;if(null==t||0===t)return A(this._geometryEngine,o,i);const n=r||p(o.spatialReference);if(o.spatialReference.isWGS84){const e=this._geometryEngine.geodesicBuffer(o,t,n);return A(this._geometryEngine,e,i)}const l=O(o,v.WGS84);if(null!=l){const e=O(this._geometryEngine.geodesicBuffer(l,t,n),o.spatialReference);return A(this._geometryEngine,e,i)}if(!this._projectionEngineLoaded&&(this.loadAsyncModule(w().then(()=>this._projectionEngineLoaded=!0)),!this._projectionEngineLoaded))return null;let c=null;try{c=b(o,v.WGS84)}catch(u){}if(c)try{c=b(this._geometryEngine.geodesicBuffer(c,t,n),o.spatialReference)}catch(u){c=null}return c||s.getLogger(this).error(`Filter by geodesic buffer (distance) unsupported, failed to project input geometry (${o.spatialReference.wkid}) to WGS84.`),A(this._geometryEngine,c,i)}get updating(){return l(this._layerMaskGeometries)||l(this._viewMaskGeometries)}static checkSupport(e){return null!=e&&(!!W(e.spatialRelationship)||(s.getLogger(this.prototype).warn(`Filters with spatialRelationship other than ${V.join(", ")} are not supported for mesh scene layers`),!1))}};e([u()],C.prototype,"layerFilter",void 0),e([u({type:B})],C.prototype,"viewFilter",void 0),e([u()],C.prototype,"layerFieldsIndex",void 0),e([u()],C.prototype,"loadAsyncModule",void 0),e([u()],C.prototype,"addSqlFilter",void 0),e([u()],C.prototype,"addTimeFilter",void 0),e([u({readOnly:!0})],C.prototype,"sortedObjectIds",null),e([u({readOnly:!0})],C.prototype,"parsedWhereClause",null),e([u({readOnly:!0})],C.prototype,"parsedGeometry",null),e([u({readOnly:!0})],C.prototype,"_layerMaskGeometries",null),e([u({readOnly:!0})],C.prototype,"_viewMaskGeometries",null),e([u()],C.prototype,"updating",null),e([u()],C.prototype,"_projectionEngineLoaded",void 0),e([u()],C.prototype,"_geometryEngine",void 0),C=e([g("esri.views.3d.layers.i3s.I3SMeshViewFilter")],C);const V=(e=>e)(["contains","intersects","disjoint"]);function W(e){return null!=e&&V.includes(e)}function A(e,t,s){if(null==t)return null;if("disjoint"===s&&"polygon"===t.type){const s=t.rings.length,o=t.spatialReference,n=new Array(s);for(let e=0;e<s;++e){const r=_(1/0,1/0,-1/0,-1/0);k(r,t.rings[e]),n[e]={type:"polygon",rings:[t.rings[e]],spatialReference:o,cache:{},aabr:r}}n.sort((e,t)=>e.aabr[0]-t.aabr[0]);const a=new Set,l=new i;for(let t=0;t<n.length;++t){const i=n[t],s=i.aabr[0];a.forEach(t=>{if(s>=t.aabr[2])return void a.delete(t);if(i.aabr[1]>t.aabr[3]||i.aabr[3]<t.aabr[1]||!e.intersects(i,t))return;i.rings=i.rings.concat(t.rings),M(i.aabr,t.aabr,i.aabr),i.cache={},a.delete(t);const o=r(n,t,n.length,l);n.splice(o,1)}),a.add(i)}for(const e of n)e.aabr=void 0;return n}return[t]}function q(e,t,r,i,s){if(t[3]>=.5*(t[2]+j(i).radius))return!0;const o=D(e,t,i);return r.every(t=>1!==H(e,t,o,s))}function N(e,t,r,i,s,o,n,a,l){const c=a[0].spatialReference||o.spatialReference;if(!R(i.node.serviceMbsInIndexSR,n,$,c))return void e().warnOnce("SceneLayerView.filter.geometry is using unsupported SpatialReference, skipping geometry filter");const p=D(t,$,c),u=z(l,o,c,s,i.objectHandle),g="intersects"===l;let m=null;for(const d of a){if(0===r.length)return;switch(H(t,d,p,l)){case 1:return g&&(i.weaklyRemovedIds=i.weaklyRemovedIds?.concat(r)??r.slice()),void(r.length=0);case 0:continue}T(r,i.featureIds,e=>!!J(t,d,e,u)||(g&&(m||=[],m.push(i.featureIds[e])),!1))}m&&(i.weaklyRemovedIds=i.weaklyRemovedIds?.concat(m)??m)}const $=L(0,0,0,0);function z(e,t,r,i,s){const o=t.renderSpatialReference,n=new Map,a={type:"polygon",rings:[[[0,0,0],[0,0,0],[0,0,0],[0,0,0]]],spatialReference:r};a.rings[0][3]=a.rings[0][0];const l={indices:null,data:null,stride:0,startIndex:0,endIndex:0};let c,p;switch(e){case"intersects":c=(e,t,r)=>e.intersects(t,r)?0:2,p=P;break;case"contains":c=(e,t,r)=>e.contains(t,r)?2:1,p=P;break;default:c=(e,t,r)=>e.disjoint(t,r)?2:1,p=Z}return{collection:i,object:s,type:e,maskSR:r,renderSR:o,aabbCache:n,triangle:a,positions:l,triangleTest:c,geometryTest:p}}function D(e,t,r){const i={type:"point",x:t[0],y:t[1],hasZ:!1,hasM:!1,spatialReference:r},s=!G(r)&&!x(r),n=Number.isNaN(t[3])?0:o(t[3],0,2*I.radius),a=s?e.buffer(i,n,1):e.geodesicBuffer(i,n,1);return a.type="polygon",a}function H(e,t,r,i){switch(i){case"intersects":case"contains":return P(e,t,r);case"disjoint":return Z(e,t,r)}}function P(e,t,r){return e.intersects(t,r)?e.contains(t,r)?0:2:1}function Z(e,t,r){return e.intersects(t,r)?e.contains(t,r)?1:2:0}function J(e,t,r,i){const{collection:s,object:o,renderSR:n,maskSR:a,geometryTest:l,aabbCache:c}=i;let p=c.get(r);if(!p){const e=s.getObjectTransform(o);s.getComponentAabb(o,r,K);const t=[y(K[0],K[1],0),y(K[0],K[4],0),y(K[3],K[4],0),y(K[3],K[1],0)];for(let r=0;r<4;++r)m(t[r],t[r],e.rotationScale),d(t[r],t[r],e.position),F(t[r],n,t[r],a);p={type:"polygon",rings:[t],spatialReference:a,cache:{}},p.rings[0][4]=p.rings[0][0],c.set(r,p)}switch(l(e,t,p)){case 1:return!1;case 0:return!0}const{triangle:u,triangleTest:g,positions:h}=i,j=u.rings[0][0],w=u.rings[0][1],b=u.rings[0][2],v=s.getObjectTransform(o);s.getComponentPositions(o,r,h);const{indices:R,data:S,stride:_,startIndex:k,endIndex:M}=h;for(let y=k;y<M;y+=3){const r=_*R[y],i=_*R[y+1],s=_*R[y+2];switch(f(j,S[r],S[r+1],S[r+2]),f(w,S[i],S[i+1],S[i+2]),f(b,S[s],S[s+1],S[s+2]),m(j,j,v.rotationScale),m(w,w,v.rotationScale),m(b,b,v.rotationScale),d(j,j,v.position),d(w,w,v.position),d(b,b,v.position),F(j,n,j,a),F(w,n,w,a),F(b,n,b,a),g(e,t,u)){case 1:return!1;case 0:return!0}}return"intersects"!==i.type}const K=S();export{C as I3SMeshViewFilter};
@@ -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{fromValues as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{f as i}from"../../../../chunks/sphere.js";import{invalidateMbs as n}from"./I3SUtil.js";import{ElevationRange as t}from"../../support/ElevationRange.js";class s extends t{constructor(e,n){super(NaN,NaN),this.id=e,this.serviceMbsInIndexSR=n,this.serviceMbsInRenderSR=i(0,0,0,-1)}invalidateServiceBVsInRenderSR(){n(this.serviceMbsInRenderSR),this.serviceObbInRenderSR?.invalidate()}shareServiceBVsInRenderSRWith(e){this.serviceObbInRenderSR=e.serviceObbInRenderSR,this.serviceMbsInRenderSR=e.serviceMbsInRenderSR}}var o,r,a,d,c;!function(e){e[e.Unmodified=0]="Unmodified",e[e.Culled=1]="Culled",e[e.NotChecked=2]="NotChecked"}(o||(o={})),function(e){e[e.Unmodified=0]="Unmodified",e[e.PotentiallyModified=1]="PotentiallyModified",e[e.Culled=2]="Culled",e[e.Unknown=3]="Unknown",e[e.NotChecked=4]="NotChecked"}(r||(r={}));class h extends s{constructor(i,n,t,s,o,d,c,h,l,u){super(i,t),this.index=n,this.childCount=s,this.level=o,this.resources=d,this.version=c,this.lodMetric=h,this.maxError=l,this.numFeatures=u,this.failed=!1,this.cacheState=a.Unknown,this.vertexCount=0,this.memory=0,this.childrenLoaded=0,this.hasModifications=!1,this.imModificationImpact=r.NotChecked,this.elevationAgnosticBoundingVolume=e(0,0,0,-1)}invalidateServiceBVsInRenderSR(){super.invalidateServiceBVsInRenderSR(),this.elevationAgnosticBoundingVolume[3]=-1}}!function(e){e[e.Unknown=0]="Unknown",e[e.Uncached=1]="Uncached",e[e.Cached=2]="Cached"}(a||(a={})),function(e){e[e.None=0]="None",e[e.MaxScreenThreshold=1]="MaxScreenThreshold",e[e.ScreenSpaceRelative=2]="ScreenSpaceRelative",e[e.RemovedFeatureDiameter=3]="RemovedFeatureDiameter",e[e.DistanceRangeFromDefaultCamera=4]="DistanceRangeFromDefaultCamera"}(d||(d={})),function(e){e[e.Hole=0]="Hole",e[e.Leaf=1]="Leaf"}(c||(c={}));class l{constructor(e,i,n,t){this.nodeHasLOD=e,this.isChosen=i,this.lodLevel=n,this.version=t}}export{a as CacheState,d as LodMetric,h as Node,s as NodeBase,o as NodeFilterImpact,r as NodeIMModificationImpact,c as NodeState,l as NodeTraversalState};
5
+ import{fromValues as e}from"../../../../core/libs/gl-matrix-2/factories/vec4f64.js";import{f as s}from"../../../../chunks/sphere.js";import{invalidateMbs as i}from"./I3SUtil.js";import{ElevationRange as t}from"../../support/ElevationRange.js";class r extends t{constructor(e,i){super(NaN,NaN),this.id=e,this.serviceMbsInIndexSR=i,this.serviceMbsInRenderSR=s(0,0,0,-1)}invalidateServiceBVsInRenderSR(){i(this.serviceMbsInRenderSR),this.serviceObbInRenderSR?.invalidate()}shareServiceBVsInRenderSRWith(e){this.serviceObbInRenderSR=e.serviceObbInRenderSR,this.serviceMbsInRenderSR=e.serviceMbsInRenderSR}}class n extends r{constructor(s,i,t,r,n,o,h,c,a,d){super(s,t),this.index=i,this.childCount=r,this.level=n,this.resources=o,this.version=h,this.lodMetric=c,this.maxError=a,this.numFeatures=d,this.failed=!1,this.cacheState=0,this.vertexCount=0,this.memory=0,this.childrenLoaded=0,this.hasModifications=!1,this.imModificationImpact=4,this.elevationAgnosticBoundingVolume=e(0,0,0,-1)}invalidateServiceBVsInRenderSR(){super.invalidateServiceBVsInRenderSR(),this.elevationAgnosticBoundingVolume[3]=-1}}class o{constructor(e,s,i,t){this.nodeHasLOD=e,this.isChosen=s,this.lodLevel=i,this.version=t}}export{n as Node,r as NodeBase,o as NodeTraversalState};
@@ -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{result as e,assertResult as t}from"../../../../core/asyncUtils.js";import has from"../../../../core/has.js";import{clone as r}from"../../../../core/lang.js";import{throwIfAbortError as i}from"../../../../core/promiseUtils.js";import{makeAbsolute as o}from"../../../../core/urlUtils.js";import{DocType as s}from"../../support/index.js";import{TextureEncoding as n}from"./enums.js";import{readBinaryAttribute as a,createGeometryDescriptor as u}from"./I3SBinaryReader.js";import{getMaterialAndTextures as l,getMaterialAndTexturesFromShared as f,selectEncoding as d}from"./I3SMaterialUtil.js";class c{constructor(e,t,r,i,o,s){if(this._streamDataController=t,this._logger=r,this._defaultGeometrySchema=i,this._requiredAttributes=o,this._options=s,this._logLayer=e,this._layerUrl=e.parsedUrl.path,this._geometryDefinitions=e.geometryDefinitions,e.materialDefinitions){const t=e.textureSetDefinitions;this._materialAndTextures=e.materialDefinitions.map(r=>l(t,r,"integrated-mesh"===e.type))}}_load(e,t,r){return this._streamDataController.request(e,t,r)}_loadAttribute(e,t,r){const i=`${this._layerUrl}/nodes/${e.resources.attributes}/attributes/${t.key}/0`;return this._load(i,s.BINARY,r).then(e=>a(t,e))}async loadAttributes(e,t,r){const o=await Promise.allSettled(t.map(t=>this._loadAttribute(e,t.attributeStorageInfo,r))),s={};for(let n=0;n<t.length;++n){const r=o[n],a=t[n];if("fulfilled"===r.status){const e=r.value;s[a.name]=e}else{const t=r.reason;i(t),this._logger.error("#loadAttributes",this._logLayer,`Failed to load attributeData for '${a.name}' on node '${e.id}'`,t)}}return s}async loadNodeData(r,i){const o=null!=this._requiredAttributes&&r.resources.attributes?e(this.loadAttributes(r,this._requiredAttributes,i)):null,{bufferDefinition:s,bufferIndex:n}=y(this._geometryDefinitions,r),a=!!r.resources.geometry,l=a?e(this._loadGeometry(r.resources.geometry,n,i)):null,d=r.resources.hasSharedResource?await this._loadShared(r,i):null,c=r.resources.materialDefinition,D=this._materialAndTextures&&null!=c&&c>=0?this._materialAndTextures[c]:null!=d?f(d):null,p=D?.material,x=D?.textures??[],b=`${r.id}`,A=!a&&this._options.loadFeatureData,$=A?await this._loadFeatureData(b,i):null,I=A?h($):m(p),T=null==I?g($):null,S=x.length>0?e(this.loadTextures(r,x,i)):null;let j=null,w=null;if(l){j=t(await l);const e=_(this._defaultGeometrySchema,d);w=u(s,e)}const U=S?t(await S):null,B=o?t(await o):{},q=B?{attributeData:B,loadedAttributes:this._requiredAttributes}:null;if(null!=I)return{geometryData:I,attributeDataInfo:q,geometryBuffer:j,geometryDescriptor:w,requiredTextures:x,textureData:U};if(null!=T)return{pointData:T,attributeDataInfo:q,geometryBuffer:j,geometryDescriptor:w,requiredTextures:x,textureData:U};throw new Error}static _addAbsoluteHrefTexture(e,t){const r=e.textureDefinitions;if(null!=r)for(const i of Object.keys(r))for(const e of r[i].images)Array.isArray(e.href)?e.hrefConcat=e.href.map(e=>o(e,t)):e.hrefConcat=o(e.href,t)}static _fixTextureEncodings(e){const t=e.textureDefinitions;if(null!=t)for(const r in t){const e=t[r];if(Array.isArray(e.encoding))for(let t=0;t<e.encoding.length;t++){const r=e.encoding[t];"data:"===r.slice(0,5)&&(e.encoding[t]=r.slice(5))}else{const t=e.encoding;"data:"===t.slice(0,5)&&(e.encoding=t.slice(5))}}}async _loadShared(e,t){if(null==e.resources.geometry)return{};const r=`${this._layerUrl}/nodes/${e.resources.geometry}/shared`,i=await this._load(r,s.JSON,t);return c._fixTextureEncodings(i),c._addAbsoluteHrefTexture(i,r),i}_loadTexture(e,t,r,i,o){return i===n.DDS_S3TC||i===n.KTX2||i===n.Basis?this._load(e,s.BINARY,o).then(e=>({id:t,usage:r,data:e,encoding:i})):this._load(e,s.IMAGE,o).then(e=>({id:t,usage:r,data:e,encoding:i}))}loadTextures(e,t,r){const i=this._options.textureUsageMask;return Promise.all(t.map(t=>{if(0===(t.usage&i))return null;const o=d(t.encodings,this._options.textureEncodings);if(null==o)return this._logger.error("#loadTextures",this._logLayer,`No known encoding for texture found on node ${e.id}`),Promise.reject();const s=e.resources.texture||e.id,n=`${this._layerUrl}/nodes/${s}/textures/${o.name}`;return this._loadTexture(n,t.id,t.usage,o.encoding,r)}))}_loadFeatureData(e,t){const r=`${this._layerUrl}/nodes/${e}/features/0`;return this._load(r,s.JSON,t)}_loadGeometry(e,t,r){const i=`${this._layerUrl}/nodes/${e}/geometries/${t}`;return this._load(i,s.BINARY,r)}}function m(e){return{featureIds:[],geometries:[{type:"ArrayBufferView",params:{material:e}}],featureDataPosition:[0,0,0]}}function h(e){if(!e)return null;for(const t of e.featureData){const e=t.geometries;if(null!=e)for(const r of e)return{featureIds:[t.id],featureDataPosition:t.position,geometries:[r]}}return null}function g(e){if(!e)return null;const t=new Array;for(const r of e.featureData)null!=r.position&&t.push({featureIds:[r.id],featureDataPosition:r.position,geometries:[]});return t}function _(e,t){if(!e||!t?.materialDefinitions)return e;const i=Object.keys(t.materialDefinitions)[0];return!t.materialDefinitions[i].params.vertexRegions&&e.vertexAttributes.region&&delete(e=r(e)).vertexAttributes.region,e}function y(e,t){const r={bufferDefinition:null,bufferIndex:0},i=t.resources.geometryDefinition;if(null==e||null==i||i<0)return r;const o=i>=0?e[i].geometryBuffers:null;if(null==o)return r;for(let s=0;s<o.length;s++){const e=o[s];if(null==e.compressedAttributes)r.bufferIndex=s,r.bufferDefinition=o[s];else if("draco"===e.compressedAttributes.encoding&&!has("disable-feature:i3s-draco"))return r.bufferIndex=s,r.bufferDefinition=e,r}return r}export{c as default};
5
+ import{result as e,assertResult as t}from"../../../../core/asyncUtils.js";import has from"../../../../core/has.js";import{clone as r}from"../../../../core/lang.js";import{throwIfAbortError as i}from"../../../../core/promiseUtils.js";import{makeAbsolute as o}from"../../../../core/urlUtils.js";import{readBinaryAttribute as n,createGeometryDescriptor as s}from"./I3SBinaryReader.js";import{getMaterialAndTextures as a,getMaterialAndTexturesFromShared as u,selectEncoding as l}from"./I3SMaterialUtil.js";class f{constructor(e,t,r,i,o,n){if(this._streamDataController=t,this._logger=r,this._defaultGeometrySchema=i,this._requiredAttributes=o,this._options=n,this._logLayer=e,this._layerUrl=e.parsedUrl.path,this._geometryDefinitions=e.geometryDefinitions,e.materialDefinitions){const t=e.textureSetDefinitions;this._materialAndTextures=e.materialDefinitions.map(r=>a(t,r,"integrated-mesh"===e.type))}}_load(e,t,r){return this._streamDataController.request(e,t,r)}_loadAttribute(e,t,r){const i=`${this._layerUrl}/nodes/${e.resources.attributes}/attributes/${t.key}/0`;return this._load(i,1,r).then(e=>n(t,e))}async loadAttributes(e,t,r){const o=await Promise.allSettled(t.map(t=>this._loadAttribute(e,t.attributeStorageInfo,r))),n={};for(let s=0;s<t.length;++s){const r=o[s],a=t[s];if("fulfilled"===r.status){const e=r.value;n[a.name]=e}else{const t=r.reason;i(t),this._logger.error("#loadAttributes",this._logLayer,`Failed to load attributeData for '${a.name}' on node '${e.id}'`,t)}}return n}async loadNodeData(r,i){const o=null!=this._requiredAttributes&&r.resources.attributes?e(this.loadAttributes(r,this._requiredAttributes,i)):null,{bufferDefinition:n,bufferIndex:a}=g(this._geometryDefinitions,r),l=!!r.resources.geometry,f=l?e(this._loadGeometry(r.resources.geometry,a,i)):null,_=r.resources.hasSharedResource?await this._loadShared(r,i):null,y=r.resources.materialDefinition,D=this._materialAndTextures&&null!=y&&y>=0?this._materialAndTextures[y]:null!=_?u(_):null,b=D?.material,x=D?.textures??[],p=`${r.id}`,A=!l&&this._options.loadFeatureData,$=A?await this._loadFeatureData(p,i):null,T=A?c($):d(b),w=null==T?m($):null,I=x.length>0?e(this.loadTextures(r,x,i)):null;let U=null,j=null;if(f){U=t(await f);const e=h(this._defaultGeometrySchema,_);j=s(n,e)}const S=I?t(await I):null,q=o?t(await o):{},P=q?{attributeData:q,loadedAttributes:this._requiredAttributes}:null;if(null!=T)return{geometryData:T,attributeDataInfo:P,geometryBuffer:U,geometryDescriptor:j,requiredTextures:x,textureData:S};if(null!=w)return{pointData:w,attributeDataInfo:P,geometryBuffer:U,geometryDescriptor:j,requiredTextures:x,textureData:S};throw new Error}static _addAbsoluteHrefTexture(e,t){const r=e.textureDefinitions;if(null!=r)for(const i of Object.keys(r))for(const e of r[i].images)Array.isArray(e.href)?e.hrefConcat=e.href.map(e=>o(e,t)):e.hrefConcat=o(e.href,t)}static _fixTextureEncodings(e){const t=e.textureDefinitions;if(null!=t)for(const r in t){const e=t[r];if(Array.isArray(e.encoding))for(let t=0;t<e.encoding.length;t++){const r=e.encoding[t];"data:"===r.slice(0,5)&&(e.encoding[t]=r.slice(5))}else{const t=e.encoding;"data:"===t.slice(0,5)&&(e.encoding=t.slice(5))}}}async _loadShared(e,t){if(null==e.resources.geometry)return{};const r=`${this._layerUrl}/nodes/${e.resources.geometry}/shared`,i=await this._load(r,0,t);return f._fixTextureEncodings(i),f._addAbsoluteHrefTexture(i,r),i}_loadTexture(e,t,r,i,o){return 4===i||1===i||2===i?this._load(e,1,o).then(e=>({id:t,usage:r,data:e,encoding:i})):this._load(e,2,o).then(e=>({id:t,usage:r,data:e,encoding:i}))}loadTextures(e,t,r){const i=this._options.textureUsageMask;return Promise.all(t.map(t=>{if(0===(t.usage&i))return null;const o=l(t.encodings,this._options.textureEncodings);if(null==o)return this._logger.error("#loadTextures",this._logLayer,`No known encoding for texture found on node ${e.id}`),Promise.reject();const n=e.resources.texture||e.id,s=`${this._layerUrl}/nodes/${n}/textures/${o.name}`;return this._loadTexture(s,t.id,t.usage,o.encoding,r)}))}_loadFeatureData(e,t){const r=`${this._layerUrl}/nodes/${e}/features/0`;return this._load(r,0,t)}_loadGeometry(e,t,r){const i=`${this._layerUrl}/nodes/${e}/geometries/${t}`;return this._load(i,1,r)}}function d(e){return{featureIds:[],geometries:[{type:"ArrayBufferView",params:{material:e}}],featureDataPosition:[0,0,0]}}function c(e){if(!e)return null;for(const t of e.featureData){const e=t.geometries;if(null!=e)for(const r of e)return{featureIds:[t.id],featureDataPosition:t.position,geometries:[r]}}return null}function m(e){if(!e)return null;const t=new Array;for(const r of e.featureData)null!=r.position&&t.push({featureIds:[r.id],featureDataPosition:r.position,geometries:[]});return t}function h(e,t){if(!e||!t?.materialDefinitions)return e;const i=Object.keys(t.materialDefinitions)[0];return!t.materialDefinitions[i].params.vertexRegions&&e.vertexAttributes.region&&delete(e=r(e)).vertexAttributes.region,e}function g(e,t){const r={bufferDefinition:null,bufferIndex:0},i=t.resources.geometryDefinition;if(null==e||null==i||i<0)return r;const o=i>=0?e[i].geometryBuffers:null;if(null==o)return r;for(let n=0;n<o.length;n++){const e=o[n];if(null==e.compressedAttributes)r.bufferIndex=n,r.bufferDefinition=o[n];else if("draco"===e.compressedAttributes.encoding&&!has("disable-feature:i3s-draco"))return r.bufferIndex=n,r.bufferDefinition=e,r}return r}export{f as default};