@cesium/engine 2.0.0 → 2.2.0

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 (828) hide show
  1. package/Build/Workers/{ArcType-ce2e50ab.js → ArcType-2d9abbbc.js} +4 -4
  2. package/Build/Workers/{AttributeCompression-b646d393.js → AttributeCompression-8a5a065e.js} +24 -24
  3. package/Build/Workers/{AxisAlignedBoundingBox-47525601.js → AxisAlignedBoundingBox-379015ef.js} +3 -3
  4. package/Build/Workers/{BoundingRectangle-93b263ac.js → BoundingRectangle-57f2b24f.js} +18 -18
  5. package/Build/Workers/{BoxGeometry-8c4b4125.js → BoxGeometry-ecabfc78.js} +9 -9
  6. package/Build/Workers/{Check-666ab1a0.js → Check-6ede7e26.js} +22 -22
  7. package/Build/Workers/{Color-52c60ed7.js → Color-14d1a36d.js} +59 -59
  8. package/Build/Workers/{ComponentDatatype-f7b11d02.js → ComponentDatatype-cf1fa08e.js} +16 -16
  9. package/Build/Workers/{CoplanarPolygonGeometryLibrary-33c4c1f8.js → CoplanarPolygonGeometryLibrary-048c3c14.js} +1 -1
  10. package/Build/Workers/{CorridorGeometryLibrary-5039cd8e.js → CorridorGeometryLibrary-520c8619.js} +1 -1
  11. package/Build/Workers/{CylinderGeometry-3ac44974.js → CylinderGeometry-119068b8.js} +12 -12
  12. package/Build/Workers/{CylinderGeometryLibrary-372c07d8.js → CylinderGeometryLibrary-135b0858.js} +1 -1
  13. package/Build/Workers/{EllipseGeometry-a9c9b3be.js → EllipseGeometry-2dfc3523.js} +20 -20
  14. package/Build/Workers/{EllipseGeometryLibrary-855d4681.js → EllipseGeometryLibrary-0a1e0170.js} +1 -1
  15. package/Build/Workers/{EllipseOutlineGeometry-017a5929.js → EllipseOutlineGeometry-c5251669.js} +15 -15
  16. package/Build/Workers/{EllipsoidGeodesic-98c62a56.js → EllipsoidGeodesic-dcff5cbd.js} +6 -6
  17. package/Build/Workers/{EllipsoidGeometry-826e7bce.js → EllipsoidGeometry-d10a5221.js} +14 -14
  18. package/Build/Workers/{EllipsoidOutlineGeometry-784dcdb5.js → EllipsoidOutlineGeometry-7039a0ae.js} +15 -15
  19. package/Build/Workers/{EllipsoidRhumbLine-19756602.js → EllipsoidRhumbLine-b672d507.js} +9 -9
  20. package/Build/Workers/{EllipsoidTangentPlane-ed9443a1.js → EllipsoidTangentPlane-857186be.js} +1 -1
  21. package/Build/Workers/{EncodedCartesian3-81f70735.js → EncodedCartesian3-e8bbca36.js} +6 -6
  22. package/Build/Workers/{FrustumGeometry-9f1ee4d8.js → FrustumGeometry-400fa1b7.js} +109 -109
  23. package/Build/Workers/{GeometryAttribute-334718f8.js → GeometryAttribute-7a2de5c6.js} +20 -20
  24. package/Build/Workers/{GeometryAttributes-f06a2792.js → GeometryAttributes-ad136444.js} +1 -1
  25. package/Build/Workers/{GeometryInstance-451dc1cd.js → GeometryInstance-3fb607b7.js} +6 -6
  26. package/Build/Workers/{GeometryPipeline-8fb0db69.js → GeometryPipeline-916636fa.js} +22 -22
  27. package/Build/Workers/{IndexDatatype-a55ceaa1.js → IndexDatatype-b8f3e09d.js} +13 -13
  28. package/Build/Workers/{IntersectionTests-27d49265.js → IntersectionTests-b4d02d4d.js} +37 -37
  29. package/Build/Workers/{Math-2dbd6b93.js → Math-dad82b4d.js} +137 -137
  30. package/Build/Workers/{Matrix2-13178034.js → Matrix2-1e403d0e.js} +256 -256
  31. package/Build/Workers/{Matrix3-315394f6.js → Matrix3-fa806b97.js} +150 -150
  32. package/Build/Workers/{OrientedBoundingBox-79ee7cbb.js → OrientedBoundingBox-96fe1752.js} +19 -17
  33. package/Build/Workers/{Plane-900aa728.js → Plane-c27e1ac6.js} +5 -5
  34. package/Build/Workers/{PolygonGeometryLibrary-6b5a29e9.js → PolygonGeometryLibrary-931f1ec6.js} +6 -6
  35. package/Build/Workers/{PolygonPipeline-21668b3f.js → PolygonPipeline-32fc92cc.js} +14 -14
  36. package/Build/Workers/{PolylinePipeline-5e2e1b21.js → PolylinePipeline-6d5c63e5.js} +16 -16
  37. package/Build/Workers/{PolylineVolumeGeometryLibrary-97f0b94e.js → PolylineVolumeGeometryLibrary-f068c1fb.js} +7 -7
  38. package/Build/Workers/{PrimitivePipeline-5640850a.js → PrimitivePipeline-879f996a.js} +6 -6
  39. package/Build/Workers/{RectangleGeometryLibrary-d5457f7b.js → RectangleGeometryLibrary-2d6f36f3.js} +1 -1
  40. package/Build/Workers/{RuntimeError-06c93819.js → RuntimeError-ef395448.js} +5 -5
  41. package/Build/Workers/{TerrainEncoding-bfdf2021.js → TerrainEncoding-82882059.js} +30 -30
  42. package/Build/Workers/{Transforms-a05e5e6e.js → Transforms-9052372a.js} +531 -530
  43. package/Build/Workers/{VertexFormat-6b480673.js → VertexFormat-030f11ff.js} +14 -14
  44. package/Build/Workers/{WallGeometryLibrary-6db0ebb6.js → WallGeometryLibrary-db7a64fb.js} +1 -1
  45. package/Build/Workers/{WebGLConstants-a8cc3e8c.js → WebGLConstants-0b1ce7ba.js} +1 -1
  46. package/Build/Workers/{WebMercatorProjection-13a90d41.js → WebMercatorProjection-76a3fcc0.js} +6 -6
  47. package/Build/Workers/{arrayRemoveDuplicates-c2038105.js → arrayRemoveDuplicates-fac118a8.js} +5 -5
  48. package/Build/Workers/cesiumWorkerBootstrapper.js +5 -5
  49. package/Build/Workers/{combine-ca22a614.js → combine-d9581036.js} +5 -5
  50. package/Build/Workers/combineGeometry.js +1 -1
  51. package/Build/Workers/createBoxGeometry.js +1 -1
  52. package/Build/Workers/createBoxOutlineGeometry.js +9 -9
  53. package/Build/Workers/createCircleGeometry.js +13 -13
  54. package/Build/Workers/createCircleOutlineGeometry.js +13 -13
  55. package/Build/Workers/createCoplanarPolygonGeometry.js +11 -11
  56. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +9 -9
  57. package/Build/Workers/createCorridorGeometry.js +14 -14
  58. package/Build/Workers/createCorridorOutlineGeometry.js +12 -12
  59. package/Build/Workers/createCylinderGeometry.js +1 -1
  60. package/Build/Workers/createCylinderOutlineGeometry.js +13 -13
  61. package/Build/Workers/createEllipseGeometry.js +1 -1
  62. package/Build/Workers/createEllipseOutlineGeometry.js +1 -1
  63. package/Build/Workers/createEllipsoidGeometry.js +1 -1
  64. package/Build/Workers/createEllipsoidOutlineGeometry.js +1 -1
  65. package/Build/Workers/createFrustumGeometry.js +1 -1
  66. package/Build/Workers/createFrustumOutlineGeometry.js +8 -8
  67. package/Build/Workers/createGeometry.js +1 -1
  68. package/Build/Workers/createGroundPolylineGeometry.js +33 -33
  69. package/Build/Workers/createPlaneGeometry.js +8 -8
  70. package/Build/Workers/createPlaneOutlineGeometry.js +6 -6
  71. package/Build/Workers/createPolygonGeometry.js +25 -25
  72. package/Build/Workers/createPolygonOutlineGeometry.js +17 -17
  73. package/Build/Workers/createPolylineGeometry.js +11 -11
  74. package/Build/Workers/createPolylineVolumeGeometry.js +9 -9
  75. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +9 -9
  76. package/Build/Workers/createRectangleGeometry.js +16 -16
  77. package/Build/Workers/createRectangleOutlineGeometry.js +12 -12
  78. package/Build/Workers/createSimplePolylineGeometry.js +10 -10
  79. package/Build/Workers/createSphereGeometry.js +11 -11
  80. package/Build/Workers/createSphereOutlineGeometry.js +12 -12
  81. package/Build/Workers/createTaskProcessorWorker.js +2 -2
  82. package/Build/Workers/createVectorTileClampedPolylines.js +1 -1
  83. package/Build/Workers/createVectorTileGeometries.js +8 -8
  84. package/Build/Workers/createVectorTilePoints.js +1 -1
  85. package/Build/Workers/createVectorTilePolygons.js +1 -1
  86. package/Build/Workers/createVectorTilePolylines.js +1 -1
  87. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -1
  88. package/Build/Workers/createVerticesFromHeightmap.js +23 -21
  89. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +33 -38
  90. package/Build/Workers/createWallGeometry.js +14 -14
  91. package/Build/Workers/createWallOutlineGeometry.js +14 -14
  92. package/Build/Workers/decodeDraco.js +1 -1
  93. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +15 -15
  94. package/Build/Workers/decodeI3S.js +1 -1
  95. package/Build/Workers/{defaultValue-0a909f67.js → defaultValue-fe22d8c0.js} +2 -2
  96. package/Build/Workers/package.js +1 -1
  97. package/Build/Workers/transcodeKTX2.js +26 -26
  98. package/Build/Workers/transferTypedArrayTest.js +1 -1
  99. package/Build/Workers/upsampleQuantizedTerrainMesh.js +24 -24
  100. package/Source/Core/ApproximateTerrainHeights.js +3 -3
  101. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +308 -208
  102. package/Source/Core/ArcType.js +4 -4
  103. package/Source/Core/ArticulationStageType.js +1 -1
  104. package/Source/Core/AssociativeArray.js +7 -7
  105. package/Source/Core/AttributeCompression.js +12 -12
  106. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  107. package/Source/Core/BingMapsGeocoderService.js +6 -6
  108. package/Source/Core/BoundingRectangle.js +17 -17
  109. package/Source/Core/BoundingSphere.js +25 -25
  110. package/Source/Core/BoxGeometry.js +8 -8
  111. package/Source/Core/BoxOutlineGeometry.js +8 -8
  112. package/Source/Core/Cartesian2.js +38 -38
  113. package/Source/Core/Cartesian3.js +50 -50
  114. package/Source/Core/Cartesian4.js +44 -44
  115. package/Source/Core/Cartographic.js +19 -19
  116. package/Source/Core/CartographicGeocoderService.js +1 -1
  117. package/Source/Core/CatmullRomSpline.js +10 -10
  118. package/Source/Core/CesiumTerrainProvider.js +598 -461
  119. package/Source/Core/Check.js +17 -17
  120. package/Source/Core/CircleGeometry.js +12 -12
  121. package/Source/Core/CircleOutlineGeometry.js +12 -12
  122. package/Source/Core/Clock.js +7 -7
  123. package/Source/Core/ClockRange.js +4 -4
  124. package/Source/Core/ClockStep.js +4 -4
  125. package/Source/Core/Color.js +58 -58
  126. package/Source/Core/ColorGeometryInstanceAttribute.js +7 -7
  127. package/Source/Core/ComponentDatatype.js +15 -15
  128. package/Source/Core/CompressedTextureBuffer.js +7 -7
  129. package/Source/Core/ConstantSpline.js +9 -9
  130. package/Source/Core/CoplanarPolygonGeometry.js +10 -10
  131. package/Source/Core/CoplanarPolygonOutlineGeometry.js +8 -8
  132. package/Source/Core/CornerType.js +4 -4
  133. package/Source/Core/CorridorGeometry.js +13 -13
  134. package/Source/Core/CorridorOutlineGeometry.js +11 -11
  135. package/Source/Core/Credit.js +7 -7
  136. package/Source/Core/CubicRealPolynomial.js +10 -10
  137. package/Source/Core/CullingVolume.js +7 -7
  138. package/Source/Core/CustomHeightmapTerrainProvider.js +40 -28
  139. package/Source/Core/CylinderGeometry.js +11 -11
  140. package/Source/Core/CylinderOutlineGeometry.js +12 -12
  141. package/Source/Core/DefaultProxy.js +3 -3
  142. package/Source/Core/DeveloperError.js +4 -4
  143. package/Source/Core/DistanceDisplayCondition.js +12 -12
  144. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +5 -5
  145. package/Source/Core/DoubleEndedPriorityQueue.js +5 -5
  146. package/Source/Core/EarthOrientationParameters.js +6 -6
  147. package/Source/Core/EarthOrientationParametersSample.js +10 -10
  148. package/Source/Core/EasingFunction.js +2 -2
  149. package/Source/Core/EllipseGeometry.js +19 -19
  150. package/Source/Core/EllipseOutlineGeometry.js +14 -14
  151. package/Source/Core/Ellipsoid.js +20 -20
  152. package/Source/Core/EllipsoidGeodesic.js +5 -5
  153. package/Source/Core/EllipsoidGeometry.js +13 -13
  154. package/Source/Core/EllipsoidOutlineGeometry.js +14 -14
  155. package/Source/Core/EllipsoidRhumbLine.js +8 -8
  156. package/Source/Core/EllipsoidTerrainProvider.js +35 -28
  157. package/Source/Core/EllipsoidalOccluder.js +9 -9
  158. package/Source/Core/EncodedCartesian3.js +5 -5
  159. package/Source/Core/Event.js +4 -4
  160. package/Source/Core/EventHelper.js +1 -1
  161. package/Source/Core/ExtrapolationType.js +4 -4
  162. package/Source/Core/FeatureDetection.js +9 -9
  163. package/Source/Core/FrustumGeometry.js +8 -8
  164. package/Source/Core/FrustumOutlineGeometry.js +7 -7
  165. package/Source/Core/Fullscreen.js +8 -8
  166. package/Source/Core/GeocodeType.js +3 -3
  167. package/Source/Core/GeocoderService.js +3 -3
  168. package/Source/Core/GeographicTilingScheme.js +16 -16
  169. package/Source/Core/Geometry.js +5 -5
  170. package/Source/Core/GeometryAttribute.js +6 -6
  171. package/Source/Core/GeometryInstance.js +5 -5
  172. package/Source/Core/GeometryInstanceAttribute.js +7 -7
  173. package/Source/Core/GeometryPipeline.js +11 -11
  174. package/Source/Core/GoogleEarthEnterpriseMetadata.js +107 -55
  175. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +29 -29
  176. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +137 -100
  177. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +14 -14
  178. package/Source/Core/GregorianDate.js +16 -16
  179. package/Source/Core/GroundPolylineGeometry.js +13 -13
  180. package/Source/Core/HeadingPitchRange.js +6 -6
  181. package/Source/Core/HeadingPitchRoll.js +18 -18
  182. package/Source/Core/Heap.js +7 -7
  183. package/Source/Core/HeightmapEncoding.js +3 -3
  184. package/Source/Core/HeightmapTerrainData.js +44 -44
  185. package/Source/Core/HeightmapTessellator.js +16 -16
  186. package/Source/Core/HermitePolynomialApproximation.js +17 -17
  187. package/Source/Core/HermiteSpline.js +17 -17
  188. package/Source/Core/HilbertOrder.js +7 -7
  189. package/Source/Core/Iau2006XysData.js +13 -13
  190. package/Source/Core/Iau2006XysSample.js +6 -6
  191. package/Source/Core/IauOrientationParameters.js +4 -4
  192. package/Source/Core/IndexDatatype.js +12 -12
  193. package/Source/Core/InterpolationAlgorithm.js +17 -17
  194. package/Source/Core/InterpolationType.js +1 -1
  195. package/Source/Core/Intersect.js +4 -4
  196. package/Source/Core/IntersectionTests.js +5 -5
  197. package/Source/Core/Intersections2D.js +23 -23
  198. package/Source/Core/Interval.js +4 -4
  199. package/Source/Core/Ion.js +3 -3
  200. package/Source/Core/IonGeocoderService.js +4 -4
  201. package/Source/Core/IonResource.js +20 -9
  202. package/Source/Core/JulianDate.js +27 -27
  203. package/Source/Core/KeyboardEventModifier.js +4 -4
  204. package/Source/Core/LagrangePolynomialApproximation.js +8 -8
  205. package/Source/Core/LeapSecond.js +2 -2
  206. package/Source/Core/LinearApproximation.js +8 -8
  207. package/Source/Core/LinearSpline.js +13 -13
  208. package/Source/Core/ManagedArray.js +8 -8
  209. package/Source/Core/Math.js +136 -136
  210. package/Source/Core/Matrix2.js +44 -44
  211. package/Source/Core/Matrix3.js +59 -59
  212. package/Source/Core/Matrix4.js +91 -91
  213. package/Source/Core/MorphWeightSpline.js +14 -14
  214. package/Source/Core/MortonOrder.js +21 -21
  215. package/Source/Core/NearFarScalar.js +16 -16
  216. package/Source/Core/Occluder.js +5 -5
  217. package/Source/Core/OffsetGeometryInstanceAttribute.js +5 -5
  218. package/Source/Core/OpenCageGeocoderService.js +18 -18
  219. package/Source/Core/OrientedBoundingBox.js +18 -16
  220. package/Source/Core/OrthographicFrustum.js +23 -23
  221. package/Source/Core/OrthographicOffCenterFrustum.js +21 -21
  222. package/Source/Core/Packable.js +7 -7
  223. package/Source/Core/PackableForInterpolation.js +11 -11
  224. package/Source/Core/PeliasGeocoderService.js +2 -2
  225. package/Source/Core/PerspectiveFrustum.js +28 -28
  226. package/Source/Core/PerspectiveOffCenterFrustum.js +21 -21
  227. package/Source/Core/PinBuilder.js +9 -9
  228. package/Source/Core/PixelFormat.js +23 -23
  229. package/Source/Core/Plane.js +4 -4
  230. package/Source/Core/PlaneGeometry.js +7 -7
  231. package/Source/Core/PlaneOutlineGeometry.js +5 -5
  232. package/Source/Core/PolygonGeometry.js +24 -24
  233. package/Source/Core/PolygonGeometryLibrary.js +4 -4
  234. package/Source/Core/PolygonOutlineGeometry.js +16 -16
  235. package/Source/Core/PolygonPipeline.js +10 -10
  236. package/Source/Core/PolylineGeometry.js +10 -10
  237. package/Source/Core/PolylinePipeline.js +15 -15
  238. package/Source/Core/PolylineVolumeGeometry.js +8 -8
  239. package/Source/Core/PolylineVolumeOutlineGeometry.js +8 -8
  240. package/Source/Core/PrimitiveType.js +8 -8
  241. package/Source/Core/Proxy.js +2 -2
  242. package/Source/Core/QuadraticRealPolynomial.js +8 -8
  243. package/Source/Core/QuantizedMeshTerrainData.js +37 -37
  244. package/Source/Core/QuarticRealPolynomial.js +12 -12
  245. package/Source/Core/Quaternion.js +42 -42
  246. package/Source/Core/QuaternionSpline.js +10 -10
  247. package/Source/Core/Queue.js +2 -2
  248. package/Source/Core/Ray.js +1 -1
  249. package/Source/Core/Rectangle.js +38 -38
  250. package/Source/Core/RectangleCollisionChecker.js +3 -3
  251. package/Source/Core/RectangleGeometry.js +15 -15
  252. package/Source/Core/RectangleOutlineGeometry.js +11 -11
  253. package/Source/Core/ReferenceFrame.js +3 -3
  254. package/Source/Core/Request.js +13 -13
  255. package/Source/Core/RequestErrorEvent.js +7 -7
  256. package/Source/Core/RequestScheduler.js +15 -15
  257. package/Source/Core/RequestState.js +7 -7
  258. package/Source/Core/RequestType.js +5 -5
  259. package/Source/Core/Resource.js +225 -225
  260. package/Source/Core/RuntimeError.js +4 -4
  261. package/Source/Core/S2Cell.js +15 -15
  262. package/Source/Core/ScreenSpaceEventHandler.js +7 -7
  263. package/Source/Core/ScreenSpaceEventType.js +16 -16
  264. package/Source/Core/ShowGeometryInstanceAttribute.js +4 -4
  265. package/Source/Core/SimplePolylineGeometry.js +9 -9
  266. package/Source/Core/SphereGeometry.js +10 -10
  267. package/Source/Core/SphereOutlineGeometry.js +11 -11
  268. package/Source/Core/Spherical.js +13 -13
  269. package/Source/Core/Spline.js +14 -14
  270. package/Source/Core/SteppedSpline.js +14 -14
  271. package/Source/Core/TaskProcessor.js +10 -10
  272. package/Source/Core/TerrainData.js +25 -25
  273. package/Source/Core/TerrainEncoding.js +14 -14
  274. package/Source/Core/TerrainExaggeration.js +3 -3
  275. package/Source/Core/TerrainMesh.js +18 -18
  276. package/Source/Core/TerrainProvider.js +32 -37
  277. package/Source/Core/TerrainQuantization.js +3 -3
  278. package/Source/Core/TileAvailability.js +16 -16
  279. package/Source/Core/TileProviderError.js +19 -19
  280. package/Source/Core/TilingScheme.js +13 -13
  281. package/Source/Core/TimeConstants.js +10 -10
  282. package/Source/Core/TimeInterval.js +23 -23
  283. package/Source/Core/TimeIntervalCollection.js +39 -39
  284. package/Source/Core/TimeStandard.js +3 -3
  285. package/Source/Core/Tipsify.js +10 -10
  286. package/Source/Core/Transforms.js +2 -2
  287. package/Source/Core/TranslationRotationScale.js +1 -1
  288. package/Source/Core/TridiagonalSystemSolver.js +3 -3
  289. package/Source/Core/TrustedServers.js +5 -5
  290. package/Source/Core/VRTheWorldTerrainProvider.js +210 -141
  291. package/Source/Core/VertexFormat.js +13 -13
  292. package/Source/Core/VideoSynchronizer.js +4 -4
  293. package/Source/Core/Visibility.js +4 -4
  294. package/Source/Core/VulkanConstants.js +1 -1
  295. package/Source/Core/WallGeometry.js +13 -13
  296. package/Source/Core/WallOutlineGeometry.js +13 -13
  297. package/Source/Core/WebGLConstants.js +1 -1
  298. package/Source/Core/WebMercatorProjection.js +5 -5
  299. package/Source/Core/WebMercatorTilingScheme.js +16 -16
  300. package/Source/Core/WindingOrder.js +3 -3
  301. package/Source/Core/WireframeIndexGenerator.js +3 -3
  302. package/Source/Core/arrayRemoveDuplicates.js +4 -4
  303. package/Source/Core/binarySearch.js +2 -2
  304. package/Source/Core/buildModuleUrl.js +8 -7
  305. package/Source/Core/clone.js +3 -3
  306. package/Source/Core/combine.js +4 -4
  307. package/Source/Core/createGuid.js +1 -1
  308. package/Source/Core/createWorldTerrain.js +23 -5
  309. package/Source/Core/createWorldTerrainAsync.js +48 -0
  310. package/Source/Core/defaultValue.js +1 -1
  311. package/Source/Core/defer.js +1 -1
  312. package/Source/Core/defined.js +1 -1
  313. package/Source/Core/deprecationWarning.js +2 -2
  314. package/Source/Core/destroyObject.js +2 -2
  315. package/Source/Core/formatError.js +1 -1
  316. package/Source/Core/getAbsoluteUri.js +3 -3
  317. package/Source/Core/getBaseUri.js +3 -3
  318. package/Source/Core/getExtensionFromUri.js +2 -2
  319. package/Source/Core/getFilenameFromUri.js +2 -2
  320. package/Source/Core/getImageFromTypedArray.js +2 -2
  321. package/Source/Core/getImagePixels.js +4 -3
  322. package/Source/Core/getJsonFromTypedArray.js +3 -3
  323. package/Source/Core/getStringFromTypedArray.js +3 -3
  324. package/Source/Core/getTimestamp.js +1 -1
  325. package/Source/Core/isBlobUri.js +2 -2
  326. package/Source/Core/isDataUri.js +2 -2
  327. package/Source/Core/isLeapYear.js +2 -2
  328. package/Source/Core/loadKTX2.js +8 -8
  329. package/Source/Core/mergeSort.js +1 -1
  330. package/Source/Core/objectToQuery.js +2 -2
  331. package/Source/Core/oneTimeWarning.js +2 -2
  332. package/Source/Core/parseResponseHeaders.js +2 -2
  333. package/Source/Core/pointInsideTriangle.js +1 -1
  334. package/Source/Core/queryToObject.js +2 -2
  335. package/Source/Core/sampleTerrain.js +16 -17
  336. package/Source/Core/sampleTerrainMostDetailed.js +67 -73
  337. package/Source/Core/scaleToGeodeticSurface.js +1 -1
  338. package/Source/Core/subdivideArray.js +1 -1
  339. package/Source/Core/writeTextToCanvas.js +10 -9
  340. package/Source/DataSources/BillboardGraphics.js +1 -1
  341. package/Source/DataSources/BillboardVisualizer.js +2 -2
  342. package/Source/DataSources/BoundingSphereState.js +1 -1
  343. package/Source/DataSources/BoxGraphics.js +1 -1
  344. package/Source/DataSources/CallbackProperty.js +8 -8
  345. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  346. package/Source/DataSources/Cesium3DTilesetVisualizer.js +39 -28
  347. package/Source/DataSources/CheckerboardMaterialProperty.js +6 -6
  348. package/Source/DataSources/ColorMaterialProperty.js +5 -5
  349. package/Source/DataSources/CompositeEntityCollection.js +8 -8
  350. package/Source/DataSources/CompositeMaterialProperty.js +5 -5
  351. package/Source/DataSources/CompositePositionProperty.js +2 -2
  352. package/Source/DataSources/CompositeProperty.js +4 -4
  353. package/Source/DataSources/ConstantPositionProperty.js +4 -4
  354. package/Source/DataSources/ConstantProperty.js +5 -5
  355. package/Source/DataSources/CorridorGraphics.js +1 -1
  356. package/Source/DataSources/CustomDataSource.js +5 -5
  357. package/Source/DataSources/CylinderGraphics.js +1 -1
  358. package/Source/DataSources/CzmlDataSource.js +26 -26
  359. package/Source/DataSources/DataSource.js +4 -4
  360. package/Source/DataSources/DataSourceClock.js +2 -2
  361. package/Source/DataSources/DataSourceCollection.js +11 -11
  362. package/Source/DataSources/DataSourceDisplay.js +5 -5
  363. package/Source/DataSources/DynamicGeometryUpdater.js +1 -1
  364. package/Source/DataSources/EllipseGraphics.js +1 -1
  365. package/Source/DataSources/EllipsoidGeometryUpdater.js +2 -2
  366. package/Source/DataSources/EllipsoidGraphics.js +1 -1
  367. package/Source/DataSources/Entity.js +20 -15
  368. package/Source/DataSources/EntityCluster.js +16 -16
  369. package/Source/DataSources/EntityCollection.js +8 -8
  370. package/Source/DataSources/GeoJsonDataSource.js +27 -27
  371. package/Source/DataSources/GeometryUpdater.js +22 -22
  372. package/Source/DataSources/GeometryVisualizer.js +2 -2
  373. package/Source/DataSources/GpxDataSource.js +23 -23
  374. package/Source/DataSources/GridMaterialProperty.js +7 -7
  375. package/Source/DataSources/GroundGeometryUpdater.js +5 -5
  376. package/Source/DataSources/ImageMaterialProperty.js +8 -8
  377. package/Source/DataSources/KmlDataSource.js +32 -32
  378. package/Source/DataSources/KmlTour.js +7 -7
  379. package/Source/DataSources/KmlTourFlyTo.js +6 -6
  380. package/Source/DataSources/KmlTourWait.js +2 -2
  381. package/Source/DataSources/LabelGraphics.js +1 -1
  382. package/Source/DataSources/LabelVisualizer.js +2 -2
  383. package/Source/DataSources/MaterialProperty.js +5 -5
  384. package/Source/DataSources/ModelGraphics.js +3 -3
  385. package/Source/DataSources/ModelVisualizer.js +101 -33
  386. package/Source/DataSources/NodeTransformationProperty.js +3 -3
  387. package/Source/DataSources/PathGraphics.js +1 -1
  388. package/Source/DataSources/PathVisualizer.js +2 -2
  389. package/Source/DataSources/PlaneGraphics.js +1 -1
  390. package/Source/DataSources/PointGraphics.js +1 -1
  391. package/Source/DataSources/PointVisualizer.js +2 -2
  392. package/Source/DataSources/PolygonGraphics.js +4 -4
  393. package/Source/DataSources/PolylineArrowMaterialProperty.js +5 -5
  394. package/Source/DataSources/PolylineDashMaterialProperty.js +8 -8
  395. package/Source/DataSources/PolylineGeometryUpdater.js +13 -13
  396. package/Source/DataSources/PolylineGlowMaterialProperty.js +8 -8
  397. package/Source/DataSources/PolylineGraphics.js +2 -2
  398. package/Source/DataSources/PolylineOutlineMaterialProperty.js +7 -7
  399. package/Source/DataSources/PolylineVisualizer.js +2 -2
  400. package/Source/DataSources/PolylineVolumeGraphics.js +3 -3
  401. package/Source/DataSources/PositionProperty.js +2 -2
  402. package/Source/DataSources/PositionPropertyArray.js +2 -2
  403. package/Source/DataSources/Property.js +4 -4
  404. package/Source/DataSources/PropertyArray.js +2 -2
  405. package/Source/DataSources/PropertyBag.js +10 -10
  406. package/Source/DataSources/RectangleGraphics.js +1 -1
  407. package/Source/DataSources/ReferenceProperty.js +10 -10
  408. package/Source/DataSources/Rotation.js +14 -14
  409. package/Source/DataSources/SampledPositionProperty.js +11 -11
  410. package/Source/DataSources/SampledProperty.js +12 -12
  411. package/Source/DataSources/StripeMaterialProperty.js +8 -8
  412. package/Source/DataSources/StripeOrientation.js +3 -3
  413. package/Source/DataSources/TerrainOffsetProperty.js +1 -1
  414. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +3 -3
  415. package/Source/DataSources/TimeIntervalCollectionProperty.js +4 -4
  416. package/Source/DataSources/VelocityOrientationProperty.js +2 -2
  417. package/Source/DataSources/VelocityVectorProperty.js +4 -4
  418. package/Source/DataSources/Visualizer.js +2 -2
  419. package/Source/DataSources/WallGraphics.js +4 -4
  420. package/Source/DataSources/exportKml.js +9 -9
  421. package/Source/Renderer/Buffer.js +4 -4
  422. package/Source/Renderer/ClearCommand.js +3 -3
  423. package/Source/Renderer/ComputeCommand.js +3 -3
  424. package/Source/Renderer/Context.js +46 -46
  425. package/Source/Renderer/ContextLimits.js +22 -22
  426. package/Source/Renderer/CubeMapFace.js +11 -11
  427. package/Source/Renderer/DrawCommand.js +15 -15
  428. package/Source/Renderer/Framebuffer.js +4 -4
  429. package/Source/Renderer/FramebufferManager.js +9 -9
  430. package/Source/Renderer/MultisampleFramebuffer.js +1 -1
  431. package/Source/Renderer/PassState.js +2 -2
  432. package/Source/Renderer/PixelDatatype.js +1 -1
  433. package/Source/Renderer/RenderState.js +1 -1
  434. package/Source/Renderer/ShaderBuilder.js +24 -24
  435. package/Source/Renderer/ShaderCache.js +8 -8
  436. package/Source/Renderer/ShaderDestination.js +2 -2
  437. package/Source/Renderer/ShaderFunction.js +3 -3
  438. package/Source/Renderer/ShaderSource.js +8 -8
  439. package/Source/Renderer/ShaderStruct.js +4 -4
  440. package/Source/Renderer/Texture.js +18 -18
  441. package/Source/Renderer/TextureMagnificationFilter.js +4 -4
  442. package/Source/Renderer/TextureMinificationFilter.js +8 -8
  443. package/Source/Renderer/UniformState.js +14 -14
  444. package/Source/Renderer/VertexArray.js +2 -2
  445. package/Source/Renderer/createUniform.js +12 -12
  446. package/Source/Renderer/createUniformArray.js +12 -12
  447. package/Source/Renderer/freezeRenderState.js +2 -2
  448. package/Source/Renderer/loadCubeMap.js +3 -3
  449. package/Source/Scene/AlphaMode.js +4 -4
  450. package/Source/Scene/Appearance.js +14 -14
  451. package/Source/Scene/ArcGisMapServerImageryProvider.js +585 -409
  452. package/Source/Scene/AttributeType.js +11 -11
  453. package/Source/Scene/AutoExposure.js +6 -6
  454. package/Source/Scene/Axis.js +6 -6
  455. package/Source/Scene/B3dmParser.js +2 -2
  456. package/Source/Scene/BatchTable.js +13 -13
  457. package/Source/Scene/BatchTableHierarchy.js +22 -22
  458. package/Source/Scene/BatchTexture.js +14 -14
  459. package/Source/Scene/Billboard.js +17 -17
  460. package/Source/Scene/BillboardCollection.js +13 -13
  461. package/Source/Scene/BingMapsImageryProvider.js +541 -335
  462. package/Source/Scene/BingMapsStyle.js +11 -11
  463. package/Source/Scene/BlendEquation.js +6 -6
  464. package/Source/Scene/BlendFunction.js +16 -16
  465. package/Source/Scene/BlendOption.js +4 -4
  466. package/Source/Scene/BlendingState.js +4 -4
  467. package/Source/Scene/BufferLoader.js +33 -38
  468. package/Source/Scene/Camera.js +57 -57
  469. package/Source/Scene/CameraEventAggregator.js +26 -16
  470. package/Source/Scene/CameraEventType.js +6 -6
  471. package/Source/Scene/Cesium3DContentGroup.js +1 -1
  472. package/Source/Scene/Cesium3DTile.js +409 -272
  473. package/Source/Scene/Cesium3DTileBatchTable.js +3 -3
  474. package/Source/Scene/Cesium3DTileColorBlendMode.js +4 -4
  475. package/Source/Scene/Cesium3DTileContent.js +31 -15
  476. package/Source/Scene/Cesium3DTileContentFactory.js +4 -4
  477. package/Source/Scene/Cesium3DTileContentType.js +17 -17
  478. package/Source/Scene/Cesium3DTileFeature.js +16 -16
  479. package/Source/Scene/Cesium3DTileOptimizationHint.js +1 -1
  480. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  481. package/Source/Scene/Cesium3DTilePass.js +8 -11
  482. package/Source/Scene/Cesium3DTilePassState.js +1 -1
  483. package/Source/Scene/Cesium3DTilePointFeature.js +23 -23
  484. package/Source/Scene/Cesium3DTileRefine.js +3 -3
  485. package/Source/Scene/Cesium3DTileStyle.js +17 -17
  486. package/Source/Scene/Cesium3DTileStyleEngine.js +1 -1
  487. package/Source/Scene/Cesium3DTilesVoxelProvider.js +226 -118
  488. package/Source/Scene/Cesium3DTileset.js +817 -543
  489. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +301 -0
  490. package/Source/Scene/Cesium3DTilesetHeatmap.js +4 -4
  491. package/Source/Scene/Cesium3DTilesetMetadata.js +5 -5
  492. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +33 -46
  493. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +421 -0
  494. package/Source/Scene/Cesium3DTilesetTraversal.js +219 -671
  495. package/Source/Scene/CircleEmitter.js +2 -2
  496. package/Source/Scene/ClassificationPrimitive.js +32 -25
  497. package/Source/Scene/ClassificationType.js +4 -4
  498. package/Source/Scene/ClippingPlane.js +2 -2
  499. package/Source/Scene/ClippingPlaneCollection.js +17 -17
  500. package/Source/Scene/CloudCollection.js +16 -16
  501. package/Source/Scene/CloudType.js +3 -3
  502. package/Source/Scene/ColorBlendMode.js +1 -1
  503. package/Source/Scene/Composite3DTileContent.js +69 -26
  504. package/Source/Scene/ConditionsExpression.js +11 -11
  505. package/Source/Scene/ConeEmitter.js +2 -2
  506. package/Source/Scene/ContentMetadata.js +16 -16
  507. package/Source/Scene/CreditDisplay.js +22 -6
  508. package/Source/Scene/CullFace.js +4 -4
  509. package/Source/Scene/CumulusCloud.js +3 -3
  510. package/Source/Scene/DebugAppearance.js +17 -17
  511. package/Source/Scene/DebugCameraPrimitive.js +7 -7
  512. package/Source/Scene/DebugModelMatrixPrimitive.js +9 -9
  513. package/Source/Scene/DepthFunction.js +9 -9
  514. package/Source/Scene/DepthPlane.js +1 -1
  515. package/Source/Scene/DeviceOrientationCameraController.js +1 -1
  516. package/Source/Scene/DirectionalLight.js +3 -3
  517. package/Source/Scene/DiscardEmptyTileImagePolicy.js +2 -2
  518. package/Source/Scene/DiscardMissingTileImagePolicy.js +5 -5
  519. package/Source/Scene/DracoLoader.js +4 -4
  520. package/Source/Scene/EllipsoidPrimitive.js +8 -8
  521. package/Source/Scene/EllipsoidSurfaceAppearance.js +19 -19
  522. package/Source/Scene/Empty3DTileContent.js +31 -1
  523. package/Source/Scene/Expression.js +14 -14
  524. package/Source/Scene/Fog.js +5 -5
  525. package/Source/Scene/FrameRateMonitor.js +14 -14
  526. package/Source/Scene/FrameState.js +36 -36
  527. package/Source/Scene/FrustumCommands.js +2 -2
  528. package/Source/Scene/Geometry3DTileContent.js +47 -7
  529. package/Source/Scene/GetFeatureInfoFormat.js +2 -2
  530. package/Source/Scene/Globe.js +39 -35
  531. package/Source/Scene/GlobeSurfaceTile.js +3 -2
  532. package/Source/Scene/GlobeSurfaceTileProvider.js +56 -33
  533. package/Source/Scene/GlobeTranslucency.js +3 -3
  534. package/Source/Scene/GltfBufferViewLoader.js +52 -96
  535. package/Source/Scene/GltfDracoLoader.js +117 -119
  536. package/Source/Scene/GltfImageLoader.js +77 -84
  537. package/Source/Scene/GltfIndexBufferLoader.js +118 -131
  538. package/Source/Scene/GltfJsonLoader.js +81 -80
  539. package/Source/Scene/GltfLoader.js +413 -301
  540. package/Source/Scene/GltfLoaderUtil.js +11 -11
  541. package/Source/Scene/GltfPipeline/addBuffer.js +2 -2
  542. package/Source/Scene/GltfPipeline/addDefaults.js +2 -2
  543. package/Source/Scene/GltfPipeline/addExtensionsRequired.js +2 -2
  544. package/Source/Scene/GltfPipeline/addExtensionsUsed.js +2 -2
  545. package/Source/Scene/GltfPipeline/addPipelineExtras.js +2 -2
  546. package/Source/Scene/GltfPipeline/addToArray.js +2 -2
  547. package/Source/Scene/GltfPipeline/findAccessorMinMax.js +2 -2
  548. package/Source/Scene/GltfPipeline/forEachTextureInMaterial.js +3 -3
  549. package/Source/Scene/GltfPipeline/getAccessorByteStride.js +3 -3
  550. package/Source/Scene/GltfPipeline/getComponentReader.js +5 -5
  551. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -2
  552. package/Source/Scene/GltfPipeline/moveTechniquesToExtension.js +2 -2
  553. package/Source/Scene/GltfPipeline/numberOfComponentsForType.js +2 -2
  554. package/Source/Scene/GltfPipeline/parseGlb.js +1 -1
  555. package/Source/Scene/GltfPipeline/readAccessorPacked.js +2 -2
  556. package/Source/Scene/GltfPipeline/removeExtension.js +2 -2
  557. package/Source/Scene/GltfPipeline/removeExtensionsRequired.js +2 -2
  558. package/Source/Scene/GltfPipeline/removeExtensionsUsed.js +2 -2
  559. package/Source/Scene/GltfPipeline/removePipelineExtras.js +2 -2
  560. package/Source/Scene/GltfPipeline/removeUnusedElements.js +2 -2
  561. package/Source/Scene/GltfPipeline/updateAccessorComponentTypes.js +2 -2
  562. package/Source/Scene/GltfPipeline/updateVersion.js +4 -4
  563. package/Source/Scene/GltfPipeline/usesExtension.js +3 -3
  564. package/Source/Scene/GltfStructuralMetadataLoader.js +117 -118
  565. package/Source/Scene/GltfTextureLoader.js +104 -103
  566. package/Source/Scene/GltfVertexBufferLoader.js +140 -145
  567. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +377 -249
  568. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +520 -360
  569. package/Source/Scene/GridImageryProvider.js +292 -129
  570. package/Source/Scene/GroundPolylinePrimitive.js +32 -21
  571. package/Source/Scene/GroundPrimitive.js +34 -27
  572. package/Source/Scene/GroupMetadata.js +17 -17
  573. package/Source/Scene/HeightReference.js +4 -4
  574. package/Source/Scene/HorizontalOrigin.js +4 -4
  575. package/Source/Scene/I3SDataProvider.js +221 -120
  576. package/Source/Scene/I3SFeature.js +8 -7
  577. package/Source/Scene/I3SField.js +5 -5
  578. package/Source/Scene/I3SGeometry.js +8 -8
  579. package/Source/Scene/I3SLayer.js +33 -44
  580. package/Source/Scene/I3SNode.js +65 -72
  581. package/Source/Scene/I3dmParser.js +2 -2
  582. package/Source/Scene/ImageBasedLighting.js +21 -17
  583. package/Source/Scene/Imagery.js +6 -1
  584. package/Source/Scene/ImageryLayer.js +324 -73
  585. package/Source/Scene/ImageryLayerCollection.js +37 -11
  586. package/Source/Scene/ImageryLayerFeatureInfo.js +6 -6
  587. package/Source/Scene/ImageryProvider.js +151 -133
  588. package/Source/Scene/Implicit3DTileContent.js +128 -79
  589. package/Source/Scene/ImplicitAvailabilityBitstream.js +10 -10
  590. package/Source/Scene/ImplicitMetadataView.js +16 -16
  591. package/Source/Scene/ImplicitSubdivisionScheme.js +4 -4
  592. package/Source/Scene/ImplicitSubtree.js +113 -92
  593. package/Source/Scene/ImplicitSubtreeCache.js +6 -6
  594. package/Source/Scene/ImplicitSubtreeMetadata.js +16 -16
  595. package/Source/Scene/ImplicitTileCoordinates.js +27 -27
  596. package/Source/Scene/ImplicitTileset.js +10 -10
  597. package/Source/Scene/InstanceAttributeSemantic.js +5 -5
  598. package/Source/Scene/IonImageryProvider.js +493 -286
  599. package/Source/Scene/IonWorldImageryStyle.js +4 -4
  600. package/Source/Scene/JsonMetadataTable.js +11 -11
  601. package/Source/Scene/KeyframeNode.js +1 -1
  602. package/Source/Scene/Label.js +14 -14
  603. package/Source/Scene/LabelCollection.js +12 -11
  604. package/Source/Scene/LabelStyle.js +4 -4
  605. package/Source/Scene/Light.js +1 -1
  606. package/Source/Scene/MapMode2D.js +3 -3
  607. package/Source/Scene/MapboxImageryProvider.js +301 -141
  608. package/Source/Scene/MapboxStyleImageryProvider.js +301 -142
  609. package/Source/Scene/Material.js +47 -47
  610. package/Source/Scene/MaterialAppearance.js +21 -21
  611. package/Source/Scene/Megatexture.js +15 -15
  612. package/Source/Scene/MetadataClass.js +16 -16
  613. package/Source/Scene/MetadataClassProperty.js +41 -41
  614. package/Source/Scene/MetadataComponentType.js +21 -21
  615. package/Source/Scene/MetadataEntity.js +31 -31
  616. package/Source/Scene/MetadataEnum.js +14 -14
  617. package/Source/Scene/MetadataEnumValue.js +10 -10
  618. package/Source/Scene/MetadataSchema.js +16 -16
  619. package/Source/Scene/MetadataSchemaLoader.js +31 -41
  620. package/Source/Scene/MetadataSemantic.js +17 -17
  621. package/Source/Scene/MetadataTable.js +24 -24
  622. package/Source/Scene/MetadataTableProperty.js +9 -9
  623. package/Source/Scene/MetadataType.js +15 -15
  624. package/Source/Scene/Model/B3dmLoader.js +54 -58
  625. package/Source/Scene/Model/ClassificationModelDrawCommand.js +3 -3
  626. package/Source/Scene/Model/CustomShader.js +18 -18
  627. package/Source/Scene/Model/CustomShaderMode.js +4 -4
  628. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +4 -4
  629. package/Source/Scene/Model/GeoJsonLoader.js +12 -36
  630. package/Source/Scene/Model/I3dmLoader.js +58 -84
  631. package/Source/Scene/Model/LightingModel.js +3 -3
  632. package/Source/Scene/Model/MaterialPipelineStage.js +6 -6
  633. package/Source/Scene/Model/MetadataPipelineStage.js +25 -26
  634. package/Source/Scene/Model/Model.js +531 -193
  635. package/Source/Scene/Model/Model3DTileContent.js +83 -31
  636. package/Source/Scene/Model/ModelAlphaOptions.js +1 -1
  637. package/Source/Scene/Model/ModelAnimation.js +11 -11
  638. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  639. package/Source/Scene/Model/ModelAnimationCollection.js +21 -21
  640. package/Source/Scene/Model/ModelArticulation.js +4 -4
  641. package/Source/Scene/Model/ModelArticulationStage.js +5 -5
  642. package/Source/Scene/Model/ModelDrawCommand.js +18 -29
  643. package/Source/Scene/Model/ModelFeature.js +12 -12
  644. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  645. package/Source/Scene/Model/ModelLightingOptions.js +1 -1
  646. package/Source/Scene/Model/ModelNode.js +3 -3
  647. package/Source/Scene/Model/ModelRenderResources.js +4 -4
  648. package/Source/Scene/Model/ModelRuntimeNode.js +7 -7
  649. package/Source/Scene/Model/ModelRuntimePrimitive.js +3 -3
  650. package/Source/Scene/Model/ModelSceneGraph.js +11 -11
  651. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +1 -1
  652. package/Source/Scene/Model/ModelSkin.js +1 -1
  653. package/Source/Scene/Model/ModelStatistics.js +7 -7
  654. package/Source/Scene/Model/ModelType.js +8 -8
  655. package/Source/Scene/Model/ModelUtility.js +26 -26
  656. package/Source/Scene/Model/NodeRenderResources.js +7 -7
  657. package/Source/Scene/Model/PntsLoader.js +32 -37
  658. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -1
  659. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +28 -28
  660. package/Source/Scene/Model/PrimitiveRenderResources.js +10 -10
  661. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  662. package/Source/Scene/Model/TextureManager.js +3 -3
  663. package/Source/Scene/Model/TextureUniform.js +6 -6
  664. package/Source/Scene/Model/UniformType.js +17 -17
  665. package/Source/Scene/Model/VaryingType.js +8 -8
  666. package/Source/Scene/ModelAnimationLoop.js +4 -4
  667. package/Source/Scene/ModelComponents.js +61 -61
  668. package/Source/Scene/Moon.js +8 -8
  669. package/Source/Scene/Multiple3DTileContent.js +146 -127
  670. package/Source/Scene/NeverTileDiscardPolicy.js +2 -2
  671. package/Source/Scene/OIT.js +9 -9
  672. package/Source/Scene/OctahedralProjectedCubeMap.js +28 -39
  673. package/Source/Scene/OpenStreetMapImageryProvider.js +6 -6
  674. package/Source/Scene/OrderedGroundPrimitiveCollection.js +9 -9
  675. package/Source/Scene/Particle.js +13 -13
  676. package/Source/Scene/ParticleBurst.js +8 -8
  677. package/Source/Scene/ParticleSystem.js +41 -36
  678. package/Source/Scene/PerInstanceColorAppearance.js +18 -18
  679. package/Source/Scene/PerformanceDisplay.js +2 -2
  680. package/Source/Scene/PntsParser.js +1 -1
  681. package/Source/Scene/PointCloud.js +11 -19
  682. package/Source/Scene/PointCloudEyeDomeLighting.js +1 -1
  683. package/Source/Scene/PointCloudShading.js +20 -20
  684. package/Source/Scene/PointPrimitive.js +6 -6
  685. package/Source/Scene/PointPrimitiveCollection.js +11 -11
  686. package/Source/Scene/Polyline.js +9 -9
  687. package/Source/Scene/PolylineCollection.js +11 -11
  688. package/Source/Scene/PolylineColorAppearance.js +13 -13
  689. package/Source/Scene/PolylineMaterialAppearance.js +13 -13
  690. package/Source/Scene/PostProcessStage.js +15 -15
  691. package/Source/Scene/PostProcessStageCollection.js +10 -10
  692. package/Source/Scene/PostProcessStageComposite.js +13 -13
  693. package/Source/Scene/PostProcessStageLibrary.js +8 -8
  694. package/Source/Scene/PostProcessStageSampleMode.js +3 -3
  695. package/Source/Scene/PostProcessStageTextureCache.js +4 -4
  696. package/Source/Scene/Primitive.js +50 -30
  697. package/Source/Scene/PrimitiveCollection.js +20 -20
  698. package/Source/Scene/PrimitiveLoadPlan.js +6 -6
  699. package/Source/Scene/PropertyAttribute.js +9 -9
  700. package/Source/Scene/PropertyAttributeProperty.js +6 -6
  701. package/Source/Scene/PropertyTable.js +34 -34
  702. package/Source/Scene/PropertyTexture.js +9 -9
  703. package/Source/Scene/PropertyTextureProperty.js +8 -8
  704. package/Source/Scene/QuadtreePrimitive.js +11 -9
  705. package/Source/Scene/QuadtreeTile.js +11 -11
  706. package/Source/Scene/QuadtreeTileLoadState.js +1 -1
  707. package/Source/Scene/QuadtreeTileProvider.js +10 -14
  708. package/Source/Scene/ResourceCache.js +85 -143
  709. package/Source/Scene/ResourceCacheKey.js +42 -42
  710. package/Source/Scene/ResourceCacheStatistics.js +26 -60
  711. package/Source/Scene/ResourceLoader.js +9 -21
  712. package/Source/Scene/ResourceLoaderState.js +16 -8
  713. package/Source/Scene/SDFSettings.js +4 -4
  714. package/Source/Scene/Scene.js +153 -88
  715. package/Source/Scene/SceneMode.js +6 -6
  716. package/Source/Scene/SceneTransitioner.js +1 -1
  717. package/Source/Scene/ScreenSpaceCameraController.js +41 -23
  718. package/Source/Scene/ShadowMap.js +22 -22
  719. package/Source/Scene/ShadowMapShader.js +1 -1
  720. package/Source/Scene/ShadowMode.js +5 -5
  721. package/Source/Scene/ShadowVolumeAppearance.js +17 -17
  722. package/Source/Scene/SingleTileImageryProvider.js +403 -230
  723. package/Source/Scene/SkyAtmosphere.js +10 -10
  724. package/Source/Scene/SkyBox.js +6 -6
  725. package/Source/Scene/SpatialNode.js +103 -87
  726. package/Source/Scene/SphereEmitter.js +2 -2
  727. package/Source/Scene/SplitDirection.js +4 -4
  728. package/Source/Scene/Splitter.js +2 -2
  729. package/Source/Scene/StencilFunction.js +9 -9
  730. package/Source/Scene/StencilOperation.js +9 -9
  731. package/Source/Scene/StructuralMetadata.js +11 -11
  732. package/Source/Scene/StyleExpression.js +8 -8
  733. package/Source/Scene/Sun.js +3 -3
  734. package/Source/Scene/SunLight.js +3 -3
  735. package/Source/Scene/SupportedImageFormats.js +3 -3
  736. package/Source/Scene/Terrain.js +196 -0
  737. package/Source/Scene/TextureAtlas.js +16 -16
  738. package/Source/Scene/TileBoundingRegion.js +6 -6
  739. package/Source/Scene/TileBoundingS2Cell.js +6 -6
  740. package/Source/Scene/TileBoundingSphere.js +5 -5
  741. package/Source/Scene/TileBoundingVolume.js +2 -2
  742. package/Source/Scene/TileCoordinatesImageryProvider.js +289 -126
  743. package/Source/Scene/TileDiscardPolicy.js +2 -2
  744. package/Source/Scene/TileImagery.js +3 -3
  745. package/Source/Scene/TileMapServiceImageryProvider.js +185 -93
  746. package/Source/Scene/TileMetadata.js +16 -16
  747. package/Source/Scene/TileOrientedBoundingBox.js +2 -2
  748. package/Source/Scene/TileReplacementQueue.js +1 -1
  749. package/Source/Scene/TileSelectionResult.js +1 -1
  750. package/Source/Scene/Tileset3DTileContent.js +47 -5
  751. package/Source/Scene/TilesetMetadata.js +15 -15
  752. package/Source/Scene/TimeDynamicImagery.js +8 -8
  753. package/Source/Scene/TimeDynamicPointCloud.js +24 -11
  754. package/Source/Scene/Tonemapper.js +5 -5
  755. package/Source/Scene/TranslucentTileClassification.js +1 -1
  756. package/Source/Scene/TweenCollection.js +31 -31
  757. package/Source/Scene/UrlTemplateImageryProvider.js +380 -252
  758. package/Source/Scene/Vector3DTileBatch.js +7 -7
  759. package/Source/Scene/Vector3DTileClampedPolylines.js +105 -93
  760. package/Source/Scene/Vector3DTileContent.js +47 -22
  761. package/Source/Scene/Vector3DTileGeometry.js +65 -60
  762. package/Source/Scene/Vector3DTilePoints.js +79 -75
  763. package/Source/Scene/Vector3DTilePolygons.js +128 -127
  764. package/Source/Scene/Vector3DTilePolylines.js +95 -91
  765. package/Source/Scene/Vector3DTilePrimitive.js +8 -9
  766. package/Source/Scene/VertexAttributeSemantic.js +15 -15
  767. package/Source/Scene/VerticalOrigin.js +5 -5
  768. package/Source/Scene/ViewportQuad.js +2 -2
  769. package/Source/Scene/VoxelBoxShape.js +27 -118
  770. package/Source/Scene/VoxelContent.js +63 -65
  771. package/Source/Scene/VoxelCylinderShape.js +21 -21
  772. package/Source/Scene/VoxelEllipsoidShape.js +13 -13
  773. package/Source/Scene/VoxelPrimitive.js +83 -135
  774. package/Source/Scene/VoxelProvider.js +15 -15
  775. package/Source/Scene/VoxelRenderResources.js +6 -3
  776. package/Source/Scene/VoxelShape.js +9 -9
  777. package/Source/Scene/VoxelShapeType.js +4 -4
  778. package/Source/Scene/VoxelTraversal.js +86 -144
  779. package/Source/Scene/WebMapServiceImageryProvider.js +313 -152
  780. package/Source/Scene/WebMapTileServiceImageryProvider.js +305 -142
  781. package/Source/Scene/buildVoxelDrawCommands.js +1 -0
  782. package/Source/Scene/computeFlyToLocationForRectangle.js +33 -37
  783. package/Source/Scene/createBillboardPointCallback.js +5 -5
  784. package/Source/Scene/createElevationBandMaterial.js +5 -5
  785. package/Source/Scene/createOsmBuildings.js +9 -3
  786. package/Source/Scene/createOsmBuildingsAsync.js +82 -0
  787. package/Source/Scene/createTangentSpaceDebugPrimitive.js +2 -2
  788. package/Source/Scene/createWorldImagery.js +15 -6
  789. package/Source/Scene/createWorldImageryAsync.js +39 -0
  790. package/Source/Scene/findContentMetadata.js +1 -1
  791. package/Source/Scene/findGroupMetadata.js +1 -1
  792. package/Source/Scene/findTileMetadata.js +1 -1
  793. package/Source/Scene/getClipAndStyleCode.js +4 -4
  794. package/Source/Scene/getClippingFunction.js +1 -1
  795. package/Source/Scene/hasExtension.js +3 -3
  796. package/Source/Scene/parseBatchTable.js +14 -14
  797. package/Source/Scene/parseBoundingVolumeSemantics.js +7 -7
  798. package/Source/Scene/parseFeatureMetadataLegacy.js +4 -4
  799. package/Source/Scene/parseStructuralMetadata.js +4 -4
  800. package/Source/Scene/preprocess3DTileContent.js +2 -2
  801. package/Source/Scene/processVoxelProperties.js +8 -7
  802. package/Source/Shaders/Voxels/IntersectBox.glsl +52 -58
  803. package/Source/Shaders/Voxels/IntersectBox.js +52 -58
  804. package/Source/Shaders/Voxels/IntersectClippingPlanes.glsl +38 -30
  805. package/Source/Shaders/Voxels/IntersectClippingPlanes.js +38 -30
  806. package/Source/Shaders/Voxels/IntersectDepth.glsl +1 -1
  807. package/Source/Shaders/Voxels/IntersectDepth.js +1 -1
  808. package/Source/Shaders/Voxels/Intersection.glsl +10 -12
  809. package/Source/Shaders/Voxels/Intersection.js +10 -12
  810. package/Source/Shaders/Voxels/IntersectionUtils.glsl +52 -59
  811. package/Source/Shaders/Voxels/IntersectionUtils.js +52 -59
  812. package/Source/Shaders/Voxels/Octree.glsl +72 -73
  813. package/Source/Shaders/Voxels/Octree.js +72 -73
  814. package/Source/Shaders/Voxels/VoxelFS.glsl +42 -22
  815. package/Source/Shaders/Voxels/VoxelFS.js +42 -22
  816. package/Source/Shaders/Voxels/convertUvToBox.glsl +13 -5
  817. package/Source/Shaders/Voxels/convertUvToBox.js +13 -5
  818. package/Source/ThirdParty/Workers/draco_decoder_nodejs.js +91 -91
  819. package/Source/ThirdParty/draco_decoder.wasm +0 -0
  820. package/Source/Widget/CesiumWidget.js +78 -50
  821. package/Source/Workers/cesiumWorkerBootstrapper.js +18 -18
  822. package/Source/WorkersES6/createTaskProcessorWorker.js +3 -3
  823. package/index.d.ts +2172 -1432
  824. package/index.js +8 -3
  825. package/package.json +1 -1
  826. package/Source/Core/cancelAnimationFrame.js +0 -53
  827. package/Source/Core/requestAnimationFrame.js +0 -83
  828. /package/Build/Workers/{GeometryOffsetAttribute-04332ce7.js → GeometryOffsetAttribute-9ad0019c.js} +0 -0
@@ -22,34 +22,24 @@ import ResourceCache from "./ResourceCache.js";
22
22
  * Subtrees also handle content metadata and metadata about the subtree itself.
23
23
  * </p>
24
24
  *
25
+ * This object is normally not instantiated directly, use {@link ImplicitSubtree.fromSubtreeJson}.
26
+ *
25
27
  * @see {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_metadata#implicit-tile-properties|Implicit Tile Properties in the 3DTILES_metadata specification}
28
+ * @see ImplicitSubtree.fromSubtreeJson
26
29
  *
27
30
  * @alias ImplicitSubtree
28
31
  * @constructor
29
32
  *
30
33
  * @param {Resource} resource The resource for this subtree. This is used for fetching external buffers as needed.
31
- * @param {Object} [json] The JSON object for this subtree. Mutually exclusive with subtreeView.
32
- * @param {Uint8Array} [subtreeView] The contents of a subtree binary in a Uint8Array. Mutually exclusive with json.
33
34
  * @param {ImplicitTileset} implicitTileset The implicit tileset. This includes information about the size of subtrees
34
35
  * @param {ImplicitTileCoordinates} implicitCoordinates The coordinates of the subtree's root tile.
35
36
  *
36
- * @exception {DeveloperError} One of json and subtreeView must be defined.
37
- *
38
37
  * @private
39
38
  * @experimental This feature is using part of the 3D Tiles spec that is not final and is subject to change without Cesium's standard deprecation policy.
40
39
  */
41
- function ImplicitSubtree(
42
- resource,
43
- json,
44
- subtreeView,
45
- implicitTileset,
46
- implicitCoordinates
47
- ) {
40
+ function ImplicitSubtree(resource, implicitTileset, implicitCoordinates) {
48
41
  //>>includeStart('debug', pragmas.debug);
49
42
  Check.typeOf.object("resource", resource);
50
- if (defined(json) === defined(subtreeView)) {
51
- throw new DeveloperError("One of json and subtreeView must be defined.");
52
- }
53
43
  Check.typeOf.object("implicitTileset", implicitTileset);
54
44
  Check.typeOf.object("implicitCoordinates", implicitCoordinates);
55
45
  //>>includeEnd('debug');
@@ -77,21 +67,21 @@ function ImplicitSubtree(
77
67
  this._tileJumpBuffer = undefined;
78
68
  this._contentJumpBuffers = [];
79
69
 
80
- this._readyPromise = initialize(this, json, subtreeView, implicitTileset);
70
+ this._ready = false;
81
71
  }
82
72
 
83
73
  Object.defineProperties(ImplicitSubtree.prototype, {
84
74
  /**
85
- * A promise that resolves once all necessary availability buffers
75
+ * Returns true once all necessary availability buffers
86
76
  * are loaded.
87
77
  *
88
- * @type {Promise}
78
+ * @type {boolean}
89
79
  * @readonly
90
80
  * @private
91
81
  */
92
- readyPromise: {
82
+ ready: {
93
83
  get: function () {
94
- return this._readyPromise;
84
+ return this._ready;
95
85
  },
96
86
  },
97
87
 
@@ -127,7 +117,7 @@ Object.defineProperties(ImplicitSubtree.prototype, {
127
117
  * this property stores the JSON from the extension. This is used by {@link TileMetadata}
128
118
  * to get the extras and extensions for the tiles in the subtree.
129
119
  *
130
- * @type {Object}
120
+ * @type {object}
131
121
  * @readonly
132
122
  * @private
133
123
  */
@@ -183,8 +173,8 @@ Object.defineProperties(ImplicitSubtree.prototype, {
183
173
  /**
184
174
  * Check if a specific tile is available at an index of the tile availability bitstream
185
175
  *
186
- * @param {Number} index The index of the desired tile
187
- * @returns {Boolean} The value of the i-th bit
176
+ * @param {number} index The index of the desired tile
177
+ * @returns {boolean} The value of the i-th bit
188
178
  * @private
189
179
  */
190
180
  ImplicitSubtree.prototype.tileIsAvailableAtIndex = function (index) {
@@ -195,7 +185,7 @@ ImplicitSubtree.prototype.tileIsAvailableAtIndex = function (index) {
195
185
  * Check if a specific tile is available at an implicit tile coordinate
196
186
  *
197
187
  * @param {ImplicitTileCoordinates} implicitCoordinates The global coordinates of a tile
198
- * @returns {Boolean} The value of the i-th bit
188
+ * @returns {boolean} The value of the i-th bit
199
189
  * @private
200
190
  */
201
191
  ImplicitSubtree.prototype.tileIsAvailableAtCoordinates = function (
@@ -208,9 +198,9 @@ ImplicitSubtree.prototype.tileIsAvailableAtCoordinates = function (
208
198
  /**
209
199
  * Check if a specific tile's content is available at an index of the content availability bitstream
210
200
  *
211
- * @param {Number} index The index of the desired tile
212
- * @param {Number} [contentIndex=0] The index of the desired content when multiple contents are used.
213
- * @returns {Boolean} The value of the i-th bit
201
+ * @param {number} index The index of the desired tile
202
+ * @param {number} [contentIndex=0] The index of the desired content when multiple contents are used.
203
+ * @returns {boolean} The value of the i-th bit
214
204
  * @private
215
205
  */
216
206
  ImplicitSubtree.prototype.contentIsAvailableAtIndex = function (
@@ -234,8 +224,8 @@ ImplicitSubtree.prototype.contentIsAvailableAtIndex = function (
234
224
  * Check if a specific tile's content is available at an implicit tile coordinate
235
225
  *
236
226
  * @param {ImplicitTileCoordinates} implicitCoordinates The global coordinates of a tile
237
- * @param {Number} [contentIndex=0] The index of the desired content when the <code>3DTILES_multiple_contents</code> extension is used.
238
- * @returns {Boolean} The value of the i-th bit
227
+ * @param {number} [contentIndex=0] The index of the desired content when the <code>3DTILES_multiple_contents</code> extension is used.
228
+ * @returns {boolean} The value of the i-th bit
239
229
  * @private
240
230
  */
241
231
  ImplicitSubtree.prototype.contentIsAvailableAtCoordinates = function (
@@ -249,8 +239,8 @@ ImplicitSubtree.prototype.contentIsAvailableAtCoordinates = function (
249
239
  /**
250
240
  * Check if a child subtree is available at an index of the child subtree availability bitstream
251
241
  *
252
- * @param {Number} index The index of the desired child subtree
253
- * @returns {Boolean} The value of the i-th bit
242
+ * @param {number} index The index of the desired child subtree
243
+ * @returns {boolean} The value of the i-th bit
254
244
  * @private
255
245
  */
256
246
  ImplicitSubtree.prototype.childSubtreeIsAvailableAtIndex = function (index) {
@@ -261,7 +251,7 @@ ImplicitSubtree.prototype.childSubtreeIsAvailableAtIndex = function (index) {
261
251
  * Check if a specific child subtree is available at an implicit tile coordinate
262
252
  *
263
253
  * @param {ImplicitTileCoordinates} implicitCoordinates The global coordinates of a child subtree
264
- * @returns {Boolean} The value of the i-th bit
254
+ * @returns {boolean} The value of the i-th bit
265
255
  * @private
266
256
  */
267
257
  ImplicitSubtree.prototype.childSubtreeIsAvailableAtCoordinates = function (
@@ -280,8 +270,8 @@ ImplicitSubtree.prototype.childSubtreeIsAvailableAtCoordinates = function (
280
270
  * <li>Level 2 starts at index 5</li>
281
271
  * </ul>
282
272
  *
283
- * @param {Number} level The 0-indexed level number relative to the root of the subtree
284
- * @returns {Number} The first index at the desired level
273
+ * @param {number} level The 0-indexed level number relative to the root of the subtree
274
+ * @returns {number} The first index at the desired level
285
275
  * @private
286
276
  */
287
277
  ImplicitSubtree.prototype.getLevelOffset = function (level) {
@@ -294,8 +284,8 @@ ImplicitSubtree.prototype.getLevelOffset = function (level) {
294
284
  * chopping off the last 2 (quadtree) or 3 (octree) bits of the morton
295
285
  * index.
296
286
  *
297
- * @param {Number} childIndex The morton index of the child tile relative to its parent
298
- * @returns {Number} The index of the child's parent node
287
+ * @param {number} childIndex The morton index of the child tile relative to its parent
288
+ * @returns {number} The index of the child's parent node
299
289
  * @private
300
290
  */
301
291
  ImplicitSubtree.prototype.getParentMortonIndex = function (mortonIndex) {
@@ -309,16 +299,40 @@ ImplicitSubtree.prototype.getParentMortonIndex = function (mortonIndex) {
309
299
 
310
300
  /**
311
301
  * Parse all relevant information out of the subtree. This fetches any
312
- * external buffers that are used by the implicit tileset. When finished,
313
- * it resolves/rejects subtree.readyPromise.
302
+ * external buffers that are used by the implicit tileset.
314
303
  *
315
- * @param {ImplicitSubtree} subtree The subtree
316
- * @param {Object} [json] The JSON object for this subtree. If parsing from a binary subtree file, this will be undefined.
304
+ * @param {Resource} resource The resource for this subtree. This is used for fetching external buffers as needed.
305
+ * @param {object} [json] The JSON object for this subtree. If parsing from a binary subtree file, this will be undefined.
317
306
  * @param {Uint8Array} [subtreeView] The contents of the subtree binary
318
307
  * @param {ImplicitTileset} implicitTileset The implicit tileset this subtree belongs to.
308
+ * @param {ImplicitTileCoordinates} implicitCoordinates The coordinates of the subtree's root tile.
309
+ * @return {Promise<ImplicitSubtree>} The created subtree
319
310
  * @private
311
+ *
312
+ * @exception {DeveloperError} One of json and subtreeView must be defined.
320
313
  */
321
- function initialize(subtree, json, subtreeView, implicitTileset) {
314
+ ImplicitSubtree.fromSubtreeJson = async function (
315
+ resource,
316
+ json,
317
+ subtreeView,
318
+ implicitTileset,
319
+ implicitCoordinates
320
+ ) {
321
+ //>>includeStart('debug', pragmas.debug);
322
+ Check.typeOf.object("resource", resource);
323
+ if (defined(json) === defined(subtreeView)) {
324
+ throw new DeveloperError("One of json and subtreeView must be defined.");
325
+ }
326
+ Check.typeOf.object("implicitTileset", implicitTileset);
327
+ Check.typeOf.object("implicitCoordinates", implicitCoordinates);
328
+ //>>includeEnd('debug');
329
+
330
+ const subtree = new ImplicitSubtree(
331
+ resource,
332
+ implicitTileset,
333
+ implicitCoordinates
334
+ );
335
+
322
336
  let chunks;
323
337
  if (defined(json)) {
324
338
  chunks = {
@@ -409,32 +423,31 @@ function initialize(subtree, json, subtreeView, implicitTileset) {
409
423
  markActiveMetadataBufferViews(contentPropertyTableJson, bufferViewHeaders);
410
424
  }
411
425
 
412
- return requestActiveBuffers(subtree, bufferHeaders, chunks.binary).then(
413
- function (buffersU8) {
414
- const bufferViewsU8 = parseActiveBufferViews(
415
- bufferViewHeaders,
416
- buffersU8
417
- );
418
- parseAvailability(subtree, subtreeJson, implicitTileset, bufferViewsU8);
426
+ const buffersU8 = await requestActiveBuffers(
427
+ subtree,
428
+ bufferHeaders,
429
+ chunks.binary
430
+ );
431
+ const bufferViewsU8 = parseActiveBufferViews(bufferViewHeaders, buffersU8);
432
+ parseAvailability(subtree, subtreeJson, implicitTileset, bufferViewsU8);
419
433
 
420
- if (defined(tilePropertyTableJson)) {
421
- parseTileMetadataTable(subtree, implicitTileset, bufferViewsU8);
422
- makeTileJumpBuffer(subtree);
423
- }
434
+ if (defined(tilePropertyTableJson)) {
435
+ parseTileMetadataTable(subtree, implicitTileset, bufferViewsU8);
436
+ makeTileJumpBuffer(subtree);
437
+ }
424
438
 
425
- parseContentMetadataTables(subtree, implicitTileset, bufferViewsU8);
426
- makeContentJumpBuffers(subtree);
439
+ parseContentMetadataTables(subtree, implicitTileset, bufferViewsU8);
440
+ makeContentJumpBuffers(subtree);
427
441
 
428
- return subtree;
429
- }
430
- );
431
- }
442
+ subtree._ready = true;
443
+ return subtree;
444
+ };
432
445
 
433
446
  /**
434
447
  * A helper object for storing the two parts of the subtree binary
435
448
  *
436
- * @typedef {Object} SubtreeChunks
437
- * @property {Object} json The json chunk of the subtree
449
+ * @typedef {object} SubtreeChunks
450
+ * @property {object} json The json chunk of the subtree
438
451
  * @property {Uint8Array} binary The binary chunk of the subtree. This represents the internal buffer.
439
452
  * @private
440
453
  */
@@ -488,11 +501,11 @@ function parseSubtreeChunks(subtreeView) {
488
501
  * Buffers are assumed inactive until explicitly marked active. This is used
489
502
  * to avoid fetching unneeded buffers.
490
503
  *
491
- * @typedef {Object} BufferHeader
492
- * @property {Boolean} isExternal True if this is an external buffer
493
- * @property {Boolean} isActive Whether this buffer is currently used.
494
- * @property {String} [uri] The URI of the buffer (external buffers only)
495
- * @property {Number} byteLength The byte length of the buffer, including any padding contained within.
504
+ * @typedef {object} BufferHeader
505
+ * @property {boolean} isExternal True if this is an external buffer
506
+ * @property {boolean} isActive Whether this buffer is currently used.
507
+ * @property {string} [uri] The URI of the buffer (external buffers only)
508
+ * @property {number} byteLength The byte length of the buffer, including any padding contained within.
496
509
  * @private
497
510
  */
498
511
 
@@ -520,12 +533,12 @@ function preprocessBuffers(bufferHeaders) {
520
533
  * A buffer header is the JSON header from the subtree JSON chunk plus
521
534
  * the isActive flag and a reference to the header for the underlying buffer
522
535
  *
523
- * @typedef {Object} BufferViewHeader
536
+ * @typedef {object} BufferViewHeader
524
537
  * @property {BufferHeader} bufferHeader A reference to the header for the underlying buffer
525
- * @property {Boolean} isActive Whether this bufferView is currently used.
526
- * @property {Number} buffer The index of the underlying buffer.
527
- * @property {Number} byteOffset The start byte of the bufferView within the buffer.
528
- * @property {Number} byteLength The length of the bufferView. No padding is included in this length.
538
+ * @property {boolean} isActive Whether this bufferView is currently used.
539
+ * @property {number} buffer The index of the underlying buffer.
540
+ * @property {number} byteOffset The start byte of the bufferView within the buffer.
541
+ * @property {number} byteLength The length of the bufferView. No padding is included in this length.
529
542
  * @private
530
543
  */
531
544
 
@@ -619,7 +632,7 @@ function markActiveBufferViews(subtreeJson, bufferViewHeaders) {
619
632
  * allow filtering this to avoid downloading unneeded buffers.
620
633
  * </p>
621
634
  *
622
- * @param {Object} propertyTableJson The property table JSON for either a tile or some content
635
+ * @param {object} propertyTableJson The property table JSON for either a tile or some content
623
636
  * @param {BufferViewHeader[]} bufferViewHeaders The preprocessed buffer view headers
624
637
  * @private
625
638
  */
@@ -680,7 +693,7 @@ function markActiveMetadataBufferViews(propertyTableJson, bufferViewHeaders) {
680
693
  * @param {ImplicitSubtree} subtree The subtree
681
694
  * @param {BufferHeader[]} bufferHeaders The preprocessed buffer headers
682
695
  * @param {Uint8Array} internalBuffer The binary chunk of the subtree file
683
- * @returns {Promise<Object>} A promise resolving to the dictionary of active buffers
696
+ * @returns {Promise<object>} A promise resolving to the dictionary of active buffers
684
697
  * @private
685
698
  */
686
699
  function requestActiveBuffers(subtree, bufferHeaders, internalBuffer) {
@@ -708,20 +721,28 @@ function requestActiveBuffers(subtree, bufferHeaders, internalBuffer) {
708
721
  });
709
722
  }
710
723
 
711
- function requestExternalBuffer(subtree, bufferHeader) {
724
+ async function requestExternalBuffer(subtree, bufferHeader) {
712
725
  const baseResource = subtree._resource;
713
726
  const bufferResource = baseResource.getDerivedResource({
714
727
  url: bufferHeader.uri,
715
728
  });
716
729
 
717
- const bufferLoader = ResourceCache.loadExternalBuffer({
730
+ const bufferLoader = ResourceCache.getExternalBufferLoader({
718
731
  resource: bufferResource,
719
732
  });
720
733
  subtree._bufferLoader = bufferLoader;
721
734
 
722
- return bufferLoader.promise.then(function (bufferLoader) {
723
- return bufferLoader.typedArray;
724
- });
735
+ try {
736
+ await bufferLoader.load();
737
+ } catch (error) {
738
+ if (bufferLoader.isDestroyed()) {
739
+ return;
740
+ }
741
+
742
+ throw error;
743
+ }
744
+
745
+ return bufferLoader.typedArray;
725
746
  }
726
747
 
727
748
  /**
@@ -729,8 +750,8 @@ function requestExternalBuffer(subtree, bufferHeader) {
729
750
  * extract a subarray from one of the active buffers.
730
751
  *
731
752
  * @param {BufferViewHeader[]} bufferViewHeaders
732
- * @param {Object} buffersU8 A dictionary of buffer index to a Uint8Array of its contents.
733
- * @returns {Object} A dictionary of buffer view index to a Uint8Array of its contents.
753
+ * @param {object} buffersU8 A dictionary of buffer index to a Uint8Array of its contents.
754
+ * @returns {object} A dictionary of buffer view index to a Uint8Array of its contents.
734
755
  * @private
735
756
  */
736
757
  function parseActiveBufferViews(bufferViewHeaders, buffersU8) {
@@ -755,9 +776,9 @@ function parseActiveBufferViews(bufferViewHeaders, buffersU8) {
755
776
  * Parse the three availability bitstreams and store them in the subtree
756
777
  *
757
778
  * @param {ImplicitSubtree} subtree The subtree to modify
758
- * @param {Object} subtreeJson The subtree JSON
779
+ * @param {object} subtreeJson The subtree JSON
759
780
  * @param {ImplicitTileset} implicitTileset The implicit tileset this subtree belongs to
760
- * @param {Object} bufferViewsU8 A dictionary of buffer view index to a Uint8Array of its contents.
781
+ * @param {object} bufferViewsU8 A dictionary of buffer view index to a Uint8Array of its contents.
761
782
  * @private
762
783
  */
763
784
  function parseAvailability(
@@ -812,10 +833,10 @@ function parseAvailability(
812
833
  * in-memory representation using an {@link ImplicitAvailabilityBitstream}
813
834
  * object. This handles both constants and bitstreams from a bufferView.
814
835
  *
815
- * @param {Object} availabilityJson A JSON object representing the availability
816
- * @param {Object} bufferViewsU8 A dictionary of bufferView index to its Uint8Array contents.
817
- * @param {Number} lengthBits The length of the availability bitstream in bits
818
- * @param {Boolean} [computeAvailableCountEnabled] If true and availabilityJson.availableCount is undefined, the availableCount will be computed.
836
+ * @param {object} availabilityJson A JSON object representing the availability
837
+ * @param {object} bufferViewsU8 A dictionary of bufferView index to its Uint8Array contents.
838
+ * @param {number} lengthBits The length of the availability bitstream in bits
839
+ * @param {boolean} [computeAvailableCountEnabled] If true and availabilityJson.availableCount is undefined, the availableCount will be computed.
819
840
  * @returns {ImplicitAvailabilityBitstream} The parsed bitstream object
820
841
  * @private
821
842
  */
@@ -857,7 +878,7 @@ function parseAvailabilityBitstream(
857
878
  *
858
879
  * @param {ImplicitSubtree} subtree The subtree
859
880
  * @param {ImplicitTileset} implicitTileset The implicit tileset this subtree belongs to.
860
- * @param {Object} bufferViewsU8 A dictionary of bufferView index to its Uint8Array contents.
881
+ * @param {object} bufferViewsU8 A dictionary of bufferView index to its Uint8Array contents.
861
882
  * @private
862
883
  */
863
884
  function parseTileMetadataTable(subtree, implicitTileset, bufferViewsU8) {
@@ -882,7 +903,7 @@ function parseTileMetadataTable(subtree, implicitTileset, bufferViewsU8) {
882
903
  *
883
904
  * @param {ImplicitSubtree} subtree The subtree
884
905
  * @param {ImplicitTileset} implicitTileset The implicit tileset this subtree belongs to.
885
- * @param {Object} bufferViewsU8 A dictionary of bufferView index to its Uint8Array contents.
906
+ * @param {object} bufferViewsU8 A dictionary of bufferView index to its Uint8Array contents.
886
907
  * @private
887
908
  */
888
909
  function parseContentMetadataTables(subtree, implicitTileset, bufferViewsU8) {
@@ -979,7 +1000,7 @@ function makeContentJumpBuffers(subtree) {
979
1000
  * Given the implicit tiling coordinates for a tile, get the index within the
980
1001
  * subtree's tile availability bitstream.
981
1002
  * @param {ImplicitTileCoordinates} implicitCoordinates The global coordinates of a tile
982
- * @return {Number} The tile's index within the subtree.
1003
+ * @return {number} The tile's index within the subtree.
983
1004
  * @private
984
1005
  */
985
1006
  ImplicitSubtree.prototype.getTileIndex = function (implicitCoordinates) {
@@ -1001,7 +1022,7 @@ ImplicitSubtree.prototype.getTileIndex = function (implicitCoordinates) {
1001
1022
  * Given the implicit tiling coordinates for a child subtree, get the index within the
1002
1023
  * subtree's child subtree availability bitstream.
1003
1024
  * @param {ImplicitTileCoordinates} implicitCoordinates The global coordinates of a child subtree
1004
- * @return {Number} The child subtree's index within the subtree's child subtree availability bitstream.
1025
+ * @return {number} The child subtree's index within the subtree's child subtree availability bitstream.
1005
1026
  * @private
1006
1027
  */
1007
1028
  ImplicitSubtree.prototype.getChildSubtreeIndex = function (
@@ -1028,7 +1049,7 @@ ImplicitSubtree.prototype.getChildSubtreeIndex = function (
1028
1049
  * Get the entity ID for a tile within this subtree.
1029
1050
  * @param {ImplicitSubtree} subtree The subtree
1030
1051
  * @param {ImplicitTileCoordinates} implicitCoordinates The global coordinates of a tile
1031
- * @return {Number} The entity ID for this tile for accessing tile metadata, or <code>undefined</code> if not applicable.
1052
+ * @return {number} The entity ID for this tile for accessing tile metadata, or <code>undefined</code> if not applicable.
1032
1053
  *
1033
1054
  * @private
1034
1055
  */
@@ -1049,8 +1070,8 @@ function getTileEntityId(subtree, implicitCoordinates) {
1049
1070
  * Get the entity ID for a content within this subtree.
1050
1071
  * @param {ImplicitSubtree} subtree The subtree
1051
1072
  * @param {ImplicitTileCoordinates} implicitCoordinates The global coordinates of a content
1052
- * @param {Number} contentIndex The content index, for distinguishing between multiple contents.
1053
- * @return {Number} The entity ID for this content for accessing content metadata, or <code>undefined</code> if not applicable.
1073
+ * @param {number} contentIndex The content index, for distinguishing between multiple contents.
1074
+ * @return {number} The entity ID for this content for accessing content metadata, or <code>undefined</code> if not applicable.
1054
1075
  *
1055
1076
  * @private
1056
1077
  */
@@ -1100,7 +1121,7 @@ ImplicitSubtree.prototype.getTileMetadataView = function (implicitCoordinates) {
1100
1121
  /**
1101
1122
  * Create and return a metadata table view for a content within this subtree.
1102
1123
  * @param {ImplicitTileCoordinates} implicitCoordinates The global coordinates of a content
1103
- * @param {Number} contentIndex The index of the content used to distinguish between multiple contents
1124
+ * @param {number} contentIndex The index of the content used to distinguish between multiple contents
1104
1125
  * @return {ImplicitMetadataView} The metadata view for this content, or <code>undefined</code> if not applicable.
1105
1126
  *
1106
1127
  * @private
@@ -6,8 +6,8 @@ import DoubleEndedPriorityQueue from "../Core/DoubleEndedPriorityQueue.js";
6
6
  * @alias ImplicitSubtreeCache
7
7
  * @constructor
8
8
  *
9
- * @param {Object} [options] Object with the following properties
10
- * @param {Number} [options.maximumSubtreeCount=0] The total number of subtrees this cache can store. If adding a new subtree would exceed this limit, the lowest priority subtrees will be removed until there is room, unless the subtree that is going to be removed is the parent of the new subtree, in which case it will not be removed and the new subtree will still be added, exceeding the memory limit.
9
+ * @param {object} [options] Object with the following properties
10
+ * @param {number} [options.maximumSubtreeCount=0] The total number of subtrees this cache can store. If adding a new subtree would exceed this limit, the lowest priority subtrees will be removed until there is room, unless the subtree that is going to be removed is the parent of the new subtree, in which case it will not be removed and the new subtree will still be added, exceeding the memory limit.
11
11
  *
12
12
  * @private
13
13
  */
@@ -15,14 +15,14 @@ function ImplicitSubtreeCache(options) {
15
15
  options = defaultValue(options, defaultValue.EMPTY_OBJECT);
16
16
 
17
17
  /**
18
- * @type {Number}
18
+ * @type {number}
19
19
  * @private
20
20
  */
21
21
  this._maximumSubtreeCount = defaultValue(options.maximumSubtreeCount, 0);
22
22
 
23
23
  /**
24
24
  * A counter that goes up whenever a subtree is added. Used to sort subtrees by recency.
25
- * @type {Number}
25
+ * @type {number}
26
26
  * @private
27
27
  */
28
28
  this._subtreeRequestCounter = 0;
@@ -96,7 +96,7 @@ ImplicitSubtreeCache.prototype.find = function (subtreeCoord) {
96
96
  /**
97
97
  * @param {ImplicitSubtreeCacheNode} a
98
98
  * @param {ImplicitSubtreeCacheNode} b
99
- * @returns {Number}
99
+ * @returns {number}
100
100
  */
101
101
  ImplicitSubtreeCache.comparator = function (a, b) {
102
102
  const aCoord = a.subtree.implicitCoordinates;
@@ -115,7 +115,7 @@ ImplicitSubtreeCache.comparator = function (a, b) {
115
115
  * @constructor
116
116
  *
117
117
  * @param {ImplicitSubtree} subtree
118
- * @param {Number} stamp
118
+ * @param {number} stamp
119
119
  *
120
120
  * @private
121
121
  */
@@ -9,8 +9,8 @@ import MetadataEntity from "./MetadataEntity.js";
9
9
  * See the {@link https://github.com/CesiumGS/3d-tiles/tree/main/extensions/3DTILES_metadata|3DTILES_metadata Extension} for 3D Tiles
10
10
  * </p>
11
11
  *
12
- * @param {Object} options Object with the following properties:
13
- * @param {Object} options.subtreeMetadata The subtree metadata JSON object.
12
+ * @param {object} options Object with the following properties:
13
+ * @param {object} options.subtreeMetadata The subtree metadata JSON object.
14
14
  * @param {MetadataClass} options.class The class that subtree metadata conforms to.
15
15
  *
16
16
  * @alias ImplicitSubtreeMetadata
@@ -57,7 +57,7 @@ Object.defineProperties(ImplicitSubtreeMetadata.prototype, {
57
57
  * Extra user-defined properties.
58
58
  *
59
59
  * @memberof ImplicitSubtreeMetadata.prototype
60
- * @type {Object}
60
+ * @type {object}
61
61
  * @readonly
62
62
  * @private
63
63
  */
@@ -71,7 +71,7 @@ Object.defineProperties(ImplicitSubtreeMetadata.prototype, {
71
71
  * An object containing extensions.
72
72
  *
73
73
  * @memberof ImplicitSubtreeMetadata.prototype
74
- * @type {Object}
74
+ * @type {object}
75
75
  * @readonly
76
76
  * @private
77
77
  */
@@ -85,8 +85,8 @@ Object.defineProperties(ImplicitSubtreeMetadata.prototype, {
85
85
  /**
86
86
  * Returns whether the subtree has this property.
87
87
  *
88
- * @param {String} propertyId The case-sensitive ID of the property.
89
- * @returns {Boolean} Whether the subtree has this property.
88
+ * @param {string} propertyId The case-sensitive ID of the property.
89
+ * @returns {boolean} Whether the subtree has this property.
90
90
  * @private
91
91
  */
92
92
  ImplicitSubtreeMetadata.prototype.hasProperty = function (propertyId) {
@@ -96,8 +96,8 @@ ImplicitSubtreeMetadata.prototype.hasProperty = function (propertyId) {
96
96
  /**
97
97
  * Returns whether the subtree has a property with the given semantic.
98
98
  *
99
- * @param {String} semantic The case-sensitive semantic of the property.
100
- * @returns {Boolean} Whether the subtree has a property with the given semantic.
99
+ * @param {string} semantic The case-sensitive semantic of the property.
100
+ * @returns {boolean} Whether the subtree has a property with the given semantic.
101
101
  * @private
102
102
  */
103
103
  ImplicitSubtreeMetadata.prototype.hasPropertyBySemantic = function (semantic) {
@@ -111,8 +111,8 @@ ImplicitSubtreeMetadata.prototype.hasPropertyBySemantic = function (semantic) {
111
111
  /**
112
112
  * Returns an array of property IDs.
113
113
  *
114
- * @param {String[]} [results] An array into which to store the results.
115
- * @returns {String[]} The property IDs.
114
+ * @param {string[]} [results] An array into which to store the results.
115
+ * @returns {string[]} The property IDs.
116
116
  * @private
117
117
  */
118
118
  ImplicitSubtreeMetadata.prototype.getPropertyIds = function (results) {
@@ -125,7 +125,7 @@ ImplicitSubtreeMetadata.prototype.getPropertyIds = function (results) {
125
125
  * If the property is normalized the normalized value is returned.
126
126
  * </p>
127
127
  *
128
- * @param {String} propertyId The case-sensitive ID of the property.
128
+ * @param {string} propertyId The case-sensitive ID of the property.
129
129
  * @returns {*} The value of the property or <code>undefined</code> if the subtree does not have this property.
130
130
  * @private
131
131
  */
@@ -139,9 +139,9 @@ ImplicitSubtreeMetadata.prototype.getProperty = function (propertyId) {
139
139
  * If the property is normalized a normalized value must be provided to this function.
140
140
  * </p>
141
141
  *
142
- * @param {String} propertyId The case-sensitive ID of the property.
142
+ * @param {string} propertyId The case-sensitive ID of the property.
143
143
  * @param {*} value The value of the property that will be copied.
144
- * @returns {Boolean} <code>true</code> if the property was set, <code>false</code> otherwise.
144
+ * @returns {boolean} <code>true</code> if the property was set, <code>false</code> otherwise.
145
145
  * @private
146
146
  */
147
147
  ImplicitSubtreeMetadata.prototype.setProperty = function (propertyId, value) {
@@ -156,7 +156,7 @@ ImplicitSubtreeMetadata.prototype.setProperty = function (propertyId, value) {
156
156
  /**
157
157
  * Returns a copy of the value of the property with the given semantic.
158
158
  *
159
- * @param {String} semantic The case-sensitive semantic of the property.
159
+ * @param {string} semantic The case-sensitive semantic of the property.
160
160
  * @returns {*} The value of the property or <code>undefined</code> if the subtree does not have this semantic.
161
161
  * @private
162
162
  */
@@ -171,9 +171,9 @@ ImplicitSubtreeMetadata.prototype.getPropertyBySemantic = function (semantic) {
171
171
  /**
172
172
  * Sets the value of the property with the given semantic.
173
173
  *
174
- * @param {String} semantic The case-sensitive semantic of the property.
174
+ * @param {string} semantic The case-sensitive semantic of the property.
175
175
  * @param {*} value The value of the property that will be copied.
176
- * @returns {Boolean} <code>true</code> if the property was set, <code>false</code> otherwise.
176
+ * @returns {boolean} <code>true</code> if the property was set, <code>false</code> otherwise.
177
177
  * @private
178
178
  */
179
179
  ImplicitSubtreeMetadata.prototype.setPropertyBySemantic = function (