@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
@@ -46,7 +46,7 @@ function SkyAtmosphere(ellipsoid) {
46
46
  /**
47
47
  * Determines if the atmosphere is shown.
48
48
  *
49
- * @type {Boolean}
49
+ * @type {boolean}
50
50
  * @default true
51
51
  */
52
52
  this.show = true;
@@ -55,7 +55,7 @@ function SkyAtmosphere(ellipsoid) {
55
55
  * Compute atmosphere per-fragment instead of per-vertex.
56
56
  * This produces better looking atmosphere with a slight performance penalty.
57
57
  *
58
- * @type {Boolean}
58
+ * @type {boolean}
59
59
  * @default false
60
60
  */
61
61
  this.perFragmentAtmosphere = false;
@@ -83,7 +83,7 @@ function SkyAtmosphere(ellipsoid) {
83
83
  /**
84
84
  * The intensity of the light that is used for computing the sky atmosphere color.
85
85
  *
86
- * @type {Number}
86
+ * @type {number}
87
87
  * @default 50.0
88
88
  */
89
89
  this.atmosphereLightIntensity = 50.0;
@@ -107,7 +107,7 @@ function SkyAtmosphere(ellipsoid) {
107
107
  /**
108
108
  * The Rayleigh scale height used in the atmospheric scattering equations for the sky atmosphere, in meters.
109
109
  *
110
- * @type {Number}
110
+ * @type {number}
111
111
  * @default 10000.0
112
112
  */
113
113
  this.atmosphereRayleighScaleHeight = 10000.0;
@@ -115,7 +115,7 @@ function SkyAtmosphere(ellipsoid) {
115
115
  /**
116
116
  * The Mie scale height used in the atmospheric scattering equations for the sky atmosphere, in meters.
117
117
  *
118
- * @type {Number}
118
+ * @type {number}
119
119
  * @default 3200.0
120
120
  */
121
121
  this.atmosphereMieScaleHeight = 3200.0;
@@ -125,7 +125,7 @@ function SkyAtmosphere(ellipsoid) {
125
125
  * <p>
126
126
  * Valid values are between -1.0 and 1.0.
127
127
  * </p>
128
- * @type {Number}
128
+ * @type {number}
129
129
  * @default 0.9
130
130
  */
131
131
  this.atmosphereMieAnisotropy = 0.9;
@@ -133,7 +133,7 @@ function SkyAtmosphere(ellipsoid) {
133
133
  /**
134
134
  * The hue shift to apply to the atmosphere. Defaults to 0.0 (no shift).
135
135
  * A hue shift of 1.0 indicates a complete rotation of the hues available.
136
- * @type {Number}
136
+ * @type {number}
137
137
  * @default 0.0
138
138
  */
139
139
  this.hueShift = 0.0;
@@ -141,7 +141,7 @@ function SkyAtmosphere(ellipsoid) {
141
141
  /**
142
142
  * The saturation shift to apply to the atmosphere. Defaults to 0.0 (no shift).
143
143
  * A saturation shift of -1.0 is monochrome.
144
- * @type {Number}
144
+ * @type {number}
145
145
  * @default 0.0
146
146
  */
147
147
  this.saturationShift = 0.0;
@@ -149,7 +149,7 @@ function SkyAtmosphere(ellipsoid) {
149
149
  /**
150
150
  * The brightness shift to apply to the atmosphere. Defaults to 0.0 (no shift).
151
151
  * A brightness shift of -1.0 is complete darkness, which will let space show through.
152
- * @type {Number}
152
+ * @type {number}
153
153
  * @default 0.0
154
154
  */
155
155
  this.brightnessShift = 0.0;
@@ -368,7 +368,7 @@ function hasColorCorrection(skyAtmosphere) {
368
368
  * If this object was destroyed, it should not be used; calling any function other than
369
369
  * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
370
370
  *
371
- * @returns {Boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
371
+ * @returns {boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
372
372
  *
373
373
  * @see SkyAtmosphere#destroy
374
374
  */
@@ -30,9 +30,9 @@ import SceneMode from "./SceneMode.js";
30
30
  * @alias SkyBox
31
31
  * @constructor
32
32
  *
33
- * @param {Object} options Object with the following properties:
34
- * @param {Object} [options.sources] The source URL or <code>Image</code> object for each of the six cube map faces. See the example below.
35
- * @param {Boolean} [options.show=true] Determines if this primitive will be shown.
33
+ * @param {object} options Object with the following properties:
34
+ * @param {object} [options.sources] The source URL or <code>Image</code> object for each of the six cube map faces. See the example below.
35
+ * @param {boolean} [options.show=true] Determines if this primitive will be shown.
36
36
  *
37
37
  *
38
38
  * @example
@@ -57,7 +57,7 @@ function SkyBox(options) {
57
57
  * <code>negativeY</code>, <code>positiveZ</code>, and <code>negativeZ</code> properties.
58
58
  * These can be either URLs or <code>Image</code> objects.
59
59
  *
60
- * @type Object
60
+ * @type {object}
61
61
  * @default undefined
62
62
  */
63
63
  this.sources = options.sources;
@@ -66,7 +66,7 @@ function SkyBox(options) {
66
66
  /**
67
67
  * Determines if the sky box will be shown.
68
68
  *
69
- * @type {Boolean}
69
+ * @type {boolean}
70
70
  * @default true
71
71
  */
72
72
  this.show = defaultValue(options.show, true);
@@ -217,7 +217,7 @@ SkyBox.prototype.update = function (frameState, useHdr) {
217
217
  * If this object was destroyed, it should not be used; calling any function other than
218
218
  * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
219
219
  *
220
- * @returns {Boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
220
+ * @returns {boolean} <code>true</code> if this object was destroyed; otherwise, <code>false</code>.
221
221
  *
222
222
  * @see SkyBox#destroy
223
223
  */
@@ -11,12 +11,12 @@ import OrientedBoundingBox from "../Core/OrientedBoundingBox.js";
11
11
  * @alias SpatialNode
12
12
  * @constructor
13
13
  *
14
- * @param {Number} level
15
- * @param {Number} x
16
- * @param {Number} y
17
- * @param {Number} z
14
+ * @param {number} level
15
+ * @param {number} x
16
+ * @param {number} y
17
+ * @param {number} z
18
18
  * @param {SpatialNode} parent
19
- * @param {VoxelShapeType} shape
19
+ * @param {VoxelShape} shape
20
20
  * @param {Cartesian3} voxelDimensions
21
21
  *
22
22
  * @private
@@ -65,16 +65,6 @@ function SpatialNode(level, x, y, z, parent, shape, voxelDimensions) {
65
65
  this.computeBoundingVolumes(shape, voxelDimensions);
66
66
  }
67
67
 
68
- /**
69
- * @param {SpatialNode} a
70
- * @param {SpatialNode} b
71
- * @returns {Boolean}
72
- */
73
- SpatialNode.spatialComparator = function (a, b) {
74
- // The higher of the two screen space errors is prioritized
75
- return b.screenSpaceError - a.screenSpaceError;
76
- };
77
-
78
68
  const scratchObbHalfScale = new Cartesian3();
79
69
 
80
70
  /**
@@ -102,10 +92,41 @@ SpatialNode.prototype.computeBoundingVolumes = function (
102
92
  maximumScale / Cartesian3.minimumComponent(voxelDimensions);
103
93
  };
104
94
 
95
+ /**
96
+ * @param {VoxelShape} shape The shape of the parent VoxelPrimitive
97
+ * @param {Cartesian3} voxelDimensions
98
+ * @private
99
+ */
100
+ SpatialNode.prototype.constructChildNodes = function (shape, voxelDimensions) {
101
+ const { level, x, y, z } = this;
102
+ const xMin = x * 2;
103
+ const yMin = y * 2;
104
+ const zMin = z * 2;
105
+ const yMax = yMin + 1;
106
+ const xMax = xMin + 1;
107
+ const zMax = zMin + 1;
108
+ const childLevel = level + 1;
109
+
110
+ const childCoords = [
111
+ [childLevel, xMin, yMin, zMin],
112
+ [childLevel, xMax, yMin, zMin],
113
+ [childLevel, xMin, yMax, zMin],
114
+ [childLevel, xMax, yMax, zMin],
115
+ [childLevel, xMin, yMin, zMax],
116
+ [childLevel, xMax, yMin, zMax],
117
+ [childLevel, xMin, yMax, zMax],
118
+ [childLevel, xMax, yMax, zMax],
119
+ ];
120
+
121
+ this.children = childCoords.map(([level, x, y, z]) => {
122
+ return new SpatialNode(level, x, y, z, this, shape, voxelDimensions);
123
+ });
124
+ };
125
+
105
126
  /**
106
127
  * @param {FrameState} frameState
107
- * @param {Number} visibilityPlaneMask
108
- * @returns {Number} A plane mask as described in {@link CullingVolume#computeVisibilityWithPlaneMask}.
128
+ * @param {number} visibilityPlaneMask
129
+ * @returns {number} A plane mask as described in {@link CullingVolume#computeVisibilityWithPlaneMask}.
109
130
  */
110
131
  SpatialNode.prototype.visibility = function (frameState, visibilityPlaneMask) {
111
132
  const obb = this.orientedBoundingBox;
@@ -115,7 +136,7 @@ SpatialNode.prototype.visibility = function (frameState, visibilityPlaneMask) {
115
136
 
116
137
  /**
117
138
  * @param {Cartesian3} cameraPosition
118
- * @param {Number} screenSpaceErrorMultiplier
139
+ * @param {number} screenSpaceErrorMultiplier
119
140
  */
120
141
  SpatialNode.prototype.computeScreenSpaceError = function (
121
142
  cameraPosition,
@@ -139,9 +160,9 @@ const scratchBinarySearchKeyframeNode = {
139
160
  /**
140
161
  * Find the index of a given key frame position within an array of KeyframeNodes,
141
162
  * or the complement (~) of the index where it would be in the sorted array.
142
- * @param {Number} keyframe
163
+ * @param {number} keyframe
143
164
  * @param {KeyframeNode[]} keyframeNodes
144
- * @returns {Number}
165
+ * @returns {number}
145
166
  * @private
146
167
  */
147
168
  function findKeyframeIndex(keyframe, keyframeNodes) {
@@ -156,7 +177,7 @@ function findKeyframeIndex(keyframe, keyframeNodes) {
156
177
  /**
157
178
  * Computes the most suitable keyframes for rendering, balancing between temporal and visual quality.
158
179
  *
159
- * @param {Number} keyframeLocation
180
+ * @param {number} keyframeLocation
160
181
  */
161
182
  SpatialNode.prototype.computeSurroundingRenderableKeyframeNodes = function (
162
183
  keyframeLocation
@@ -173,66 +194,43 @@ SpatialNode.prototype.computeSurroundingRenderableKeyframeNodes = function (
173
194
  let minimumDistanceNext = +Number.MAX_VALUE;
174
195
 
175
196
  while (defined(spatialNode)) {
176
- const renderableKeyframeNodes = spatialNode.renderableKeyframeNodes;
197
+ const { renderableKeyframeNodes } = spatialNode;
177
198
 
178
199
  if (renderableKeyframeNodes.length >= 1) {
179
- let keyframeNodeIndexPrev = findKeyframeIndex(
200
+ const indexPrev = getKeyframeIndexPrev(
180
201
  targetKeyframePrev,
181
202
  renderableKeyframeNodes
182
203
  );
183
- if (keyframeNodeIndexPrev < 0) {
184
- keyframeNodeIndexPrev = CesiumMath.clamp(
185
- ~keyframeNodeIndexPrev - 1,
186
- 0,
187
- renderableKeyframeNodes.length - 1
188
- );
189
- }
190
- const keyframeNodePrev = renderableKeyframeNodes[keyframeNodeIndexPrev];
191
- const keyframePrev = keyframeNodePrev.keyframe;
204
+ const keyframeNodePrev = renderableKeyframeNodes[indexPrev];
192
205
 
193
- let keyframeNodeNext;
194
- if (
206
+ const indexNext =
195
207
  targetKeyframeNext === targetKeyframePrev ||
196
- targetKeyframePrev < keyframePrev
197
- ) {
198
- keyframeNodeNext = keyframeNodePrev;
199
- } else {
200
- const keyframeNodeIndexNext = Math.min(
201
- keyframeNodeIndexPrev + 1,
202
- renderableKeyframeNodes.length - 1
203
- );
204
- keyframeNodeNext = renderableKeyframeNodes[keyframeNodeIndexNext];
205
- }
206
- const keyframeNext = keyframeNodeNext.keyframe;
207
-
208
- const keyframeDistancePrev = targetKeyframePrev - keyframePrev;
209
- const keyframeDistanceNext = keyframeNext - targetKeyframeNext;
210
- const levelDistance = startLevel - spatialNode.level;
211
-
212
- // Balance temporal and visual quality
213
- const levelWeight = Math.exp(levelDistance * 4.0);
214
- const normalKeyframeWeight = 1.0;
215
- const reverseKeyframeWeight = 200.0; // Keyframes on the opposite of the desired direction are deprioritized.
216
- const distancePrev =
217
- levelDistance * levelWeight +
218
- (keyframeDistancePrev >= 0
219
- ? keyframeDistancePrev * normalKeyframeWeight
220
- : -keyframeDistancePrev * reverseKeyframeWeight);
221
- const distanceNext =
222
- levelDistance * levelWeight +
223
- (keyframeDistanceNext >= 0
224
- ? keyframeDistanceNext * normalKeyframeWeight
225
- : -keyframeDistanceNext * reverseKeyframeWeight);
226
-
227
- if (distancePrev < minimumDistancePrev) {
228
- minimumDistancePrev = distancePrev;
208
+ targetKeyframePrev < keyframeNodePrev.keyframe
209
+ ? indexPrev
210
+ : Math.min(indexPrev + 1, renderableKeyframeNodes.length - 1);
211
+ const keyframeNodeNext = renderableKeyframeNodes[indexNext];
212
+
213
+ const distancePrev = targetKeyframePrev - keyframeNodePrev.keyframe;
214
+ const weightedDistancePrev = getWeightedKeyframeDistance(
215
+ startLevel - spatialNode.level,
216
+ distancePrev
217
+ );
218
+ if (weightedDistancePrev < minimumDistancePrev) {
219
+ minimumDistancePrev = weightedDistancePrev;
229
220
  bestKeyframeNodePrev = keyframeNodePrev;
230
221
  }
231
- if (distanceNext < minimumDistanceNext) {
232
- minimumDistanceNext = distanceNext;
222
+
223
+ const distanceNext = keyframeNodeNext.keyframe - targetKeyframeNext;
224
+ const weightedDistanceNext = getWeightedKeyframeDistance(
225
+ startLevel - spatialNode.level,
226
+ distanceNext
227
+ );
228
+ if (weightedDistanceNext < minimumDistanceNext) {
229
+ minimumDistanceNext = weightedDistanceNext;
233
230
  bestKeyframeNodeNext = keyframeNodeNext;
234
231
  }
235
- if (keyframeDistancePrev === 0 && keyframeDistanceNext === 0) {
232
+
233
+ if (distancePrev === 0 && distanceNext === 0) {
236
234
  // Nothing higher up will be better, so break early.
237
235
  break;
238
236
  }
@@ -243,31 +241,49 @@ SpatialNode.prototype.computeSurroundingRenderableKeyframeNodes = function (
243
241
 
244
242
  this.renderableKeyframeNodePrevious = bestKeyframeNodePrev;
245
243
  this.renderableKeyframeNodeNext = bestKeyframeNodeNext;
246
- if (defined(bestKeyframeNodePrev) && defined(bestKeyframeNodeNext)) {
247
- const bestKeyframePrev = bestKeyframeNodePrev.keyframe;
248
- const bestKeyframeNext = bestKeyframeNodeNext.keyframe;
249
- this.renderableKeyframeNodeLerp =
250
- bestKeyframePrev === bestKeyframeNext
251
- ? 0.0
252
- : CesiumMath.clamp(
253
- (keyframeLocation - bestKeyframePrev) /
254
- (bestKeyframeNext - bestKeyframePrev),
255
- 0.0,
256
- 1.0
257
- );
244
+
245
+ if (!defined(bestKeyframeNodePrev) || !defined(bestKeyframeNodeNext)) {
246
+ return;
258
247
  }
248
+
249
+ const bestKeyframePrev = bestKeyframeNodePrev.keyframe;
250
+ const bestKeyframeNext = bestKeyframeNodeNext.keyframe;
251
+ this.renderableKeyframeNodeLerp =
252
+ bestKeyframePrev === bestKeyframeNext
253
+ ? 0.0
254
+ : CesiumMath.clamp(
255
+ (keyframeLocation - bestKeyframePrev) /
256
+ (bestKeyframeNext - bestKeyframePrev),
257
+ 0.0,
258
+ 1.0
259
+ );
259
260
  };
260
261
 
262
+ function getKeyframeIndexPrev(targetKeyframe, keyframeNodes) {
263
+ const keyframeIndex = findKeyframeIndex(targetKeyframe, keyframeNodes);
264
+ return keyframeIndex < 0
265
+ ? CesiumMath.clamp(~keyframeIndex - 1, 0, keyframeNodes.length - 1)
266
+ : keyframeIndex;
267
+ }
268
+
269
+ function getWeightedKeyframeDistance(levelDistance, keyframeDistance) {
270
+ // Balance quality between visual (levelDistance) and temporal (keyframeDistance)
271
+ const levelWeight = Math.exp(levelDistance * 4.0);
272
+ // Keyframes on the opposite of the desired direction are deprioritized.
273
+ const keyframeWeight = keyframeDistance >= 0 ? 1.0 : -200.0;
274
+ return levelDistance * levelWeight + keyframeDistance * keyframeWeight;
275
+ }
276
+
261
277
  /**
262
- * @param {Number} frameNumber
263
- * @returns {Boolean}
278
+ * @param {number} frameNumber
279
+ * @returns {boolean}
264
280
  */
265
281
  SpatialNode.prototype.isVisited = function (frameNumber) {
266
282
  return this.visitedFrameNumber === frameNumber;
267
283
  };
268
284
 
269
285
  /**
270
- * @param {Number} keyframe
286
+ * @param {number} keyframe
271
287
  */
272
288
  SpatialNode.prototype.createKeyframeNode = function (keyframe) {
273
289
  let index = findKeyframeIndex(keyframe, this.keyframeNodes);
@@ -355,8 +371,8 @@ SpatialNode.prototype.addKeyframeNodeToMegatextures = function (
355
371
  };
356
372
 
357
373
  /**
358
- * @param {Number} frameNumber
359
- * @returns Boolean
374
+ * @param {number} frameNumber
375
+ * @returns {boolean}
360
376
  */
361
377
  SpatialNode.prototype.isRenderable = function (frameNumber) {
362
378
  const previousNode = this.renderableKeyframeNodePrevious;
@@ -10,7 +10,7 @@ import CesiumMath from "../Core/Math.js";
10
10
  * @alias SphereEmitter
11
11
  * @constructor
12
12
  *
13
- * @param {Number} [radius=1.0] The radius of the sphere in meters.
13
+ * @param {number} [radius=1.0] The radius of the sphere in meters.
14
14
  */
15
15
  function SphereEmitter(radius) {
16
16
  radius = defaultValue(radius, 1.0);
@@ -26,7 +26,7 @@ Object.defineProperties(SphereEmitter.prototype, {
26
26
  /**
27
27
  * The radius of the sphere in meters.
28
28
  * @memberof SphereEmitter.prototype
29
- * @type {Number}
29
+ * @type {number}
30
30
  * @default 1.0
31
31
  */
32
32
  radius: {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * The direction to display a primitive or ImageryLayer relative to the {@link Scene#splitPosition}.
3
3
  *
4
- * @enum {Number}
4
+ * @enum {number}
5
5
  *
6
6
  * @see ImageryLayer#splitDirection
7
7
  * @see Cesium3DTileset#splitDirection
@@ -10,7 +10,7 @@ const SplitDirection = {
10
10
  /**
11
11
  * Display the primitive or ImageryLayer to the left of the {@link Scene#splitPosition}.
12
12
  *
13
- * @type {Number}
13
+ * @type {number}
14
14
  * @constant
15
15
  */
16
16
  LEFT: -1.0,
@@ -18,7 +18,7 @@ const SplitDirection = {
18
18
  /**
19
19
  * Always display the primitive or ImageryLayer.
20
20
  *
21
- * @type {Number}
21
+ * @type {number}
22
22
  * @constant
23
23
  */
24
24
  NONE: 0.0,
@@ -26,7 +26,7 @@ const SplitDirection = {
26
26
  /**
27
27
  * Display the primitive or ImageryLayer to the right of the {@link Scene#splitPosition}.
28
28
  *
29
- * @type {Number}
29
+ * @type {number}
30
30
  * @constant
31
31
  */
32
32
  RIGHT: 1.0,
@@ -36,8 +36,8 @@ const Splitter = {
36
36
  /**
37
37
  * Add `czm_splitDirection` to the given uniform map.
38
38
  *
39
- * @param {Object} object The object on which the `splitDirection` property may be found.
40
- * @param {Object} uniformMap The uniform map.
39
+ * @param {object} object The object on which the `splitDirection` property may be found.
40
+ * @param {object} uniformMap The uniform map.
41
41
  */
42
42
  addUniforms: function addUniforms(object, uniformMap) {
43
43
  uniformMap.czm_splitDirection = function () {
@@ -3,13 +3,13 @@ import WebGLConstants from "../Core/WebGLConstants.js";
3
3
  /**
4
4
  * Determines the function used to compare stencil values for the stencil test.
5
5
  *
6
- * @enum {Number}
6
+ * @enum {number}
7
7
  */
8
8
  const StencilFunction = {
9
9
  /**
10
10
  * The stencil test never passes.
11
11
  *
12
- * @type {Number}
12
+ * @type {number}
13
13
  * @constant
14
14
  */
15
15
  NEVER: WebGLConstants.NEVER,
@@ -17,7 +17,7 @@ const StencilFunction = {
17
17
  /**
18
18
  * The stencil test passes when the masked reference value is less than the masked stencil value.
19
19
  *
20
- * @type {Number}
20
+ * @type {number}
21
21
  * @constant
22
22
  */
23
23
  LESS: WebGLConstants.LESS,
@@ -25,7 +25,7 @@ const StencilFunction = {
25
25
  /**
26
26
  * The stencil test passes when the masked reference value is equal to the masked stencil value.
27
27
  *
28
- * @type {Number}
28
+ * @type {number}
29
29
  * @constant
30
30
  */
31
31
  EQUAL: WebGLConstants.EQUAL,
@@ -33,7 +33,7 @@ const StencilFunction = {
33
33
  /**
34
34
  * The stencil test passes when the masked reference value is less than or equal to the masked stencil value.
35
35
  *
36
- * @type {Number}
36
+ * @type {number}
37
37
  * @constant
38
38
  */
39
39
  LESS_OR_EQUAL: WebGLConstants.LEQUAL,
@@ -41,7 +41,7 @@ const StencilFunction = {
41
41
  /**
42
42
  * The stencil test passes when the masked reference value is greater than the masked stencil value.
43
43
  *
44
- * @type {Number}
44
+ * @type {number}
45
45
  * @constant
46
46
  */
47
47
  GREATER: WebGLConstants.GREATER,
@@ -49,7 +49,7 @@ const StencilFunction = {
49
49
  /**
50
50
  * The stencil test passes when the masked reference value is not equal to the masked stencil value.
51
51
  *
52
- * @type {Number}
52
+ * @type {number}
53
53
  * @constant
54
54
  */
55
55
  NOT_EQUAL: WebGLConstants.NOTEQUAL,
@@ -57,7 +57,7 @@ const StencilFunction = {
57
57
  /**
58
58
  * The stencil test passes when the masked reference value is greater than or equal to the masked stencil value.
59
59
  *
60
- * @type {Number}
60
+ * @type {number}
61
61
  * @constant
62
62
  */
63
63
  GREATER_OR_EQUAL: WebGLConstants.GEQUAL,
@@ -65,7 +65,7 @@ const StencilFunction = {
65
65
  /**
66
66
  * The stencil test always passes.
67
67
  *
68
- * @type {Number}
68
+ * @type {number}
69
69
  * @constant
70
70
  */
71
71
  ALWAYS: WebGLConstants.ALWAYS,
@@ -3,13 +3,13 @@ import WebGLConstants from "../Core/WebGLConstants.js";
3
3
  /**
4
4
  * Determines the action taken based on the result of the stencil test.
5
5
  *
6
- * @enum {Number}
6
+ * @enum {number}
7
7
  */
8
8
  const StencilOperation = {
9
9
  /**
10
10
  * Sets the stencil buffer value to zero.
11
11
  *
12
- * @type {Number}
12
+ * @type {number}
13
13
  * @constant
14
14
  */
15
15
  ZERO: WebGLConstants.ZERO,
@@ -17,7 +17,7 @@ const StencilOperation = {
17
17
  /**
18
18
  * Does not change the stencil buffer.
19
19
  *
20
- * @type {Number}
20
+ * @type {number}
21
21
  * @constant
22
22
  */
23
23
  KEEP: WebGLConstants.KEEP,
@@ -25,7 +25,7 @@ const StencilOperation = {
25
25
  /**
26
26
  * Replaces the stencil buffer value with the reference value.
27
27
  *
28
- * @type {Number}
28
+ * @type {number}
29
29
  * @constant
30
30
  */
31
31
  REPLACE: WebGLConstants.REPLACE,
@@ -33,7 +33,7 @@ const StencilOperation = {
33
33
  /**
34
34
  * Increments the stencil buffer value, clamping to unsigned byte.
35
35
  *
36
- * @type {Number}
36
+ * @type {number}
37
37
  * @constant
38
38
  */
39
39
  INCREMENT: WebGLConstants.INCR,
@@ -41,7 +41,7 @@ const StencilOperation = {
41
41
  /**
42
42
  * Decrements the stencil buffer value, clamping to zero.
43
43
  *
44
- * @type {Number}
44
+ * @type {number}
45
45
  * @constant
46
46
  */
47
47
  DECREMENT: WebGLConstants.DECR,
@@ -49,7 +49,7 @@ const StencilOperation = {
49
49
  /**
50
50
  * Bitwise inverts the existing stencil buffer value.
51
51
  *
52
- * @type {Number}
52
+ * @type {number}
53
53
  * @constant
54
54
  */
55
55
  INVERT: WebGLConstants.INVERT,
@@ -57,7 +57,7 @@ const StencilOperation = {
57
57
  /**
58
58
  * Increments the stencil buffer value, wrapping to zero when exceeding the unsigned byte range.
59
59
  *
60
- * @type {Number}
60
+ * @type {number}
61
61
  * @constant
62
62
  */
63
63
  INCREMENT_WRAP: WebGLConstants.INCR_WRAP,
@@ -65,7 +65,7 @@ const StencilOperation = {
65
65
  /**
66
66
  * Decrements the stencil buffer value, wrapping to the maximum unsigned byte instead of going below zero.
67
67
  *
68
- * @type {Number}
68
+ * @type {number}
69
69
  * @constant
70
70
  */
71
71
  DECREMENT_WRAP: WebGLConstants.DECR_WRAP,