@cesium/engine 15.0.0 → 17.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 (558) hide show
  1. package/Build/Workers/{chunk-XED3RXKO.js → chunk-236N6BJN.js} +4 -4
  2. package/Build/Workers/{chunk-TU6ZXHVU.js → chunk-2BJXFXD7.js} +46 -42
  3. package/Build/Workers/{chunk-3LHBH4TC.js → chunk-37PA7GZW.js} +7 -7
  4. package/Build/Workers/{chunk-FMZ5CX6V.js → chunk-4BGKMM7J.js} +1 -1
  5. package/Build/Workers/{chunk-L5SO4Y5V.js → chunk-4TIR5UPL.js} +1 -1
  6. package/Build/Workers/{chunk-NAGMYRDW.js → chunk-5PC577K7.js} +17 -20
  7. package/Build/Workers/{chunk-XDHM4G3P.js → chunk-5RPUEFSA.js} +129 -146
  8. package/Build/Workers/{chunk-ZVDLC3T4.js → chunk-5YEFZMMM.js} +25 -30
  9. package/Build/Workers/{chunk-VMVPONIV.js → chunk-77MDEA47.js} +5 -5
  10. package/Build/Workers/{chunk-QTEX3Y4V.js → chunk-7IIMO7ZZ.js} +33 -41
  11. package/Build/Workers/{chunk-Q5BHMNKU.js → chunk-7PHT4JHA.js} +27 -29
  12. package/Build/Workers/{chunk-25TOENEE.js → chunk-C5DCX2YQ.js} +9 -12
  13. package/Build/Workers/{chunk-B2Y4ZS6X.js → chunk-CAKU6ZPR.js} +9 -12
  14. package/Build/Workers/{chunk-RRN6LRDX.js → chunk-CBFJVM6I.js} +26 -28
  15. package/Build/Workers/{chunk-GGV2XJHE.js → chunk-CC2WKHIW.js} +13 -16
  16. package/Build/Workers/{chunk-K5G2WELR.js → chunk-CQMXZF4A.js} +12 -17
  17. package/Build/Workers/{chunk-67ONR44K.js → chunk-DRMXU674.js} +7 -10
  18. package/Build/Workers/{chunk-3LZF23RY.js → chunk-E7SMO47Q.js} +7 -10
  19. package/Build/Workers/{chunk-PUTA3AE2.js → chunk-G6JUXZUO.js} +4 -4
  20. package/Build/Workers/{chunk-CHX2K5AC.js → chunk-GO3RZX2R.js} +14 -17
  21. package/Build/Workers/{chunk-7ITUZTFH.js → chunk-HBNWBMAM.js} +1 -1
  22. package/Build/Workers/{chunk-3JZGPJMZ.js → chunk-HGEGZ67N.js} +6 -6
  23. package/Build/Workers/{chunk-GK4QU6QI.js → chunk-IFIS4CVK.js} +2 -2
  24. package/Build/Workers/{chunk-DYJHEP3B.js → chunk-IKDQX7DY.js} +6 -12
  25. package/Build/Workers/{chunk-FRAWHNSR.js → chunk-J2HTPGC7.js} +2 -2
  26. package/Build/Workers/{chunk-YNYCGTQH.js → chunk-K5JTWJPE.js} +5 -8
  27. package/Build/Workers/{chunk-6EDBC234.js → chunk-KE45DUDH.js} +18 -20
  28. package/Build/Workers/{chunk-TFCOEX3W.js → chunk-LPGOAMYH.js} +2 -2
  29. package/Build/Workers/{chunk-WPXU45PH.js → chunk-LVGYWPEX.js} +4 -4
  30. package/Build/Workers/{chunk-B2UQN3DH.js → chunk-MAIKDIBS.js} +6 -6
  31. package/Build/Workers/{chunk-MWJW37I7.js → chunk-MS5NWDHH.js} +2 -2
  32. package/Build/Workers/{chunk-2AVIUB5H.js → chunk-NZSBSY5K.js} +2 -2
  33. package/Build/Workers/{chunk-OYO6TKMU.js → chunk-OBHLT34A.js} +7 -7
  34. package/Build/Workers/{chunk-RO2Z3LCR.js → chunk-P2N5IDWU.js} +21 -23
  35. package/Build/Workers/{chunk-BD2TPFGC.js → chunk-P57PR3WM.js} +9 -11
  36. package/Build/Workers/{chunk-HYPB7FAV.js → chunk-PM4Q36WX.js} +15 -24
  37. package/Build/Workers/{chunk-CJGVEABL.js → chunk-PS3OKVOQ.js} +16 -19
  38. package/Build/Workers/{chunk-SLIA3GQP.js → chunk-QJTIOB2Z.js} +19 -22
  39. package/Build/Workers/{chunk-EZNAJPP5.js → chunk-QUFN3GEO.js} +18 -21
  40. package/Build/Workers/{chunk-ARVZCY6X.js → chunk-RX65FA7X.js} +7 -7
  41. package/Build/Workers/{chunk-E3H7AVMK.js → chunk-SQKTLDSD.js} +39 -41
  42. package/Build/Workers/{chunk-Z4SI54EB.js → chunk-SSLK4U3V.js} +14 -14
  43. package/Build/Workers/{chunk-IGINOLDX.js → chunk-UC7KH56Y.js} +6 -9
  44. package/Build/Workers/{chunk-VJ2PDF64.js → chunk-UFV3YUIN.js} +6 -9
  45. package/Build/Workers/{chunk-LCMJQVIF.js → chunk-UX5JWAC7.js} +17 -26
  46. package/Build/Workers/{chunk-ISQSYLZY.js → chunk-UZ6KXWCA.js} +4 -4
  47. package/Build/Workers/{chunk-JZAMRL5I.js → chunk-VXAKU6EV.js} +34 -36
  48. package/Build/Workers/{chunk-6EV4VOET.js → chunk-WP3IJYLC.js} +16 -19
  49. package/Build/Workers/{chunk-5S2B46UQ.js → chunk-XYGBWBD5.js} +1 -1
  50. package/Build/Workers/{chunk-F7ZI463G.js → chunk-YE6MDFDA.js} +21 -23
  51. package/Build/Workers/{chunk-I4HO2ED2.js → chunk-ZTBZMRQT.js} +9 -12
  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 +7 -10
  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/Check.d.ts +4 -1
  115. package/Source/Core/CircleGeometry.js +2 -2
  116. package/Source/Core/CircleOutlineGeometry.js +2 -2
  117. package/Source/Core/Clock.js +7 -10
  118. package/Source/Core/Color.js +28 -28
  119. package/Source/Core/ColorGeometryInstanceAttribute.js +4 -5
  120. package/Source/Core/ComponentDatatype.js +4 -6
  121. package/Source/Core/CoplanarPolygonGeometry.js +8 -10
  122. package/Source/Core/CoplanarPolygonOutlineGeometry.js +5 -5
  123. package/Source/Core/CorridorGeometry.js +15 -20
  124. package/Source/Core/CorridorOutlineGeometry.js +10 -15
  125. package/Source/Core/Credit.js +1 -2
  126. package/Source/Core/CullingVolume.js +1 -2
  127. package/Source/Core/CustomHeightmapTerrainProvider.js +3 -3
  128. package/Source/Core/CylinderGeometry.js +7 -7
  129. package/Source/Core/CylinderOutlineGeometry.js +7 -7
  130. package/Source/Core/DistanceDisplayCondition.js +4 -5
  131. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +2 -3
  132. package/Source/Core/EarthOrientationParameters.js +4 -4
  133. package/Source/Core/EllipseGeometry.js +17 -23
  134. package/Source/Core/EllipseOutlineGeometry.js +12 -15
  135. package/Source/Core/Ellipsoid.js +7 -8
  136. package/Source/Core/EllipsoidGeodesic.js +1 -2
  137. package/Source/Core/EllipsoidGeometry.js +15 -15
  138. package/Source/Core/EllipsoidOutlineGeometry.js +15 -15
  139. package/Source/Core/EllipsoidRhumbLine.js +2 -3
  140. package/Source/Core/EllipsoidTangentPlane.js +1 -2
  141. package/Source/Core/EllipsoidTerrainProvider.js +4 -4
  142. package/Source/Core/EllipsoidalOccluder.js +2 -3
  143. package/Source/Core/FeatureDetection.js +1 -2
  144. package/Source/Core/Frozen.js +24 -0
  145. package/Source/Core/FrustumGeometry.js +7 -8
  146. package/Source/Core/FrustumOutlineGeometry.js +3 -4
  147. package/Source/Core/GeographicProjection.js +1 -2
  148. package/Source/Core/GeographicTilingScheme.js +6 -12
  149. package/Source/Core/Geometry.js +4 -7
  150. package/Source/Core/GeometryAttribute.js +3 -3
  151. package/Source/Core/GeometryAttributes.js +2 -2
  152. package/Source/Core/GeometryInstance.js +4 -6
  153. package/Source/Core/GeometryInstanceAttribute.js +3 -3
  154. package/Source/Core/GeometryPipeline.js +3 -4
  155. package/Source/Core/GoogleEarthEnterpriseMetadata.js +13 -24
  156. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +9 -12
  157. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +3 -3
  158. package/Source/Core/GoogleGeocoderService.js +2 -2
  159. package/Source/Core/GregorianDate.js +8 -9
  160. package/Source/Core/GroundPolylineGeometry.js +8 -8
  161. package/Source/Core/HeadingPitchRange.js +3 -4
  162. package/Source/Core/HeadingPitchRoll.js +3 -4
  163. package/Source/Core/Heap.js +3 -4
  164. package/Source/Core/HeightmapTerrainData.js +22 -38
  165. package/Source/Core/HeightmapTessellator.js +21 -37
  166. package/Source/Core/HermitePolynomialApproximation.js +1 -2
  167. package/Source/Core/HermiteSpline.js +5 -5
  168. package/Source/Core/ITwinPlatform.js +72 -15
  169. package/Source/Core/Iau2006XysData.js +8 -10
  170. package/Source/Core/IntersectionTests.js +1 -2
  171. package/Source/Core/Interval.js +2 -4
  172. package/Source/Core/Ion.js +1 -1
  173. package/Source/Core/IonGeocoderService.js +6 -10
  174. package/Source/Core/IonResource.js +6 -6
  175. package/Source/Core/JulianDate.js +11 -12
  176. package/Source/Core/LinearSpline.js +2 -2
  177. package/Source/Core/ManagedArray.js +2 -3
  178. package/Source/Core/Math.js +36 -27
  179. package/Source/Core/Matrix2.js +7 -8
  180. package/Source/Core/Matrix3.js +12 -13
  181. package/Source/Core/Matrix4.js +28 -28
  182. package/Source/Core/MorphWeightSpline.js +2 -2
  183. package/Source/Core/NearFarScalar.js +6 -7
  184. package/Source/Core/Occluder.js +1 -2
  185. package/Source/Core/OffsetGeometryInstanceAttribute.js +3 -4
  186. package/Source/Core/OpenCageGeocoderService.js +1 -2
  187. package/Source/Core/OrientedBoundingBox.js +7 -8
  188. package/Source/Core/OrthographicFrustum.js +6 -6
  189. package/Source/Core/OrthographicOffCenterFrustum.js +4 -4
  190. package/Source/Core/PerspectiveFrustum.js +8 -8
  191. package/Source/Core/PerspectiveOffCenterFrustum.js +4 -4
  192. package/Source/Core/PlaneGeometry.js +5 -5
  193. package/Source/Core/PolygonGeometry.js +17 -19
  194. package/Source/Core/PolygonGeometryLibrary.js +1 -2
  195. package/Source/Core/PolygonOutlineGeometry.js +11 -14
  196. package/Source/Core/PolygonPipeline.js +5 -6
  197. package/Source/Core/PolylineGeometry.js +10 -15
  198. package/Source/Core/PolylinePipeline.js +7 -14
  199. package/Source/Core/PolylineVolumeGeometry.js +8 -13
  200. package/Source/Core/PolylineVolumeOutlineGeometry.js +7 -12
  201. package/Source/Core/QuantizedMeshTerrainData.js +12 -16
  202. package/Source/Core/Quaternion.js +7 -8
  203. package/Source/Core/QuaternionSpline.js +2 -2
  204. package/Source/Core/Ray.js +2 -3
  205. package/Source/Core/Rectangle.js +18 -19
  206. package/Source/Core/RectangleGeometry.js +17 -25
  207. package/Source/Core/RectangleGeometryLibrary.js +1 -1
  208. package/Source/Core/RectangleOutlineGeometry.js +11 -14
  209. package/Source/Core/Request.js +6 -6
  210. package/Source/Core/RequestScheduler.js +4 -6
  211. package/Source/Core/Resource.js +13 -16
  212. package/Source/Core/S2Cell.js +2 -3
  213. package/Source/Core/ScreenSpaceEventHandler.js +1 -2
  214. package/Source/Core/ShowGeometryInstanceAttribute.js +1 -2
  215. package/Source/Core/Simon1994PlanetaryPositions.js +9 -9
  216. package/Source/Core/SimplePolylineGeometry.js +8 -11
  217. package/Source/Core/SphereGeometry.js +1 -2
  218. package/Source/Core/SphereOutlineGeometry.js +1 -2
  219. package/Source/Core/Spherical.js +4 -5
  220. package/Source/Core/Spline.js +1 -2
  221. package/Source/Core/SteppedSpline.js +2 -2
  222. package/Source/Core/TaskProcessor.js +2 -9
  223. package/Source/Core/TerrainData.js +1 -1
  224. package/Source/Core/TerrainEncoding.js +4 -11
  225. package/Source/Core/TerrainMesh.js +1 -3
  226. package/Source/Core/TerrainProvider.js +1 -1
  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/BoxGraphics.js +13 -18
  256. package/Source/DataSources/CallbackPositionProperty.js +1 -2
  257. package/Source/DataSources/Cesium3DTilesetGraphics.js +6 -8
  258. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  259. package/Source/DataSources/CompositePositionProperty.js +1 -2
  260. package/Source/DataSources/ConstantPositionProperty.js +1 -2
  261. package/Source/DataSources/CorridorGraphics.js +23 -35
  262. package/Source/DataSources/CylinderGraphics.js +18 -25
  263. package/Source/DataSources/CzmlDataSource.js +34 -60
  264. package/Source/DataSources/DataSourceClock.js +12 -13
  265. package/Source/DataSources/DataSourceCollection.js +2 -3
  266. package/Source/DataSources/DataSourceDisplay.js +2 -5
  267. package/Source/DataSources/EllipseGraphics.js +26 -40
  268. package/Source/DataSources/EllipsoidGeometryUpdater.js +1 -2
  269. package/Source/DataSources/EllipsoidGraphics.js +21 -32
  270. package/Source/DataSources/Entity.js +7 -9
  271. package/Source/DataSources/EntityCluster.js +9 -9
  272. package/Source/DataSources/EntityView.js +1 -2
  273. package/Source/DataSources/GeoJsonDataSource.js +12 -12
  274. package/Source/DataSources/GeometryUpdater.js +12 -17
  275. package/Source/DataSources/GeometryVisualizer.js +2 -3
  276. package/Source/DataSources/GpxDataSource.js +4 -7
  277. package/Source/DataSources/GridMaterialProperty.js +2 -2
  278. package/Source/DataSources/GroundGeometryUpdater.js +1 -2
  279. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  280. package/Source/DataSources/KmlDataSource.js +84 -158
  281. package/Source/DataSources/LabelGraphics.js +27 -56
  282. package/Source/DataSources/LabelVisualizer.js +1 -2
  283. package/Source/DataSources/ModelGraphics.js +29 -63
  284. package/Source/DataSources/ModelVisualizer.js +1 -2
  285. package/Source/DataSources/NodeTransformationProperty.js +2 -2
  286. package/Source/DataSources/PathGraphics.js +10 -12
  287. package/Source/DataSources/PlaneGraphics.js +13 -15
  288. package/Source/DataSources/PointGraphics.js +17 -32
  289. package/Source/DataSources/PolygonGraphics.js +28 -45
  290. package/Source/DataSources/PolylineDashMaterialProperty.js +2 -2
  291. package/Source/DataSources/PolylineGeometryUpdater.js +9 -14
  292. package/Source/DataSources/PolylineGlowMaterialProperty.js +2 -2
  293. package/Source/DataSources/PolylineGraphics.js +16 -23
  294. package/Source/DataSources/PolylineOutlineMaterialProperty.js +2 -2
  295. package/Source/DataSources/PolylineVisualizer.js +2 -3
  296. package/Source/DataSources/PolylineVolumeGraphics.js +15 -17
  297. package/Source/DataSources/PositionPropertyArray.js +1 -2
  298. package/Source/DataSources/Property.js +1 -2
  299. package/Source/DataSources/PropertyBag.js +1 -2
  300. package/Source/DataSources/RectangleGraphics.js +23 -35
  301. package/Source/DataSources/Rotation.js +4 -5
  302. package/Source/DataSources/SampledPositionProperty.js +2 -3
  303. package/Source/DataSources/SampledProperty.js +6 -11
  304. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +1 -2
  305. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  306. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +1 -2
  307. package/Source/DataSources/VelocityOrientationProperty.js +1 -2
  308. package/Source/DataSources/VelocityVectorProperty.js +1 -2
  309. package/Source/DataSources/WallGraphics.js +15 -23
  310. package/Source/DataSources/createPropertyDescriptor.js +2 -3
  311. package/Source/DataSources/exportKml.js +11 -14
  312. package/Source/Renderer/Buffer.js +5 -5
  313. package/Source/Renderer/ClearCommand.js +2 -2
  314. package/Source/Renderer/ComputeCommand.js +3 -3
  315. package/Source/Renderer/Context.js +22 -33
  316. package/Source/Renderer/CubeMap.js +6 -6
  317. package/Source/Renderer/CubeMapFace.js +11 -12
  318. package/Source/Renderer/DrawCommand.js +14 -25
  319. package/Source/Renderer/Framebuffer.js +3 -3
  320. package/Source/Renderer/FramebufferManager.js +25 -39
  321. package/Source/Renderer/MultisampleFramebuffer.js +2 -2
  322. package/Source/Renderer/RenderState.js +63 -92
  323. package/Source/Renderer/Renderbuffer.js +4 -4
  324. package/Source/Renderer/Sampler.js +2 -2
  325. package/Source/Renderer/ShaderBuilder.js +2 -3
  326. package/Source/Renderer/ShaderProgram.js +3 -3
  327. package/Source/Renderer/ShaderSource.js +3 -3
  328. package/Source/Renderer/Texture.js +10 -10
  329. package/Source/Renderer/TextureAtlas.js +4 -4
  330. package/Source/Renderer/UniformState.js +6 -11
  331. package/Source/Renderer/VertexArray.js +14 -23
  332. package/Source/Renderer/VertexArrayFacade.js +7 -11
  333. package/Source/Scene/Appearance.js +4 -4
  334. package/Source/Scene/ArcGisMapServerImageryProvider.js +23 -37
  335. package/Source/Scene/ArcGisMapService.js +1 -1
  336. package/Source/Scene/B3dmParser.js +2 -3
  337. package/Source/Scene/BatchTableHierarchy.js +6 -13
  338. package/Source/Scene/Billboard.js +22 -44
  339. package/Source/Scene/BillboardCollection.js +8 -22
  340. package/Source/Scene/BingMapsImageryProvider.js +6 -6
  341. package/Source/Scene/BoxEmitter.js +1 -2
  342. package/Source/Scene/BufferLoader.js +2 -2
  343. package/Source/Scene/Camera.js +43 -62
  344. package/Source/Scene/CameraFlightPath.js +6 -6
  345. package/Source/Scene/Cesium3DContentGroup.js +2 -2
  346. package/Source/Scene/Cesium3DTile.js +3 -4
  347. package/Source/Scene/Cesium3DTileBatchTable.js +6 -49
  348. package/Source/Scene/Cesium3DTileFeatureTable.js +2 -3
  349. package/Source/Scene/Cesium3DTilePointFeature.js +10 -18
  350. package/Source/Scene/Cesium3DTileStyle.js +4 -7
  351. package/Source/Scene/Cesium3DTilesVoxelProvider.js +57 -34
  352. package/Source/Scene/Cesium3DTileset.js +77 -143
  353. package/Source/Scene/Cesium3DTilesetMetadata.js +3 -3
  354. package/Source/Scene/CircleEmitter.js +2 -3
  355. package/Source/Scene/ClassificationPrimitive.js +15 -26
  356. package/Source/Scene/ClippingPlaneCollection.js +7 -12
  357. package/Source/Scene/ClippingPolygon.js +1 -2
  358. package/Source/Scene/ClippingPolygonCollection.js +4 -4
  359. package/Source/Scene/CloudCollection.js +9 -11
  360. package/Source/Scene/Composite3DTileContent.js +1 -2
  361. package/Source/Scene/ConeEmitter.js +1 -2
  362. package/Source/Scene/ContentMetadata.js +2 -2
  363. package/Source/Scene/CreditDisplay.js +5 -9
  364. package/Source/Scene/CumulusCloud.js +9 -15
  365. package/Source/Scene/DebugAppearance.js +7 -7
  366. package/Source/Scene/DebugCameraPrimitive.js +5 -5
  367. package/Source/Scene/DebugModelMatrixPrimitive.js +6 -8
  368. package/Source/Scene/DepthPlane.js +1 -2
  369. package/Source/Scene/DirectionalLight.js +2 -3
  370. package/Source/Scene/DiscardMissingTileImagePolicy.js +2 -2
  371. package/Source/Scene/DynamicEnvironmentMapManager.js +15 -24
  372. package/Source/Scene/EllipsoidPrimitive.js +11 -19
  373. package/Source/Scene/EllipsoidSurfaceAppearance.js +11 -15
  374. package/Source/Scene/FrameRateMonitor.js +12 -21
  375. package/Source/Scene/FrustumCommands.js +2 -3
  376. package/Source/Scene/Geometry3DTileContent.js +9 -16
  377. package/Source/Scene/Globe.js +3 -4
  378. package/Source/Scene/GlobeSurfaceTileProvider.js +9 -18
  379. package/Source/Scene/GlobeTranslucencyState.js +12 -25
  380. package/Source/Scene/GltfBufferViewLoader.js +4 -4
  381. package/Source/Scene/GltfDracoLoader.js +2 -2
  382. package/Source/Scene/GltfImageLoader.js +2 -2
  383. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  384. package/Source/Scene/GltfJsonLoader.js +2 -2
  385. package/Source/Scene/GltfLoader.js +17 -30
  386. package/Source/Scene/GltfLoaderUtil.js +11 -11
  387. package/Source/Scene/GltfPipeline/addDefaults.js +37 -64
  388. package/Source/Scene/GltfPipeline/addToArray.js +1 -3
  389. package/Source/Scene/GltfPipeline/moveTechniqueRenderStates.js +2 -5
  390. package/Source/Scene/GltfPipeline/parseGlb.js +1 -5
  391. package/Source/Scene/GltfPipeline/removeUnusedElements.js +1 -2
  392. package/Source/Scene/GltfPipeline/updateVersion.js +28 -49
  393. package/Source/Scene/GltfStructuralMetadataLoader.js +5 -6
  394. package/Source/Scene/GltfTextureLoader.js +3 -3
  395. package/Source/Scene/GltfVertexBufferLoader.js +5 -5
  396. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +2 -2
  397. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +3 -4
  398. package/Source/Scene/GridImageryProvider.js +10 -13
  399. package/Source/Scene/GroundPolylinePrimitive.js +11 -22
  400. package/Source/Scene/GroundPrimitive.js +13 -24
  401. package/Source/Scene/GroupMetadata.js +2 -2
  402. package/Source/Scene/I3SDataProvider.js +10 -15
  403. package/Source/Scene/I3SNode.js +1 -6
  404. package/Source/Scene/I3SSublayer.js +1 -2
  405. package/Source/Scene/I3SSymbology.js +2 -3
  406. package/Source/Scene/I3dmParser.js +1 -2
  407. package/Source/Scene/ITwinData.js +11 -6
  408. package/Source/Scene/ImageBasedLighting.js +2 -2
  409. package/Source/Scene/ImageryLayer.js +44 -73
  410. package/Source/Scene/ImageryLayerCollection.js +2 -3
  411. package/Source/Scene/Implicit3DTileContent.js +3 -4
  412. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -5
  413. package/Source/Scene/ImplicitMetadataView.js +2 -2
  414. package/Source/Scene/ImplicitSubtree.js +8 -15
  415. package/Source/Scene/ImplicitSubtreeCache.js +3 -3
  416. package/Source/Scene/ImplicitSubtreeMetadata.js +2 -2
  417. package/Source/Scene/InstanceAttributeSemantic.js +1 -1
  418. package/Source/Scene/IonImageryProvider.js +3 -3
  419. package/Source/Scene/Label.js +19 -36
  420. package/Source/Scene/LabelCollection.js +6 -14
  421. package/Source/Scene/MapboxImageryProvider.js +4 -4
  422. package/Source/Scene/MapboxStyleImageryProvider.js +5 -5
  423. package/Source/Scene/Material.js +14 -20
  424. package/Source/Scene/MaterialAppearance.js +12 -18
  425. package/Source/Scene/Megatexture.js +1 -2
  426. package/Source/Scene/MetadataClass.js +4 -4
  427. package/Source/Scene/MetadataClassProperty.js +11 -14
  428. package/Source/Scene/MetadataEnum.js +4 -7
  429. package/Source/Scene/MetadataEnumValue.js +2 -2
  430. package/Source/Scene/MetadataSchema.js +4 -4
  431. package/Source/Scene/MetadataSchemaLoader.js +2 -2
  432. package/Source/Scene/MetadataTable.js +2 -2
  433. package/Source/Scene/MetadataTableProperty.js +17 -31
  434. package/Source/Scene/Model/AlphaPipelineStage.js +1 -2
  435. package/Source/Scene/Model/B3dmLoader.js +15 -26
  436. package/Source/Scene/Model/BatchTexturePipelineStage.js +1 -2
  437. package/Source/Scene/Model/ClassificationModelDrawCommand.js +2 -2
  438. package/Source/Scene/Model/CustomShader.js +10 -12
  439. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +3 -3
  440. package/Source/Scene/Model/FeatureIdPipelineStage.js +1 -5
  441. package/Source/Scene/Model/GeoJsonLoader.js +5 -8
  442. package/Source/Scene/Model/I3dmLoader.js +13 -21
  443. package/Source/Scene/Model/MaterialPipelineStage.js +1 -2
  444. package/Source/Scene/Model/Model.js +40 -62
  445. package/Source/Scene/Model/ModelAnimation.js +5 -6
  446. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  447. package/Source/Scene/Model/ModelAnimationCollection.js +4 -4
  448. package/Source/Scene/Model/ModelArticulation.js +2 -2
  449. package/Source/Scene/Model/ModelArticulationStage.js +2 -2
  450. package/Source/Scene/Model/ModelDrawCommand.js +3 -3
  451. package/Source/Scene/Model/ModelFeatureTable.js +3 -9
  452. package/Source/Scene/Model/ModelLightingOptions.js +3 -3
  453. package/Source/Scene/Model/ModelNode.js +1 -1
  454. package/Source/Scene/Model/ModelRuntimeNode.js +2 -2
  455. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -2
  456. package/Source/Scene/Model/ModelSceneGraph.js +2 -2
  457. package/Source/Scene/Model/ModelSkin.js +2 -2
  458. package/Source/Scene/Model/PickingPipelineStage.js +1 -2
  459. package/Source/Scene/Model/PntsLoader.js +6 -6
  460. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +1 -5
  461. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +2 -2
  462. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +2 -3
  463. package/Source/Scene/Model/TextureUniform.js +5 -8
  464. package/Source/Scene/Model/VaryingType.js +2 -2
  465. package/Source/Scene/Model/pickModel.js +4 -5
  466. package/Source/Scene/Moon.js +5 -5
  467. package/Source/Scene/OpenStreetMapImageryProvider.js +7 -7
  468. package/Source/Scene/OrderedGroundPrimitiveCollection.js +1 -2
  469. package/Source/Scene/Particle.js +11 -17
  470. package/Source/Scene/ParticleBurst.js +5 -5
  471. package/Source/Scene/ParticleSystem.js +24 -54
  472. package/Source/Scene/PerInstanceColorAppearance.js +8 -8
  473. package/Source/Scene/PerformanceDisplay.js +3 -3
  474. package/Source/Scene/PickFramebuffer.js +4 -5
  475. package/Source/Scene/Picking.js +3 -4
  476. package/Source/Scene/PntsParser.js +1 -2
  477. package/Source/Scene/PointCloud.js +6 -12
  478. package/Source/Scene/PointCloudShading.js +9 -18
  479. package/Source/Scene/PointPrimitive.js +11 -21
  480. package/Source/Scene/PointPrimitiveCollection.js +6 -14
  481. package/Source/Scene/Polyline.js +5 -5
  482. package/Source/Scene/PolylineCollection.js +5 -10
  483. package/Source/Scene/PolylineColorAppearance.js +7 -11
  484. package/Source/Scene/PolylineMaterialAppearance.js +7 -11
  485. package/Source/Scene/PostProcessStage.js +2 -2
  486. package/Source/Scene/PostProcessStageComposite.js +3 -6
  487. package/Source/Scene/Primitive.js +21 -42
  488. package/Source/Scene/PrimitiveCollection.js +4 -4
  489. package/Source/Scene/PrimitivePipeline.js +1 -2
  490. package/Source/Scene/PropertyAttribute.js +2 -2
  491. package/Source/Scene/PropertyAttributeProperty.js +4 -4
  492. package/Source/Scene/PropertyTable.js +2 -2
  493. package/Source/Scene/PropertyTexture.js +2 -2
  494. package/Source/Scene/PropertyTextureProperty.js +4 -4
  495. package/Source/Scene/QuadtreePrimitive.js +89 -67
  496. package/Source/Scene/QuadtreeTile.js +170 -0
  497. package/Source/Scene/ResourceCache.js +11 -11
  498. package/Source/Scene/ResourceCacheKey.js +11 -11
  499. package/Source/Scene/Scene.js +27 -25
  500. package/Source/Scene/ScreenSpaceCameraController.js +10 -12
  501. package/Source/Scene/ShadowMap.js +15 -15
  502. package/Source/Scene/ShadowVolumeAppearance.js +1 -2
  503. package/Source/Scene/SingleTileImageryProvider.js +4 -4
  504. package/Source/Scene/SkyAtmosphere.js +1 -2
  505. package/Source/Scene/SkyBox.js +1 -2
  506. package/Source/Scene/SphereEmitter.js +2 -3
  507. package/Source/Scene/StructuralMetadata.js +2 -2
  508. package/Source/Scene/SunLight.js +4 -4
  509. package/Source/Scene/SupportedImageFormats.js +4 -4
  510. package/Source/Scene/TileBoundingRegion.js +4 -5
  511. package/Source/Scene/TileBoundingS2Cell.js +3 -4
  512. package/Source/Scene/TileCoordinatesImageryProvider.js +5 -5
  513. package/Source/Scene/TileMapServiceImageryProvider.js +18 -27
  514. package/Source/Scene/TileMetadata.js +2 -2
  515. package/Source/Scene/TilesetMetadata.js +2 -2
  516. package/Source/Scene/TimeDynamicImagery.js +2 -2
  517. package/Source/Scene/TimeDynamicPointCloud.js +8 -10
  518. package/Source/Scene/TweenCollection.js +13 -16
  519. package/Source/Scene/UrlTemplateImageryProvider.js +11 -15
  520. package/Source/Scene/Vector3DTileClampedPolylines.js +1 -2
  521. package/Source/Scene/Vector3DTileContent.js +16 -20
  522. package/Source/Scene/Vector3DTileGeometry.js +1 -2
  523. package/Source/Scene/Vector3DTilePolygons.js +2 -3
  524. package/Source/Scene/Vector3DTilePolylines.js +1 -2
  525. package/Source/Scene/Vector3DTilePrimitive.js +9 -13
  526. package/Source/Scene/VoxelBoxShape.js +38 -82
  527. package/Source/Scene/VoxelCylinderShape.js +130 -271
  528. package/Source/Scene/VoxelEllipsoidShape.js +2 -3
  529. package/Source/Scene/VoxelMetadataOrder.js +14 -2
  530. package/Source/Scene/VoxelPrimitive.js +17 -30
  531. package/Source/Scene/VoxelProvider.js +0 -12
  532. package/Source/Scene/VoxelRenderResources.js +17 -21
  533. package/Source/Scene/VoxelTraversal.js +2 -6
  534. package/Source/Scene/WebMapServiceImageryProvider.js +17 -24
  535. package/Source/Scene/WebMapTileServiceImageryProvider.js +7 -10
  536. package/Source/Scene/createElevationBandMaterial.js +4 -4
  537. package/Source/Scene/createGooglePhotorealistic3DTileset.js +8 -16
  538. package/Source/Scene/createOsmBuildingsAsync.js +3 -6
  539. package/Source/Scene/createTangentSpaceDebugPrimitive.js +4 -6
  540. package/Source/Scene/createWorldImageryAsync.js +3 -3
  541. package/Source/Scene/findContentMetadata.js +2 -5
  542. package/Source/Scene/findTileMetadata.js +2 -5
  543. package/Source/Scene/parseBatchTable.js +1 -5
  544. package/Source/Scene/parseFeatureMetadataLegacy.js +2 -2
  545. package/Source/Scene/parseStructuralMetadata.js +2 -2
  546. package/Source/Shaders/PolylineCommon.glsl +1 -1
  547. package/Source/Shaders/PolylineCommon.js +1 -1
  548. package/Source/Shaders/Voxels/Octree.glsl +1 -1
  549. package/Source/Shaders/Voxels/Octree.js +1 -1
  550. package/Source/Widget/CesiumWidget.js +17 -25
  551. package/Source/Workers/createGeometry.js +1 -2
  552. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +1 -2
  553. package/Source/Workers/decodeI3S.js +1 -5
  554. package/Source/Workers/transcodeKTX2.js +1 -2
  555. package/index.d.ts +83 -37
  556. package/index.js +179 -178
  557. package/package.json +2 -2
  558. package/Build/Workers/chunk-QZKN2RXM.js +0 -39
@@ -1,7 +1,6 @@
1
1
  import BoundingSphere from "./BoundingSphere.js";
2
2
  import Cartesian3 from "./Cartesian3.js";
3
3
  import Check from "./Check.js";
4
- import defaultValue from "./defaultValue.js";
5
4
  import defined from "./defined.js";
6
5
  import Ellipsoid from "./Ellipsoid.js";
7
6
  import Rectangle from "./Rectangle.js";
@@ -418,8 +417,8 @@ function computeHorizonCullingPointFromVertices(
418
417
  result = new Cartesian3();
419
418
  }
420
419
 
421
- stride = defaultValue(stride, 3);
422
- center = defaultValue(center, Cartesian3.ZERO);
420
+ stride = stride ?? 3;
421
+ center = center ?? Cartesian3.ZERO;
423
422
  const scaledSpaceDirectionToPoint = computeScaledSpaceDirectionToPoint(
424
423
  ellipsoid,
425
424
  directionToPoint,
@@ -1,5 +1,4 @@
1
1
  import Check from "./Check.js";
2
- import defaultValue from "./defaultValue.js";
3
2
  import defined from "./defined.js";
4
3
  import DeveloperError from "./DeveloperError.js";
5
4
  import Fullscreen from "./Fullscreen.js";
@@ -314,7 +313,7 @@ const FeatureDetection = {
314
313
  firefoxVersion: firefoxVersion,
315
314
  isWindows: isWindows,
316
315
  isIPadOrIOS: isIPadOrIOS,
317
- hardwareConcurrency: defaultValue(theNavigator.hardwareConcurrency, 3),
316
+ hardwareConcurrency: theNavigator.hardwareConcurrency ?? 3,
318
317
  supportsPointerEvents: supportsPointerEvents,
319
318
  supportsImageRenderingPixelated: supportsImageRenderingPixelated,
320
319
  supportsWebP: supportsWebP,
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Utilities helpful for setting a default value for a parameter.
3
+ *
4
+ * @namespace Frozen
5
+ */
6
+ const Frozen = {};
7
+
8
+ /**
9
+ * A frozen empty object that can be used as the default value for options passed as
10
+ * an object literal.
11
+ * @type {object}
12
+ * @memberof Frozen
13
+ */
14
+ Frozen.EMPTY_OBJECT = Object.freeze({});
15
+
16
+ /**
17
+ * A frozen empty array that can be used as the default value for options passed as
18
+ * an array literal.
19
+ * @type {array}
20
+ * @memberof Frozen
21
+ */
22
+ Frozen.EMPTY_ARRAY = Object.freeze([]);
23
+
24
+ export default Frozen;
@@ -3,7 +3,6 @@ import Cartesian3 from "./Cartesian3.js";
3
3
  import Cartesian4 from "./Cartesian4.js";
4
4
  import Check from "./Check.js";
5
5
  import ComponentDatatype from "./ComponentDatatype.js";
6
- import defaultValue from "./defaultValue.js";
7
6
  import defined from "./defined.js";
8
7
  import Geometry from "./Geometry.js";
9
8
  import GeometryAttribute from "./GeometryAttribute.js";
@@ -42,12 +41,12 @@ function FrustumGeometry(options) {
42
41
  const frustum = options.frustum;
43
42
  const orientation = options.orientation;
44
43
  const origin = options.origin;
45
- const vertexFormat = defaultValue(options.vertexFormat, VertexFormat.DEFAULT);
44
+ const vertexFormat = options.vertexFormat ?? VertexFormat.DEFAULT;
46
45
 
47
46
  // This is private because it is used by DebugCameraPrimitive to draw a multi-frustum by
48
47
  // creating multiple FrustumGeometry objects. This way the near plane of one frustum doesn't overlap
49
48
  // the far plane of another.
50
- const drawNearPlane = defaultValue(options._drawNearPlane, true);
49
+ const drawNearPlane = options._drawNearPlane ?? true;
51
50
 
52
51
  let frustumType;
53
52
  let frustumPackedLength;
@@ -94,7 +93,7 @@ FrustumGeometry.pack = function (value, array, startingIndex) {
94
93
  Check.defined("array", array);
95
94
  //>>includeEnd('debug');
96
95
 
97
- startingIndex = defaultValue(startingIndex, 0);
96
+ startingIndex = startingIndex ?? 0;
98
97
 
99
98
  const frustumType = value._frustumType;
100
99
  const frustum = value._frustum;
@@ -138,7 +137,7 @@ FrustumGeometry.unpack = function (array, startingIndex, result) {
138
137
  Check.defined("array", array);
139
138
  //>>includeEnd('debug');
140
139
 
141
- startingIndex = defaultValue(startingIndex, 0);
140
+ startingIndex = startingIndex ?? 0;
142
141
 
143
142
  const frustumType = array[startingIndex++];
144
143
 
@@ -277,9 +276,9 @@ FrustumGeometry._computeNearFarPlanes = function (
277
276
  orientation,
278
277
  scratchRotationMatrix,
279
278
  );
280
- let x = defaultValue(xDirection, scratchXDirection);
281
- let y = defaultValue(yDirection, scratchYDirection);
282
- let z = defaultValue(zDirection, scratchZDirection);
279
+ let x = xDirection ?? scratchXDirection;
280
+ let y = yDirection ?? scratchYDirection;
281
+ let z = zDirection ?? scratchZDirection;
283
282
 
284
283
  x = Matrix3.getColumn(rotationMatrix, 0, x);
285
284
  y = Matrix3.getColumn(rotationMatrix, 1, y);
@@ -2,7 +2,6 @@ import BoundingSphere from "./BoundingSphere.js";
2
2
  import Cartesian3 from "./Cartesian3.js";
3
3
  import Check from "./Check.js";
4
4
  import ComponentDatatype from "./ComponentDatatype.js";
5
- import defaultValue from "./defaultValue.js";
6
5
  import defined from "./defined.js";
7
6
  import FrustumGeometry from "./FrustumGeometry.js";
8
7
  import Geometry from "./Geometry.js";
@@ -42,7 +41,7 @@ function FrustumOutlineGeometry(options) {
42
41
  // This is private because it is used by DebugCameraPrimitive to draw a multi-frustum by
43
42
  // creating multiple FrustumOutlineGeometrys. This way the near plane of one frustum doesn't overlap
44
43
  // the far plane of another.
45
- const drawNearPlane = defaultValue(options._drawNearPlane, true);
44
+ const drawNearPlane = options._drawNearPlane ?? true;
46
45
 
47
46
  let frustumType;
48
47
  let frustumPackedLength;
@@ -84,7 +83,7 @@ FrustumOutlineGeometry.pack = function (value, array, startingIndex) {
84
83
  Check.defined("array", array);
85
84
  //>>includeEnd('debug');
86
85
 
87
- startingIndex = defaultValue(startingIndex, 0);
86
+ startingIndex = startingIndex ?? 0;
88
87
 
89
88
  const frustumType = value._frustumType;
90
89
  const frustum = value._frustum;
@@ -125,7 +124,7 @@ FrustumOutlineGeometry.unpack = function (array, startingIndex, result) {
125
124
  Check.defined("array", array);
126
125
  //>>includeEnd('debug');
127
126
 
128
- startingIndex = defaultValue(startingIndex, 0);
127
+ startingIndex = startingIndex ?? 0;
129
128
 
130
129
  const frustumType = array[startingIndex++];
131
130
 
@@ -1,6 +1,5 @@
1
1
  import Cartesian3 from "./Cartesian3.js";
2
2
  import Cartographic from "./Cartographic.js";
3
- import defaultValue from "./defaultValue.js";
4
3
  import defined from "./defined.js";
5
4
  import DeveloperError from "./DeveloperError.js";
6
5
  import Ellipsoid from "./Ellipsoid.js";
@@ -19,7 +18,7 @@ import Ellipsoid from "./Ellipsoid.js";
19
18
  * @see WebMercatorProjection
20
19
  */
21
20
  function GeographicProjection(ellipsoid) {
22
- this._ellipsoid = defaultValue(ellipsoid, Ellipsoid.default);
21
+ this._ellipsoid = ellipsoid ?? Ellipsoid.default;
23
22
  this._semimajorAxis = this._ellipsoid.maximumRadius;
24
23
  this._oneOverSemimajorAxis = 1.0 / this._semimajorAxis;
25
24
  }
@@ -1,6 +1,6 @@
1
1
  import Cartesian2 from "./Cartesian2.js";
2
2
  import Check from "./Check.js";
3
- import defaultValue from "./defaultValue.js";
3
+ import Frozen from "./Frozen.js";
4
4
  import defined from "./defined.js";
5
5
  import Ellipsoid from "./Ellipsoid.js";
6
6
  import GeographicProjection from "./GeographicProjection.js";
@@ -25,19 +25,13 @@ import Rectangle from "./Rectangle.js";
25
25
  * the tile tree.
26
26
  */
27
27
  function GeographicTilingScheme(options) {
28
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
28
+ options = options ?? Frozen.EMPTY_OBJECT;
29
29
 
30
- this._ellipsoid = defaultValue(options.ellipsoid, Ellipsoid.default);
31
- this._rectangle = defaultValue(options.rectangle, Rectangle.MAX_VALUE);
30
+ this._ellipsoid = options.ellipsoid ?? Ellipsoid.default;
31
+ this._rectangle = options.rectangle ?? Rectangle.MAX_VALUE;
32
32
  this._projection = new GeographicProjection(this._ellipsoid);
33
- this._numberOfLevelZeroTilesX = defaultValue(
34
- options.numberOfLevelZeroTilesX,
35
- 2,
36
- );
37
- this._numberOfLevelZeroTilesY = defaultValue(
38
- options.numberOfLevelZeroTilesY,
39
- 1,
40
- );
33
+ this._numberOfLevelZeroTilesX = options.numberOfLevelZeroTilesX ?? 2;
34
+ this._numberOfLevelZeroTilesY = options.numberOfLevelZeroTilesY ?? 1;
41
35
  }
42
36
 
43
37
  Object.defineProperties(GeographicTilingScheme.prototype, {
@@ -2,7 +2,7 @@ import Cartesian2 from "./Cartesian2.js";
2
2
  import Cartesian3 from "./Cartesian3.js";
3
3
  import Cartographic from "./Cartographic.js";
4
4
  import Check from "./Check.js";
5
- import defaultValue from "./defaultValue.js";
5
+ import Frozen from "./Frozen.js";
6
6
  import defined from "./defined.js";
7
7
  import DeveloperError from "./DeveloperError.js";
8
8
  import GeometryType from "./GeometryType.js";
@@ -65,7 +65,7 @@ import Transforms from "./Transforms.js";
65
65
  * });
66
66
  */
67
67
  function Geometry(options) {
68
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
68
+ options = options ?? Frozen.EMPTY_OBJECT;
69
69
 
70
70
  //>>includeStart('debug', pragmas.debug);
71
71
  Check.typeOf.object("options.attributes", options.attributes);
@@ -135,10 +135,7 @@ function Geometry(options) {
135
135
  *
136
136
  * @default PrimitiveType.TRIANGLES
137
137
  */
138
- this.primitiveType = defaultValue(
139
- options.primitiveType,
140
- PrimitiveType.TRIANGLES,
141
- );
138
+ this.primitiveType = options.primitiveType ?? PrimitiveType.TRIANGLES;
142
139
 
143
140
  /**
144
141
  * An optional bounding sphere that fully encloses the geometry. This is
@@ -153,7 +150,7 @@ function Geometry(options) {
153
150
  /**
154
151
  * @private
155
152
  */
156
- this.geometryType = defaultValue(options.geometryType, GeometryType.NONE);
153
+ this.geometryType = options.geometryType ?? GeometryType.NONE;
157
154
 
158
155
  /**
159
156
  * @private
@@ -1,4 +1,4 @@
1
- import defaultValue from "./defaultValue.js";
1
+ import Frozen from "./Frozen.js";
2
2
  import defined from "./defined.js";
3
3
  import DeveloperError from "./DeveloperError.js";
4
4
 
@@ -38,7 +38,7 @@ import DeveloperError from "./DeveloperError.js";
38
38
  * @see Geometry
39
39
  */
40
40
  function GeometryAttribute(options) {
41
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
41
+ options = options ?? Frozen.EMPTY_OBJECT;
42
42
 
43
43
  //>>includeStart('debug', pragmas.debug);
44
44
  if (!defined(options.componentDatatype)) {
@@ -110,7 +110,7 @@ function GeometryAttribute(options) {
110
110
  * Cesium.Color.floatToByte(color.alpha)
111
111
  * ]);
112
112
  */
113
- this.normalize = defaultValue(options.normalize, false);
113
+ this.normalize = options.normalize ?? false;
114
114
 
115
115
  /**
116
116
  * The values for the attributes stored in a typed array. In the code example,
@@ -1,4 +1,4 @@
1
- import defaultValue from "./defaultValue.js";
1
+ import Frozen from "./Frozen.js";
2
2
 
3
3
  /**
4
4
  * Attributes, which make up a geometry's vertices. Each property in this object corresponds to a
@@ -11,7 +11,7 @@ import defaultValue from "./defaultValue.js";
11
11
  * @constructor
12
12
  */
13
13
  function GeometryAttributes(options) {
14
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
14
+ options = options ?? Frozen.EMPTY_OBJECT;
15
15
 
16
16
  /**
17
17
  * The 3D position attribute.
@@ -1,4 +1,4 @@
1
- import defaultValue from "./defaultValue.js";
1
+ import Frozen from "./Frozen.js";
2
2
  import defined from "./defined.js";
3
3
  import DeveloperError from "./DeveloperError.js";
4
4
  import Matrix4 from "./Matrix4.js";
@@ -49,7 +49,7 @@ import Matrix4 from "./Matrix4.js";
49
49
  * @see Geometry
50
50
  */
51
51
  function GeometryInstance(options) {
52
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
52
+ options = options ?? Frozen.EMPTY_OBJECT;
53
53
 
54
54
  //>>includeStart('debug', pragmas.debug);
55
55
  if (!defined(options.geometry)) {
@@ -75,9 +75,7 @@ function GeometryInstance(options) {
75
75
  *
76
76
  * @default Matrix4.IDENTITY
77
77
  */
78
- this.modelMatrix = Matrix4.clone(
79
- defaultValue(options.modelMatrix, Matrix4.IDENTITY),
80
- );
78
+ this.modelMatrix = Matrix4.clone(options.modelMatrix ?? Matrix4.IDENTITY);
81
79
 
82
80
  /**
83
81
  * User-defined object returned when the instance is picked or used to get/set per-instance attributes.
@@ -106,7 +104,7 @@ function GeometryInstance(options) {
106
104
  *
107
105
  * @default {}
108
106
  */
109
- this.attributes = defaultValue(options.attributes, {});
107
+ this.attributes = options.attributes ?? {};
110
108
 
111
109
  /**
112
110
  * @private
@@ -1,4 +1,4 @@
1
- import defaultValue from "./defaultValue.js";
1
+ import Frozen from "./Frozen.js";
2
2
  import defined from "./defined.js";
3
3
  import DeveloperError from "./DeveloperError.js";
4
4
 
@@ -40,7 +40,7 @@ import DeveloperError from "./DeveloperError.js";
40
40
  * @see DistanceDisplayConditionGeometryInstanceAttribute
41
41
  */
42
42
  function GeometryInstanceAttribute(options) {
43
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
43
+ options = options ?? Frozen.EMPTY_OBJECT;
44
44
 
45
45
  //>>includeStart('debug', pragmas.debug);
46
46
  if (!defined(options.componentDatatype)) {
@@ -111,7 +111,7 @@ function GeometryInstanceAttribute(options) {
111
111
  * Cesium.Color.floatToByte(color.alpha)
112
112
  * ];
113
113
  */
114
- this.normalize = defaultValue(options.normalize, false);
114
+ this.normalize = options.normalize ?? false;
115
115
 
116
116
  /**
117
117
  * The values for the attributes stored in a typed array. In the code example,
@@ -6,7 +6,6 @@ import Cartesian3 from "./Cartesian3.js";
6
6
  import Cartesian4 from "./Cartesian4.js";
7
7
  import Cartographic from "./Cartographic.js";
8
8
  import ComponentDatatype from "./ComponentDatatype.js";
9
- import defaultValue from "./defaultValue.js";
10
9
  import defined from "./defined.js";
11
10
  import DeveloperError from "./DeveloperError.js";
12
11
  import EncodedCartesian3 from "./EncodedCartesian3.js";
@@ -169,7 +168,7 @@ GeometryPipeline.createLineSegmentsForVectors = function (
169
168
  attributeName,
170
169
  length,
171
170
  ) {
172
- attributeName = defaultValue(attributeName, "normal");
171
+ attributeName = attributeName ?? "normal";
173
172
 
174
173
  //>>includeStart('debug', pragmas.debug);
175
174
  if (!defined(geometry)) {
@@ -185,7 +184,7 @@ GeometryPipeline.createLineSegmentsForVectors = function (
185
184
  }
186
185
  //>>includeEnd('debug');
187
186
 
188
- length = defaultValue(length, 10000.0);
187
+ length = length ?? 10000.0;
189
188
 
190
189
  const positions = geometry.attributes.position.values;
191
190
  const vectors = geometry.attributes[attributeName].values;
@@ -243,7 +242,7 @@ GeometryPipeline.createAttributeLocations = function (geometry) {
243
242
  if (!defined(geometry)) {
244
243
  throw new DeveloperError("geometry is required.");
245
244
  }
246
- //>>includeEnd('debug')
245
+ //>>includeEnd('debug');
247
246
 
248
247
  // There can be a WebGL performance hit when attribute 0 is disabled, so
249
248
  // assign attribute locations to well-known attributes.
@@ -2,7 +2,6 @@ import * as protobuf from "protobufjs/dist/minimal/protobuf.js";
2
2
  import buildModuleUrl from "./buildModuleUrl.js";
3
3
  import Check from "./Check.js";
4
4
  import Credit from "./Credit.js";
5
- import defaultValue from "./defaultValue.js";
6
5
  import defined from "./defined.js";
7
6
  import GoogleEarthEnterpriseTileInformation from "./GoogleEarthEnterpriseTileInformation.js";
8
7
  import isBitSet from "./isBitSet.js";
@@ -304,8 +303,8 @@ GoogleEarthEnterpriseMetadata.prototype.getQuadTreePacket = function (
304
303
  version,
305
304
  request,
306
305
  ) {
307
- version = defaultValue(version, 1);
308
- quadKey = defaultValue(quadKey, "");
306
+ version = version ?? 1;
307
+ quadKey = quadKey ?? "";
309
308
  const resource = getMetadataResource(this, quadKey, version, request);
310
309
 
311
310
  const promise = resource.fetchArrayBuffer();
@@ -549,34 +548,24 @@ function requestDbRoot(that) {
549
548
  const dbRoot = dbrootParser.DbRootProto.decode(
550
549
  new Uint8Array(result.buffer),
551
550
  );
552
- that.imageryPresent = defaultValue(
553
- dbRoot.imageryPresent,
554
- that.imageryPresent,
555
- );
551
+ that.imageryPresent = dbRoot.imageryPresent ?? that.imageryPresent;
556
552
  that.protoImagery = dbRoot.protoImagery;
557
- that.terrainPresent = defaultValue(
558
- dbRoot.terrainPresent,
559
- that.terrainPresent,
560
- );
553
+ that.terrainPresent = dbRoot.terrainPresent ?? that.terrainPresent;
561
554
  if (defined(dbRoot.endSnippet) && defined(dbRoot.endSnippet.model)) {
562
555
  const model = dbRoot.endSnippet.model;
563
- that.negativeAltitudeExponentBias = defaultValue(
564
- model.negativeAltitudeExponentBias,
565
- that.negativeAltitudeExponentBias,
566
- );
567
- that.negativeAltitudeThreshold = defaultValue(
568
- model.compressedNegativeAltitudeThreshold,
569
- that.negativeAltitudeThreshold,
570
- );
556
+ that.negativeAltitudeExponentBias =
557
+ model.negativeAltitudeExponentBias ??
558
+ that.negativeAltitudeExponentBias;
559
+ that.negativeAltitudeThreshold =
560
+ model.compressedNegativeAltitudeThreshold ??
561
+ that.negativeAltitudeThreshold;
571
562
  }
572
563
  if (defined(dbRoot.databaseVersion)) {
573
- that._quadPacketVersion = defaultValue(
574
- dbRoot.databaseVersion.quadtreeVersion,
575
- that._quadPacketVersion,
576
- );
564
+ that._quadPacketVersion =
565
+ dbRoot.databaseVersion.quadtreeVersion ?? that._quadPacketVersion;
577
566
  }
578
567
  const providers = that.providers;
579
- const providerInfo = defaultValue(dbRoot.providerInfo, []);
568
+ const providerInfo = dbRoot.providerInfo ?? [];
580
569
  const count = providerInfo.length;
581
570
  for (let i = 0; i < count; ++i) {
582
571
  const provider = providerInfo[i];
@@ -2,7 +2,7 @@ import BoundingSphere from "./BoundingSphere.js";
2
2
  import Cartesian2 from "./Cartesian2.js";
3
3
  import Cartesian3 from "./Cartesian3.js";
4
4
  import Check from "./Check.js";
5
- import defaultValue from "./defaultValue.js";
5
+ import Frozen from "./Frozen.js";
6
6
  import defined from "./defined.js";
7
7
  import DeveloperError from "./DeveloperError.js";
8
8
  import IndexDatatype from "./IndexDatatype.js";
@@ -55,7 +55,7 @@ import TerrainMesh from "./TerrainMesh.js";
55
55
  * @see QuantizedMeshTerrainData
56
56
  */
57
57
  function GoogleEarthEnterpriseTerrainData(options) {
58
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
58
+ options = options ?? Frozen.EMPTY_OBJECT;
59
59
  //>>includeStart('debug', pragmas.debug);
60
60
  Check.typeOf.object("options.buffer", options.buffer);
61
61
  Check.typeOf.number(
@@ -76,14 +76,14 @@ function GoogleEarthEnterpriseTerrainData(options) {
76
76
  // Convert from google layout to layout of other providers
77
77
  // 3 2 -> 2 3
78
78
  // 0 1 -> 0 1
79
- const googleChildTileMask = defaultValue(options.childTileMask, 15);
79
+ const googleChildTileMask = options.childTileMask ?? 15;
80
80
  let childTileMask = googleChildTileMask & 3; // Bottom row is identical
81
81
  childTileMask |= googleChildTileMask & 4 ? 8 : 0; // NE
82
82
  childTileMask |= googleChildTileMask & 8 ? 4 : 0; // NW
83
83
 
84
84
  this._childTileMask = childTileMask;
85
85
 
86
- this._createdByUpsampling = defaultValue(options.createdByUpsampling, false);
86
+ this._createdByUpsampling = options.createdByUpsampling ?? false;
87
87
 
88
88
  this._skirtHeight = undefined;
89
89
  this._bufferType = this._buffer.constructor;
@@ -108,7 +108,7 @@ Object.defineProperties(GoogleEarthEnterpriseTerrainData.prototype, {
108
108
  * Uint8Array or image where a value of 255 indicates water and a value of 0 indicates land.
109
109
  * Values in between 0 and 255 are allowed as well to smoothly blend between land and water.
110
110
  * @memberof GoogleEarthEnterpriseTerrainData.prototype
111
- * @type {Uint8Array|HTMLImageElement|HTMLCanvasElement}
111
+ * @type {Uint8Array|HTMLImageElement|HTMLCanvasElement|undefined}
112
112
  */
113
113
  waterMask: {
114
114
  get: function () {
@@ -145,7 +145,7 @@ const rectangleScratch = new Rectangle();
145
145
  * be retried later.
146
146
  */
147
147
  GoogleEarthEnterpriseTerrainData.prototype.createMesh = function (options) {
148
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
148
+ options = options ?? Frozen.EMPTY_OBJECT;
149
149
 
150
150
  //>>includeStart('debug', pragmas.debug);
151
151
  Check.typeOf.object("options.tilingScheme", options.tilingScheme);
@@ -158,12 +158,9 @@ GoogleEarthEnterpriseTerrainData.prototype.createMesh = function (options) {
158
158
  const x = options.x;
159
159
  const y = options.y;
160
160
  const level = options.level;
161
- const exaggeration = defaultValue(options.exaggeration, 1.0);
162
- const exaggerationRelativeHeight = defaultValue(
163
- options.exaggerationRelativeHeight,
164
- 0.0,
165
- );
166
- const throttle = defaultValue(options.throttle, true);
161
+ const exaggeration = options.exaggeration ?? 1.0;
162
+ const exaggerationRelativeHeight = options.exaggerationRelativeHeight ?? 0.0;
163
+ const throttle = options.throttle ?? true;
167
164
 
168
165
  const ellipsoid = tilingScheme.ellipsoid;
169
166
  tilingScheme.tileXYToNativeRectangle(x, y, level, nativeRectangleScratch);
@@ -1,6 +1,6 @@
1
1
  import Check from "./Check.js";
2
2
  import Credit from "./Credit.js";
3
- import defaultValue from "./defaultValue.js";
3
+ import Frozen from "./Frozen.js";
4
4
  import defined from "./defined.js";
5
5
  import Event from "./Event.js";
6
6
  import GeographicTilingScheme from "./GeographicTilingScheme.js";
@@ -97,7 +97,7 @@ TerrainCache.prototype.tidy = function () {
97
97
  * @see {@link http://www.w3.org/TR/cors/|Cross-Origin Resource Sharing}
98
98
  */
99
99
  function GoogleEarthEnterpriseTerrainProvider(options) {
100
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
100
+ options = options ?? Frozen.EMPTY_OBJECT;
101
101
 
102
102
  this._tilingScheme = new GeographicTilingScheme({
103
103
  numberOfLevelZeroTilesX: 2,
@@ -222,7 +222,7 @@ Object.defineProperties(GoogleEarthEnterpriseTerrainProvider.prototype, {
222
222
  * at points and in rectangles. This property may be undefined if availability
223
223
  * information is not available.
224
224
  * @memberof GoogleEarthEnterpriseTerrainProvider.prototype
225
- * @type {TileAvailability}
225
+ * @type {TileAvailability|undefined}
226
226
  * @readonly
227
227
  */
228
228
  availability: {
@@ -1,6 +1,6 @@
1
1
  import Check from "./Check.js";
2
2
  import Credit from "./Credit.js";
3
- import defaultValue from "./defaultValue.js";
3
+ import Frozen from "./Frozen.js";
4
4
  import Rectangle from "./Rectangle.js";
5
5
  import Resource from "./Resource.js";
6
6
  import defined from "./defined.js";
@@ -21,7 +21,7 @@ const CREDIT_HTML = `<img alt="Google" src="https://assets.ion.cesium.com/google
21
21
  * @param {string} options.key An API key to use with the Google geocoding service
22
22
  */
23
23
  function GoogleGeocoderService(options) {
24
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
24
+ options = options ?? Frozen.EMPTY_OBJECT;
25
25
  const key = options.key;
26
26
  //>>includeStart('debug', pragmas.debug);
27
27
  if (!defined(key)) {
@@ -1,5 +1,4 @@
1
1
  import Check from "./Check.js";
2
- import defaultValue from "./defaultValue.js";
3
2
  import DeveloperError from "./DeveloperError.js";
4
3
  import isLeapYear from "./isLeapYear.js";
5
4
 
@@ -40,14 +39,14 @@ function GregorianDate(
40
39
  const minimumSecond = 0;
41
40
  const minimumMillisecond = 0;
42
41
 
43
- year = defaultValue(year, minimumYear);
44
- month = defaultValue(month, minimumMonth);
45
- day = defaultValue(day, minimumDay);
46
- hour = defaultValue(hour, minimumHour);
47
- minute = defaultValue(minute, minimumMinute);
48
- second = defaultValue(second, minimumSecond);
49
- millisecond = defaultValue(millisecond, minimumMillisecond);
50
- isLeapSecond = defaultValue(isLeapSecond, false);
42
+ year = year ?? minimumYear;
43
+ month = month ?? minimumMonth;
44
+ day = day ?? minimumDay;
45
+ hour = hour ?? minimumHour;
46
+ minute = minute ?? minimumMinute;
47
+ second = second ?? minimumSecond;
48
+ millisecond = millisecond ?? minimumMillisecond;
49
+ isLeapSecond = isLeapSecond ?? false;
51
50
  //>>includeStart('debug', pragmas.debug);
52
51
  validateRange();
53
52
  validateDate();
@@ -6,7 +6,7 @@ import Cartesian3 from "./Cartesian3.js";
6
6
  import Cartographic from "./Cartographic.js";
7
7
  import Check from "./Check.js";
8
8
  import ComponentDatatype from "./ComponentDatatype.js";
9
- import defaultValue from "./defaultValue.js";
9
+ import Frozen from "./Frozen.js";
10
10
  import defined from "./defined.js";
11
11
  import DeveloperError from "./DeveloperError.js";
12
12
  import Ellipsoid from "./Ellipsoid.js";
@@ -72,7 +72,7 @@ const WALL_INITIAL_MAX_HEIGHT = 1000.0;
72
72
  * });
73
73
  */
74
74
  function GroundPolylineGeometry(options) {
75
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
75
+ options = options ?? Frozen.EMPTY_OBJECT;
76
76
  const positions = options.positions;
77
77
 
78
78
  //>>includeStart('debug', pragmas.debug);
@@ -94,7 +94,7 @@ function GroundPolylineGeometry(options) {
94
94
  * The screen space width in pixels.
95
95
  * @type {number}
96
96
  */
97
- this.width = defaultValue(options.width, 1.0); // Doesn't get packed, not necessary for computing geometry.
97
+ this.width = options.width ?? 1.0; // Doesn't get packed, not necessary for computing geometry.
98
98
 
99
99
  this._positions = positions;
100
100
 
@@ -104,7 +104,7 @@ function GroundPolylineGeometry(options) {
104
104
  * @type {boolean}
105
105
  * @default 9999.0
106
106
  */
107
- this.granularity = defaultValue(options.granularity, 9999.0);
107
+ this.granularity = options.granularity ?? 9999.0;
108
108
 
109
109
  /**
110
110
  * Whether during geometry creation a line segment will be added between the last and first line positions to make this Polyline a loop.
@@ -112,14 +112,14 @@ function GroundPolylineGeometry(options) {
112
112
  * @type {boolean}
113
113
  * @default false
114
114
  */
115
- this.loop = defaultValue(options.loop, false);
115
+ this.loop = options.loop ?? false;
116
116
 
117
117
  /**
118
118
  * The type of path the polyline must follow. Valid options are {@link ArcType.GEODESIC} and {@link ArcType.RHUMB}.
119
119
  * @type {ArcType}
120
120
  * @default ArcType.GEODESIC
121
121
  */
122
- this.arcType = defaultValue(options.arcType, ArcType.GEODESIC);
122
+ this.arcType = options.arcType ?? ArcType.GEODESIC;
123
123
 
124
124
  this._ellipsoid = Ellipsoid.default;
125
125
 
@@ -297,7 +297,7 @@ GroundPolylineGeometry.pack = function (value, array, startingIndex) {
297
297
  Check.defined("array", array);
298
298
  //>>includeEnd('debug');
299
299
 
300
- let index = defaultValue(startingIndex, 0);
300
+ let index = startingIndex ?? 0;
301
301
 
302
302
  const positions = value._positions;
303
303
  const positionsLength = positions.length;
@@ -335,7 +335,7 @@ GroundPolylineGeometry.unpack = function (array, startingIndex, result) {
335
335
  Check.defined("array", array);
336
336
  //>>includeEnd('debug');
337
337
 
338
- let index = defaultValue(startingIndex, 0);
338
+ let index = startingIndex ?? 0;
339
339
  const positionsLength = array[index++];
340
340
  const positions = new Array(positionsLength);
341
341