@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
@@ -5,7 +5,7 @@ import Cartesian4 from "../Core/Cartesian4.js";
5
5
  import Check from "../Core/Check.js";
6
6
  import ComponentDatatype from "../Core/ComponentDatatype.js";
7
7
  import Credit from "../Core/Credit.js";
8
- import defaultValue from "../Core/defaultValue.js";
8
+ import Frozen from "../Core/Frozen.js";
9
9
  import defined from "../Core/defined.js";
10
10
  import FeatureDetection from "../Core/FeatureDetection.js";
11
11
  import InterpolationType from "../Core/InterpolationType.js";
@@ -195,7 +195,7 @@ const GltfLoaderState = {
195
195
  * @private
196
196
  */
197
197
  function GltfLoader(options) {
198
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
198
+ options = options ?? Frozen.EMPTY_OBJECT;
199
199
  const {
200
200
  gltfResource,
201
201
  typedArray,
@@ -855,7 +855,7 @@ async function loadAccessorBufferView(
855
855
  bufferViewLoader.typedArray,
856
856
  );
857
857
 
858
- useQuaternion = defaultValue(useQuaternion, false);
858
+ useQuaternion = useQuaternion ?? false;
859
859
  loadAccessorValues(accessor, typedArray, values, useQuaternion);
860
860
  }
861
861
 
@@ -1004,7 +1004,7 @@ function setQuantizationFromWeb3dQuantizedAttributes(
1004
1004
  function createAttribute(gltf, accessorId, name, semantic, setIndex) {
1005
1005
  const accessor = gltf.accessors[accessorId];
1006
1006
  const MathType = AttributeType.getMathType(accessor.type);
1007
- const normalized = defaultValue(accessor.normalized, false);
1007
+ const normalized = accessor.normalized ?? false;
1008
1008
 
1009
1009
  const attribute = new Attribute();
1010
1010
  attribute.name = name;
@@ -1670,10 +1670,7 @@ function loadClearcoat(loader, clearcoatInfo, frameState) {
1670
1670
  function loadMaterial(loader, gltfMaterial, frameState) {
1671
1671
  const material = new Material();
1672
1672
 
1673
- const extensions = defaultValue(
1674
- gltfMaterial.extensions,
1675
- defaultValue.EMPTY_OBJECT,
1676
- );
1673
+ const extensions = gltfMaterial.extensions ?? Frozen.EMPTY_OBJECT;
1677
1674
  const pbrSpecularGlossiness = extensions.KHR_materials_pbrSpecularGlossiness;
1678
1675
  const pbrSpecular = extensions.KHR_materials_specular;
1679
1676
  const pbrAnisotropy = extensions.KHR_materials_anisotropy;
@@ -1794,9 +1791,9 @@ function loadFeatureIdImplicitRangeLegacy(
1794
1791
  featureIdRange.featureCount = featureCount;
1795
1792
 
1796
1793
  // constant/divisor was renamed to offset/repeat
1797
- featureIdRange.offset = defaultValue(featureIds.constant, 0);
1794
+ featureIdRange.offset = featureIds.constant ?? 0;
1798
1795
  // The default is now undefined
1799
- const divisor = defaultValue(featureIds.divisor, 0);
1796
+ const divisor = featureIds.divisor ?? 0;
1800
1797
  featureIdRange.repeat = divisor === 0 ? undefined : divisor;
1801
1798
 
1802
1799
  featureIdRange.positionalLabel = positionalLabel;
@@ -1936,10 +1933,7 @@ function loadPrimitive(loader, gltfPrimitive, hasInstances, frameState) {
1936
1933
  );
1937
1934
  }
1938
1935
 
1939
- const extensions = defaultValue(
1940
- gltfPrimitive.extensions,
1941
- defaultValue.EMPTY_OBJECT,
1942
- );
1936
+ const extensions = gltfPrimitive.extensions ?? Frozen.EMPTY_OBJECT;
1943
1937
 
1944
1938
  let needsPostProcessing = false;
1945
1939
  const outlineExtension = extensions.CESIUM_primitive_outline;
@@ -2240,10 +2234,8 @@ function loadInstances(loader, nodeExtensions, frameState) {
2240
2234
  }
2241
2235
  }
2242
2236
 
2243
- const instancingExtExtensions = defaultValue(
2244
- instancingExtension.extensions,
2245
- defaultValue.EMPTY_OBJECT,
2246
- );
2237
+ const instancingExtExtensions =
2238
+ instancingExtension.extensions ?? Frozen.EMPTY_OBJECT;
2247
2239
  const instanceFeatures = nodeExtensions.EXT_instance_features;
2248
2240
  const featureMetadataLegacy = instancingExtExtensions.EXT_feature_metadata;
2249
2241
 
@@ -2341,10 +2333,7 @@ function loadNode(loader, gltfNode, frameState) {
2341
2333
  node.rotation = fromArray(Quaternion, gltfNode.rotation);
2342
2334
  node.scale = fromArray(Cartesian3, gltfNode.scale);
2343
2335
 
2344
- const nodeExtensions = defaultValue(
2345
- gltfNode.extensions,
2346
- defaultValue.EMPTY_OBJECT,
2347
- );
2336
+ const nodeExtensions = gltfNode.extensions ?? Frozen.EMPTY_OBJECT;
2348
2337
  const instancingExtension = nodeExtensions.EXT_mesh_gpu_instancing;
2349
2338
  const articulationsExtension = nodeExtensions.AGI_articulations;
2350
2339
 
@@ -2378,7 +2367,7 @@ function loadNode(loader, gltfNode, frameState) {
2378
2367
 
2379
2368
  // If the node has no weights array, it will look for the weights array provided
2380
2369
  // by the mesh. If both are undefined, it will default to an array of zero weights.
2381
- const morphWeights = defaultValue(gltfNode.weights, mesh.weights);
2370
+ const morphWeights = gltfNode.weights ?? mesh.weights;
2382
2371
  const targets = node.primitives[0].morphTargets;
2383
2372
 
2384
2373
  // Since meshes are not stored as separate components, the mesh weights will still
@@ -2508,10 +2497,8 @@ function loadAnimationSampler(loader, gltfSampler) {
2508
2497
  animationSampler.input = loadAccessor(loader, inputAccessor);
2509
2498
 
2510
2499
  const gltfInterpolation = gltfSampler.interpolation;
2511
- animationSampler.interpolation = defaultValue(
2512
- InterpolationType[gltfInterpolation],
2513
- InterpolationType.LINEAR,
2514
- );
2500
+ animationSampler.interpolation =
2501
+ InterpolationType[gltfInterpolation] ?? InterpolationType.LINEAR;
2515
2502
 
2516
2503
  const outputAccessor = accessors[gltfSampler.output];
2517
2504
  animationSampler.output = loadAccessor(loader, outputAccessor, true);
@@ -2606,7 +2593,7 @@ function loadArticulation(articulationJson) {
2606
2593
  }
2607
2594
 
2608
2595
  function loadArticulations(gltf) {
2609
- const extensions = defaultValue(gltf.extensions, defaultValue.EMPTY_OBJECT);
2596
+ const extensions = gltf.extensions ?? Frozen.EMPTY_OBJECT;
2610
2597
  const articulationJsons = extensions.AGI_articulations?.articulations;
2611
2598
  if (!defined(articulationJsons)) {
2612
2599
  return [];
@@ -2619,7 +2606,7 @@ function getSceneNodeIds(gltf) {
2619
2606
  if (defined(gltf.scenes) && defined(gltf.scene)) {
2620
2607
  nodesIds = gltf.scenes[gltf.scene].nodes;
2621
2608
  }
2622
- nodesIds = defaultValue(nodesIds, gltf.nodes);
2609
+ nodesIds = nodesIds ?? gltf.nodes;
2623
2610
  nodesIds = defined(nodesIds) ? nodesIds : [];
2624
2611
  return nodesIds;
2625
2612
  }
@@ -2652,7 +2639,7 @@ const scratchCenter = new Cartesian3();
2652
2639
  */
2653
2640
  function parse(loader, frameState) {
2654
2641
  const gltf = loader.gltfJson;
2655
- const extensions = defaultValue(gltf.extensions, defaultValue.EMPTY_OBJECT);
2642
+ const extensions = gltf.extensions ?? Frozen.EMPTY_OBJECT;
2656
2643
  const structuralMetadataExtension = extensions.EXT_structural_metadata;
2657
2644
  const featureMetadataExtensionLegacy = extensions.EXT_feature_metadata;
2658
2645
  const cesiumRtcExtension = extensions.CESIUM_RTC;
@@ -1,6 +1,6 @@
1
1
  import Cartesian2 from "../Core/Cartesian2.js";
2
2
  import Check from "../Core/Check.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 Matrix3 from "../Core/Matrix3.js";
6
6
  import Sampler from "../Renderer/Sampler.js";
@@ -34,7 +34,7 @@ const GltfLoaderUtil = {};
34
34
  * @private
35
35
  */
36
36
  GltfLoaderUtil.getImageIdFromTexture = function (options) {
37
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
37
+ options = options ?? Frozen.EMPTY_OBJECT;
38
38
  const { gltf, textureId, supportedImageFormats } = options;
39
39
 
40
40
  //>>includeStart('debug', pragmas.debug);
@@ -70,7 +70,7 @@ GltfLoaderUtil.getImageIdFromTexture = function (options) {
70
70
  * @private
71
71
  */
72
72
  GltfLoaderUtil.createSampler = function (options) {
73
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
73
+ options = options ?? Frozen.EMPTY_OBJECT;
74
74
  const { gltf, textureInfo, compressedTextureNoMipmap = false } = options;
75
75
 
76
76
  //>>includeStart('debug', pragmas.debug);
@@ -90,10 +90,10 @@ GltfLoaderUtil.createSampler = function (options) {
90
90
 
91
91
  if (defined(samplerId)) {
92
92
  const sampler = gltf.samplers[samplerId];
93
- wrapS = defaultValue(sampler.wrapS, wrapS);
94
- wrapT = defaultValue(sampler.wrapT, wrapT);
95
- minFilter = defaultValue(sampler.minFilter, minFilter);
96
- magFilter = defaultValue(sampler.magFilter, magFilter);
93
+ wrapS = sampler.wrapS ?? wrapS;
94
+ wrapT = sampler.wrapT ?? wrapT;
95
+ minFilter = sampler.minFilter ?? minFilter;
96
+ magFilter = sampler.magFilter ?? magFilter;
97
97
  }
98
98
 
99
99
  if (
@@ -132,25 +132,25 @@ const defaultScale = new Cartesian2(1.0, 1.0);
132
132
  * @returns {ModelComponents.TextureReader} The texture reader for this model.
133
133
  */
134
134
  GltfLoaderUtil.createModelTextureReader = function (options) {
135
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
135
+ options = options ?? Frozen.EMPTY_OBJECT;
136
136
  const { textureInfo, channels, texture } = options;
137
137
 
138
138
  //>>includeStart('debug', pragmas.debug);
139
139
  Check.typeOf.object("options.textureInfo", textureInfo);
140
140
  //>>includeEnd('debug');
141
141
 
142
- let texCoord = defaultValue(textureInfo.texCoord, 0);
142
+ let texCoord = textureInfo.texCoord ?? 0;
143
143
  let transform;
144
144
 
145
145
  const textureTransform = textureInfo.extensions?.KHR_texture_transform;
146
146
 
147
147
  if (defined(textureTransform)) {
148
- texCoord = defaultValue(textureTransform.texCoord, texCoord);
148
+ texCoord = textureTransform.texCoord ?? texCoord;
149
149
 
150
150
  const offset = defined(textureTransform.offset)
151
151
  ? Cartesian2.unpack(textureTransform.offset)
152
152
  : Cartesian2.ZERO;
153
- let rotation = defaultValue(textureTransform.rotation, 0.0);
153
+ let rotation = textureTransform.rotation ?? 0.0;
154
154
  const scale = defined(textureTransform.scale)
155
155
  ? Cartesian2.unpack(textureTransform.scale)
156
156
  : defaultScale;
@@ -1,7 +1,7 @@
1
1
  import addToArray from "./addToArray.js";
2
2
  import ForEach from "./ForEach.js";
3
3
  import getAccessorByteStride from "./getAccessorByteStride.js";
4
- import defaultValue from "../../Core/defaultValue.js";
4
+ import Frozen from "../../Core/Frozen.js";
5
5
  import defined from "../../Core/defined.js";
6
6
  import WebGLConstants from "../../Core/WebGLConstants.js";
7
7
 
@@ -16,19 +16,19 @@ import WebGLConstants from "../../Core/WebGLConstants.js";
16
16
  function addDefaults(gltf) {
17
17
  ForEach.accessor(gltf, function (accessor) {
18
18
  if (defined(accessor.bufferView)) {
19
- accessor.byteOffset = defaultValue(accessor.byteOffset, 0);
19
+ accessor.byteOffset = accessor.byteOffset ?? 0;
20
20
  }
21
21
  });
22
22
 
23
23
  ForEach.bufferView(gltf, function (bufferView) {
24
24
  if (defined(bufferView.buffer)) {
25
- bufferView.byteOffset = defaultValue(bufferView.byteOffset, 0);
25
+ bufferView.byteOffset = bufferView.byteOffset ?? 0;
26
26
  }
27
27
  });
28
28
 
29
29
  ForEach.mesh(gltf, function (mesh) {
30
30
  ForEach.meshPrimitive(mesh, function (primitive) {
31
- primitive.mode = defaultValue(primitive.mode, WebGLConstants.TRIANGLES);
31
+ primitive.mode = primitive.mode ?? WebGLConstants.TRIANGLES;
32
32
  if (!defined(primitive.material)) {
33
33
  if (!defined(gltf.materials)) {
34
34
  gltf.materials = [];
@@ -44,7 +44,7 @@ function addDefaults(gltf) {
44
44
  ForEach.accessorContainingVertexAttributeData(gltf, function (accessorId) {
45
45
  const accessor = gltf.accessors[accessorId];
46
46
  const bufferViewId = accessor.bufferView;
47
- accessor.normalized = defaultValue(accessor.normalized, false);
47
+ accessor.normalized = accessor.normalized ?? false;
48
48
  if (defined(bufferViewId)) {
49
49
  const bufferView = gltf.bufferViews[bufferViewId];
50
50
  bufferView.byteStride = getAccessorByteStride(gltf, accessor);
@@ -62,10 +62,7 @@ function addDefaults(gltf) {
62
62
  });
63
63
 
64
64
  ForEach.material(gltf, function (material) {
65
- const extensions = defaultValue(
66
- material.extensions,
67
- defaultValue.EMPTY_OBJECT
68
- );
65
+ const extensions = material.extensions ?? Frozen.EMPTY_OBJECT;
69
66
  const materialsCommon = extensions.KHR_materials_common;
70
67
  if (defined(materialsCommon)) {
71
68
  const technique = materialsCommon.technique;
@@ -81,7 +78,7 @@ function addDefaults(gltf) {
81
78
  ? values.emission
82
79
  : [0.0, 0.0, 0.0, 1.0];
83
80
 
84
- values.transparency = defaultValue(values.transparency, 1.0);
81
+ values.transparency = values.transparency ?? 1.0;
85
82
 
86
83
  if (technique !== "CONSTANT") {
87
84
  values.diffuse = defined(values.diffuse)
@@ -91,32 +88,23 @@ function addDefaults(gltf) {
91
88
  values.specular = defined(values.specular)
92
89
  ? values.specular
93
90
  : [0.0, 0.0, 0.0, 1.0];
94
- values.shininess = defaultValue(values.shininess, 0.0);
91
+ values.shininess = values.shininess ?? 0.0;
95
92
  }
96
93
  }
97
94
 
98
95
  // These actually exist on the extension object, not the values object despite what's shown in the spec
99
- materialsCommon.transparent = defaultValue(
100
- materialsCommon.transparent,
101
- false
102
- );
103
- materialsCommon.doubleSided = defaultValue(
104
- materialsCommon.doubleSided,
105
- false
106
- );
96
+ materialsCommon.transparent = materialsCommon.transparent ?? false;
97
+ materialsCommon.doubleSided = materialsCommon.doubleSided ?? false;
107
98
 
108
99
  return;
109
100
  }
110
101
 
111
- material.emissiveFactor = defaultValue(
112
- material.emissiveFactor,
113
- [0.0, 0.0, 0.0]
114
- );
115
- material.alphaMode = defaultValue(material.alphaMode, "OPAQUE");
116
- material.doubleSided = defaultValue(material.doubleSided, false);
102
+ material.emissiveFactor = material.emissiveFactor ?? [0.0, 0.0, 0.0];
103
+ material.alphaMode = material.alphaMode ?? "OPAQUE";
104
+ material.doubleSided = material.doubleSided ?? false;
117
105
 
118
106
  if (material.alphaMode === "MASK") {
119
- material.alphaCutoff = defaultValue(material.alphaCutoff, 0.5);
107
+ material.alphaCutoff = material.alphaCutoff ?? 0.5;
120
108
  }
121
109
 
122
110
  const techniquesExtension = extensions.KHR_techniques_webgl;
@@ -135,18 +123,12 @@ function addDefaults(gltf) {
135
123
 
136
124
  const pbrMetallicRoughness = material.pbrMetallicRoughness;
137
125
  if (defined(pbrMetallicRoughness)) {
138
- pbrMetallicRoughness.baseColorFactor = defaultValue(
139
- pbrMetallicRoughness.baseColorFactor,
140
- [1.0, 1.0, 1.0, 1.0]
141
- );
142
- pbrMetallicRoughness.metallicFactor = defaultValue(
143
- pbrMetallicRoughness.metallicFactor,
144
- 1.0
145
- );
146
- pbrMetallicRoughness.roughnessFactor = defaultValue(
147
- pbrMetallicRoughness.roughnessFactor,
148
- 1.0
149
- );
126
+ pbrMetallicRoughness.baseColorFactor =
127
+ pbrMetallicRoughness.baseColorFactor ?? [1.0, 1.0, 1.0, 1.0];
128
+ pbrMetallicRoughness.metallicFactor =
129
+ pbrMetallicRoughness.metallicFactor ?? 1.0;
130
+ pbrMetallicRoughness.roughnessFactor =
131
+ pbrMetallicRoughness.roughnessFactor ?? 1.0;
150
132
  addTextureDefaults(pbrMetallicRoughness.baseColorTexture);
151
133
  addTextureDefaults(pbrMetallicRoughness.metallicRoughnessTexture);
152
134
  }
@@ -154,25 +136,19 @@ function addDefaults(gltf) {
154
136
  const pbrSpecularGlossiness =
155
137
  extensions.KHR_materials_pbrSpecularGlossiness;
156
138
  if (defined(pbrSpecularGlossiness)) {
157
- pbrSpecularGlossiness.diffuseFactor = defaultValue(
158
- pbrSpecularGlossiness.diffuseFactor,
159
- [1.0, 1.0, 1.0, 1.0]
160
- );
161
- pbrSpecularGlossiness.specularFactor = defaultValue(
162
- pbrSpecularGlossiness.specularFactor,
163
- [1.0, 1.0, 1.0]
164
- );
165
- pbrSpecularGlossiness.glossinessFactor = defaultValue(
166
- pbrSpecularGlossiness.glossinessFactor,
167
- 1.0
168
- );
139
+ pbrSpecularGlossiness.diffuseFactor =
140
+ pbrSpecularGlossiness.diffuseFactor ?? [1.0, 1.0, 1.0, 1.0];
141
+ pbrSpecularGlossiness.specularFactor =
142
+ pbrSpecularGlossiness.specularFactor ?? [1.0, 1.0, 1.0];
143
+ pbrSpecularGlossiness.glossinessFactor =
144
+ pbrSpecularGlossiness.glossinessFactor ?? 1.0;
169
145
  addTextureDefaults(pbrSpecularGlossiness.specularGlossinessTexture);
170
146
  }
171
147
  });
172
148
 
173
149
  ForEach.animation(gltf, function (animation) {
174
150
  ForEach.animationSampler(animation, function (sampler) {
175
- sampler.interpolation = defaultValue(sampler.interpolation, "LINEAR");
151
+ sampler.interpolation = sampler.interpolation ?? "LINEAR";
176
152
  });
177
153
  });
178
154
 
@@ -185,23 +161,20 @@ function addDefaults(gltf) {
185
161
  defined(node.rotation) ||
186
162
  defined(node.scale)
187
163
  ) {
188
- node.translation = defaultValue(node.translation, [0.0, 0.0, 0.0]);
189
- node.rotation = defaultValue(node.rotation, [0.0, 0.0, 0.0, 1.0]);
190
- node.scale = defaultValue(node.scale, [1.0, 1.0, 1.0]);
164
+ node.translation = node.translation ?? [0.0, 0.0, 0.0];
165
+ node.rotation = node.rotation ?? [0.0, 0.0, 0.0, 1.0];
166
+ node.scale = node.scale ?? [1.0, 1.0, 1.0];
191
167
  } else {
192
- node.matrix = defaultValue(
193
- node.matrix,
194
- [
195
- 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
196
- 0.0, 1.0,
197
- ]
198
- );
168
+ node.matrix = node.matrix ?? [
169
+ 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0, 0.0,
170
+ 0.0, 1.0,
171
+ ];
199
172
  }
200
173
  });
201
174
 
202
175
  ForEach.sampler(gltf, function (sampler) {
203
- sampler.wrapS = defaultValue(sampler.wrapS, WebGLConstants.REPEAT);
204
- sampler.wrapT = defaultValue(sampler.wrapT, WebGLConstants.REPEAT);
176
+ sampler.wrapS = sampler.wrapS ?? WebGLConstants.REPEAT;
177
+ sampler.wrapT = sampler.wrapT ?? WebGLConstants.REPEAT;
205
178
  });
206
179
 
207
180
  if (defined(gltf.scenes) && !defined(gltf.scene)) {
@@ -229,7 +202,7 @@ function getAnimatedNodes(gltf) {
229
202
 
230
203
  function addTextureDefaults(texture) {
231
204
  if (defined(texture)) {
232
- texture.texCoord = defaultValue(texture.texCoord, 0);
205
+ texture.texCoord = texture.texCoord ?? 0;
233
206
  }
234
207
  }
235
208
 
@@ -1,5 +1,3 @@
1
- import defaultValue from "../../Core/defaultValue.js";
2
-
3
1
  /**
4
2
  * Adds an element to an array and returns the element's index.
5
3
  *
@@ -10,7 +8,7 @@ import defaultValue from "../../Core/defaultValue.js";
10
8
  * @private
11
9
  */
12
10
  function addToArray(array, element, checkDuplicates) {
13
- checkDuplicates = defaultValue(checkDuplicates, false);
11
+ checkDuplicates = checkDuplicates ?? false;
14
12
  if (checkDuplicates) {
15
13
  const index = array.indexOf(element);
16
14
  if (index > -1) {
@@ -1,6 +1,5 @@
1
1
  import addExtensionsUsed from "./addExtensionsUsed.js";
2
2
  import ForEach from "./ForEach.js";
3
- import defaultValue from "../../Core/defaultValue.js";
4
3
  import defined from "../../Core/defined.js";
5
4
  import WebGLConstants from "../../Core/WebGLConstants.js";
6
5
 
@@ -84,10 +83,8 @@ function moveTechniqueRenderStates(gltf) {
84
83
  defined(blendFunctions.blendFuncSeparate))
85
84
  ) {
86
85
  blendingForTechnique[techniqueIndex] = {
87
- blendEquation: defaultValue(
88
- blendFunctions.blendEquationSeparate,
89
- defaultBlendEquation
90
- ),
86
+ blendEquation:
87
+ blendFunctions.blendEquationSeparate ?? defaultBlendEquation,
91
88
  blendFactors: getSupportedBlendFactors(
92
89
  blendFunctions.blendFuncSeparate,
93
90
  defaultBlendFactors
@@ -1,6 +1,5 @@
1
1
  import addPipelineExtras from "./addPipelineExtras.js";
2
2
  import removeExtensionsUsed from "./removeExtensionsUsed.js";
3
- import defaultValue from "../../Core/defaultValue.js";
4
3
  import defined from "../../Core/defined.js";
5
4
  import getMagic from "../../Core/getMagic.js";
6
5
  import getStringFromTypedArray from "../../Core/getStringFromTypedArray.js";
@@ -72,10 +71,7 @@ function parseGlbVersion1(glb, header) {
72
71
  const buffers = gltf.buffers;
73
72
  if (defined(buffers) && Object.keys(buffers).length > 0) {
74
73
  // In some older models, the binary glTF buffer is named KHR_binary_glTF
75
- const binaryGltfBuffer = defaultValue(
76
- buffers.binary_glTF,
77
- buffers.KHR_binary_glTF
78
- );
74
+ const binaryGltfBuffer = buffers.binary_glTF ?? buffers.KHR_binary_glTF;
79
75
  if (defined(binaryGltfBuffer)) {
80
76
  binaryGltfBuffer.extras._pipeline.source = binaryBuffer;
81
77
  delete binaryGltfBuffer.uri;
@@ -1,7 +1,6 @@
1
1
  import ForEach from "./ForEach.js";
2
2
  import forEachTextureInMaterial from "./forEachTextureInMaterial.js";
3
3
  import usesExtension from "./usesExtension.js";
4
- import defaultValue from "../../Core/defaultValue.js";
5
4
  import defined from "../../Core/defined.js";
6
5
 
7
6
  const allElementTypes = [
@@ -25,7 +24,7 @@ const allElementTypes = [
25
24
  * @private
26
25
  */
27
26
  function removeUnusedElements(gltf, elementTypes) {
28
- elementTypes = defaultValue(elementTypes, allElementTypes);
27
+ elementTypes = elementTypes ?? allElementTypes;
29
28
  allElementTypes.forEach(function (type) {
30
29
  if (elementTypes.indexOf(type) > -1) {
31
30
  removeUnusedElementsByType(gltf, type);
@@ -13,7 +13,7 @@ import Cartesian3 from "../../Core/Cartesian3.js";
13
13
  import Cartesian4 from "../../Core/Cartesian4.js";
14
14
  import clone from "../../Core/clone.js";
15
15
  import ComponentDatatype from "../../Core/ComponentDatatype.js";
16
- import defaultValue from "../../Core/defaultValue.js";
16
+ import Frozen from "../../Core/Frozen.js";
17
17
  import defined from "../../Core/defined.js";
18
18
  import Matrix4 from "../../Core/Matrix4.js";
19
19
  import Quaternion from "../../Core/Quaternion.js";
@@ -40,16 +40,14 @@ const updateFunctions = {
40
40
  * @private
41
41
  */
42
42
  function updateVersion(gltf, options) {
43
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
43
+ options = options ?? Frozen.EMPTY_OBJECT;
44
44
  const targetVersion = options.targetVersion;
45
45
  let version = gltf.version;
46
46
 
47
- gltf.asset = defaultValue(gltf.asset, {
48
- version: "1.0",
49
- });
47
+ gltf.asset = gltf.asset ?? { version: "1.0" };
50
48
 
51
- gltf.asset.version = defaultValue(gltf.asset.version, "1.0");
52
- version = defaultValue(version, gltf.asset.version).toString();
49
+ gltf.asset.version = gltf.asset.version ?? "1.0";
50
+ version = (version ?? gltf.asset.version).toString();
53
51
 
54
52
  // Invalid version
55
53
  if (!Object.prototype.hasOwnProperty.call(updateFunctions, version)) {
@@ -107,11 +105,8 @@ function setPrimitiveModes(gltf) {
107
105
  const primitivesLength = primitives.length;
108
106
  for (let i = 0; i < primitivesLength; ++i) {
109
107
  const primitive = primitives[i];
110
- const defaultMode = defaultValue(
111
- primitive.primitive,
112
- WebGLConstants.TRIANGLES
113
- );
114
- primitive.mode = defaultValue(primitive.mode, defaultMode);
108
+ const defaultMode = primitive.primitive ?? WebGLConstants.TRIANGLES;
109
+ primitive.mode = primitive.mode ?? defaultMode;
115
110
  delete primitive.primitive;
116
111
  }
117
112
  }
@@ -205,23 +200,15 @@ function removeTechniquePasses(gltf) {
205
200
  const technique = techniques[techniqueId];
206
201
  const passes = technique.passes;
207
202
  if (defined(passes)) {
208
- const passName = defaultValue(technique.pass, "defaultPass");
203
+ const passName = technique.pass ?? "defaultPass";
209
204
  if (Object.prototype.hasOwnProperty.call(passes, passName)) {
210
205
  const pass = passes[passName];
211
206
  const instanceProgram = pass.instanceProgram;
212
- technique.attributes = defaultValue(
213
- technique.attributes,
214
- instanceProgram.attributes
215
- );
216
- technique.program = defaultValue(
217
- technique.program,
218
- instanceProgram.program
219
- );
220
- technique.uniforms = defaultValue(
221
- technique.uniforms,
222
- instanceProgram.uniforms
223
- );
224
- technique.states = defaultValue(technique.states, pass.states);
207
+ technique.attributes =
208
+ technique.attributes ?? instanceProgram.attributes;
209
+ technique.program = technique.program ?? instanceProgram.program;
210
+ technique.uniforms = technique.uniforms ?? instanceProgram.uniforms;
211
+ technique.states = technique.states ?? pass.states;
225
212
  }
226
213
  delete technique.passes;
227
214
  delete technique.pass;
@@ -269,9 +256,9 @@ function glTF08to10(gltf) {
269
256
  }
270
257
  // gltf.lights -> khrMaterialsCommon.lights
271
258
  if (defined(gltf.lights)) {
272
- const extensions = defaultValue(gltf.extensions, {});
259
+ const extensions = gltf.extensions ?? {};
273
260
  gltf.extensions = extensions;
274
- const materialsCommon = defaultValue(extensions.KHR_materials_common, {});
261
+ const materialsCommon = extensions.KHR_materials_common ?? {};
275
262
  extensions.KHR_materials_common = materialsCommon;
276
263
  materialsCommon.lights = gltf.lights;
277
264
  delete gltf.lights;
@@ -611,7 +598,7 @@ const knownExtensions = {
611
598
  };
612
599
  function requireKnownExtensions(gltf) {
613
600
  const extensionsUsed = gltf.extensionsUsed;
614
- gltf.extensionsRequired = defaultValue(gltf.extensionsRequired, []);
601
+ gltf.extensionsRequired = gltf.extensionsRequired ?? [];
615
602
  if (defined(extensionsUsed)) {
616
603
  const extensionsUsedLength = extensionsUsed.length;
617
604
  for (let i = 0; i < extensionsUsedLength; ++i) {
@@ -768,7 +755,7 @@ function requireByteLength(gltf) {
768
755
  const accessorByteEnd =
769
756
  accessor.byteOffset + accessor.count * accessorByteStride;
770
757
  bufferView.byteLength = Math.max(
771
- defaultValue(bufferView.byteLength, 0),
758
+ bufferView.byteLength ?? 0,
772
759
  accessorByteEnd
773
760
  );
774
761
  }
@@ -793,10 +780,8 @@ function moveByteStrideToBufferView(gltf) {
793
780
  const bufferViewMap = {};
794
781
  ForEach.accessor(gltf, function (accessor) {
795
782
  if (defined(accessor.bufferView)) {
796
- bufferViewMap[accessor.bufferView] = defaultValue(
797
- bufferViewMap[accessor.bufferView],
798
- []
799
- );
783
+ bufferViewMap[accessor.bufferView] =
784
+ bufferViewMap[accessor.bufferView] ?? [];
800
785
  bufferViewMap[accessor.bufferView].push(accessor);
801
786
  }
802
787
  });
@@ -955,7 +940,7 @@ function validatePresentAccessorMinMax(gltf) {
955
940
  }
956
941
 
957
942
  function glTF10to20(gltf) {
958
- gltf.asset = defaultValue(gltf.asset, {});
943
+ gltf.asset = gltf.asset ?? {};
959
944
  gltf.asset.version = "2.0";
960
945
  // material.instanceTechnique properties should be directly on the material. instanceTechnique is a gltf 0.8 property but is seen in some 1.0 models.
961
946
  updateInstanceTechniques(gltf);
@@ -1052,15 +1037,11 @@ function srgbToLinear(srgb) {
1052
1037
  }
1053
1038
 
1054
1039
  function convertTechniquesToPbr(gltf, options) {
1055
- options = defaultValue(options, defaultValue.EMPTY_OBJECT);
1056
- const baseColorTextureNames = defaultValue(
1057
- options.baseColorTextureNames,
1058
- defaultBaseColorTextureNames
1059
- );
1060
- const baseColorFactorNames = defaultValue(
1061
- options.baseColorFactorNames,
1062
- defaultBaseColorFactorNames
1063
- );
1040
+ options = options ?? Frozen.EMPTY_OBJECT;
1041
+ const baseColorTextureNames =
1042
+ options.baseColorTextureNames ?? defaultBaseColorTextureNames;
1043
+ const baseColorFactorNames =
1044
+ options.baseColorFactorNames ?? defaultBaseColorFactorNames;
1064
1045
 
1065
1046
  // Future work: convert other values like emissive, specular, etc. Only handling diffuse right now.
1066
1047
  ForEach.material(gltf, function (material) {
@@ -1102,16 +1083,14 @@ function assignAsEmissive(material, emissive) {
1102
1083
  function convertMaterialsCommonToPbr(gltf) {
1103
1084
  // Future work: convert KHR_materials_common lights to KHR_lights_punctual
1104
1085
  ForEach.material(gltf, function (material) {
1105
- const materialsCommon = defaultValue(
1106
- material.extensions,
1107
- defaultValue.EMPTY_OBJECT
1108
- ).KHR_materials_common;
1086
+ const materialsCommon = (material.extensions ?? Frozen.EMPTY_OBJECT)
1087
+ .KHR_materials_common;
1109
1088
  if (!defined(materialsCommon)) {
1110
1089
  // Nothing to do
1111
1090
  return;
1112
1091
  }
1113
1092
 
1114
- const values = defaultValue(materialsCommon.values, {});
1093
+ const values = materialsCommon.values ?? {};
1115
1094
  const ambient = values.ambient;
1116
1095
  const diffuse = values.diffuse;
1117
1096
  const emission = values.emission;