@cesium/engine 11.0.0 → 12.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 (774) hide show
  1. package/Build/Workers/{chunk-HFPMX5L2.js → chunk-2B5H7KIN.js} +1 -1
  2. package/Build/Workers/{chunk-KKAEXHDY.js → chunk-2RHMHHJH.js} +2 -2
  3. package/Build/Workers/{chunk-AI3O7UN2.js → chunk-3OHDXGFC.js} +6 -6
  4. package/Build/Workers/{chunk-TTI2SUWJ.js → chunk-3OM5QZSI.js} +2 -2
  5. package/Build/Workers/{chunk-2EDC3QGH.js → chunk-3UJV3W4Y.js} +1 -1
  6. package/Build/Workers/{chunk-N3BIL6WA.js → chunk-3X2LXRHU.js} +13 -13
  7. package/Build/Workers/{chunk-FJT3ERV7.js → chunk-4ESQ3DN2.js} +9 -9
  8. package/Build/Workers/{chunk-HO2NTC7I.js → chunk-4IQPX22D.js} +6 -6
  9. package/Build/Workers/{chunk-L6FARMF6.js → chunk-4XPGN5Y7.js} +11 -11
  10. package/Build/Workers/{chunk-4NBRIKB3.js → chunk-56LALJCU.js} +2 -2
  11. package/Build/Workers/{chunk-HC7RYWPZ.js → chunk-5FSKL7US.js} +12 -12
  12. package/Build/Workers/{chunk-54VC7SCM.js → chunk-5YKJKOFE.js} +7 -7
  13. package/Build/Workers/{chunk-6ZREIBKS.js → chunk-62YGXNGC.js} +7 -7
  14. package/Build/Workers/{chunk-BH5ZEN4I.js → chunk-6DYMJ57Z.js} +10 -10
  15. package/Build/Workers/{chunk-AS7P4BHI.js → chunk-7DSVCRFD.js} +6 -6
  16. package/Build/Workers/{chunk-6FFGOENI.js → chunk-7OISMGQF.js} +46 -23
  17. package/Build/Workers/{chunk-BJ3WF5RW.js → chunk-AL7BHP36.js} +6 -6
  18. package/Build/Workers/{chunk-WQRXRDCZ.js → chunk-AOCENJVH.js} +11 -11
  19. package/Build/Workers/{chunk-2MKRG7L7.js → chunk-ARTM66DL.js} +5 -5
  20. package/Build/Workers/{chunk-VSFFJGTA.js → chunk-B4AZL6Q4.js} +5 -5
  21. package/Build/Workers/{chunk-5IY5BXCT.js → chunk-BQNTN4CC.js} +83 -79
  22. package/Build/Workers/{chunk-AUM45VEG.js → chunk-C4IAULHW.js} +15 -15
  23. package/Build/Workers/{chunk-6PJIHPQB.js → chunk-ES6Q5HWK.js} +13 -13
  24. package/Build/Workers/{chunk-DVAIU7A4.js → chunk-GKBICLGC.js} +19 -23
  25. package/Build/Workers/{chunk-IBG5FVXC.js → chunk-GMGUR5GM.js} +4 -4
  26. package/Build/Workers/{chunk-OOA6GXKD.js → chunk-GUW6BS72.js} +7 -7
  27. package/Build/Workers/{chunk-KFW4UNQH.js → chunk-GYHHNFW5.js} +15 -25
  28. package/Build/Workers/{chunk-GOHDOWU5.js → chunk-GZG526CC.js} +14 -14
  29. package/Build/Workers/{chunk-BZXF3GNX.js → chunk-HILBDZUP.js} +2 -2
  30. package/Build/Workers/{chunk-BBO6BGLC.js → chunk-HYUTWUXN.js} +13 -13
  31. package/Build/Workers/{chunk-HA6TZ3XT.js → chunk-IL6SMMDD.js} +4 -4
  32. package/Build/Workers/{chunk-T4MB73MC.js → chunk-IT6AWHFV.js} +2 -2
  33. package/Build/Workers/{chunk-SRZJCF7G.js → chunk-J64XIF5C.js} +10 -36
  34. package/Build/Workers/{chunk-BUOFSNFW.js → chunk-JGGZ3H4W.js} +1 -1
  35. package/Build/Workers/{chunk-SIZXFNJY.js → chunk-JRULXFCC.js} +5 -5
  36. package/Build/Workers/{chunk-QGT2GMOK.js → chunk-MSY2AAW2.js} +4 -4
  37. package/Build/Workers/{chunk-XLCZE6DD.js → chunk-QXBRZZQS.js} +10 -10
  38. package/Build/Workers/{chunk-JYUCC5NV.js → chunk-SXJ37VUC.js} +7 -7
  39. package/Build/Workers/{chunk-OC4MYPVW.js → chunk-T6FZFMTF.js} +2 -2
  40. package/Build/Workers/{chunk-OSCHEWSG.js → chunk-TQK4D4AR.js} +7 -7
  41. package/Build/Workers/{chunk-2RZYNSMR.js → chunk-US3L7FXC.js} +7 -9
  42. package/Build/Workers/{chunk-RFQYEYAL.js → chunk-VGT4ONMC.js} +18 -20
  43. package/Build/Workers/{chunk-VHJ5ESXF.js → chunk-VJVTWBXB.js} +1 -1
  44. package/Build/Workers/{chunk-RJF5ZP76.js → chunk-VQZNBD3T.js} +4 -4
  45. package/Build/Workers/{chunk-WXDGOYTT.js → chunk-VUCVRDLD.js} +7 -7
  46. package/Build/Workers/{chunk-DJXXI7UF.js → chunk-W2Q2F7JS.js} +5 -5
  47. package/Build/Workers/{chunk-HZPMWR4H.js → chunk-WQCX7U65.js} +7 -7
  48. package/Build/Workers/{chunk-HFMJM3SX.js → chunk-WW5RTJ72.js} +1 -1
  49. package/Build/Workers/{chunk-IXLNNST6.js → chunk-X67KKHI7.js} +4 -4
  50. package/Build/Workers/{chunk-4TK5YR6Q.js → chunk-X7VRF25X.js} +5 -5
  51. package/Build/Workers/{chunk-O5SSW3B3.js → chunk-YANQEHO5.js} +6 -6
  52. package/Build/Workers/{chunk-HBZSCVZC.js → chunk-ZZNBFQL5.js} +11 -11
  53. package/Build/Workers/combineGeometry.js +23 -25
  54. package/Build/Workers/createBoxGeometry.js +16 -16
  55. package/Build/Workers/createBoxOutlineGeometry.js +14 -14
  56. package/Build/Workers/createCircleGeometry.js +24 -24
  57. package/Build/Workers/createCircleOutlineGeometry.js +17 -17
  58. package/Build/Workers/createCoplanarPolygonGeometry.js +31 -31
  59. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +29 -29
  60. package/Build/Workers/createCorridorGeometry.js +27 -27
  61. package/Build/Workers/createCorridorOutlineGeometry.js +26 -26
  62. package/Build/Workers/createCylinderGeometry.js +18 -18
  63. package/Build/Workers/createCylinderOutlineGeometry.js +16 -16
  64. package/Build/Workers/createEllipseGeometry.js +24 -24
  65. package/Build/Workers/createEllipseOutlineGeometry.js +17 -17
  66. package/Build/Workers/createEllipsoidGeometry.js +17 -17
  67. package/Build/Workers/createEllipsoidOutlineGeometry.js +16 -16
  68. package/Build/Workers/createFrustumGeometry.js +16 -16
  69. package/Build/Workers/createFrustumOutlineGeometry.js +16 -16
  70. package/Build/Workers/createGeometry.js +25 -26
  71. package/Build/Workers/createGroundPolylineGeometry.js +20 -20
  72. package/Build/Workers/createPlaneGeometry.js +14 -14
  73. package/Build/Workers/createPlaneOutlineGeometry.js +13 -13
  74. package/Build/Workers/createPolygonGeometry.js +36 -40
  75. package/Build/Workers/createPolygonOutlineGeometry.js +40 -48
  76. package/Build/Workers/createPolylineGeometry.js +23 -23
  77. package/Build/Workers/createPolylineVolumeGeometry.js +32 -31
  78. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +25 -25
  79. package/Build/Workers/createRectangleGeometry.js +28 -30
  80. package/Build/Workers/createRectangleOutlineGeometry.js +19 -19
  81. package/Build/Workers/createSimplePolylineGeometry.js +21 -21
  82. package/Build/Workers/createSphereGeometry.js +17 -17
  83. package/Build/Workers/createSphereOutlineGeometry.js +16 -16
  84. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  85. package/Build/Workers/createVectorTileClampedPolylines.js +13 -13
  86. package/Build/Workers/createVectorTileGeometries.js +22 -22
  87. package/Build/Workers/createVectorTilePoints.js +12 -12
  88. package/Build/Workers/createVectorTilePolygons.js +20 -20
  89. package/Build/Workers/createVectorTilePolylines.js +13 -13
  90. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -26
  91. package/Build/Workers/createVerticesFromHeightmap.js +22 -26
  92. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +42 -32
  93. package/Build/Workers/createWallGeometry.js +22 -22
  94. package/Build/Workers/createWallOutlineGeometry.js +21 -21
  95. package/Build/Workers/decodeDraco.js +11 -11
  96. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  97. package/Build/Workers/decodeI3S.js +10 -10
  98. package/Build/Workers/transcodeKTX2.js +7 -7
  99. package/Build/Workers/transferTypedArrayTest.js +1 -1
  100. package/Build/Workers/upsampleQuantizedTerrainMesh.js +20 -20
  101. package/Source/Core/ApproximateTerrainHeights.js +15 -15
  102. package/Source/Core/ArcGISTiledElevationTerrainProvider.js +33 -35
  103. package/Source/Core/AttributeCompression.js +12 -12
  104. package/Source/Core/AxisAlignedBoundingBox.js +2 -2
  105. package/Source/Core/BingMapsGeocoderService.js +1 -1
  106. package/Source/Core/BoundingRectangle.js +3 -3
  107. package/Source/Core/BoundingSphere.js +45 -45
  108. package/Source/Core/BoxGeometry.js +6 -6
  109. package/Source/Core/BoxOutlineGeometry.js +3 -3
  110. package/Source/Core/Cartesian2.js +7 -7
  111. package/Source/Core/Cartesian3.js +20 -20
  112. package/Source/Core/Cartesian4.js +8 -8
  113. package/Source/Core/Cartographic.js +6 -6
  114. package/Source/Core/CatmullRomSpline.js +6 -6
  115. package/Source/Core/CesiumTerrainProvider.js +66 -68
  116. package/Source/Core/Check.d.ts +3 -3
  117. package/Source/Core/Check.js +11 -11
  118. package/Source/Core/CircleGeometry.js +6 -6
  119. package/Source/Core/CircleOutlineGeometry.js +4 -4
  120. package/Source/Core/Clock.js +4 -4
  121. package/Source/Core/Color.js +12 -9
  122. package/Source/Core/ColorGeometryInstanceAttribute.js +1 -1
  123. package/Source/Core/ComponentDatatype.js +4 -4
  124. package/Source/Core/CompressedTextureBuffer.js +2 -2
  125. package/Source/Core/ConstantSpline.js +1 -1
  126. package/Source/Core/CoplanarPolygonGeometry.js +44 -41
  127. package/Source/Core/CoplanarPolygonGeometryLibrary.js +5 -5
  128. package/Source/Core/CoplanarPolygonOutlineGeometry.js +6 -6
  129. package/Source/Core/CorridorGeometry.js +77 -77
  130. package/Source/Core/CorridorGeometryLibrary.js +48 -48
  131. package/Source/Core/CorridorOutlineGeometry.js +16 -16
  132. package/Source/Core/CullingVolume.js +4 -4
  133. package/Source/Core/CustomHeightmapTerrainProvider.js +13 -13
  134. package/Source/Core/CylinderGeometry.js +8 -8
  135. package/Source/Core/CylinderGeometryLibrary.js +1 -1
  136. package/Source/Core/CylinderOutlineGeometry.js +4 -4
  137. package/Source/Core/DeveloperError.js +1 -1
  138. package/Source/Core/DistanceDisplayConditionGeometryInstanceAttribute.js +20 -21
  139. package/Source/Core/DoubleEndedPriorityQueue.js +2 -2
  140. package/Source/Core/EarthOrientationParameters.js +21 -25
  141. package/Source/Core/EarthOrientationParametersSample.js +1 -1
  142. package/Source/Core/EllipseGeometry.js +55 -56
  143. package/Source/Core/EllipseGeometryLibrary.js +12 -12
  144. package/Source/Core/EllipseOutlineGeometry.js +19 -19
  145. package/Source/Core/Ellipsoid.js +25 -33
  146. package/Source/Core/EllipsoidGeodesic.js +18 -17
  147. package/Source/Core/EllipsoidGeometry.js +9 -8
  148. package/Source/Core/EllipsoidOutlineGeometry.js +4 -4
  149. package/Source/Core/EllipsoidRhumbLine.js +33 -32
  150. package/Source/Core/EllipsoidTangentPlane.js +16 -16
  151. package/Source/Core/EllipsoidTerrainProvider.js +11 -10
  152. package/Source/Core/EllipsoidalOccluder.js +110 -130
  153. package/Source/Core/FeatureDetection.js +4 -4
  154. package/Source/Core/FrustumGeometry.js +15 -15
  155. package/Source/Core/FrustumOutlineGeometry.js +4 -4
  156. package/Source/Core/GeographicTilingScheme.js +6 -6
  157. package/Source/Core/Geometry.js +15 -17
  158. package/Source/Core/GeometryAttribute.js +4 -9
  159. package/Source/Core/GeometryAttributes.js +6 -6
  160. package/Source/Core/GeometryInstance.js +3 -4
  161. package/Source/Core/GeometryInstanceAttribute.js +1 -6
  162. package/Source/Core/GeometryPipeline.js +133 -137
  163. package/Source/Core/GoogleEarthEnterpriseMetadata.js +19 -20
  164. package/Source/Core/GoogleEarthEnterpriseTerrainData.js +25 -24
  165. package/Source/Core/GoogleEarthEnterpriseTerrainProvider.js +17 -21
  166. package/Source/Core/GoogleEarthEnterpriseTileInformation.js +2 -2
  167. package/Source/Core/GoogleMaps.js +1 -1
  168. package/Source/Core/GregorianDate.js +4 -4
  169. package/Source/Core/GroundPolylineGeometry.js +104 -104
  170. package/Source/Core/HeadingPitchRoll.js +7 -7
  171. package/Source/Core/HeightmapTerrainData.js +58 -54
  172. package/Source/Core/HeightmapTessellator.js +22 -23
  173. package/Source/Core/HermitePolynomialApproximation.js +8 -8
  174. package/Source/Core/HermiteSpline.js +11 -11
  175. package/Source/Core/HilbertOrder.js +1 -1
  176. package/Source/Core/Iau2006XysData.js +6 -6
  177. package/Source/Core/IauOrientationAxes.js +2 -2
  178. package/Source/Core/IauOrientationParameters.js +1 -1
  179. package/Source/Core/IndexDatatype.js +5 -5
  180. package/Source/Core/IntersectionTests.js +36 -78
  181. package/Source/Core/Intersections2D.js +3 -3
  182. package/Source/Core/Ion.js +1 -1
  183. package/Source/Core/IonGeocoderService.js +2 -2
  184. package/Source/Core/IonResource.js +5 -5
  185. package/Source/Core/Iso8601.js +3 -3
  186. package/Source/Core/JulianDate.js +23 -33
  187. package/Source/Core/KTX2Transcoder.js +2 -2
  188. package/Source/Core/LagrangePolynomialApproximation.js +1 -1
  189. package/Source/Core/LinearApproximation.js +4 -4
  190. package/Source/Core/LinearSpline.js +2 -2
  191. package/Source/Core/Math.js +6 -4
  192. package/Source/Core/Matrix2.js +3 -3
  193. package/Source/Core/Matrix3.js +16 -16
  194. package/Source/Core/Matrix4.js +31 -31
  195. package/Source/Core/MorphWeightSpline.js +2 -2
  196. package/Source/Core/NearFarScalar.js +1 -1
  197. package/Source/Core/Occluder.js +52 -56
  198. package/Source/Core/OpenCageGeocoderService.js +2 -2
  199. package/Source/Core/OrientedBoundingBox.js +52 -51
  200. package/Source/Core/OrthographicFrustum.js +11 -11
  201. package/Source/Core/OrthographicOffCenterFrustum.js +17 -17
  202. package/Source/Core/PeliasGeocoderService.js +1 -1
  203. package/Source/Core/PerspectiveFrustum.js +61 -55
  204. package/Source/Core/PerspectiveOffCenterFrustum.js +58 -59
  205. package/Source/Core/PinBuilder.js +1 -1
  206. package/Source/Core/PixelFormat.js +6 -6
  207. package/Source/Core/Plane.js +9 -9
  208. package/Source/Core/PlaneGeometry.js +1 -1
  209. package/Source/Core/PolygonGeometry.js +95 -94
  210. package/Source/Core/PolygonGeometryLibrary.js +49 -51
  211. package/Source/Core/PolygonOutlineGeometry.js +49 -51
  212. package/Source/Core/PolygonPipeline.js +31 -31
  213. package/Source/Core/PolylineGeometry.js +10 -10
  214. package/Source/Core/PolylinePipeline.js +25 -25
  215. package/Source/Core/PolylineVolumeGeometry.js +9 -9
  216. package/Source/Core/PolylineVolumeGeometryLibrary.js +53 -53
  217. package/Source/Core/PolylineVolumeOutlineGeometry.js +6 -6
  218. package/Source/Core/QuadraticRealPolynomial.js +1 -1
  219. package/Source/Core/QuantizedMeshTerrainData.js +28 -28
  220. package/Source/Core/QuarticRealPolynomial.js +1 -1
  221. package/Source/Core/Quaternion.js +19 -19
  222. package/Source/Core/QuaternionSpline.js +2 -2
  223. package/Source/Core/Rectangle.js +34 -13
  224. package/Source/Core/RectangleCollisionChecker.js +3 -3
  225. package/Source/Core/RectangleGeometry.js +55 -56
  226. package/Source/Core/RectangleGeometryLibrary.js +8 -8
  227. package/Source/Core/RectangleOutlineGeometry.js +20 -20
  228. package/Source/Core/RequestScheduler.js +6 -6
  229. package/Source/Core/Resource.js +24 -24
  230. package/Source/Core/S2Cell.js +16 -80
  231. package/Source/Core/ScreenSpaceEventHandler.js +54 -53
  232. package/Source/Core/Simon1994PlanetaryPositions.js +13 -13
  233. package/Source/Core/SimplePolylineGeometry.js +7 -7
  234. package/Source/Core/SphereGeometry.js +2 -2
  235. package/Source/Core/SphereOutlineGeometry.js +3 -3
  236. package/Source/Core/Spline.js +1 -1
  237. package/Source/Core/SteppedSpline.js +1 -1
  238. package/Source/Core/Stereographic.js +9 -9
  239. package/Source/Core/TaskProcessor.js +13 -13
  240. package/Source/Core/TerrainEncoding.js +33 -38
  241. package/Source/Core/TerrainMesh.js +1 -1
  242. package/Source/Core/TerrainProvider.js +12 -12
  243. package/Source/Core/TileAvailability.js +28 -28
  244. package/Source/Core/TileProviderError.js +5 -5
  245. package/Source/Core/TilingScheme.js +1 -1
  246. package/Source/Core/TimeInterval.js +4 -4
  247. package/Source/Core/TimeIntervalCollection.js +16 -15
  248. package/Source/Core/Tipsify.js +2 -2
  249. package/Source/Core/Transforms.js +52 -54
  250. package/Source/Core/TranslationRotationScale.js +1 -1
  251. package/Source/Core/TridiagonalSystemSolver.js +4 -4
  252. package/Source/Core/VRTheWorldTerrainProvider.js +28 -26
  253. package/Source/Core/VertexFormat.js +6 -6
  254. package/Source/Core/VerticalExaggeration.js +4 -4
  255. package/Source/Core/VideoSynchronizer.js +1 -1
  256. package/Source/Core/WallGeometry.js +18 -18
  257. package/Source/Core/WallGeometryLibrary.js +7 -7
  258. package/Source/Core/WallOutlineGeometry.js +8 -8
  259. package/Source/Core/WebMercatorProjection.js +5 -6
  260. package/Source/Core/WebMercatorTilingScheme.js +13 -13
  261. package/Source/Core/WireframeIndexGenerator.js +8 -8
  262. package/Source/Core/arrayRemoveDuplicates.js +1 -1
  263. package/Source/Core/buildModuleUrl.js +2 -2
  264. package/Source/Core/decodeGoogleEarthEnterpriseData.js +4 -4
  265. package/Source/Core/decodeVectorPolylinePositions.js +4 -4
  266. package/Source/Core/destroyObject.js +1 -1
  267. package/Source/Core/getJsonFromTypedArray.js +1 -1
  268. package/Source/Core/getMagic.js +1 -1
  269. package/Source/Core/loadImageFromTypedArray.js +2 -2
  270. package/Source/Core/loadKTX2.js +1 -1
  271. package/Source/Core/pointInsideTriangle.js +1 -1
  272. package/Source/Core/resizeImageToNextPowerOfTwo.js +1 -1
  273. package/Source/Core/sampleTerrain.js +7 -7
  274. package/Source/Core/sampleTerrainMostDetailed.js +7 -7
  275. package/Source/Core/scaleToGeodeticSurface.js +3 -3
  276. package/Source/Core/srgbToLinear.js +1 -1
  277. package/Source/Core/writeTextToCanvas.js +1 -1
  278. package/Source/DataSources/BillboardGraphics.js +13 -13
  279. package/Source/DataSources/BillboardVisualizer.js +24 -24
  280. package/Source/DataSources/BoxGeometryUpdater.js +33 -32
  281. package/Source/DataSources/BoxGraphics.js +3 -3
  282. package/Source/DataSources/CallbackPositionProperty.js +173 -0
  283. package/Source/DataSources/Cesium3DTilesetGraphics.js +1 -1
  284. package/Source/DataSources/Cesium3DTilesetVisualizer.js +6 -6
  285. package/Source/DataSources/CheckerboardMaterialProperty.js +2 -2
  286. package/Source/DataSources/ColorMaterialProperty.js +1 -1
  287. package/Source/DataSources/CompositeEntityCollection.js +14 -15
  288. package/Source/DataSources/CompositeMaterialProperty.js +5 -7
  289. package/Source/DataSources/CompositePositionProperty.js +4 -5
  290. package/Source/DataSources/CompositeProperty.js +2 -2
  291. package/Source/DataSources/ConstantPositionProperty.js +2 -2
  292. package/Source/DataSources/CorridorGeometryUpdater.js +61 -56
  293. package/Source/DataSources/CorridorGraphics.js +6 -6
  294. package/Source/DataSources/CylinderGeometryUpdater.js +42 -40
  295. package/Source/DataSources/CylinderGraphics.js +4 -4
  296. package/Source/DataSources/CzmlDataSource.js +365 -368
  297. package/Source/DataSources/DataSourceCollection.js +1 -1
  298. package/Source/DataSources/DataSourceDisplay.js +24 -24
  299. package/Source/DataSources/DynamicGeometryBatch.js +2 -2
  300. package/Source/DataSources/DynamicGeometryUpdater.js +14 -18
  301. package/Source/DataSources/EllipseGeometryUpdater.js +67 -63
  302. package/Source/DataSources/EllipseGraphics.js +7 -7
  303. package/Source/DataSources/EllipsoidGeometryUpdater.js +88 -86
  304. package/Source/DataSources/EllipsoidGraphics.js +5 -5
  305. package/Source/DataSources/Entity.js +13 -13
  306. package/Source/DataSources/EntityCluster.js +29 -27
  307. package/Source/DataSources/EntityCollection.js +7 -7
  308. package/Source/DataSources/EntityView.js +23 -23
  309. package/Source/DataSources/GeoJsonDataSource.js +25 -25
  310. package/Source/DataSources/GeometryUpdater.js +9 -10
  311. package/Source/DataSources/GeometryUpdaterSet.js +3 -3
  312. package/Source/DataSources/GeometryVisualizer.js +65 -71
  313. package/Source/DataSources/GpxDataSource.js +10 -10
  314. package/Source/DataSources/GridMaterialProperty.js +5 -5
  315. package/Source/DataSources/GroundGeometryUpdater.js +6 -6
  316. package/Source/DataSources/ImageMaterialProperty.js +2 -2
  317. package/Source/DataSources/KmlDataSource.js +212 -212
  318. package/Source/DataSources/LabelGraphics.js +14 -14
  319. package/Source/DataSources/LabelVisualizer.js +24 -24
  320. package/Source/DataSources/ModelGraphics.js +38 -17
  321. package/Source/DataSources/ModelVisualizer.js +41 -32
  322. package/Source/DataSources/NodeTransformationProperty.js +3 -3
  323. package/Source/DataSources/PathGraphics.js +2 -2
  324. package/Source/DataSources/PathVisualizer.js +99 -35
  325. package/Source/DataSources/PlaneGeometryUpdater.js +38 -37
  326. package/Source/DataSources/PlaneGraphics.js +2 -2
  327. package/Source/DataSources/PointGraphics.js +8 -8
  328. package/Source/DataSources/PointVisualizer.js +29 -29
  329. package/Source/DataSources/PolygonGeometryUpdater.js +68 -64
  330. package/Source/DataSources/PolygonGraphics.js +9 -9
  331. package/Source/DataSources/PolylineArrowMaterialProperty.js +1 -1
  332. package/Source/DataSources/PolylineDashMaterialProperty.js +4 -4
  333. package/Source/DataSources/PolylineGeometryUpdater.js +39 -44
  334. package/Source/DataSources/PolylineGlowMaterialProperty.js +3 -3
  335. package/Source/DataSources/PolylineGraphics.js +4 -4
  336. package/Source/DataSources/PolylineOutlineMaterialProperty.js +3 -3
  337. package/Source/DataSources/PolylineVisualizer.js +39 -43
  338. package/Source/DataSources/PolylineVolumeGeometryUpdater.js +70 -68
  339. package/Source/DataSources/PolylineVolumeGraphics.js +2 -2
  340. package/Source/DataSources/PositionProperty.js +4 -3
  341. package/Source/DataSources/PositionPropertyArray.js +3 -3
  342. package/Source/DataSources/Property.js +1 -1
  343. package/Source/DataSources/PropertyArray.js +1 -1
  344. package/Source/DataSources/PropertyBag.js +5 -5
  345. package/Source/DataSources/RectangleGeometryUpdater.js +68 -63
  346. package/Source/DataSources/RectangleGraphics.js +6 -6
  347. package/Source/DataSources/ReferenceProperty.js +6 -6
  348. package/Source/DataSources/Rotation.js +2 -2
  349. package/Source/DataSources/SampledPositionProperty.js +6 -6
  350. package/Source/DataSources/SampledProperty.js +16 -16
  351. package/Source/DataSources/ScaledPositionProperty.js +2 -2
  352. package/Source/DataSources/StaticGeometryColorBatch.js +41 -41
  353. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +40 -40
  354. package/Source/DataSources/StaticGroundGeometryColorBatch.js +26 -27
  355. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +46 -44
  356. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +44 -43
  357. package/Source/DataSources/StaticOutlineGeometryBatch.js +28 -29
  358. package/Source/DataSources/StripeMaterialProperty.js +2 -2
  359. package/Source/DataSources/TerrainOffsetProperty.js +11 -11
  360. package/Source/DataSources/TimeIntervalCollectionPositionProperty.js +28 -30
  361. package/Source/DataSources/TimeIntervalCollectionProperty.js +1 -1
  362. package/Source/DataSources/VelocityOrientationProperty.js +3 -3
  363. package/Source/DataSources/VelocityVectorProperty.js +4 -4
  364. package/Source/DataSources/WallGeometryUpdater.js +25 -25
  365. package/Source/DataSources/WallGraphics.js +4 -4
  366. package/Source/DataSources/createPropertyDescriptor.js +3 -3
  367. package/Source/DataSources/exportKml.js +90 -86
  368. package/Source/DataSources/getElement.js +1 -1
  369. package/Source/DataSources/heightReferenceOnEntityPropertyChanged.js +4 -4
  370. package/Source/Renderer/AutomaticUniforms.js +14 -1
  371. package/Source/Renderer/Buffer.js +18 -18
  372. package/Source/Renderer/ClearCommand.js +1 -1
  373. package/Source/Renderer/ComputeEngine.js +1 -1
  374. package/Source/Renderer/Context.js +40 -40
  375. package/Source/Renderer/CubeMap.js +109 -32
  376. package/Source/Renderer/CubeMapFace.js +109 -32
  377. package/Source/Renderer/DrawCommand.js +50 -5
  378. package/Source/Renderer/Framebuffer.js +48 -49
  379. package/Source/Renderer/FramebufferManager.js +40 -34
  380. package/Source/Renderer/MultisampleFramebuffer.js +35 -14
  381. package/Source/Renderer/RenderState.js +36 -36
  382. package/Source/Renderer/Renderbuffer.js +3 -3
  383. package/Source/Renderer/Sampler.js +2 -2
  384. package/Source/Renderer/ShaderBuilder.js +8 -8
  385. package/Source/Renderer/ShaderCache.js +11 -15
  386. package/Source/Renderer/ShaderFunction.js +1 -1
  387. package/Source/Renderer/ShaderProgram.js +15 -15
  388. package/Source/Renderer/ShaderSource.js +40 -40
  389. package/Source/Renderer/Texture.js +74 -63
  390. package/Source/Renderer/UniformState.js +78 -58
  391. package/Source/Renderer/VertexArray.js +20 -20
  392. package/Source/Renderer/VertexArrayFacade.js +15 -16
  393. package/Source/Renderer/createUniform.js +1 -1
  394. package/Source/Renderer/createUniformArray.js +4 -4
  395. package/Source/Renderer/demodernizeShader.js +5 -5
  396. package/Source/Renderer/loadCubeMap.js +1 -1
  397. package/Source/Scene/ArcGisMapServerImageryProvider.js +39 -45
  398. package/Source/Scene/ArcGisMapService.js +4 -7
  399. package/Source/Scene/Atmosphere.js +22 -0
  400. package/Source/Scene/AutoExposure.js +4 -5
  401. package/Source/Scene/Axis.js +6 -6
  402. package/Source/Scene/B3dmParser.js +9 -9
  403. package/Source/Scene/BatchTable.js +7 -7
  404. package/Source/Scene/BatchTableHierarchy.js +62 -59
  405. package/Source/Scene/BatchTexture.js +2 -2
  406. package/Source/Scene/Billboard.js +45 -43
  407. package/Source/Scene/BillboardCollection.js +81 -83
  408. package/Source/Scene/BingMapsImageryProvider.js +13 -13
  409. package/Source/Scene/BoundingVolumeSemantics.js +10 -10
  410. package/Source/Scene/BoxEmitter.js +1 -1
  411. package/Source/Scene/BufferLoader.js +1 -1
  412. package/Source/Scene/Camera.js +161 -164
  413. package/Source/Scene/CameraEventAggregator.js +18 -18
  414. package/Source/Scene/CameraFlightPath.js +25 -25
  415. package/Source/Scene/Cesium3DTile.js +89 -95
  416. package/Source/Scene/Cesium3DTileBatchTable.js +61 -61
  417. package/Source/Scene/Cesium3DTileContentFactory.js +7 -7
  418. package/Source/Scene/Cesium3DTileFeature.js +1 -1
  419. package/Source/Scene/Cesium3DTileFeatureTable.js +8 -8
  420. package/Source/Scene/Cesium3DTileOptimizations.js +1 -1
  421. package/Source/Scene/Cesium3DTilePointFeature.js +11 -11
  422. package/Source/Scene/Cesium3DTileStyle.js +26 -24
  423. package/Source/Scene/Cesium3DTilesVoxelProvider.js +14 -20
  424. package/Source/Scene/Cesium3DTileset.js +120 -83
  425. package/Source/Scene/Cesium3DTilesetBaseTraversal.js +8 -16
  426. package/Source/Scene/Cesium3DTilesetCache.js +2 -2
  427. package/Source/Scene/Cesium3DTilesetHeatmap.js +5 -5
  428. package/Source/Scene/Cesium3DTilesetMetadata.js +2 -2
  429. package/Source/Scene/Cesium3DTilesetMostDetailedTraversal.js +2 -2
  430. package/Source/Scene/Cesium3DTilesetSkipTraversal.js +8 -12
  431. package/Source/Scene/Cesium3DTilesetStatistics.js +1 -1
  432. package/Source/Scene/Cesium3DTilesetTraversal.js +8 -10
  433. package/Source/Scene/ClassificationPrimitive.js +70 -69
  434. package/Source/Scene/ClippingPlaneCollection.js +39 -41
  435. package/Source/Scene/ClippingPolygon.js +8 -8
  436. package/Source/Scene/ClippingPolygonCollection.js +62 -63
  437. package/Source/Scene/CloudCollection.js +3 -10
  438. package/Source/Scene/Composite3DTileContent.js +6 -6
  439. package/Source/Scene/ConditionsExpression.js +5 -5
  440. package/Source/Scene/ContentMetadata.js +4 -4
  441. package/Source/Scene/CreditDisplay.js +8 -8
  442. package/Source/Scene/CumulusCloud.js +4 -4
  443. package/Source/Scene/DebugAppearance.js +2 -2
  444. package/Source/Scene/DebugCameraPrimitive.js +2 -2
  445. package/Source/Scene/DebugInspector.js +3 -3
  446. package/Source/Scene/DebugModelMatrixPrimitive.js +4 -4
  447. package/Source/Scene/DepthPlane.js +7 -7
  448. package/Source/Scene/DerivedCommand.js +422 -238
  449. package/Source/Scene/DiscardMissingTileImagePolicy.js +1 -1
  450. package/Source/Scene/DracoLoader.js +3 -3
  451. package/Source/Scene/DynamicEnvironmentMapManager.js +852 -0
  452. package/Source/Scene/EllipsoidPrimitive.js +7 -7
  453. package/Source/Scene/EllipsoidSurfaceAppearance.js +3 -3
  454. package/Source/Scene/Empty3DTileContent.js +1 -1
  455. package/Source/Scene/Expression.js +91 -91
  456. package/Source/Scene/Fog.js +76 -116
  457. package/Source/Scene/FrameRateMonitor.js +22 -22
  458. package/Source/Scene/FrameState.js +36 -3
  459. package/Source/Scene/Geometry3DTileContent.js +20 -20
  460. package/Source/Scene/GetFeatureInfoFormat.js +15 -14
  461. package/Source/Scene/Globe.js +32 -27
  462. package/Source/Scene/GlobeDepth.js +95 -66
  463. package/Source/Scene/GlobeSurfaceShaderSet.js +12 -10
  464. package/Source/Scene/GlobeSurfaceTile.js +33 -33
  465. package/Source/Scene/GlobeSurfaceTileProvider.js +127 -124
  466. package/Source/Scene/GlobeTranslucency.js +4 -4
  467. package/Source/Scene/GlobeTranslucencyFramebuffer.js +9 -9
  468. package/Source/Scene/GlobeTranslucencyState.js +53 -55
  469. package/Source/Scene/GltfBufferViewLoader.js +2 -2
  470. package/Source/Scene/GltfIndexBufferLoader.js +5 -5
  471. package/Source/Scene/GltfJsonLoader.js +2 -2
  472. package/Source/Scene/GltfLoader.js +177 -100
  473. package/Source/Scene/GltfStructuralMetadataLoader.js +9 -8
  474. package/Source/Scene/GltfTextureLoader.js +5 -5
  475. package/Source/Scene/GltfVertexBufferLoader.js +12 -13
  476. package/Source/Scene/GoogleEarthEnterpriseImageryProvider.js +9 -9
  477. package/Source/Scene/GoogleEarthEnterpriseMapsProvider.js +9 -9
  478. package/Source/Scene/GridImageryProvider.js +2 -2
  479. package/Source/Scene/GroundPolylinePrimitive.js +38 -39
  480. package/Source/Scene/GroundPrimitive.js +47 -45
  481. package/Source/Scene/GroupMetadata.js +4 -4
  482. package/Source/Scene/I3SDataProvider.js +12 -12
  483. package/Source/Scene/I3SDecoder.js +7 -8
  484. package/Source/Scene/I3SField.js +8 -8
  485. package/Source/Scene/I3SGeometry.js +14 -14
  486. package/Source/Scene/I3SLayer.js +26 -20
  487. package/Source/Scene/I3SNode.js +17 -17
  488. package/Source/Scene/I3SSublayer.js +4 -4
  489. package/Source/Scene/I3SSymbology.js +8 -8
  490. package/Source/Scene/I3dmParser.js +9 -9
  491. package/Source/Scene/ImageBasedLighting.js +32 -87
  492. package/Source/Scene/Imagery.js +3 -3
  493. package/Source/Scene/ImageryLayer.js +64 -66
  494. package/Source/Scene/ImageryLayerCollection.js +13 -15
  495. package/Source/Scene/ImageryLayerFeatureInfo.js +19 -20
  496. package/Source/Scene/ImageryProvider.js +1 -1
  497. package/Source/Scene/Implicit3DTileContent.js +34 -37
  498. package/Source/Scene/ImplicitAvailabilityBitstream.js +2 -2
  499. package/Source/Scene/ImplicitMetadataView.js +2 -2
  500. package/Source/Scene/ImplicitSubtree.js +29 -30
  501. package/Source/Scene/ImplicitSubtreeCache.js +1 -1
  502. package/Source/Scene/ImplicitSubtreeMetadata.js +5 -5
  503. package/Source/Scene/ImplicitTileCoordinates.js +11 -11
  504. package/Source/Scene/ImplicitTileset.js +2 -2
  505. package/Source/Scene/InvertClassification.js +7 -7
  506. package/Source/Scene/IonImageryProvider.js +6 -6
  507. package/Source/Scene/JobScheduler.js +4 -4
  508. package/Source/Scene/Label.js +29 -29
  509. package/Source/Scene/LabelCollection.js +17 -15
  510. package/Source/Scene/MapboxImageryProvider.js +3 -3
  511. package/Source/Scene/MapboxStyleImageryProvider.js +4 -4
  512. package/Source/Scene/Material.js +26 -27
  513. package/Source/Scene/MaterialAppearance.js +4 -4
  514. package/Source/Scene/Megatexture.js +21 -24
  515. package/Source/Scene/MetadataClassProperty.js +11 -11
  516. package/Source/Scene/MetadataComponentType.js +1 -1
  517. package/Source/Scene/MetadataEntity.js +8 -8
  518. package/Source/Scene/MetadataEnum.js +1 -1
  519. package/Source/Scene/MetadataPicking.js +305 -0
  520. package/Source/Scene/MetadataSchemaLoader.js +1 -1
  521. package/Source/Scene/MetadataTable.js +2 -2
  522. package/Source/Scene/MetadataTableProperty.js +22 -22
  523. package/Source/Scene/Model/AlphaPipelineStage.js +2 -2
  524. package/Source/Scene/Model/AtmospherePipelineStage.js +13 -8
  525. package/Source/Scene/Model/B3dmLoader.js +8 -8
  526. package/Source/Scene/Model/BatchTexturePipelineStage.js +2 -2
  527. package/Source/Scene/Model/CPUStylingPipelineStage.js +4 -4
  528. package/Source/Scene/Model/ClassificationModelDrawCommand.js +8 -8
  529. package/Source/Scene/Model/ClassificationPipelineStage.js +5 -5
  530. package/Source/Scene/Model/CustomShader.js +9 -9
  531. package/Source/Scene/Model/CustomShaderPipelineStage.js +37 -38
  532. package/Source/Scene/Model/DequantizationPipelineStage.js +5 -5
  533. package/Source/Scene/Model/Extensions/Gpm/AnchorPointDirect.js +61 -0
  534. package/Source/Scene/Model/Extensions/Gpm/AnchorPointIndirect.js +77 -0
  535. package/Source/Scene/Model/Extensions/Gpm/CorrelationGroup.js +81 -0
  536. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLoader.js +248 -0
  537. package/Source/Scene/Model/Extensions/Gpm/GltfGpmLocal.js +179 -0
  538. package/Source/Scene/Model/Extensions/Gpm/GltfMeshPrimitiveGpmLoader.js +548 -0
  539. package/Source/Scene/Model/Extensions/Gpm/MeshPrimitiveGpmLocal.js +28 -0
  540. package/Source/Scene/Model/Extensions/Gpm/PpeMetadata.js +79 -0
  541. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +75 -0
  542. package/Source/Scene/Model/Extensions/Gpm/PpeTexture.js +127 -0
  543. package/Source/Scene/Model/Extensions/Gpm/Spdcf.js +103 -0
  544. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +30 -0
  545. package/Source/Scene/Model/FeatureIdPipelineStage.js +40 -40
  546. package/Source/Scene/Model/GeoJsonLoader.js +17 -17
  547. package/Source/Scene/Model/GeometryPipelineStage.js +23 -24
  548. package/Source/Scene/Model/I3dmLoader.js +36 -36
  549. package/Source/Scene/Model/ImageBasedLightingPipelineStage.js +56 -34
  550. package/Source/Scene/Model/InstancingPipelineStage.js +86 -86
  551. package/Source/Scene/Model/LightingPipelineStage.js +4 -4
  552. package/Source/Scene/Model/MaterialPipelineStage.js +78 -93
  553. package/Source/Scene/Model/MetadataPickingPipelineStage.js +96 -0
  554. package/Source/Scene/Model/MetadataPipelineStage.js +39 -47
  555. package/Source/Scene/Model/Model.js +228 -75
  556. package/Source/Scene/Model/Model3DTileContent.js +37 -13
  557. package/Source/Scene/Model/ModelAnimationChannel.js +2 -2
  558. package/Source/Scene/Model/ModelAnimationCollection.js +9 -9
  559. package/Source/Scene/Model/ModelArticulation.js +2 -2
  560. package/Source/Scene/Model/ModelArticulationStage.js +4 -4
  561. package/Source/Scene/Model/ModelClippingPlanesPipelineStage.js +11 -11
  562. package/Source/Scene/Model/ModelClippingPolygonsPipelineStage.js +6 -6
  563. package/Source/Scene/Model/ModelColorPipelineStage.js +12 -13
  564. package/Source/Scene/Model/ModelDrawCommand.js +5 -5
  565. package/Source/Scene/Model/{buildDrawCommand.js → ModelDrawCommands.js} +85 -28
  566. package/Source/Scene/Model/ModelFeatureTable.js +5 -5
  567. package/Source/Scene/Model/ModelMatrixUpdateStage.js +24 -12
  568. package/Source/Scene/Model/ModelRenderResources.js +1 -1
  569. package/Source/Scene/Model/ModelRuntimeNode.js +15 -15
  570. package/Source/Scene/Model/ModelRuntimePrimitive.js +8 -5
  571. package/Source/Scene/Model/ModelSceneGraph.js +43 -43
  572. package/Source/Scene/Model/ModelSilhouettePipelineStage.js +4 -4
  573. package/Source/Scene/Model/ModelSkin.js +4 -4
  574. package/Source/Scene/Model/ModelSplitterPipelineStage.js +8 -9
  575. package/Source/Scene/Model/ModelUtility.js +5 -5
  576. package/Source/Scene/Model/MorphTargetsPipelineStage.js +18 -18
  577. package/Source/Scene/Model/NodeRenderResources.js +1 -1
  578. package/Source/Scene/Model/NodeStatisticsPipelineStage.js +1 -1
  579. package/Source/Scene/Model/PickingPipelineStage.js +5 -5
  580. package/Source/Scene/Model/PntsLoader.js +7 -7
  581. package/Source/Scene/Model/PointCloudStylingPipelineStage.js +22 -23
  582. package/Source/Scene/Model/PrimitiveOutlineGenerator.js +6 -6
  583. package/Source/Scene/Model/PrimitiveOutlinePipelineStage.js +7 -7
  584. package/Source/Scene/Model/PrimitiveRenderResources.js +3 -3
  585. package/Source/Scene/Model/PrimitiveStatisticsPipelineStage.js +1 -1
  586. package/Source/Scene/Model/SceneMode2DPipelineStage.js +23 -23
  587. package/Source/Scene/Model/SelectedFeatureIdPipelineStage.js +10 -14
  588. package/Source/Scene/Model/SkinningPipelineStage.js +5 -5
  589. package/Source/Scene/Model/StyleCommandsNeeded.js +1 -1
  590. package/Source/Scene/Model/TextureManager.js +2 -2
  591. package/Source/Scene/Model/TextureUniform.js +3 -3
  592. package/Source/Scene/Model/TilesetPipelineStage.js +2 -2
  593. package/Source/Scene/Model/VerticalExaggerationPipelineStage.js +4 -4
  594. package/Source/Scene/Model/WireframePipelineStage.js +7 -7
  595. package/Source/Scene/Model/pickModel.js +26 -26
  596. package/Source/Scene/ModelComponents.js +13 -4
  597. package/Source/Scene/Moon.js +6 -5
  598. package/Source/Scene/Multiple3DTileContent.js +15 -14
  599. package/Source/Scene/OIT.js +48 -97
  600. package/Source/Scene/OpenStreetMapImageryProvider.js +8 -7
  601. package/Source/Scene/OrderedGroundPrimitiveCollection.js +2 -2
  602. package/Source/Scene/Particle.js +3 -3
  603. package/Source/Scene/ParticleEmitter.js +1 -1
  604. package/Source/Scene/ParticleSystem.js +32 -32
  605. package/Source/Scene/PerInstanceColorAppearance.js +1 -1
  606. package/Source/Scene/PickDepth.js +16 -4
  607. package/Source/Scene/PickDepthFramebuffer.js +1 -1
  608. package/Source/Scene/PickFramebuffer.js +24 -12
  609. package/Source/Scene/PickedMetadataInfo.js +39 -0
  610. package/Source/Scene/Picking.js +270 -120
  611. package/Source/Scene/PntsParser.js +28 -28
  612. package/Source/Scene/PointCloud.js +39 -38
  613. package/Source/Scene/PointCloudEyeDomeLighting.js +6 -6
  614. package/Source/Scene/PointCloudShading.js +3 -3
  615. package/Source/Scene/PointPrimitive.js +31 -28
  616. package/Source/Scene/PointPrimitiveCollection.js +34 -33
  617. package/Source/Scene/Polyline.js +9 -9
  618. package/Source/Scene/PolylineCollection.js +55 -57
  619. package/Source/Scene/PolylineColorAppearance.js +3 -3
  620. package/Source/Scene/PolylineMaterialAppearance.js +3 -3
  621. package/Source/Scene/PostProcessStage.js +95 -115
  622. package/Source/Scene/PostProcessStageCollection.js +35 -41
  623. package/Source/Scene/PostProcessStageComposite.js +2 -2
  624. package/Source/Scene/PostProcessStageLibrary.js +5 -5
  625. package/Source/Scene/PostProcessStageTextureCache.js +10 -10
  626. package/Source/Scene/Primitive.js +93 -93
  627. package/Source/Scene/PrimitiveCollection.js +1 -1
  628. package/Source/Scene/PrimitiveLoadPlan.js +1 -1
  629. package/Source/Scene/PrimitivePipeline.js +30 -30
  630. package/Source/Scene/PropertyTable.js +5 -5
  631. package/Source/Scene/PropertyTextureProperty.js +36 -7
  632. package/Source/Scene/QuadtreePrimitive.js +56 -58
  633. package/Source/Scene/QuadtreeTile.js +4 -4
  634. package/Source/Scene/QuadtreeTileProvider.js +1 -1
  635. package/Source/Scene/ResourceCache.js +7 -7
  636. package/Source/Scene/ResourceCacheKey.js +15 -15
  637. package/Source/Scene/Scene.js +879 -657
  638. package/Source/Scene/SceneFramebuffer.js +2 -2
  639. package/Source/Scene/SceneTransforms.js +30 -30
  640. package/Source/Scene/SceneTransitioner.js +47 -47
  641. package/Source/Scene/ScreenSpaceCameraController.js +180 -154
  642. package/Source/Scene/SensorVolumePortionToDisplay.js +1 -1
  643. package/Source/Scene/ShadowMap.js +71 -72
  644. package/Source/Scene/ShadowMapShader.js +9 -9
  645. package/Source/Scene/ShadowVolumeAppearance.js +39 -39
  646. package/Source/Scene/SingleTileImageryProvider.js +3 -3
  647. package/Source/Scene/SkyAtmosphere.js +8 -8
  648. package/Source/Scene/SkyBox.js +7 -8
  649. package/Source/Scene/SpatialNode.js +13 -13
  650. package/Source/Scene/SphereEmitter.js +1 -1
  651. package/Source/Scene/StructuralMetadata.js +1 -1
  652. package/Source/Scene/StyleExpression.js +1 -1
  653. package/Source/Scene/Sun.js +11 -7
  654. package/Source/Scene/SunPostProcess.js +6 -6
  655. package/Source/Scene/TerrainFillMesh.js +157 -156
  656. package/Source/Scene/TextureAtlas.js +11 -11
  657. package/Source/Scene/TileBoundingRegion.js +31 -31
  658. package/Source/Scene/TileBoundingS2Cell.js +37 -40
  659. package/Source/Scene/TileBoundingSphere.js +2 -2
  660. package/Source/Scene/TileCoordinatesImageryProvider.js +3 -3
  661. package/Source/Scene/TileImagery.js +7 -11
  662. package/Source/Scene/TileMapServiceImageryProvider.js +26 -25
  663. package/Source/Scene/TileMetadata.js +4 -4
  664. package/Source/Scene/TileOrientedBoundingBox.js +6 -6
  665. package/Source/Scene/Tileset3DTileContent.js +1 -1
  666. package/Source/Scene/TilesetMetadata.js +4 -4
  667. package/Source/Scene/TimeDynamicImagery.js +3 -3
  668. package/Source/Scene/TimeDynamicPointCloud.js +9 -9
  669. package/Source/Scene/TranslucentTileClassification.js +48 -58
  670. package/Source/Scene/TweenCollection.js +9 -9
  671. package/Source/Scene/UrlTemplateImageryProvider.js +23 -23
  672. package/Source/Scene/Vector3DTileClampedPolylines.js +21 -21
  673. package/Source/Scene/Vector3DTileContent.js +38 -39
  674. package/Source/Scene/Vector3DTileGeometry.js +11 -8
  675. package/Source/Scene/Vector3DTilePoints.js +18 -22
  676. package/Source/Scene/Vector3DTilePolygons.js +6 -6
  677. package/Source/Scene/Vector3DTilePolylines.js +8 -8
  678. package/Source/Scene/Vector3DTilePrimitive.js +30 -31
  679. package/Source/Scene/View.js +111 -80
  680. package/Source/Scene/VoxelBoxShape.js +34 -34
  681. package/Source/Scene/VoxelCell.js +7 -7
  682. package/Source/Scene/VoxelContent.js +1 -1
  683. package/Source/Scene/VoxelCylinderShape.js +48 -48
  684. package/Source/Scene/VoxelEllipsoidShape.js +83 -97
  685. package/Source/Scene/VoxelPrimitive.js +80 -80
  686. package/Source/Scene/VoxelRenderResources.js +13 -13
  687. package/Source/Scene/VoxelTraversal.js +41 -41
  688. package/Source/Scene/WebMapServiceImageryProvider.js +12 -12
  689. package/Source/Scene/WebMapTileServiceImageryProvider.js +8 -8
  690. package/Source/Scene/buildVoxelDrawCommands.js +10 -14
  691. package/Source/Scene/computeFlyToLocationForRectangle.js +7 -5
  692. package/Source/Scene/createBillboardPointCallback.js +2 -2
  693. package/Source/Scene/createElevationBandMaterial.js +8 -8
  694. package/Source/Scene/createGooglePhotorealistic3DTileset.js +1 -1
  695. package/Source/Scene/createOsmBuildingsAsync.js +1 -1
  696. package/Source/Scene/createTangentSpaceDebugPrimitive.js +7 -7
  697. package/Source/Scene/findContentMetadata.js +2 -2
  698. package/Source/Scene/findTileMetadata.js +2 -2
  699. package/Source/Scene/getBinaryAccessor.js +1 -1
  700. package/Source/Scene/getClipAndStyleCode.js +1 -1
  701. package/Source/Scene/getClippingFunction.js +1 -1
  702. package/Source/Scene/getMetadataClassProperty.js +43 -0
  703. package/Source/Scene/parseBatchTable.js +21 -24
  704. package/Source/Scene/parseFeatureMetadataLegacy.js +3 -3
  705. package/Source/Scene/parseStructuralMetadata.js +3 -3
  706. package/Source/Scene/processVoxelProperties.js +28 -33
  707. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.glsl +44 -0
  708. package/Source/Shaders/Builtin/Functions/computeAtmosphereColor.js +44 -0
  709. package/Source/Shaders/Builtin/Functions/computeScattering.glsl +0 -1
  710. package/Source/Shaders/Builtin/Functions/computeScattering.js +0 -1
  711. package/Source/Shaders/Builtin/Functions/packDepth.glsl +2 -2
  712. package/Source/Shaders/Builtin/Functions/packDepth.js +2 -2
  713. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.glsl +3 -1
  714. package/Source/Shaders/Builtin/Functions/sphericalHarmonics.js +3 -1
  715. package/Source/Shaders/Builtin/Functions/unpackDepth.glsl +3 -3
  716. package/Source/Shaders/Builtin/Functions/unpackDepth.js +3 -3
  717. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.glsl +1 -1
  718. package/Source/Shaders/Builtin/Functions/windowToEyeCoordinates.js +1 -1
  719. package/Source/Shaders/Builtin/Functions/writeLogDepth.glsl +2 -2
  720. package/Source/Shaders/Builtin/Functions/writeLogDepth.js +2 -2
  721. package/Source/Shaders/ComputeIrradianceFS.glsl +103 -0
  722. package/Source/Shaders/ComputeIrradianceFS.js +105 -0
  723. package/Source/Shaders/ComputeRadianceMapFS.glsl +107 -0
  724. package/Source/Shaders/ComputeRadianceMapFS.js +109 -0
  725. package/Source/Shaders/ConvolveSpecularMapFS.glsl +70 -0
  726. package/Source/Shaders/ConvolveSpecularMapFS.js +72 -0
  727. package/Source/Shaders/ConvolveSpecularMapVS.glsl +24 -0
  728. package/Source/Shaders/ConvolveSpecularMapVS.js +26 -0
  729. package/Source/Shaders/DepthPlaneVS.glsl +1 -1
  730. package/Source/Shaders/DepthPlaneVS.js +1 -1
  731. package/Source/Shaders/GlobeFS.glsl +1 -2
  732. package/Source/Shaders/GlobeFS.js +1 -2
  733. package/Source/Shaders/Model/AtmosphereStageFS.glsl +1 -4
  734. package/Source/Shaders/Model/AtmosphereStageFS.js +1 -4
  735. package/Source/Shaders/Model/ImageBasedLightingStageFS.glsl +2 -155
  736. package/Source/Shaders/Model/ImageBasedLightingStageFS.js +3 -156
  737. package/Source/Shaders/Model/LightingStageFS.glsl +3 -22
  738. package/Source/Shaders/Model/LightingStageFS.js +3 -22
  739. package/Source/Shaders/Model/ModelFS.glsl +26 -0
  740. package/Source/Shaders/Model/ModelFS.js +26 -0
  741. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.glsl +59 -59
  742. package/Source/Shaders/PostProcessStages/AmbientOcclusionGenerate.js +60 -60
  743. package/Source/Shaders/SkyBoxVS.glsl +0 -1
  744. package/Source/Shaders/SkyBoxVS.js +0 -1
  745. package/Source/Widget/CesiumWidget.js +785 -9
  746. package/Source/Workers/combineGeometry.js +3 -4
  747. package/Source/Workers/createCircleGeometry.js +2 -2
  748. package/Source/Workers/createCircleOutlineGeometry.js +2 -2
  749. package/Source/Workers/createCoplanarPolygonOutlineGeometry.js +1 -1
  750. package/Source/Workers/createCorridorOutlineGeometry.js +2 -2
  751. package/Source/Workers/createEllipsoidOutlineGeometry.js +1 -1
  752. package/Source/Workers/createGeometry.js +4 -5
  753. package/Source/Workers/createGroundPolylineGeometry.js +1 -1
  754. package/Source/Workers/createPolylineVolumeGeometry.js +2 -2
  755. package/Source/Workers/createPolylineVolumeOutlineGeometry.js +4 -4
  756. package/Source/Workers/createRectangleOutlineGeometry.js +1 -1
  757. package/Source/Workers/createSimplePolylineGeometry.js +2 -2
  758. package/Source/Workers/createTaskProcessorWorker.js +1 -1
  759. package/Source/Workers/createVectorTileClampedPolylines.js +30 -30
  760. package/Source/Workers/createVectorTileGeometries.js +18 -18
  761. package/Source/Workers/createVectorTilePoints.js +3 -3
  762. package/Source/Workers/createVectorTilePolygons.js +11 -11
  763. package/Source/Workers/createVectorTilePolylines.js +7 -7
  764. package/Source/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +29 -30
  765. package/Source/Workers/createVerticesFromQuantizedTerrainMesh.js +60 -60
  766. package/Source/Workers/decodeDraco.js +23 -23
  767. package/Source/Workers/decodeGoogleEarthEnterprisePacket.js +4 -4
  768. package/Source/Workers/decodeI3S.js +53 -53
  769. package/Source/Workers/transcodeKTX2.js +9 -9
  770. package/Source/Workers/transferTypedArrayTest.js +1 -1
  771. package/Source/Workers/upsampleQuantizedTerrainMesh.js +37 -36
  772. package/index.d.ts +769 -47
  773. package/index.js +73 -51
  774. package/package.json +3 -3
@@ -28,6 +28,13 @@ function CommandExtent() {
28
28
  }
29
29
 
30
30
  /**
31
+ * @alias View
32
+ * @constructor
33
+ *
34
+ * @param {Scene} scene
35
+ * @param {Camera} camera
36
+ * @param {BoundingRectangle} viewport
37
+ *
31
38
  * @private
32
39
  */
33
40
  function View(scene, camera, viewport) {
@@ -60,8 +67,11 @@ function View(scene, camera, viewport) {
60
67
  this.globeTranslucencyFramebuffer = new GlobeTranslucencyFramebuffer();
61
68
  this.oit = oit;
62
69
  this.translucentTileClassification = new TranslucentTileClassification(
63
- context
70
+ context,
64
71
  );
72
+ /**
73
+ * @type {PickDepth[]}
74
+ */
65
75
  this.pickDepths = [];
66
76
  this.frustumCommandsList = [];
67
77
  this.debugFrustumStatistics = undefined;
@@ -73,16 +83,26 @@ function View(scene, camera, viewport) {
73
83
 
74
84
  const scratchPosition0 = new Cartesian3();
75
85
  const scratchPosition1 = new Cartesian3();
76
- function maxComponent(a, b) {
77
- const x = Math.max(Math.abs(a.x), Math.abs(b.x));
78
- const y = Math.max(Math.abs(a.y), Math.abs(b.y));
79
- const z = Math.max(Math.abs(a.z), Math.abs(b.z));
80
- return Math.max(Math.max(x, y), z);
81
- }
82
-
86
+ /**
87
+ * Check if two cameras have the same view.
88
+ *
89
+ * @param {Camera} camera0 The first camera for comparison.
90
+ * @param {Camera} camera1 The second camera for comparison.
91
+ * @param {number} epsilon The epsilon tolerance to use for equality testing.
92
+ * @returns {boolean} <code>true</code> if the cameras are equal.
93
+ *
94
+ * @private
95
+ */
83
96
  function cameraEqual(camera0, camera1, epsilon) {
84
- const scalar =
85
- 1 / Math.max(1, maxComponent(camera0.position, camera1.position));
97
+ const maximumPositionComponent = Math.max(
98
+ Cartesian3.maximumComponent(
99
+ Cartesian3.abs(camera0.position, scratchPosition0),
100
+ ),
101
+ Cartesian3.maximumComponent(
102
+ Cartesian3.abs(camera1.position, scratchPosition1),
103
+ ),
104
+ );
105
+ const scalar = 1 / Math.max(1, maximumPositionComponent);
86
106
  Cartesian3.multiplyByScalar(camera0.position, scalar, scratchPosition0);
87
107
  Cartesian3.multiplyByScalar(camera1.position, scalar, scratchPosition1);
88
108
  return (
@@ -95,6 +115,14 @@ function cameraEqual(camera0, camera1, epsilon) {
95
115
  );
96
116
  }
97
117
 
118
+ /**
119
+ * Check if the camera position or direction has changed.
120
+ *
121
+ * @param {Scene} scene
122
+ * @returns {boolean} <code>true</code> if the camera has been updated
123
+ *
124
+ * @private
125
+ */
98
126
  View.prototype.checkForCameraUpdates = function (scene) {
99
127
  const camera = this.camera;
100
128
  const cameraClone = this._cameraClone;
@@ -120,10 +148,22 @@ View.prototype.checkForCameraUpdates = function (scene) {
120
148
  return false;
121
149
  };
122
150
 
151
+ /**
152
+ * Split the depth range of the scene into multiple frustums, and initialize
153
+ * a list of {@link FrustumCommands} with the distances to the near and far
154
+ * planes for each frustum.
155
+ *
156
+ * @param {View} view The view to which the frustum commands list is attached.
157
+ * @param {Scene} scene The scene to be rendered.
158
+ * @param {number} near The distance to the nearest object in the scene.
159
+ * @param {number} far The distance to the farthest object in the scene.
160
+ *
161
+ * @private
162
+ */
123
163
  function updateFrustums(view, scene, near, far) {
124
- const frameState = scene.frameState;
125
- const camera = frameState.camera;
126
- const farToNearRatio = frameState.useLogDepth
164
+ const { frameState } = scene;
165
+ const { camera, useLogDepth } = frameState;
166
+ const farToNearRatio = useLogDepth
127
167
  ? scene.logarithmicDepthFarToNearRatio
128
168
  : scene.farToNearRatio;
129
169
  const is2D = scene.mode === SceneMode.SCENE2D;
@@ -146,14 +186,14 @@ function updateFrustums(view, scene, near, far) {
146
186
  far = Math.min(far, camera.position.z + scene.nearToFarDistance2D);
147
187
  near = Math.min(near, far);
148
188
  numFrustums = Math.ceil(
149
- Math.max(1.0, far - near) / scene.nearToFarDistance2D
189
+ Math.max(1.0, far - near) / scene.nearToFarDistance2D,
150
190
  );
151
191
  } else {
152
192
  // The multifrustum for 3D/CV is non-uniformly distributed.
153
193
  numFrustums = Math.ceil(Math.log(far / near) / Math.log(farToNearRatio));
154
194
  }
155
195
 
156
- const frustumCommandsList = view.frustumCommandsList;
196
+ const { frustumCommandsList } = view;
157
197
  frustumCommandsList.length = numFrustums;
158
198
  for (let m = 0; m < numFrustums; ++m) {
159
199
  let curNear;
@@ -162,7 +202,7 @@ function updateFrustums(view, scene, near, far) {
162
202
  if (is2D) {
163
203
  curNear = Math.min(
164
204
  far - nearToFarDistance2D,
165
- near + m * nearToFarDistance2D
205
+ near + m * nearToFarDistance2D,
166
206
  );
167
207
  curFar = Math.min(far, curNear + nearToFarDistance2D);
168
208
  } else {
@@ -173,7 +213,7 @@ function updateFrustums(view, scene, near, far) {
173
213
  if (!defined(frustumCommands)) {
174
214
  frustumCommands = frustumCommandsList[m] = new FrustumCommands(
175
215
  curNear,
176
- curFar
216
+ curFar,
177
217
  );
178
218
  } else {
179
219
  frustumCommands.near = curNear;
@@ -182,24 +222,33 @@ function updateFrustums(view, scene, near, far) {
182
222
  }
183
223
  }
184
224
 
185
- function insertIntoBin(view, scene, command, commandNear, commandFar) {
225
+ /**
226
+ * Insert a command into the appropriate {@link FrustumCommands} based on the
227
+ * range of depths covered by its bounding volume.
228
+ *
229
+ * @param {View} view
230
+ * @param {Scene} scene
231
+ * @param {CommandExtent} commandExtent
232
+ *
233
+ * @private
234
+ */
235
+ function insertIntoBin(view, scene, commandExtent) {
236
+ const { command, near, far } = commandExtent;
237
+
186
238
  if (scene.debugShowFrustums) {
187
239
  command.debugOverlappingFrustums = 0;
188
240
  }
189
241
 
190
- const frustumCommandsList = view.frustumCommandsList;
191
- const length = frustumCommandsList.length;
242
+ const { frustumCommandsList } = view;
192
243
 
193
- for (let i = 0; i < length; ++i) {
244
+ for (let i = 0; i < frustumCommandsList.length; ++i) {
194
245
  const frustumCommands = frustumCommandsList[i];
195
- const curNear = frustumCommands.near;
196
- const curFar = frustumCommands.far;
197
246
 
198
- if (commandNear > curFar) {
247
+ if (near > frustumCommands.far) {
199
248
  continue;
200
249
  }
201
250
 
202
- if (commandFar < curNear) {
251
+ if (far < frustumCommands.near) {
203
252
  break;
204
253
  }
205
254
 
@@ -217,13 +266,13 @@ function insertIntoBin(view, scene, command, commandNear, commandFar) {
217
266
  }
218
267
 
219
268
  if (scene.debugShowFrustums) {
220
- const cf = view.debugFrustumStatistics.commandsInFrustums;
221
- cf[command.debugOverlappingFrustums] = defined(
222
- cf[command.debugOverlappingFrustums]
223
- )
224
- ? cf[command.debugOverlappingFrustums] + 1
269
+ const { debugFrustumStatistics } = view;
270
+ const { debugOverlappingFrustums } = command;
271
+ const cf = debugFrustumStatistics.commandsInFrustums;
272
+ cf[debugOverlappingFrustums] = defined(cf[debugOverlappingFrustums])
273
+ ? cf[debugOverlappingFrustums] + 1
225
274
  : 1;
226
- ++view.debugFrustumStatistics.totalCommands;
275
+ ++debugFrustumStatistics.totalCommands;
227
276
  }
228
277
 
229
278
  scene.updateDerivedCommands(command);
@@ -233,14 +282,12 @@ const scratchCullingVolume = new CullingVolume();
233
282
  const scratchNearFarInterval = new Interval();
234
283
 
235
284
  View.prototype.createPotentiallyVisibleSet = function (scene) {
236
- const frameState = scene.frameState;
237
- const camera = frameState.camera;
238
- const direction = camera.directionWC;
239
- const position = camera.positionWC;
285
+ const { frameState } = scene;
286
+ const { camera, commandList, shadowState } = frameState;
287
+ const { positionWC, directionWC, frustum } = camera;
240
288
 
241
289
  const computeList = scene._computeCommandList;
242
290
  const overlayList = scene._overlayCommandList;
243
- const commandList = frameState.commandList;
244
291
 
245
292
  if (scene.debugShowFrustums) {
246
293
  this.debugFrustumStatistics = {
@@ -250,10 +297,8 @@ View.prototype.createPotentiallyVisibleSet = function (scene) {
250
297
  }
251
298
 
252
299
  const frustumCommandsList = this.frustumCommandsList;
253
- const numberOfFrustums = frustumCommandsList.length;
254
- const numberOfPasses = Pass.NUMBER_OF_PASSES;
255
- for (let n = 0; n < numberOfFrustums; ++n) {
256
- for (let p = 0; p < numberOfPasses; ++p) {
300
+ for (let n = 0; n < frustumCommandsList.length; ++n) {
301
+ for (let p = 0; p < Pass.NUMBER_OF_PASSES; ++p) {
257
302
  frustumCommandsList[n].indices[p] = 0;
258
303
  }
259
304
  }
@@ -268,26 +313,25 @@ View.prototype.createPotentiallyVisibleSet = function (scene) {
268
313
  let near = +Number.MAX_VALUE;
269
314
  let far = -Number.MAX_VALUE;
270
315
 
271
- const shadowsEnabled = frameState.shadowState.shadowsEnabled;
316
+ const { shadowsEnabled } = shadowState;
272
317
  let shadowNear = +Number.MAX_VALUE;
273
318
  let shadowFar = -Number.MAX_VALUE;
274
319
  let shadowClosestObjectSize = Number.MAX_VALUE;
275
320
 
276
321
  const occluder =
277
322
  frameState.mode === SceneMode.SCENE3D ? frameState.occluder : undefined;
278
- let cullingVolume = frameState.cullingVolume;
279
323
 
280
324
  // get user culling volume minus the far plane.
325
+ let { cullingVolume } = frameState;
281
326
  const planes = scratchCullingVolume.planes;
282
327
  for (let k = 0; k < 5; ++k) {
283
328
  planes[k] = cullingVolume.planes[k];
284
329
  }
285
330
  cullingVolume = scratchCullingVolume;
286
331
 
287
- const length = commandList.length;
288
- for (let i = 0; i < length; ++i) {
332
+ for (let i = 0; i < commandList.length; ++i) {
289
333
  const command = commandList[i];
290
- const pass = command.pass;
334
+ const { pass, boundingVolume } = command;
291
335
 
292
336
  if (pass === Pass.COMPUTE) {
293
337
  computeList.push(command);
@@ -297,16 +341,15 @@ View.prototype.createPotentiallyVisibleSet = function (scene) {
297
341
  let commandNear;
298
342
  let commandFar;
299
343
 
300
- const boundingVolume = command.boundingVolume;
301
344
  if (defined(boundingVolume)) {
302
- if (!scene.isVisible(command, cullingVolume, occluder)) {
345
+ if (!scene.isVisible(cullingVolume, command, occluder)) {
303
346
  continue;
304
347
  }
305
348
 
306
349
  const nearFarInterval = boundingVolume.computePlaneDistances(
307
- position,
308
- direction,
309
- scratchNearFarInterval
350
+ positionWC,
351
+ directionWC,
352
+ scratchNearFarInterval,
310
353
  );
311
354
  commandNear = nearFarInterval.start;
312
355
  commandFar = nearFarInterval.stop;
@@ -334,13 +377,13 @@ View.prototype.createPotentiallyVisibleSet = function (scene) {
334
377
  }
335
378
  } else if (command instanceof ClearCommand) {
336
379
  // Clear commands don't need a bounding volume - just add the clear to all frustums.
337
- commandNear = camera.frustum.near;
338
- commandFar = camera.frustum.far;
380
+ commandNear = frustum.near;
381
+ commandFar = frustum.far;
339
382
  } else {
340
383
  // If command has no bounding volume we need to use the camera's
341
384
  // worst-case near and far planes to avoid clipping something important.
342
- commandNear = camera.frustum.near;
343
- commandFar = camera.frustum.far;
385
+ commandNear = frustum.near;
386
+ commandFar = frustum.far;
344
387
  near = Math.min(near, commandNear);
345
388
  far = Math.max(far, commandFar);
346
389
  }
@@ -357,46 +400,36 @@ View.prototype.createPotentiallyVisibleSet = function (scene) {
357
400
  }
358
401
 
359
402
  if (shadowsEnabled) {
360
- shadowNear = Math.min(
361
- Math.max(shadowNear, camera.frustum.near),
362
- camera.frustum.far
363
- );
364
- shadowFar = Math.max(Math.min(shadowFar, camera.frustum.far), shadowNear);
365
- }
366
-
367
- // Use the computed near and far for shadows
368
- if (shadowsEnabled) {
369
- frameState.shadowState.nearPlane = shadowNear;
370
- frameState.shadowState.farPlane = shadowFar;
371
- frameState.shadowState.closestObjectSize = shadowClosestObjectSize;
403
+ shadowNear = Math.min(Math.max(shadowNear, frustum.near), frustum.far);
404
+ shadowFar = Math.max(Math.min(shadowFar, frustum.far), shadowNear);
405
+ // Use the computed near and far for shadows
406
+ shadowState.nearPlane = shadowNear;
407
+ shadowState.farPlane = shadowFar;
408
+ shadowState.closestObjectSize = shadowClosestObjectSize;
372
409
  }
373
410
 
374
411
  updateFrustums(this, scene, near, far);
375
412
 
376
- let c;
377
- let ce;
378
-
379
- for (c = 0; c < commandExtentCount; c++) {
380
- ce = commandExtents[c];
381
- insertIntoBin(this, scene, ce.command, ce.near, ce.far);
413
+ for (let c = 0; c < commandExtentCount; c++) {
414
+ insertIntoBin(this, scene, commandExtents[c]);
382
415
  }
383
416
 
384
417
  // Dereference old commands
385
418
  if (commandExtentCount < commandExtentCapacity) {
386
- for (c = commandExtentCount; c < commandExtentCapacity; c++) {
387
- ce = commandExtents[c];
388
- if (!defined(ce.command)) {
419
+ for (let c = commandExtentCount; c < commandExtentCapacity; c++) {
420
+ const commandExtent = commandExtents[c];
421
+ if (!defined(commandExtent.command)) {
389
422
  // If the command is undefined, it's assumed that all
390
423
  // subsequent commmands were set to undefined as well,
391
424
  // so no need to loop over them all
392
425
  break;
393
426
  }
394
- ce.command = undefined;
427
+ commandExtent.command = undefined;
395
428
  }
396
429
  }
397
430
 
398
431
  const numFrustums = frustumCommandsList.length;
399
- const frustumSplits = frameState.frustumSplits;
432
+ const { frustumSplits } = frameState;
400
433
  frustumSplits.length = numFrustums + 1;
401
434
  for (let j = 0; j < numFrustums; ++j) {
402
435
  frustumSplits[j] = frustumCommandsList[j].near;
@@ -421,10 +454,8 @@ View.prototype.destroy = function () {
421
454
  this.globeTranslucencyFramebuffer &&
422
455
  this.globeTranslucencyFramebuffer.destroy();
423
456
 
424
- let i;
425
457
  const pickDepths = this.pickDepths;
426
- const length = pickDepths.length;
427
- for (i = 0; i < length; ++i) {
458
+ for (let i = 0; i < pickDepths.length; ++i) {
428
459
  pickDepths[i].destroy();
429
460
  }
430
461
  };
@@ -59,7 +59,7 @@ function VoxelBoxShape() {
59
59
  */
60
60
  this._minBounds = Cartesian3.clone(
61
61
  VoxelBoxShape.DefaultMinBounds,
62
- new Cartesian3()
62
+ new Cartesian3(),
63
63
  );
64
64
 
65
65
  /**
@@ -68,7 +68,7 @@ function VoxelBoxShape() {
68
68
  */
69
69
  this._maxBounds = Cartesian3.clone(
70
70
  VoxelBoxShape.DefaultMaxBounds,
71
- new Cartesian3()
71
+ new Cartesian3(),
72
72
  );
73
73
 
74
74
  /**
@@ -110,7 +110,7 @@ const scratchRenderMaxBounds = new Cartesian3();
110
110
  const transformLocalToUv = Matrix4.fromRotationTranslation(
111
111
  Matrix3.fromUniformScale(0.5, new Matrix3()),
112
112
  new Cartesian3(0.5, 0.5, 0.5),
113
- new Matrix4()
113
+ new Matrix4(),
114
114
  );
115
115
 
116
116
  /**
@@ -128,7 +128,7 @@ VoxelBoxShape.prototype.update = function (
128
128
  minBounds,
129
129
  maxBounds,
130
130
  clipMinBounds,
131
- clipMaxBounds
131
+ clipMaxBounds,
132
132
  ) {
133
133
  clipMinBounds = defaultValue(clipMinBounds, VoxelBoxShape.DefaultMinBounds);
134
134
  clipMaxBounds = defaultValue(clipMaxBounds, VoxelBoxShape.DefaultMaxBounds);
@@ -145,42 +145,42 @@ VoxelBoxShape.prototype.update = function (
145
145
  minBounds,
146
146
  defaultMinBounds,
147
147
  defaultMaxBounds,
148
- this._minBounds
148
+ this._minBounds,
149
149
  );
150
150
 
151
151
  maxBounds = this._maxBounds = Cartesian3.clamp(
152
152
  maxBounds,
153
153
  defaultMinBounds,
154
154
  defaultMaxBounds,
155
- this._maxBounds
155
+ this._maxBounds,
156
156
  );
157
157
 
158
158
  clipMinBounds = Cartesian3.clamp(
159
159
  clipMinBounds,
160
160
  defaultMinBounds,
161
161
  defaultMaxBounds,
162
- scratchClipMinBounds
162
+ scratchClipMinBounds,
163
163
  );
164
164
 
165
165
  clipMaxBounds = Cartesian3.clamp(
166
166
  clipMaxBounds,
167
167
  defaultMinBounds,
168
168
  defaultMaxBounds,
169
- scratchClipMaxBounds
169
+ scratchClipMaxBounds,
170
170
  );
171
171
 
172
172
  const renderMinBounds = Cartesian3.clamp(
173
173
  minBounds,
174
174
  clipMinBounds,
175
175
  clipMaxBounds,
176
- scratchRenderMinBounds
176
+ scratchRenderMinBounds,
177
177
  );
178
178
 
179
179
  const renderMaxBounds = Cartesian3.clamp(
180
180
  maxBounds,
181
181
  clipMinBounds,
182
182
  clipMaxBounds,
183
- scratchRenderMaxBounds
183
+ scratchRenderMaxBounds,
184
184
  );
185
185
 
186
186
  const scale = Matrix4.getScale(modelMatrix, scratchScale);
@@ -214,7 +214,7 @@ VoxelBoxShape.prototype.update = function (
214
214
  renderMinBounds,
215
215
  renderMaxBounds,
216
216
  this.shapeTransform,
217
- this.orientedBoundingBox
217
+ this.orientedBoundingBox,
218
218
  );
219
219
 
220
220
  // All of the box bounds go from -1 to +1, so the model matrix scale can be
@@ -222,12 +222,12 @@ VoxelBoxShape.prototype.update = function (
222
222
  this.boundTransform = Matrix4.fromRotationTranslation(
223
223
  this.orientedBoundingBox.halfAxes,
224
224
  this.orientedBoundingBox.center,
225
- this.boundTransform
225
+ this.boundTransform,
226
226
  );
227
227
 
228
228
  this.boundingSphere = BoundingSphere.fromOrientedBoundingBox(
229
229
  this.orientedBoundingBox,
230
- this.boundingSphere
230
+ this.boundingSphere,
231
231
  );
232
232
 
233
233
  const { shaderUniforms, shaderDefines } = this;
@@ -252,12 +252,12 @@ VoxelBoxShape.prototype.update = function (
252
252
  shaderUniforms.renderMinBounds = Matrix4.multiplyByPoint(
253
253
  transformLocalToUv,
254
254
  renderMinBounds,
255
- shaderUniforms.renderMinBounds
255
+ shaderUniforms.renderMinBounds,
256
256
  );
257
257
  shaderUniforms.renderMaxBounds = Matrix4.multiplyByPoint(
258
258
  transformLocalToUv,
259
259
  renderMaxBounds,
260
- shaderUniforms.renderMaxBounds
260
+ shaderUniforms.renderMaxBounds,
261
261
  );
262
262
 
263
263
  if (hasShapeBounds) {
@@ -280,14 +280,14 @@ VoxelBoxShape.prototype.update = function (
280
280
  2.0 / (min.x === max.x ? 1.0 : max.x - min.x),
281
281
  2.0 / (min.y === max.y ? 1.0 : max.y - min.y),
282
282
  2.0 / (min.z === max.z ? 1.0 : max.z - min.z),
283
- shaderUniforms.boxUvToShapeUvScale
283
+ shaderUniforms.boxUvToShapeUvScale,
284
284
  );
285
285
 
286
286
  shaderUniforms.boxUvToShapeUvTranslate = Cartesian3.fromElements(
287
287
  -shaderUniforms.boxUvToShapeUvScale.x * (min.x * 0.5 + 0.5),
288
288
  -shaderUniforms.boxUvToShapeUvScale.y * (min.y * 0.5 + 0.5),
289
289
  -shaderUniforms.boxUvToShapeUvScale.z * (min.z * 0.5 + 0.5),
290
- shaderUniforms.boxUvToShapeUvTranslate
290
+ shaderUniforms.boxUvToShapeUvTranslate,
291
291
  );
292
292
  }
293
293
 
@@ -315,7 +315,7 @@ VoxelBoxShape.prototype.computeOrientedBoundingBoxForTile = function (
315
315
  tileX,
316
316
  tileY,
317
317
  tileZ,
318
- result
318
+ result,
319
319
  ) {
320
320
  //>>includeStart('debug', pragmas.debug);
321
321
  Check.typeOf.number("tileLevel", tileLevel);
@@ -333,21 +333,21 @@ VoxelBoxShape.prototype.computeOrientedBoundingBoxForTile = function (
333
333
  CesiumMath.lerp(minBounds.x, maxBounds.x, sizeAtLevel * tileX),
334
334
  CesiumMath.lerp(minBounds.y, maxBounds.y, sizeAtLevel * tileY),
335
335
  CesiumMath.lerp(minBounds.z, maxBounds.z, sizeAtLevel * tileZ),
336
- scratchTileMinBounds
336
+ scratchTileMinBounds,
337
337
  );
338
338
 
339
339
  const tileMaxBounds = Cartesian3.fromElements(
340
340
  CesiumMath.lerp(minBounds.x, maxBounds.x, sizeAtLevel * (tileX + 1)),
341
341
  CesiumMath.lerp(minBounds.y, maxBounds.y, sizeAtLevel * (tileY + 1)),
342
342
  CesiumMath.lerp(minBounds.z, maxBounds.z, sizeAtLevel * (tileZ + 1)),
343
- scratchTileMaxBounds
343
+ scratchTileMaxBounds,
344
344
  );
345
345
 
346
346
  return getBoxChunkObb(
347
347
  tileMinBounds,
348
348
  tileMaxBounds,
349
349
  this.shapeTransform,
350
- result
350
+ result,
351
351
  );
352
352
  };
353
353
 
@@ -367,7 +367,7 @@ VoxelBoxShape.prototype.computeOrientedBoundingBoxForSample = function (
367
367
  spatialNode,
368
368
  tileDimensions,
369
369
  tileUv,
370
- result
370
+ result,
371
371
  ) {
372
372
  //>>includeStart('debug', pragmas.debug);
373
373
  Check.typeOf.object("spatialNode", spatialNode);
@@ -380,12 +380,12 @@ VoxelBoxShape.prototype.computeOrientedBoundingBoxForSample = function (
380
380
  const sampleSize = Cartesian3.divideComponents(
381
381
  Cartesian3.ONE,
382
382
  tileDimensions,
383
- sampleSizeScratch
383
+ sampleSizeScratch,
384
384
  );
385
385
  const sampleSizeAtLevel = Cartesian3.multiplyByScalar(
386
386
  sampleSize,
387
387
  tileSizeAtLevel,
388
- sampleSizeScratch
388
+ sampleSizeScratch,
389
389
  );
390
390
 
391
391
  const minLerp = Cartesian3.multiplyByScalar(
@@ -393,15 +393,15 @@ VoxelBoxShape.prototype.computeOrientedBoundingBoxForSample = function (
393
393
  spatialNode.x + tileUv.x,
394
394
  spatialNode.y + tileUv.y,
395
395
  spatialNode.z + tileUv.z,
396
- scratchTileMinBounds
396
+ scratchTileMinBounds,
397
397
  ),
398
398
  tileSizeAtLevel,
399
- scratchTileMinBounds
399
+ scratchTileMinBounds,
400
400
  );
401
401
  const maxLerp = Cartesian3.add(
402
402
  minLerp,
403
403
  sampleSizeAtLevel,
404
- scratchTileMaxBounds
404
+ scratchTileMaxBounds,
405
405
  );
406
406
 
407
407
  const minBounds = this._minBounds;
@@ -410,20 +410,20 @@ VoxelBoxShape.prototype.computeOrientedBoundingBoxForSample = function (
410
410
  CesiumMath.lerp(minBounds.x, maxBounds.x, minLerp.x),
411
411
  CesiumMath.lerp(minBounds.y, maxBounds.y, minLerp.y),
412
412
  CesiumMath.lerp(minBounds.z, maxBounds.z, minLerp.z),
413
- scratchTileMinBounds
413
+ scratchTileMinBounds,
414
414
  );
415
415
  const sampleMaxBounds = Cartesian3.fromElements(
416
416
  CesiumMath.lerp(minBounds.x, maxBounds.x, maxLerp.x),
417
417
  CesiumMath.lerp(minBounds.y, maxBounds.y, maxLerp.y),
418
418
  CesiumMath.lerp(minBounds.z, maxBounds.z, maxLerp.z),
419
- scratchTileMaxBounds
419
+ scratchTileMaxBounds,
420
420
  );
421
421
 
422
422
  return getBoxChunkObb(
423
423
  sampleMinBounds,
424
424
  sampleMaxBounds,
425
425
  this.shapeTransform,
426
- result
426
+ result,
427
427
  );
428
428
  };
429
429
 
@@ -435,7 +435,7 @@ VoxelBoxShape.prototype.computeOrientedBoundingBoxForSample = function (
435
435
  * @readonly
436
436
  */
437
437
  VoxelBoxShape.DefaultMinBounds = Object.freeze(
438
- new Cartesian3(-1.0, -1.0, -1.0)
438
+ new Cartesian3(-1.0, -1.0, -1.0),
439
439
  );
440
440
 
441
441
  /**
@@ -446,7 +446,7 @@ VoxelBoxShape.DefaultMinBounds = Object.freeze(
446
446
  * @readonly
447
447
  */
448
448
  VoxelBoxShape.DefaultMaxBounds = Object.freeze(
449
- new Cartesian3(+1.0, +1.0, +1.0)
449
+ new Cartesian3(+1.0, +1.0, +1.0),
450
450
  );
451
451
 
452
452
  /**
@@ -478,14 +478,14 @@ function getBoxChunkObb(minimumBounds, maximumBounds, matrix, result) {
478
478
  const localCenter = Cartesian3.midpoint(
479
479
  minimumBounds,
480
480
  maximumBounds,
481
- scratchCenter
481
+ scratchCenter,
482
482
  );
483
483
  result.center = Matrix4.multiplyByPoint(matrix, localCenter, result.center);
484
484
  scale = Cartesian3.fromElements(
485
485
  scale.x * 0.5 * (maximumBounds.x - minimumBounds.x),
486
486
  scale.y * 0.5 * (maximumBounds.y - minimumBounds.y),
487
487
  scale.z * 0.5 * (maximumBounds.z - minimumBounds.z),
488
- scratchScale
488
+ scratchScale,
489
489
  );
490
490
  const rotation = Matrix4.getRotation(matrix, scratchRotation);
491
491
  result.halfAxes = Matrix3.setScale(rotation, scale, result.halfAxes);
@@ -61,7 +61,7 @@ VoxelCell.fromKeyframeNode = function (
61
61
  primitive,
62
62
  tileIndex,
63
63
  sampleIndex,
64
- keyframeNode
64
+ keyframeNode,
65
65
  ) {
66
66
  //>>includeStart('debug', pragmas.debug);
67
67
  Check.typeOf.object("primitive", primitive);
@@ -77,7 +77,7 @@ VoxelCell.fromKeyframeNode = function (
77
77
  primitive,
78
78
  spatialNode,
79
79
  sampleIndex,
80
- voxelCell._orientedBoundingBox
80
+ voxelCell._orientedBoundingBox,
81
81
  );
82
82
  return voxelCell;
83
83
  };
@@ -100,7 +100,7 @@ function getMetadataForSample(primitive, metadata, sampleIndex) {
100
100
  const componentCount = MetadataType.getComponentCount(types[i]);
101
101
  const samples = metadata[i].slice(
102
102
  sampleIndex * componentCount,
103
- (sampleIndex + 1) * componentCount
103
+ (sampleIndex + 1) * componentCount,
104
104
  );
105
105
  metadataMap[name] = samples;
106
106
  }
@@ -130,7 +130,7 @@ function getOrientedBoundingBox(primitive, spatialNode, sampleIndex, result) {
130
130
  xIndex,
131
131
  yIndex,
132
132
  zIndex,
133
- tileCoordinateScratch
133
+ tileCoordinateScratch,
134
134
  );
135
135
 
136
136
  // Remove padding, and convert to a fraction in [0, 1], where the limits are
@@ -139,10 +139,10 @@ function getOrientedBoundingBox(primitive, spatialNode, sampleIndex, result) {
139
139
  Cartesian3.subtract(
140
140
  tileCoordinate,
141
141
  primitive._paddingBefore,
142
- tileCoordinateScratch
142
+ tileCoordinateScratch,
143
143
  ),
144
144
  primitive.dimensions,
145
- tileUvScratch
145
+ tileUvScratch,
146
146
  );
147
147
 
148
148
  const shape = primitive._shape;
@@ -150,7 +150,7 @@ function getOrientedBoundingBox(primitive, spatialNode, sampleIndex, result) {
150
150
  spatialNode,
151
151
  primitive.dimensions,
152
152
  tileUv,
153
- result
153
+ result,
154
154
  );
155
155
  }
156
156