@cesium/engine 14.0.0 → 16.0.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 (578) hide show
  1. package/Build/Workers/{chunk-WVNLSTOF.js → chunk-2TQ64T4I.js} +2 -2
  2. package/Build/Workers/{chunk-ED6GLQTK.js → chunk-34EWMUFG.js} +1 -1
  3. package/Build/Workers/{chunk-HEZHXDYB.js → chunk-4LHK6E47.js} +1 -1
  4. package/Build/Workers/{chunk-7EO56M5R.js → chunk-5TN3LG2T.js} +2 -2
  5. package/Build/Workers/{chunk-7ZB2RVIQ.js → chunk-6B7KGA5P.js} +16 -19
  6. package/Build/Workers/{chunk-3QLSKXKF.js → chunk-B75OO2DU.js} +7 -10
  7. package/Build/Workers/{chunk-Q4ZVWJXX.js → chunk-COOLDICB.js} +9 -11
  8. package/Build/Workers/{chunk-3PIZQT3I.js → chunk-CQNYYX3N.js} +4 -4
  9. package/Build/Workers/{chunk-JPDKYBLF.js → chunk-CUJH7PS5.js} +27 -29
  10. package/Build/Workers/{chunk-CI2HEJFC.js → chunk-EAWYQ44R.js} +39 -41
  11. package/Build/Workers/{chunk-SDIDRZDG.js → chunk-EJJDBH5W.js} +7 -7
  12. package/Build/Workers/{chunk-5KWRW7YL.js → chunk-EO44CO62.js} +2 -2
  13. package/Build/Workers/{chunk-N2XAJBC6.js → chunk-EOIUWEAK.js} +26 -28
  14. package/Build/Workers/{chunk-YJX7X577.js → chunk-ERKJ7IWJ.js} +21 -23
  15. package/Build/Workers/{chunk-J7IH4EYI.js → chunk-ESED7XBA.js} +13 -16
  16. package/Build/Workers/{chunk-F4CUH4MR.js → chunk-FW2OX42E.js} +18 -21
  17. package/Build/Workers/{chunk-FX4R4MTH.js → chunk-GH6I7PBY.js} +6 -9
  18. package/Build/Workers/{chunk-FYGLNDKG.js → chunk-GQVSADCI.js} +19 -22
  19. package/Build/Workers/{chunk-TY4DKOWR.js → chunk-ICU72UPR.js} +4 -4
  20. package/Build/Workers/{chunk-DT5NFR5C.js → chunk-ILVAXLMC.js} +7 -7
  21. package/Build/Workers/{chunk-ZGFIT57T.js → chunk-KKV6XBF5.js} +27 -23
  22. package/Build/Workers/{chunk-HKHQ3EDR.js → chunk-KV6TEHXY.js} +4 -4
  23. package/Build/Workers/{chunk-B4GSRXE3.js → chunk-LCSH4ZOB.js} +7 -10
  24. package/Build/Workers/{chunk-LNSWJ43X.js → chunk-M5J3S3HY.js} +17 -26
  25. package/Build/Workers/{chunk-LJBJM6VI.js → chunk-NB6D74SQ.js} +6 -6
  26. package/Build/Workers/{chunk-4CHMVQTQ.js → chunk-NREPBWCX.js} +14 -14
  27. package/Build/Workers/{chunk-PWF4EY5P.js → chunk-OD4Q7HE5.js} +4 -4
  28. package/Build/Workers/{chunk-77XPS7ZA.js → chunk-OMFZ4IN6.js} +15 -24
  29. package/Build/Workers/{chunk-HUFQVUMY.js → chunk-OMZGZVHI.js} +12 -17
  30. package/Build/Workers/{chunk-LOZ4NKY3.js → chunk-ORIMMEHO.js} +18 -20
  31. package/Build/Workers/{chunk-5S5OOA6U.js → chunk-OWLBD6BL.js} +1 -1
  32. package/Build/Workers/{chunk-VCNOFQYH.js → chunk-PB6SE3SZ.js} +9 -12
  33. package/Build/Workers/{chunk-3JBEPBPL.js → chunk-PT6U7UNY.js} +25 -30
  34. package/Build/Workers/{chunk-G3BVMPWG.js → chunk-RWAFHSX3.js} +2 -2
  35. package/Build/Workers/{chunk-KHWLAQVA.js → chunk-S2NKKWYE.js} +1 -1
  36. package/Build/Workers/{chunk-FFBJDW4A.js → chunk-S3IQBSIB.js} +6 -6
  37. package/Build/Workers/{chunk-3LYROPON.js → chunk-SCUQTTCN.js} +16 -19
  38. package/Build/Workers/{chunk-ZMNLEL6W.js → chunk-TBSA4MNF.js} +5 -8
  39. package/Build/Workers/{chunk-EWDGNOJE.js → chunk-TEUGW455.js} +9 -12
  40. package/Build/Workers/{chunk-XK4OP6VA.js → chunk-TL5YKZJF.js} +33 -41
  41. package/Build/Workers/{chunk-KM6MITPF.js → chunk-V4Y7C25O.js} +46 -42
  42. package/Build/Workers/{chunk-OMXHEJTK.js → chunk-VNDECE6N.js} +2 -2
  43. package/Build/Workers/{chunk-LS3KVHYY.js → chunk-VVTAI2TN.js} +6 -9
  44. package/Build/Workers/{chunk-WEHZP4SE.js → chunk-VXAAIRJ7.js} +129 -146
  45. package/Build/Workers/{chunk-MVM4JV5U.js → chunk-WGIOUM2S.js} +9 -12
  46. package/Build/Workers/{chunk-JHBPC4LK.js → chunk-XF6EBVKV.js} +7 -7
  47. package/Build/Workers/{chunk-D7ZBZPHV.js → chunk-XMKE4XB2.js} +5 -5
  48. package/Build/Workers/{chunk-7UHKH6M3.js → chunk-YA4XALD5.js} +34 -36
  49. package/Build/Workers/{chunk-KSYBJA4M.js → chunk-YFXXUW6U.js} +6 -12
  50. package/Build/Workers/{chunk-Z3QWTHI7.js → chunk-YL26OJCG.js} +21 -23
  51. package/Build/Workers/{chunk-K4AH3TDT.js → chunk-ZLJDDRGB.js} +14 -17
  52. package/Build/Workers/combineGeometry.js +21 -22
  53. package/Build/Workers/createBoxGeometry.js +15 -16
  54. package/Build/Workers/createBoxOutlineGeometry.js +20 -25
  55. package/Build/Workers/createCircleGeometry.js +26 -28
  56. package/Build/Workers/createCircleOutlineGeometry.js +19 -21
  57. package/Build/Workers/createCoplanarPolygonGeometry.js +38 -42
  58. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +34 -36
  59. package/Build/Workers/createCorridorGeometry.js +42 -49
  60. package/Build/Workers/createCorridorOutlineGeometry.js +36 -43
  61. package/Build/Workers/createCylinderGeometry.js +17 -18
  62. package/Build/Workers/createCylinderOutlineGeometry.js +23 -25
  63. package/Build/Workers/createEllipseGeometry.js +23 -24
  64. package/Build/Workers/createEllipseOutlineGeometry.js +16 -17
  65. package/Build/Workers/createEllipsoidGeometry.js +16 -17
  66. package/Build/Workers/createEllipsoidOutlineGeometry.js +15 -16
  67. package/Build/Workers/createFrustumGeometry.js +15 -16
  68. package/Build/Workers/createFrustumOutlineGeometry.js +18 -21
  69. package/Build/Workers/createGeometry.js +22 -25
  70. package/Build/Workers/createGroundPolylineGeometry.js +34 -42
  71. package/Build/Workers/createPlaneGeometry.js +19 -21
  72. package/Build/Workers/createPlaneOutlineGeometry.js +12 -13
  73. package/Build/Workers/createPolygonGeometry.js +45 -50
  74. package/Build/Workers/createPolygonOutlineGeometry.js +39 -44
  75. package/Build/Workers/createPolylineGeometry.js +33 -40
  76. package/Build/Workers/createPolylineVolumeGeometry.js +37 -44
  77. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +32 -39
  78. package/Build/Workers/createRectangleGeometry.js +41 -51
  79. package/Build/Workers/createRectangleOutlineGeometry.js +28 -33
  80. package/Build/Workers/createSimplePolylineGeometry.js +29 -34
  81. package/Build/Workers/createSphereGeometry.js +17 -20
  82. package/Build/Workers/createSphereOutlineGeometry.js +16 -19
  83. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  84. package/Build/Workers/createVectorTileClampedPolylines.js +12 -13
  85. package/Build/Workers/createVectorTileGeometries.js +21 -22
  86. package/Build/Workers/createVectorTilePoints.js +11 -12
  87. package/Build/Workers/createVectorTilePolygons.js +19 -20
  88. package/Build/Workers/createVectorTilePolylines.js +12 -13
  89. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +20 -23
  90. package/Build/Workers/createVerticesFromHeightmap.js +31 -58
  91. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +17 -18
  92. package/Build/Workers/createWallGeometry.js +30 -35
  93. package/Build/Workers/createWallOutlineGeometry.js +28 -33
  94. package/Build/Workers/decodeDraco.js +10 -11
  95. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  96. package/Build/Workers/decodeI3S.js +10 -16
  97. package/Build/Workers/transcodeKTX2.js +50 -46
  98. package/Build/Workers/transferTypedArrayTest.js +1 -1
  99. package/Build/Workers/upsampleQuantizedTerrainMesh.js +19 -20
  100. package/Source/Core/ApproximateTerrainHeights.js +2 -3
  101. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +6 -6
  102. package/Source/Core/AxisAlignedBoundingBox.js +2 -3
  103. package/Source/Core/BingMapsGeocoderService.js +2 -2
  104. package/Source/Core/BoundingRectangle.js +7 -8
  105. package/Source/Core/BoundingSphere.js +10 -11
  106. package/Source/Core/BoxGeometry.js +7 -7
  107. package/Source/Core/BoxOutlineGeometry.js +7 -9
  108. package/Source/Core/Cartesian2.js +4 -5
  109. package/Source/Core/Cartesian3.js +7 -8
  110. package/Source/Core/Cartesian4.js +6 -7
  111. package/Source/Core/Cartographic.js +5 -6
  112. package/Source/Core/CatmullRomSpline.js +2 -2
  113. package/Source/Core/CesiumTerrainProvider.js +11 -14
  114. package/Source/Core/CircleGeometry.js +2 -2
  115. package/Source/Core/CircleOutlineGeometry.js +2 -2
  116. package/Source/Core/Clock.js +7 -10
  117. package/Source/Core/Color.js +28 -28
  118. package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
  119. package/Source/Core/ComponentDatatype.js +4 -6
  120. package/Source/Core/CoplanarPolygonGeometry.js +8 -10
  121. package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
  122. package/Source/Core/CorridorGeometry.js +15 -20
  123. package/Source/Core/CorridorOutlineGeometry.js +10 -15
  124. package/Source/Core/Credit.js +1 -2
  125. package/Source/Core/CullingVolume.js +1 -2
  126. package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
  127. package/Source/Core/CylinderGeometry.js +7 -7
  128. package/Source/Core/CylinderOutlineGeometry.js +7 -7
  129. package/Source/Core/DistanceDisplayCondition.js +4 -5
  130. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
  131. package/Source/Core/EarthOrientationParameters.js +4 -4
  132. package/Source/Core/EllipseGeometry.js +17 -23
  133. package/Source/Core/EllipseOutlineGeometry.js +12 -15
  134. package/Source/Core/Ellipsoid.js +7 -8
  135. package/Source/Core/EllipsoidGeodesic.js +1 -2
  136. package/Source/Core/EllipsoidGeometry.js +15 -15
  137. package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
  138. package/Source/Core/EllipsoidRhumbLine.js +3 -4
  139. package/Source/Core/EllipsoidTangentPlane.js +1 -2
  140. package/Source/Core/EllipsoidTerrainProvider.js +4 -4
  141. package/Source/Core/EllipsoidalOccluder.js +2 -3
  142. package/Source/Core/FeatureDetection.js +1 -2
  143. package/Source/Core/Frozen.js +24 -0
  144. package/Source/Core/FrustumGeometry.js +7 -8
  145. package/Source/Core/FrustumOutlineGeometry.js +3 -4
  146. package/Source/Core/GeographicProjection.js +1 -2
  147. package/Source/Core/GeographicTilingScheme.js +6 -12
  148. package/Source/Core/Geometry.js +4 -7
  149. package/Source/Core/GeometryAttribute.js +3 -3
  150. package/Source/Core/GeometryAttributes.js +2 -2
  151. package/Source/Core/GeometryInstance.js +4 -6
  152. package/Source/Core/GeometryInstanceAttribute.js +3 -3
  153. package/Source/Core/GeometryPipeline.js +3 -4
  154. package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
  155. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
  156. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
  157. package/Source/Core/GoogleGeocoderService.js +2 -2
  158. package/Source/Core/GregorianDate.js +8 -9
  159. package/Source/Core/GroundPolylineGeometry.js +8 -8
  160. package/Source/Core/HeadingPitchRange.js +3 -4
  161. package/Source/Core/HeadingPitchRoll.js +3 -4
  162. package/Source/Core/Heap.js +3 -4
  163. package/Source/Core/HeightmapTerrainData.js +22 -38
  164. package/Source/Core/HeightmapTessellator.js +21 -37
  165. package/Source/Core/HermitePolynomialApproximation.js +1 -2
  166. package/Source/Core/HermiteSpline.js +5 -5
  167. package/Source/Core/ITwinPlatform.js +66 -12
  168. package/Source/Core/Iau2006XysData.js +8 -10
  169. package/Source/Core/IntersectionTests.js +1 -2
  170. package/Source/Core/Interval.js +2 -4
  171. package/Source/Core/Ion.js +1 -1
  172. package/Source/Core/IonGeocoderService.js +6 -10
  173. package/Source/Core/IonResource.js +6 -6
  174. package/Source/Core/JulianDate.js +11 -12
  175. package/Source/Core/LinearSpline.js +2 -2
  176. package/Source/Core/ManagedArray.js +2 -3
  177. package/Source/Core/Math.js +36 -27
  178. package/Source/Core/Matrix2.js +7 -8
  179. package/Source/Core/Matrix3.js +12 -13
  180. package/Source/Core/Matrix4.js +28 -28
  181. package/Source/Core/MorphWeightSpline.js +2 -2
  182. package/Source/Core/NearFarScalar.js +6 -7
  183. package/Source/Core/Occluder.js +1 -2
  184. package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
  185. package/Source/Core/OpenCageGeocoderService.js +1 -2
  186. package/Source/Core/OrientedBoundingBox.js +7 -8
  187. package/Source/Core/OrthographicFrustum.js +6 -6
  188. package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
  189. package/Source/Core/PerspectiveFrustum.js +8 -8
  190. package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
  191. package/Source/Core/PlaneGeometry.js +5 -5
  192. package/Source/Core/PolygonGeometry.js +16 -19
  193. package/Source/Core/PolygonGeometryLibrary.js +27 -6
  194. package/Source/Core/PolygonOutlineGeometry.js +11 -14
  195. package/Source/Core/PolygonPipeline.js +5 -6
  196. package/Source/Core/PolylineGeometry.js +10 -15
  197. package/Source/Core/PolylinePipeline.js +7 -14
  198. package/Source/Core/PolylineVolumeGeometry.js +8 -13
  199. package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
  200. package/Source/Core/QuantizedMeshTerrainData.js +12 -16
  201. package/Source/Core/Quaternion.js +7 -8
  202. package/Source/Core/QuaternionSpline.js +2 -2
  203. package/Source/Core/Ray.js +2 -3
  204. package/Source/Core/Rectangle.js +18 -19
  205. package/Source/Core/RectangleGeometry.js +17 -25
  206. package/Source/Core/RectangleGeometryLibrary.js +1 -1
  207. package/Source/Core/RectangleOutlineGeometry.js +10 -13
  208. package/Source/Core/Request.js +6 -6
  209. package/Source/Core/RequestScheduler.js +4 -6
  210. package/Source/Core/Resource.js +13 -16
  211. package/Source/Core/S2Cell.js +2 -3
  212. package/Source/Core/ScreenSpaceEventHandler.js +1 -2
  213. package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
  214. package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
  215. package/Source/Core/SimplePolylineGeometry.js +8 -11
  216. package/Source/Core/SphereGeometry.js +1 -2
  217. package/Source/Core/SphereOutlineGeometry.js +1 -2
  218. package/Source/Core/Spherical.js +4 -5
  219. package/Source/Core/Spline.js +1 -2
  220. package/Source/Core/SteppedSpline.js +2 -2
  221. package/Source/Core/TaskProcessor.js +2 -9
  222. package/Source/Core/TerrainData.js +1 -1
  223. package/Source/Core/TerrainEncoding.js +4 -11
  224. package/Source/Core/TerrainMesh.js +1 -3
  225. package/Source/Core/TerrainProvider.js +1 -1
  226. package/Source/Core/TexturePacker.js +166 -0
  227. package/Source/Core/TileProviderError.js +1 -2
  228. package/Source/Core/TimeInterval.js +7 -7
  229. package/Source/Core/TimeIntervalCollection.js +7 -7
  230. package/Source/Core/Tipsify.js +5 -5
  231. package/Source/Core/Transforms.js +10 -15
  232. package/Source/Core/TranslationRotationScale.js +3 -6
  233. package/Source/Core/VRTheWorldTerrainProvider.js +5 -5
  234. package/Source/Core/VertexFormat.js +10 -10
  235. package/Source/Core/VerticalExaggeration.js +1 -1
  236. package/Source/Core/VideoSynchronizer.js +6 -6
  237. package/Source/Core/WallGeometry.js +8 -11
  238. package/Source/Core/WallOutlineGeometry.js +7 -10
  239. package/Source/Core/WebMercatorProjection.js +1 -2
  240. package/Source/Core/WebMercatorTilingScheme.js +5 -11
  241. package/Source/Core/arrayRemoveDuplicates.js +1 -2
  242. package/Source/Core/clone.js +1 -3
  243. package/Source/Core/combine.js +1 -2
  244. package/Source/Core/createWorldBathymetryAsync.js +3 -3
  245. package/Source/Core/createWorldTerrainAsync.js +4 -4
  246. package/Source/Core/defaultValue.js +20 -1
  247. package/Source/Core/destroyObject.js +1 -5
  248. package/Source/Core/getAbsoluteUri.js +1 -2
  249. package/Source/Core/getMagic.js +1 -2
  250. package/Source/Core/getStringFromTypedArray.js +2 -3
  251. package/Source/Core/loadImageFromTypedArray.js +2 -6
  252. package/Source/Core/oneTimeWarning.js +1 -2
  253. package/Source/Core/writeTextToCanvas.js +10 -13
  254. package/Source/DataSources/BillboardGraphics.js +27 -53
  255. package/Source/DataSources/BillboardVisualizer.js +3 -3
  256. package/Source/DataSources/BoxGraphics.js +13 -18
  257. package/Source/DataSources/CallbackPositionProperty.js +1 -2
  258. package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
  259. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  260. package/Source/DataSources/CompositePositionProperty.js +1 -2
  261. package/Source/DataSources/ConstantPositionProperty.js +1 -2
  262. package/Source/DataSources/CorridorGraphics.js +23 -35
  263. package/Source/DataSources/CylinderGraphics.js +18 -25
  264. package/Source/DataSources/CzmlDataSource.js +34 -60
  265. package/Source/DataSources/DataSourceClock.js +12 -13
  266. package/Source/DataSources/DataSourceCollection.js +2 -3
  267. package/Source/DataSources/DataSourceDisplay.js +2 -5
  268. package/Source/DataSources/EllipseGraphics.js +26 -40
  269. package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
  270. package/Source/DataSources/EllipsoidGraphics.js +21 -32
  271. package/Source/DataSources/Entity.js +7 -9
  272. package/Source/DataSources/EntityCluster.js +53 -28
  273. package/Source/DataSources/EntityView.js +1 -2
  274. package/Source/DataSources/GeoJsonDataSource.js +12 -12
  275. package/Source/DataSources/GeometryUpdater.js +12 -17
  276. package/Source/DataSources/GeometryVisualizer.js +2 -3
  277. package/Source/DataSources/GpxDataSource.js +4 -7
  278. package/Source/DataSources/GridMaterialProperty.js +2 -2
  279. package/Source/DataSources/GroundGeometryUpdater.js +1 -2
  280. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  281. package/Source/DataSources/KmlDataSource.js +84 -158
  282. package/Source/DataSources/LabelGraphics.js +27 -56
  283. package/Source/DataSources/LabelVisualizer.js +1 -2
  284. package/Source/DataSources/ModelGraphics.js +29 -63
  285. package/Source/DataSources/ModelVisualizer.js +1 -2
  286. package/Source/DataSources/NodeTransformationProperty.js +2 -2
  287. package/Source/DataSources/PathGraphics.js +10 -12
  288. package/Source/DataSources/PlaneGraphics.js +13 -15
  289. package/Source/DataSources/PointGraphics.js +17 -32
  290. package/Source/DataSources/PolygonGraphics.js +28 -45
  291. package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
  292. package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
  293. package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
  294. package/Source/DataSources/PolylineGraphics.js +16 -23
  295. package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
  296. package/Source/DataSources/PolylineVisualizer.js +2 -3
  297. package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
  298. package/Source/DataSources/PositionPropertyArray.js +1 -2
  299. package/Source/DataSources/Property.js +1 -2
  300. package/Source/DataSources/PropertyBag.js +1 -2
  301. package/Source/DataSources/RectangleGraphics.js +23 -35
  302. package/Source/DataSources/Rotation.js +4 -5
  303. package/Source/DataSources/SampledPositionProperty.js +2 -3
  304. package/Source/DataSources/SampledProperty.js +6 -11
  305. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
  306. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  307. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
  308. package/Source/DataSources/VelocityOrientationProperty.js +1 -2
  309. package/Source/DataSources/VelocityVectorProperty.js +1 -2
  310. package/Source/DataSources/WallGraphics.js +15 -23
  311. package/Source/DataSources/createPropertyDescriptor.js +2 -3
  312. package/Source/DataSources/exportKml.js +11 -14
  313. package/Source/Renderer/Buffer.js +5 -5
  314. package/Source/Renderer/ClearCommand.js +2 -2
  315. package/Source/Renderer/ComputeCommand.js +3 -3
  316. package/Source/Renderer/Context.js +22 -37
  317. package/Source/Renderer/CubeMap.js +6 -6
  318. package/Source/Renderer/CubeMapFace.js +11 -12
  319. package/Source/Renderer/DrawCommand.js +14 -25
  320. package/Source/Renderer/Framebuffer.js +3 -3
  321. package/Source/Renderer/FramebufferManager.js +25 -39
  322. package/Source/Renderer/MultisampleFramebuffer.js +2 -2
  323. package/Source/Renderer/RenderState.js +63 -92
  324. package/Source/Renderer/Renderbuffer.js +4 -4
  325. package/Source/Renderer/Sampler.js +2 -2
  326. package/Source/Renderer/ShaderBuilder.js +2 -3
  327. package/Source/Renderer/ShaderProgram.js +3 -3
  328. package/Source/Renderer/ShaderSource.js +3 -3
  329. package/Source/Renderer/Texture.js +16 -15
  330. package/Source/Renderer/TextureAtlas.js +802 -0
  331. package/Source/Renderer/UniformState.js +6 -11
  332. package/Source/Renderer/VertexArray.js +14 -23
  333. package/Source/Renderer/VertexArrayFacade.js +7 -11
  334. package/Source/Scene/Appearance.js +4 -4
  335. package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
  336. package/Source/Scene/ArcGisMapService.js +1 -1
  337. package/Source/Scene/B3dmParser.js +2 -3
  338. package/Source/Scene/BatchTableHierarchy.js +6 -13
  339. package/Source/Scene/Billboard.js +105 -182
  340. package/Source/Scene/BillboardCollection.js +140 -224
  341. package/Source/Scene/BillboardLoadState.js +44 -0
  342. package/Source/Scene/BillboardTexture.js +348 -0
  343. package/Source/Scene/BingMapsImageryProvider.js +6 -6
  344. package/Source/Scene/BoxEmitter.js +1 -2
  345. package/Source/Scene/BufferLoader.js +2 -2
  346. package/Source/Scene/Camera.js +45 -64
  347. package/Source/Scene/CameraFlightPath.js +6 -6
  348. package/Source/Scene/Cesium3DContentGroup.js +2 -2
  349. package/Source/Scene/Cesium3DTile.js +3 -4
  350. package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
  351. package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
  352. package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
  353. package/Source/Scene/Cesium3DTileStyle.js +4 -7
  354. package/Source/Scene/Cesium3DTilesVoxelProvider.js +419 -137
  355. package/Source/Scene/Cesium3DTileset.js +77 -143
  356. package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
  357. package/Source/Scene/Cesium3DTilesetStatistics.js +0 -1
  358. package/Source/Scene/CircleEmitter.js +2 -3
  359. package/Source/Scene/ClassificationPrimitive.js +15 -26
  360. package/Source/Scene/ClippingPlaneCollection.js +7 -12
  361. package/Source/Scene/ClippingPolygon.js +1 -2
  362. package/Source/Scene/ClippingPolygonCollection.js +4 -4
  363. package/Source/Scene/CloudCollection.js +9 -11
  364. package/Source/Scene/Composite3DTileContent.js +1 -2
  365. package/Source/Scene/ConeEmitter.js +1 -2
  366. package/Source/Scene/ContentMetadata.js +2 -2
  367. package/Source/Scene/CreditDisplay.js +5 -9
  368. package/Source/Scene/CumulusCloud.js +9 -15
  369. package/Source/Scene/DebugAppearance.js +7 -7
  370. package/Source/Scene/DebugCameraPrimitive.js +5 -5
  371. package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
  372. package/Source/Scene/DepthPlane.js +1 -2
  373. package/Source/Scene/DirectionalLight.js +2 -3
  374. package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
  375. package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
  376. package/Source/Scene/EllipsoidPrimitive.js +11 -19
  377. package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
  378. package/Source/Scene/Expression.js +1 -0
  379. package/Source/Scene/FrameRateMonitor.js +12 -21
  380. package/Source/Scene/FrustumCommands.js +2 -3
  381. package/Source/Scene/Geometry3DTileContent.js +9 -16
  382. package/Source/Scene/Globe.js +3 -4
  383. package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
  384. package/Source/Scene/GlobeTranslucencyState.js +12 -25
  385. package/Source/Scene/GltfBufferViewLoader.js +4 -4
  386. package/Source/Scene/GltfDracoLoader.js +2 -2
  387. package/Source/Scene/GltfImageLoader.js +2 -2
  388. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  389. package/Source/Scene/GltfJsonLoader.js +2 -2
  390. package/Source/Scene/GltfLoader.js +22 -37
  391. package/Source/Scene/GltfLoaderUtil.js +11 -11
  392. package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
  393. package/Source/Scene/GltfPipeline/addToArray.js +1 -3
  394. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
  395. package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
  396. package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
  397. package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
  398. package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
  399. package/Source/Scene/GltfTextureLoader.js +3 -3
  400. package/Source/Scene/GltfVertexBufferLoader.js +5 -5
  401. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
  402. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
  403. package/Source/Scene/GridImageryProvider.js +10 -13
  404. package/Source/Scene/GroundPolylinePrimitive.js +11 -22
  405. package/Source/Scene/GroundPrimitive.js +13 -24
  406. package/Source/Scene/GroupMetadata.js +2 -2
  407. package/Source/Scene/I3SDataProvider.js +10 -15
  408. package/Source/Scene/I3SNode.js +1 -6
  409. package/Source/Scene/I3SSublayer.js +1 -2
  410. package/Source/Scene/I3SSymbology.js +2 -3
  411. package/Source/Scene/I3dmParser.js +1 -2
  412. package/Source/Scene/ITwinData.js +11 -6
  413. package/Source/Scene/ImageBasedLighting.js +2 -2
  414. package/Source/Scene/ImageryLayer.js +42 -71
  415. package/Source/Scene/ImageryLayerCollection.js +2 -3
  416. package/Source/Scene/Implicit3DTileContent.js +3 -4
  417. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
  418. package/Source/Scene/ImplicitMetadataView.js +2 -2
  419. package/Source/Scene/ImplicitSubtree.js +10 -15
  420. package/Source/Scene/ImplicitSubtreeCache.js +3 -3
  421. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  422. package/Source/Scene/InstanceAttributeSemantic.js +1 -1
  423. package/Source/Scene/IonImageryProvider.js +3 -3
  424. package/Source/Scene/KeyframeNode.js +16 -2
  425. package/Source/Scene/Label.js +19 -36
  426. package/Source/Scene/LabelCollection.js +218 -196
  427. package/Source/Scene/MapboxImageryProvider.js +4 -4
  428. package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
  429. package/Source/Scene/Material.js +14 -20
  430. package/Source/Scene/MaterialAppearance.js +12 -18
  431. package/Source/Scene/Megatexture.js +145 -82
  432. package/Source/Scene/MetadataClass.js +4 -4
  433. package/Source/Scene/MetadataClassProperty.js +11 -14
  434. package/Source/Scene/MetadataEnum.js +4 -7
  435. package/Source/Scene/MetadataEnumValue.js +2 -2
  436. package/Source/Scene/MetadataSchema.js +4 -4
  437. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  438. package/Source/Scene/MetadataTable.js +2 -2
  439. package/Source/Scene/MetadataTableProperty.js +17 -31
  440. package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
  441. package/Source/Scene/Model/B3dmLoader.js +15 -26
  442. package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
  443. package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
  444. package/Source/Scene/Model/CustomShader.js +10 -14
  445. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
  446. package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
  447. package/Source/Scene/Model/GeoJsonLoader.js +5 -8
  448. package/Source/Scene/Model/I3dmLoader.js +13 -21
  449. package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
  450. package/Source/Scene/Model/Model.js +41 -63
  451. package/Source/Scene/Model/ModelAnimation.js +5 -6
  452. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  453. package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
  454. package/Source/Scene/Model/ModelArticulation.js +2 -2
  455. package/Source/Scene/Model/ModelArticulationStage.js +2 -2
  456. package/Source/Scene/Model/ModelDrawCommand.js +3 -3
  457. package/Source/Scene/Model/ModelFeatureTable.js +3 -9
  458. package/Source/Scene/Model/ModelLightingOptions.js +3 -3
  459. package/Source/Scene/Model/ModelNode.js +1 -1
  460. package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
  461. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
  462. package/Source/Scene/Model/ModelSceneGraph.js +2 -2
  463. package/Source/Scene/Model/ModelSkin.js +2 -2
  464. package/Source/Scene/Model/ModelUtility.js +5 -1
  465. package/Source/Scene/Model/PickingPipelineStage.js +1 -2
  466. package/Source/Scene/Model/PntsLoader.js +6 -6
  467. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
  468. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
  469. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
  470. package/Source/Scene/Model/TextureUniform.js +5 -8
  471. package/Source/Scene/Model/VaryingType.js +2 -2
  472. package/Source/Scene/Model/pickModel.js +4 -5
  473. package/Source/Scene/Moon.js +5 -5
  474. package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
  475. package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
  476. package/Source/Scene/Particle.js +11 -17
  477. package/Source/Scene/ParticleBurst.js +5 -5
  478. package/Source/Scene/ParticleSystem.js +24 -54
  479. package/Source/Scene/PerInstanceColorAppearance.js +8 -8
  480. package/Source/Scene/PerformanceDisplay.js +3 -3
  481. package/Source/Scene/PickFramebuffer.js +4 -5
  482. package/Source/Scene/Picking.js +3 -4
  483. package/Source/Scene/PntsParser.js +1 -2
  484. package/Source/Scene/PointCloud.js +6 -12
  485. package/Source/Scene/PointCloudShading.js +9 -18
  486. package/Source/Scene/PointPrimitive.js +11 -21
  487. package/Source/Scene/PointPrimitiveCollection.js +6 -14
  488. package/Source/Scene/Polyline.js +5 -5
  489. package/Source/Scene/PolylineCollection.js +5 -10
  490. package/Source/Scene/PolylineColorAppearance.js +7 -11
  491. package/Source/Scene/PolylineMaterialAppearance.js +7 -11
  492. package/Source/Scene/PostProcessStage.js +2 -2
  493. package/Source/Scene/PostProcessStageComposite.js +3 -6
  494. package/Source/Scene/Primitive.js +21 -42
  495. package/Source/Scene/PrimitiveCollection.js +4 -4
  496. package/Source/Scene/PrimitivePipeline.js +1 -2
  497. package/Source/Scene/PropertyAttribute.js +2 -2
  498. package/Source/Scene/PropertyAttributeProperty.js +4 -4
  499. package/Source/Scene/PropertyTable.js +2 -2
  500. package/Source/Scene/PropertyTexture.js +2 -2
  501. package/Source/Scene/PropertyTextureProperty.js +4 -4
  502. package/Source/Scene/QuadtreePrimitive.js +84 -66
  503. package/Source/Scene/QuadtreeTile.js +170 -0
  504. package/Source/Scene/ResourceCache.js +11 -11
  505. package/Source/Scene/ResourceCacheKey.js +11 -11
  506. package/Source/Scene/Scene.js +66 -40
  507. package/Source/Scene/ScreenSpaceCameraController.js +10 -20
  508. package/Source/Scene/ShadowMap.js +15 -15
  509. package/Source/Scene/ShadowVolumeAppearance.js +1 -2
  510. package/Source/Scene/SingleTileImageryProvider.js +4 -4
  511. package/Source/Scene/SkyAtmosphere.js +1 -2
  512. package/Source/Scene/SkyBox.js +1 -2
  513. package/Source/Scene/SpatialNode.js +4 -11
  514. package/Source/Scene/SphereEmitter.js +2 -3
  515. package/Source/Scene/StructuralMetadata.js +2 -2
  516. package/Source/Scene/SunLight.js +4 -4
  517. package/Source/Scene/SupportedImageFormats.js +4 -4
  518. package/Source/Scene/TileBoundingRegion.js +4 -5
  519. package/Source/Scene/TileBoundingS2Cell.js +3 -4
  520. package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
  521. package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
  522. package/Source/Scene/TileMetadata.js +2 -2
  523. package/Source/Scene/TilesetMetadata.js +2 -2
  524. package/Source/Scene/TimeDynamicImagery.js +2 -2
  525. package/Source/Scene/TimeDynamicPointCloud.js +8 -10
  526. package/Source/Scene/TweenCollection.js +13 -16
  527. package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
  528. package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
  529. package/Source/Scene/Vector3DTileContent.js +16 -20
  530. package/Source/Scene/Vector3DTileGeometry.js +1 -2
  531. package/Source/Scene/Vector3DTilePoints.js +2 -5
  532. package/Source/Scene/Vector3DTilePolygons.js +2 -3
  533. package/Source/Scene/Vector3DTilePolylines.js +1 -2
  534. package/Source/Scene/Vector3DTilePrimitive.js +9 -13
  535. package/Source/Scene/VoxelBoxShape.js +14 -8
  536. package/Source/Scene/VoxelCell.js +6 -5
  537. package/Source/Scene/VoxelContent.js +171 -107
  538. package/Source/Scene/VoxelCylinderShape.js +69 -69
  539. package/Source/Scene/VoxelEllipsoidShape.js +17 -8
  540. package/Source/Scene/VoxelMetadataOrder.js +24 -0
  541. package/Source/Scene/VoxelPrimitive.js +134 -79
  542. package/Source/Scene/VoxelProvider.js +22 -29
  543. package/Source/Scene/VoxelRenderResources.js +26 -7
  544. package/Source/Scene/VoxelShape.js +10 -3
  545. package/Source/Scene/VoxelTraversal.js +260 -180
  546. package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
  547. package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
  548. package/Source/Scene/createElevationBandMaterial.js +4 -4
  549. package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
  550. package/Source/Scene/createOsmBuildingsAsync.js +3 -6
  551. package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
  552. package/Source/Scene/createWorldImageryAsync.js +3 -3
  553. package/Source/Scene/findContentMetadata.js +2 -5
  554. package/Source/Scene/findTileMetadata.js +2 -5
  555. package/Source/Scene/parseBatchTable.js +1 -5
  556. package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
  557. package/Source/Scene/parseStructuralMetadata.js +2 -2
  558. package/Source/Scene/processVoxelProperties.js +3 -0
  559. package/Source/Shaders/GlobeFS.glsl +10 -1
  560. package/Source/Shaders/GlobeFS.js +10 -1
  561. package/Source/Shaders/Voxels/Megatexture.glsl +4 -16
  562. package/Source/Shaders/Voxels/Megatexture.js +4 -16
  563. package/Source/Shaders/Voxels/Octree.glsl +44 -7
  564. package/Source/Shaders/Voxels/Octree.js +44 -7
  565. package/Source/Shaders/Voxels/VoxelFS.glsl +9 -15
  566. package/Source/Shaders/Voxels/VoxelFS.js +9 -15
  567. package/Source/Shaders/Voxels/convertUvToCylinder.glsl +15 -15
  568. package/Source/Shaders/Voxels/convertUvToCylinder.js +15 -15
  569. package/Source/Widget/CesiumWidget.js +17 -25
  570. package/Source/Workers/createGeometry.js +1 -2
  571. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
  572. package/Source/Workers/decodeI3S.js +1 -5
  573. package/Source/Workers/transcodeKTX2.js +1 -2
  574. package/index.d.ts +231 -92
  575. package/index.js +315 -310
  576. package/package.json +3 -3
  577. package/Build/Workers/chunk-TVL3F7IU.js +0 -39
  578. package/Source/Scene/TextureAtlas.js +0 -558
@@ -9,7 +9,7 @@ import Color from "../Core/Color.js";
9
9
  import ColorGeometryInstanceAttribute from "../Core/ColorGeometryInstanceAttribute.js";
10
10
  import createGuid from "../Core/createGuid.js";
11
11
  import CullingVolume from "../Core/CullingVolume.js";
12
- import defaultValue from "../Core/defaultValue.js";
12
+ import Frozen from "../Core/Frozen.js";
13
13
  import defined from "../Core/defined.js";
14
14
  import destroyObject from "../Core/destroyObject.js";
15
15
  import DeveloperError from "../Core/DeveloperError.js";
@@ -127,7 +127,7 @@ const requestRenderAfterFrame = function (scene) {
127
127
  * });
128
128
  */
129
129
  function Scene(options) {
130
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
130
+ options = options ?? Frozen.EMPTY_OBJECT;
131
131
  const canvas = options.canvas;
132
132
  let creditContainer = options.creditContainer;
133
133
  let creditViewport = options.creditViewport;
@@ -162,7 +162,7 @@ function Scene(options) {
162
162
  new CreditDisplay(creditContainer, "•", creditViewport),
163
163
  this._jobScheduler,
164
164
  );
165
- this._frameState.scene3DOnly = defaultValue(options.scene3DOnly, false);
165
+ this._frameState.scene3DOnly = options.scene3DOnly ?? false;
166
166
  this._removeCreditContainer = !hasCreditContainer;
167
167
  this._creditContainer = creditContainer;
168
168
 
@@ -170,7 +170,7 @@ function Scene(options) {
170
170
  this._context = context;
171
171
  this._computeEngine = new ComputeEngine(context);
172
172
 
173
- this._ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.default);
173
+ this._ellipsoid = options.ellipsoid ?? Ellipsoid.default;
174
174
  this._globe = undefined;
175
175
  this._globeTranslucencyState = new GlobeTranslucencyState();
176
176
  this._primitives = new PrimitiveCollection();
@@ -193,7 +193,7 @@ function Scene(options) {
193
193
  this._computeCommandList = [];
194
194
  this._overlayCommandList = [];
195
195
 
196
- this._useOIT = defaultValue(options.orderIndependentTranslucency, true);
196
+ this._useOIT = options.orderIndependentTranslucency ?? true;
197
197
  /**
198
198
  * The function that will be used for executing translucent commands when
199
199
  * useOIT is true. This is created once in
@@ -237,7 +237,7 @@ function Scene(options) {
237
237
  this._minimumDisableDepthTestDistance = 0.0;
238
238
  this._debugInspector = new DebugInspector();
239
239
 
240
- this._msaaSamples = defaultValue(options.msaaSamples, 4);
240
+ this._msaaSamples = options.msaaSamples ?? 4;
241
241
 
242
242
  /**
243
243
  * Exceptions occurring in <code>render</code> are always caught in order to raise the
@@ -569,7 +569,7 @@ function Scene(options) {
569
569
  this.shadowMap = new ShadowMap({
570
570
  context: context,
571
571
  lightCamera: this._shadowMapCamera,
572
- enabled: defaultValue(options.shadows, false),
572
+ enabled: options.shadows ?? false,
573
573
  });
574
574
 
575
575
  /**
@@ -619,7 +619,7 @@ function Scene(options) {
619
619
 
620
620
  this._screenSpaceCameraController = new ScreenSpaceCameraController(this);
621
621
  this._cameraUnderground = false;
622
- this._mapMode2D = defaultValue(options.mapMode2D, MapMode2D.INFINITE_SCROLL);
622
+ this._mapMode2D = options.mapMode2D ?? MapMode2D.INFINITE_SCROLL;
623
623
 
624
624
  // Keeps track of the state of a frame. FrameState is the state across
625
625
  // the primitives of the scene. This state is for internally keeping track
@@ -667,7 +667,7 @@ function Scene(options) {
667
667
  * @type {boolean}
668
668
  * @default false
669
669
  */
670
- this.requestRenderMode = defaultValue(options.requestRenderMode, false);
670
+ this.requestRenderMode = options.requestRenderMode ?? false;
671
671
  this._renderRequested = true;
672
672
 
673
673
  /**
@@ -684,10 +684,7 @@ function Scene(options) {
684
684
  * @type {number}
685
685
  * @default 0.0
686
686
  */
687
- this.maximumRenderTimeChange = defaultValue(
688
- options.maximumRenderTimeChange,
689
- 0.0,
690
- );
687
+ this.maximumRenderTimeChange = options.maximumRenderTimeChange ?? 0.0;
691
688
  this._lastRenderTime = undefined;
692
689
  this._frameRateMonitor = undefined;
693
690
 
@@ -3105,8 +3102,8 @@ function executeWebVRCommands(scene, passState) {
3105
3102
  savedCamera.frustum = camera.frustum;
3106
3103
 
3107
3104
  const near = camera.frustum.near;
3108
- const fo = near * defaultValue(scene.focalLength, 5.0);
3109
- const eyeSeparation = defaultValue(scene.eyeSeparation, fo / 30.0);
3105
+ const fo = near * (scene.focalLength ?? 5.0);
3106
+ const eyeSeparation = scene.eyeSeparation ?? fo / 30.0;
3110
3107
  const eyeTranslation = Cartesian3.multiplyByScalar(
3111
3108
  savedCamera.right,
3112
3109
  eyeSeparation * 0.5,
@@ -3769,9 +3766,8 @@ Scene.prototype.resolveFramebuffers = function (passState) {
3769
3766
  const postProcess = this.postProcessStages;
3770
3767
  const colorTexture = inputFramebuffer.getColorTexture(0);
3771
3768
  const idTexture = idFramebuffer.getColorTexture(0);
3772
- const depthTexture = defaultValue(
3773
- globeFramebuffer,
3774
- sceneFramebuffer,
3769
+ const depthTexture = (
3770
+ globeFramebuffer ?? sceneFramebuffer
3775
3771
  ).getDepthStencilTexture();
3776
3772
  postProcess.execute(context, colorTexture, depthTexture, idTexture);
3777
3773
  postProcess.copy(context, originalFramebuffer);
@@ -3805,6 +3801,38 @@ function getGlobeHeight(scene) {
3805
3801
  return scene.getHeight(cartographic);
3806
3802
  }
3807
3803
 
3804
+ function getMaxPrimitiveHeight(primitive, cartographic, scene) {
3805
+ let maxHeight = Number.NEGATIVE_INFINITY;
3806
+
3807
+ if (primitive instanceof PrimitiveCollection) {
3808
+ // If it's a PrimitiveCollection, iterate through its children
3809
+ const length = primitive.length;
3810
+ for (let i = 0; i < length; ++i) {
3811
+ const subPrimitive = primitive.get(i);
3812
+ const subHeight = getMaxPrimitiveHeight(
3813
+ subPrimitive,
3814
+ cartographic,
3815
+ scene,
3816
+ );
3817
+ if (defined(subHeight) && subHeight > maxHeight) {
3818
+ maxHeight = subHeight;
3819
+ }
3820
+ }
3821
+ } else if (
3822
+ primitive.isCesium3DTileset &&
3823
+ primitive.show &&
3824
+ primitive.enableCollision
3825
+ ) {
3826
+ // If it's an individual primitive, check its height
3827
+ const result = primitive.getHeight(cartographic, scene);
3828
+ if (defined(result) && result > maxHeight) {
3829
+ return result;
3830
+ }
3831
+ }
3832
+
3833
+ return maxHeight;
3834
+ }
3835
+
3808
3836
  /**
3809
3837
  * Gets the height of the loaded surface at the cartographic position.
3810
3838
  * @param {Cartographic} cartographic The cartographic position.
@@ -3831,21 +3859,13 @@ Scene.prototype.getHeight = function (cartographic, heightReference) {
3831
3859
  let maxHeight = Number.NEGATIVE_INFINITY;
3832
3860
 
3833
3861
  if (!ignore3dTiles) {
3834
- const length = this.primitives.length;
3835
- for (let i = 0; i < length; ++i) {
3836
- const primitive = this.primitives.get(i);
3837
- if (
3838
- !primitive.isCesium3DTileset ||
3839
- !primitive.show ||
3840
- !primitive.enableCollision
3841
- ) {
3842
- continue;
3843
- }
3844
-
3845
- const result = primitive.getHeight(cartographic, this);
3846
- if (defined(result) && result > maxHeight) {
3847
- maxHeight = result;
3848
- }
3862
+ const maxPrimitiveHeight = getMaxPrimitiveHeight(
3863
+ this.primitives,
3864
+ cartographic,
3865
+ this,
3866
+ );
3867
+ if (defined(maxPrimitiveHeight) && maxPrimitiveHeight > maxHeight) {
3868
+ maxHeight = maxPrimitiveHeight;
3849
3869
  }
3850
3870
  }
3851
3871
 
@@ -3885,10 +3905,17 @@ Scene.prototype.updateHeight = function (
3885
3905
  Check.typeOf.func("callback", callback);
3886
3906
  //>>includeEnd('debug');
3887
3907
 
3888
- const callbackWrapper = () => {
3908
+ const ellipsoid = this._ellipsoid;
3909
+ const callbackWrapper = (clampedCartographic) => {
3889
3910
  Cartographic.clone(cartographic, updateHeightScratchCartographic);
3890
3911
 
3891
- const height = this.getHeight(cartographic, heightReference);
3912
+ let height;
3913
+ if (defined(clampedCartographic)) {
3914
+ height = clampedCartographic.height;
3915
+ }
3916
+ if (!defined(height)) {
3917
+ height = this.getHeight(cartographic, heightReference);
3918
+ }
3892
3919
  if (defined(height)) {
3893
3920
  updateHeightScratchCartographic.height = height;
3894
3921
  callback(updateHeightScratchCartographic);
@@ -3912,7 +3939,6 @@ Scene.prototype.updateHeight = function (
3912
3939
  }
3913
3940
 
3914
3941
  let tilesetRemoveCallbacks = {};
3915
- const ellipsoid = this._ellipsoid;
3916
3942
  const createPrimitiveEventListener = (primitive) => {
3917
3943
  if (
3918
3944
  ignore3dTiles ||
@@ -4102,7 +4128,7 @@ function render(scene) {
4102
4128
  frameState.passes.postProcess = scene.postProcessStages.hasSelected;
4103
4129
  frameState.tilesetPassState = renderTilesetPassState;
4104
4130
 
4105
- let backgroundColor = defaultValue(scene.backgroundColor, Color.BLACK);
4131
+ let backgroundColor = scene.backgroundColor ?? Color.BLACK;
4106
4132
  if (scene._hdr) {
4107
4133
  backgroundColor = Color.clone(backgroundColor, scratchBackgroundColor);
4108
4134
  backgroundColor.red = Math.pow(backgroundColor.red, scene.gamma);
@@ -4895,7 +4921,7 @@ Scene.prototype.completeMorph = function () {
4895
4921
  * @param {number} [duration=2.0] The amount of time, in seconds, for transition animations to complete.
4896
4922
  */
4897
4923
  Scene.prototype.morphTo2D = function (duration) {
4898
- duration = defaultValue(duration, 2.0);
4924
+ duration = duration ?? 2.0;
4899
4925
  this._transitioner.morphTo2D(duration, this._ellipsoid);
4900
4926
  };
4901
4927
 
@@ -4904,7 +4930,7 @@ Scene.prototype.morphTo2D = function (duration) {
4904
4930
  * @param {number} [duration=2.0] The amount of time, in seconds, for transition animations to complete.
4905
4931
  */
4906
4932
  Scene.prototype.morphToColumbusView = function (duration) {
4907
- duration = defaultValue(duration, 2.0);
4933
+ duration = duration ?? 2.0;
4908
4934
  this._transitioner.morphToColumbusView(duration, this._ellipsoid);
4909
4935
  };
4910
4936
 
@@ -4913,7 +4939,7 @@ Scene.prototype.morphToColumbusView = function (duration) {
4913
4939
  * @param {number} [duration=2.0] The amount of time, in seconds, for transition animations to complete.
4914
4940
  */
4915
4941
  Scene.prototype.morphTo3D = function (duration) {
4916
- duration = defaultValue(duration, 2.0);
4942
+ duration = duration ?? 2.0;
4917
4943
  this._transitioner.morphTo3D(duration, this._ellipsoid);
4918
4944
  };
4919
4945
 
@@ -2,7 +2,6 @@ import Cartesian2 from "../Core/Cartesian2.js";
2
2
  import Cartesian3 from "../Core/Cartesian3.js";
3
3
  import Cartesian4 from "../Core/Cartesian4.js";
4
4
  import Cartographic from "../Core/Cartographic.js";
5
- import defaultValue from "../Core/defaultValue.js";
6
5
  import defined from "../Core/defined.js";
7
6
  import destroyObject from "../Core/destroyObject.js";
8
7
  import DeveloperError from "../Core/DeveloperError.js";
@@ -225,7 +224,7 @@ function ScreenSpaceCameraController(scene) {
225
224
  modifier: KeyboardEventModifier.SHIFT,
226
225
  };
227
226
 
228
- const ellipsoid = defaultValue(scene.ellipsoid, Ellipsoid.default);
227
+ const ellipsoid = scene.ellipsoid ?? Ellipsoid.default;
229
228
 
230
229
  /**
231
230
  * The minimum height the camera must be before picking the terrain or scene content instead of the ellipsoid. Defaults to scene.ellipsoid.minimumRadius * 0.025 when another ellipsoid than WGS84 is used.
@@ -623,18 +622,9 @@ function handleZoom(
623
622
  orientation.pitch = camera.pitch;
624
623
  orientation.roll = camera.roll;
625
624
 
626
- if (camera.frustum instanceof OrthographicFrustum) {
627
- if (Math.abs(distance) > 0.0) {
628
- camera.zoomIn(distance);
629
- camera._adjustOrthographicFrustum(true);
630
- }
631
- return;
632
- }
633
-
634
- const sameStartPosition = defaultValue(
635
- movement.inertiaEnabled,
636
- Cartesian2.equals(startPosition, object._zoomMouseStart),
637
- );
625
+ const sameStartPosition =
626
+ movement.inertiaEnabled ??
627
+ Cartesian2.equals(startPosition, object._zoomMouseStart);
638
628
  let zoomingOnVector = object._zoomingOnVector;
639
629
  let rotatingZoom = object._rotatingZoom;
640
630
  let pickedPosition;
@@ -1210,7 +1200,7 @@ function getDistanceFromSurface(controller) {
1210
1200
  } else {
1211
1201
  height = camera.position.z;
1212
1202
  }
1213
- const globeHeight = defaultValue(controller._scene.globeHeight, 0.0);
1203
+ const globeHeight = controller._scene.globeHeight ?? 0.0;
1214
1204
  const distanceFromSurface = Math.abs(globeHeight - height);
1215
1205
  return distanceFromSurface;
1216
1206
  }
@@ -2038,8 +2028,8 @@ function rotate3D(
2038
2028
  rotateOnlyVertical,
2039
2029
  rotateOnlyHorizontal,
2040
2030
  ) {
2041
- rotateOnlyVertical = defaultValue(rotateOnlyVertical, false);
2042
- rotateOnlyHorizontal = defaultValue(rotateOnlyHorizontal, false);
2031
+ rotateOnlyVertical = rotateOnlyVertical ?? false;
2032
+ rotateOnlyHorizontal = rotateOnlyHorizontal ?? false;
2043
2033
 
2044
2034
  const scene = controller._scene;
2045
2035
  const camera = scene.camera;
@@ -2826,7 +2816,7 @@ function look3D(controller, startPosition, movement, rotationAxis) {
2826
2816
  }
2827
2817
  angle = movement.startPosition.y > movement.endPosition.y ? -angle : angle;
2828
2818
 
2829
- rotationAxis = defaultValue(rotationAxis, horizontalRotationAxis);
2819
+ rotationAxis = rotationAxis ?? horizontalRotationAxis;
2830
2820
  if (defined(rotationAxis)) {
2831
2821
  const direction = camera.direction;
2832
2822
  const negativeRotationAxis = Cartesian3.negate(
@@ -2913,7 +2903,7 @@ function adjustHeightForTerrain(controller, cameraChanged) {
2913
2903
  }
2914
2904
 
2915
2905
  const camera = scene.camera;
2916
- const ellipsoid = defaultValue(scene.ellipsoid, Ellipsoid.WGS84);
2906
+ const ellipsoid = scene.ellipsoid ?? Ellipsoid.WGS84;
2917
2907
  const projection = scene.mapProjection;
2918
2908
 
2919
2909
  let transform;
@@ -3012,7 +3002,7 @@ ScreenSpaceCameraController.prototype.update = function () {
3012
3002
  this._ellipsoid = Ellipsoid.UNIT_SPHERE;
3013
3003
  } else {
3014
3004
  this._globe = globe;
3015
- this._ellipsoid = defaultValue(scene.ellipsoid, Ellipsoid.default);
3005
+ this._ellipsoid = scene.ellipsoid ?? Ellipsoid.default;
3016
3006
  }
3017
3007
 
3018
3008
  const { verticalExaggeration, verticalExaggerationRelativeHeight } = scene;
@@ -10,7 +10,7 @@ import Color from "../Core/Color.js";
10
10
  import ColorGeometryInstanceAttribute from "../Core/ColorGeometryInstanceAttribute.js";
11
11
  import combine from "../Core/combine.js";
12
12
  import CullingVolume from "../Core/CullingVolume.js";
13
- import defaultValue from "../Core/defaultValue.js";
13
+ import Frozen from "../Core/Frozen.js";
14
14
  import defined from "../Core/defined.js";
15
15
  import destroyObject from "../Core/destroyObject.js";
16
16
  import DeveloperError from "../Core/DeveloperError.js";
@@ -79,7 +79,7 @@ import ShadowMapShader from "./ShadowMapShader.js";
79
79
  * @demo {@link https://sandcastle.cesium.com/index.html?src=Shadows.html|Cesium Sandcastle Shadows Demo}
80
80
  */
81
81
  function ShadowMap(options) {
82
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
82
+ options = options ?? Frozen.EMPTY_OBJECT;
83
83
  const context = options.context;
84
84
 
85
85
  //>>includeStart('debug', pragmas.debug);
@@ -98,9 +98,9 @@ function ShadowMap(options) {
98
98
  }
99
99
  //>>includeEnd('debug');
100
100
 
101
- this._enabled = defaultValue(options.enabled, true);
102
- this._softShadows = defaultValue(options.softShadows, false);
103
- this._normalOffset = defaultValue(options.normalOffset, true);
101
+ this._enabled = options.enabled ?? true;
102
+ this._softShadows = options.softShadows ?? false;
103
+ this._normalOffset = options.normalOffset ?? true;
104
104
  this.dirty = true;
105
105
 
106
106
  /**
@@ -109,7 +109,7 @@ function ShadowMap(options) {
109
109
  *
110
110
  * @private
111
111
  */
112
- this.fromLightSource = defaultValue(options.fromLightSource, true);
112
+ this.fromLightSource = options.fromLightSource ?? true;
113
113
 
114
114
  /**
115
115
  * Determines the darkness of the shadows.
@@ -117,7 +117,7 @@ function ShadowMap(options) {
117
117
  * @type {number}
118
118
  * @default 0.3
119
119
  */
120
- this.darkness = defaultValue(options.darkness, 0.3);
120
+ this.darkness = options.darkness ?? 0.3;
121
121
  this._darkness = this.darkness;
122
122
 
123
123
  /**
@@ -126,7 +126,7 @@ function ShadowMap(options) {
126
126
  * @type {boolean}
127
127
  * @default true
128
128
  */
129
- this.fadingEnabled = defaultValue(options.fadingEnabled, true);
129
+ this.fadingEnabled = options.fadingEnabled ?? true;
130
130
 
131
131
  /**
132
132
  * Determines the maximum distance of the shadow map. Only applicable for cascaded shadows. Larger distances may result in lower quality shadows.
@@ -134,7 +134,7 @@ function ShadowMap(options) {
134
134
  * @type {number}
135
135
  * @default 5000.0
136
136
  */
137
- this.maximumDistance = defaultValue(options.maximumDistance, 5000.0);
137
+ this.maximumDistance = options.maximumDistance ?? 5000.0;
138
138
 
139
139
  this._outOfView = false;
140
140
  this._outOfViewPrevious = false;
@@ -205,15 +205,15 @@ function ShadowMap(options) {
205
205
  this._sceneCamera = undefined;
206
206
  this._boundingSphere = new BoundingSphere();
207
207
 
208
- this._isPointLight = defaultValue(options.isPointLight, false);
209
- this._pointLightRadius = defaultValue(options.pointLightRadius, 100.0);
208
+ this._isPointLight = options.isPointLight ?? false;
209
+ this._pointLightRadius = options.pointLightRadius ?? 100.0;
210
210
 
211
211
  this._cascadesEnabled = this._isPointLight
212
212
  ? false
213
- : defaultValue(options.cascadesEnabled, true);
213
+ : (options.cascadesEnabled ?? true);
214
214
  this._numberOfCascades = !this._cascadesEnabled
215
215
  ? 0
216
- : defaultValue(options.numberOfCascades, 4);
216
+ : (options.numberOfCascades ?? 4);
217
217
  this._fitNearFar = true;
218
218
  this._maximumCascadeDistances = [25.0, 150.0, 700.0, Number.MAX_VALUE];
219
219
 
@@ -281,7 +281,7 @@ function ShadowMap(options) {
281
281
 
282
282
  this._clearPassState = new PassState(context);
283
283
 
284
- this._size = defaultValue(options.size, 2048);
284
+ this._size = options.size ?? 2048;
285
285
  this.size = this._size;
286
286
  }
287
287
 
@@ -657,7 +657,7 @@ function updateFramebuffer(shadowMap, context) {
657
657
  }
658
658
 
659
659
  function clearFramebuffer(shadowMap, context, shadowPass) {
660
- shadowPass = defaultValue(shadowPass, 0);
660
+ shadowPass = shadowPass ?? 0;
661
661
  if (shadowMap._isPointLight || shadowPass === 0) {
662
662
  shadowMap._clearCommand.framebuffer =
663
663
  shadowMap._passes[shadowPass].framebuffer;
@@ -3,7 +3,6 @@ import Cartesian3 from "../Core/Cartesian3.js";
3
3
  import Cartographic from "../Core/Cartographic.js";
4
4
  import Check from "../Core/Check.js";
5
5
  import ComponentDatatype from "../Core/ComponentDatatype.js";
6
- import defaultValue from "../Core/defaultValue.js";
7
6
  import defined from "../Core/defined.js";
8
7
  import EncodedCartesian3 from "../Core/EncodedCartesian3.js";
9
8
  import GeometryInstanceAttribute from "../Core/GeometryInstanceAttribute.js";
@@ -704,7 +703,7 @@ ShadowVolumeAppearance.getPlanarTextureCoordinateAttributes = function (
704
703
  computeRectangleBounds(
705
704
  boundingRectangle,
706
705
  ellipsoid,
707
- defaultValue(height, 0.0),
706
+ height ?? 0.0,
708
707
  corner,
709
708
  eastward,
710
709
  northward,
@@ -1,6 +1,6 @@
1
1
  import Check from "../Core/Check.js";
2
2
  import Credit from "../Core/Credit.js";
3
- import defaultValue from "../Core/defaultValue.js";
3
+ import Frozen from "../Core/Frozen.js";
4
4
  import defined from "../Core/defined.js";
5
5
  import Event from "../Core/Event.js";
6
6
  import GeographicTilingScheme from "../Core/GeographicTilingScheme.js";
@@ -43,7 +43,7 @@ import ImageryProvider from "./ImageryProvider.js";
43
43
  * @see UrlTemplateImageryProvider
44
44
  */
45
45
  function SingleTileImageryProvider(options) {
46
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
46
+ options = options ?? Frozen.EMPTY_OBJECT;
47
47
 
48
48
  this._defaultAlpha = undefined;
49
49
  this._defaultNightAlpha = undefined;
@@ -56,7 +56,7 @@ function SingleTileImageryProvider(options) {
56
56
  this._defaultMinificationFilter = undefined;
57
57
  this._defaultMagnificationFilter = undefined;
58
58
 
59
- const rectangle = defaultValue(options.rectangle, Rectangle.MAX_VALUE);
59
+ const rectangle = options.rectangle ?? Rectangle.MAX_VALUE;
60
60
  const tilingScheme = new GeographicTilingScheme({
61
61
  rectangle: rectangle,
62
62
  numberOfLevelZeroTilesX: 1,
@@ -309,7 +309,7 @@ SingleTileImageryProvider.fromUrl = async function (url, options) {
309
309
  const resource = Resource.createIfNeeded(url);
310
310
  const image = await doRequest(resource);
311
311
 
312
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
312
+ options = options ?? Frozen.EMPTY_OBJECT;
313
313
  const provider = new SingleTileImageryProvider({
314
314
  ...options,
315
315
  url: url,
@@ -1,5 +1,4 @@
1
1
  import Cartesian3 from "../Core/Cartesian3.js";
2
- import defaultValue from "../Core/defaultValue.js";
3
2
  import defined from "../Core/defined.js";
4
3
  import destroyObject from "../Core/destroyObject.js";
5
4
  import Ellipsoid from "../Core/Ellipsoid.js";
@@ -41,7 +40,7 @@ import SceneMode from "./SceneMode.js";
41
40
  * @see Scene.skyAtmosphere
42
41
  */
43
42
  function SkyAtmosphere(ellipsoid) {
44
- ellipsoid = defaultValue(ellipsoid, Ellipsoid.WGS84);
43
+ ellipsoid = ellipsoid ?? Ellipsoid.WGS84;
45
44
 
46
45
  /**
47
46
  * Determines if the atmosphere is shown.
@@ -2,7 +2,6 @@ import buildModuleUrl from "../Core/buildModuleUrl.js";
2
2
  import BoxGeometry from "../Core/BoxGeometry.js";
3
3
  import Cartesian3 from "../Core/Cartesian3.js";
4
4
  import Check from "../Core/Check.js";
5
- import defaultValue from "../Core/defaultValue.js";
6
5
  import defined from "../Core/defined.js";
7
6
  import destroyObject from "../Core/destroyObject.js";
8
7
  import DeveloperError from "../Core/DeveloperError.js";
@@ -71,7 +70,7 @@ function SkyBox(options) {
71
70
  * @type {boolean}
72
71
  * @default true
73
72
  */
74
- this.show = defaultValue(options.show, true);
73
+ this.show = options.show ?? true;
75
74
 
76
75
  this._command = new DrawCommand({
77
76
  modelMatrix: Matrix4.clone(Matrix4.IDENTITY),
@@ -320,12 +320,7 @@ SpatialNode.prototype.destroyKeyframeNode = function (
320
320
  this.renderableKeyframeNodes.splice(renderableKeyframeNodeIndex, 1);
321
321
  }
322
322
 
323
- keyframeNode.spatialNode = undefined;
324
- keyframeNode.state = KeyframeNode.LoadState.UNLOADED;
325
- keyframeNode.metadata = {};
326
- keyframeNode.megatextureIndex = -1;
327
- keyframeNode.priority = -Number.MAX_VALUE;
328
- keyframeNode.highPriorityFrameNumber = -1;
323
+ keyframeNode.unload();
329
324
  };
330
325
 
331
326
  /**
@@ -337,20 +332,18 @@ SpatialNode.prototype.addKeyframeNodeToMegatextures = function (
337
332
  megatextures,
338
333
  ) {
339
334
  if (
340
- keyframeNode.state !== KeyframeNode.LoadState.RECEIVED ||
341
335
  keyframeNode.megatextureIndex !== -1 ||
342
- keyframeNode.metadata.length !== megatextures.length
336
+ keyframeNode.content.metadata.length !== megatextures.length
343
337
  ) {
344
338
  throw new DeveloperError("Keyframe node cannot be added to megatexture");
345
339
  }
346
340
 
341
+ const { metadata } = keyframeNode.content;
347
342
  for (let i = 0; i < megatextures.length; i++) {
348
343
  const megatexture = megatextures[i];
349
- keyframeNode.megatextureIndex = megatexture.add(keyframeNode.metadata[i]);
344
+ keyframeNode.megatextureIndex = megatexture.add(metadata[i]);
350
345
  }
351
346
 
352
- keyframeNode.state = KeyframeNode.LoadState.LOADED;
353
-
354
347
  const renderableKeyframeNodes = this.renderableKeyframeNodes;
355
348
  let renderableKeyframeNodeIndex = findKeyframeIndex(
356
349
  keyframeNode.keyframe,
@@ -1,6 +1,5 @@
1
1
  import Cartesian3 from "../Core/Cartesian3.js";
2
2
  import Check from "../Core/Check.js";
3
- import defaultValue from "../Core/defaultValue.js";
4
3
  import CesiumMath from "../Core/Math.js";
5
4
 
6
5
  /**
@@ -13,13 +12,13 @@ import CesiumMath from "../Core/Math.js";
13
12
  * @param {number} [radius=1.0] The radius of the sphere in meters.
14
13
  */
15
14
  function SphereEmitter(radius) {
16
- radius = defaultValue(radius, 1.0);
15
+ radius = radius ?? 1.0;
17
16
 
18
17
  //>>includeStart('debug', pragmas.debug);
19
18
  Check.typeOf.number.greaterThan("radius", radius, 0.0);
20
19
  //>>includeEnd('debug');
21
20
 
22
- this._radius = defaultValue(radius, 1.0);
21
+ this._radius = radius ?? 1.0;
23
22
  }
24
23
 
25
24
  Object.defineProperties(SphereEmitter.prototype, {
@@ -1,5 +1,5 @@
1
1
  import Check from "../Core/Check.js";
2
- import defaultValue from "../Core/defaultValue.js";
2
+ import Frozen from "../Core/Frozen.js";
3
3
  import defined from "../Core/defined.js";
4
4
 
5
5
  /**
@@ -25,7 +25,7 @@ import defined from "../Core/defined.js";
25
25
  * @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.
26
26
  */
27
27
  function StructuralMetadata(options) {
28
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
28
+ options = options ?? Frozen.EMPTY_OBJECT;
29
29
  //>>includeStart('debug', pragmas.debug);
30
30
  Check.typeOf.object("options.schema", options.schema);
31
31
  //>>includeEnd('debug');
@@ -1,5 +1,5 @@
1
1
  import Color from "../Core/Color.js";
2
- import defaultValue from "../Core/defaultValue.js";
2
+ import Frozen from "../Core/Frozen.js";
3
3
 
4
4
  /**
5
5
  * A directional light source that originates from the Sun.
@@ -12,20 +12,20 @@ import defaultValue from "../Core/defaultValue.js";
12
12
  * @constructor
13
13
  */
14
14
  function SunLight(options) {
15
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
15
+ options = options ?? Frozen.EMPTY_OBJECT;
16
16
  /**
17
17
  * The color of the light.
18
18
  * @type {Color}
19
19
  * @default Color.WHITE
20
20
  */
21
- this.color = Color.clone(defaultValue(options.color, Color.WHITE));
21
+ this.color = Color.clone(options.color ?? Color.WHITE);
22
22
 
23
23
  /**
24
24
  * The intensity of the light.
25
25
  * @type {number}
26
26
  * @default 2.0
27
27
  */
28
- this.intensity = defaultValue(options.intensity, 2.0);
28
+ this.intensity = options.intensity ?? 2.0;
29
29
  }
30
30
 
31
31
  export default SunLight;
@@ -1,4 +1,4 @@
1
- import defaultValue from "../Core/defaultValue.js";
1
+ import Frozen from "../Core/Frozen.js";
2
2
 
3
3
  /**
4
4
  * Image formats supported by the browser.
@@ -10,9 +10,9 @@ import defaultValue from "../Core/defaultValue.js";
10
10
  * @private
11
11
  */
12
12
  function SupportedImageFormats(options) {
13
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
14
- this.webp = defaultValue(options.webp, false);
15
- this.basis = defaultValue(options.basis, false);
13
+ options = options ?? Frozen.EMPTY_OBJECT;
14
+ this.webp = options.webp ?? false;
15
+ this.basis = options.basis ?? false;
16
16
  }
17
17
 
18
18
  export default SupportedImageFormats;