@cesium/engine 23.0.1 → 25.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 (398) hide show
  1. package/Build/Workers/{chunk-ZEMJQKHD.js → chunk-35H3UBIO.js} +13 -12
  2. package/Build/Workers/{chunk-PQTSXJBJ.js → chunk-3LSD7OOA.js} +16 -16
  3. package/Build/Workers/{chunk-PUO7BYDY.js → chunk-3RFFPH4M.js} +1 -1
  4. package/Build/Workers/{chunk-PBECJOWF.js → chunk-3TKLDHV3.js} +2 -2
  5. package/Build/Workers/{chunk-TMCTZ5E3.js → chunk-3VDDRF2E.js} +14 -14
  6. package/Build/Workers/{chunk-FKU77FNM.js → chunk-3XY3MVPG.js} +4 -4
  7. package/Build/Workers/{chunk-2OBWHTIC.js → chunk-4GF4MVPY.js} +7 -7
  8. package/Build/Workers/{chunk-JUKGMJX7.js → chunk-4MTRQFJP.js} +3 -2
  9. package/Build/Workers/{chunk-66OWUDO7.js → chunk-4QQXGTCE.js} +8 -8
  10. package/Build/Workers/{chunk-ALTCIHRH.js → chunk-4XXHJI6Y.js} +17 -17
  11. package/Build/Workers/{chunk-K7UTK4OM.js → chunk-5T6QQAJW.js} +3 -2
  12. package/Build/Workers/{chunk-IJ3SUMK3.js → chunk-6SDGQI27.js} +3 -2
  13. package/Build/Workers/{chunk-FXSRA5UG.js → chunk-77RL3MBD.js} +6 -5
  14. package/Build/Workers/{chunk-G6MJ3ZW3.js → chunk-7LSFAEWF.js} +12 -11
  15. package/Build/Workers/{chunk-C6HHBKT5.js → chunk-A7A433MD.js} +5 -5
  16. package/Build/Workers/{chunk-PGZ3B6CB.js → chunk-A7ZBMVFS.js} +14 -14
  17. package/Build/Workers/{chunk-OZYB3AOR.js → chunk-ACFFCHHZ.js} +11 -11
  18. package/Build/Workers/{chunk-DNMASBMH.js → chunk-AEAVLYPS.js} +2 -2
  19. package/Build/Workers/{chunk-VPWYHFQA.js → chunk-AWFZHD2B.js} +4 -4
  20. package/Build/Workers/{chunk-TFPG3ZKW.js → chunk-BTX2NL3P.js} +59 -46
  21. package/Build/Workers/{chunk-TNXOPEIG.js → chunk-BVAIWR7O.js} +12 -12
  22. package/Build/Workers/chunk-CKQP3DSS.js +973 -0
  23. package/Build/Workers/{chunk-N6HRZLS6.js → chunk-CZ23Y3RM.js} +2 -2
  24. package/Build/Workers/{chunk-EIC3VAOZ.js → chunk-DFEI5MAV.js} +7 -7
  25. package/Build/Workers/{chunk-BTP3634E.js → chunk-DH26SNAB.js} +4 -1
  26. package/Build/Workers/{chunk-TXYQNXNW.js → chunk-DYT5NR6P.js} +3 -3
  27. package/Build/Workers/{chunk-O67UP5YO.js → chunk-EZARA5FJ.js} +13 -13
  28. package/Build/Workers/{chunk-YSJRB2UZ.js → chunk-FIBS5S7R.js} +2 -2
  29. package/Build/Workers/{chunk-2M7DKGLW.js → chunk-FVLVVOBQ.js} +10 -10
  30. package/Build/Workers/{chunk-B2VA6IEL.js → chunk-GL7DNVUS.js} +5 -5
  31. package/Build/Workers/{chunk-77DJBHMI.js → chunk-GPIGURCG.js} +59 -32
  32. package/Build/Workers/{chunk-QPXGGVHC.js → chunk-H2A4USJR.js} +10 -10
  33. package/Build/Workers/chunk-HSVQATK2.js +147 -0
  34. package/Build/Workers/{chunk-HXEPZWJN.js → chunk-HVMG6AG4.js} +11 -10
  35. package/Build/Workers/{chunk-H3TVRJLY.js → chunk-I3A6DXYZ.js} +4 -4
  36. package/Build/Workers/{chunk-UEWYSOFD.js → chunk-ITD2IN7N.js} +2 -2
  37. package/Build/Workers/{chunk-CYOPNGPX.js → chunk-J3OFS2RD.js} +12 -12
  38. package/Build/Workers/{chunk-RZX6LOG6.js → chunk-J647NNZW.js} +6 -6
  39. package/Build/Workers/{chunk-GLCPE2BJ.js → chunk-J7KQEKPK.js} +13 -13
  40. package/Build/Workers/{chunk-XPMXRJDD.js → chunk-K6NFIRFB.js} +5 -5
  41. package/Build/Workers/{chunk-CID5SY7L.js → chunk-LH5SF3XV.js} +7 -6
  42. package/Build/Workers/{chunk-UOQB7XQI.js → chunk-ND3NTTOF.js} +713 -435
  43. package/Build/Workers/chunk-QO2CGXMP.js +2342 -0
  44. package/Build/Workers/chunk-QSDY4NS7.js +1287 -0
  45. package/Build/Workers/chunk-QXNQQYPV.js +3201 -0
  46. package/Build/Workers/{chunk-CJ7ZDY77.js → chunk-ST2UWDUU.js} +5 -5
  47. package/Build/Workers/{chunk-YDR5LX5Z.js → chunk-TA777BGS.js} +3 -2
  48. package/Build/Workers/{chunk-U4SWB6TI.js → chunk-TAI4HLII.js} +4 -4
  49. package/Build/Workers/{chunk-VX774SWE.js → chunk-URUCCIPS.js} +6 -6
  50. package/Build/Workers/{chunk-MNSNOONX.js → chunk-VQKLRBIK.js} +7 -7
  51. package/Build/Workers/{chunk-CVAAIRNP.js → chunk-WC57YYBN.js} +2 -2
  52. package/Build/Workers/{chunk-QNABVTTP.js → chunk-WN6P5UDH.js} +12 -12
  53. package/Build/Workers/{chunk-CNLXMOPM.js → chunk-WNN5D4W3.js} +12 -11
  54. package/Build/Workers/{chunk-4JJQRZYL.js → chunk-WTQGE7Q6.js} +17 -17
  55. package/Build/Workers/{chunk-FCJQO4NC.js → chunk-WUBKZFF6.js} +2213 -1349
  56. package/Build/Workers/{chunk-3UQ2YMPP.js → chunk-ZAPOS52G.js} +12 -10
  57. package/Build/Workers/{chunk-LHFC4R7Z.js → chunk-ZCCIIBZT.js} +6 -6
  58. package/Build/Workers/combineGeometry.js +24 -24
  59. package/Build/Workers/createBoxGeometry.js +18 -18
  60. package/Build/Workers/createBoxOutlineGeometry.js +16 -16
  61. package/Build/Workers/createCircleGeometry.js +26 -26
  62. package/Build/Workers/createCircleOutlineGeometry.js +19 -19
  63. package/Build/Workers/createCoplanarPolygonGeometry.js +33 -33
  64. package/Build/Workers/createCoplanarPolygonOutlineGeometry.js +31 -31
  65. package/Build/Workers/createCorridorGeometry.js +29 -29
  66. package/Build/Workers/createCorridorOutlineGeometry.js +28 -28
  67. package/Build/Workers/createCylinderGeometry.js +20 -20
  68. package/Build/Workers/createCylinderOutlineGeometry.js +18 -18
  69. package/Build/Workers/createEllipseGeometry.js +26 -26
  70. package/Build/Workers/createEllipseOutlineGeometry.js +19 -19
  71. package/Build/Workers/createEllipsoidGeometry.js +19 -19
  72. package/Build/Workers/createEllipsoidOutlineGeometry.js +18 -18
  73. package/Build/Workers/createFrustumGeometry.js +18 -18
  74. package/Build/Workers/createFrustumOutlineGeometry.js +18 -18
  75. package/Build/Workers/createGeometry.js +24 -24
  76. package/Build/Workers/createGroundPolylineGeometry.js +175 -118
  77. package/Build/Workers/createPlaneGeometry.js +16 -16
  78. package/Build/Workers/createPlaneOutlineGeometry.js +15 -15
  79. package/Build/Workers/createPolygonGeometry.js +32 -32
  80. package/Build/Workers/createPolygonOutlineGeometry.js +30 -30
  81. package/Build/Workers/createPolylineGeometry.js +25 -25
  82. package/Build/Workers/createPolylineVolumeGeometry.js +31 -31
  83. package/Build/Workers/createPolylineVolumeOutlineGeometry.js +27 -27
  84. package/Build/Workers/createRectangleGeometry.js +27 -27
  85. package/Build/Workers/createRectangleOutlineGeometry.js +20 -20
  86. package/Build/Workers/createSimplePolylineGeometry.js +23 -23
  87. package/Build/Workers/createSphereGeometry.js +19 -19
  88. package/Build/Workers/createSphereOutlineGeometry.js +18 -18
  89. package/Build/Workers/createTaskProcessorWorker.js +3 -3
  90. package/Build/Workers/createVectorTileClampedPolylines.js +14 -14
  91. package/Build/Workers/createVectorTileGeometries.js +24 -24
  92. package/Build/Workers/createVectorTilePoints.js +13 -13
  93. package/Build/Workers/createVectorTilePolygons.js +22 -22
  94. package/Build/Workers/createVectorTilePolylines.js +14 -14
  95. package/Build/Workers/createVerticesFromCesium3DTilesTerrain.js +25 -25
  96. package/Build/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +22 -22
  97. package/Build/Workers/createVerticesFromHeightmap.js +24 -23
  98. package/Build/Workers/createVerticesFromQuantizedTerrainMesh.js +20 -20
  99. package/Build/Workers/createWallGeometry.js +25 -25
  100. package/Build/Workers/createWallOutlineGeometry.js +24 -24
  101. package/Build/Workers/decodeDraco.js +10 -10
  102. package/Build/Workers/decodeGoogleEarthEnterprisePacket.js +5 -5
  103. package/Build/Workers/decodeI3S.js +12 -12
  104. package/Build/Workers/gaussianSplatSorter.js +4 -4
  105. package/Build/Workers/gaussianSplatTextureGenerator.js +4 -4
  106. package/Build/Workers/incrementallyBuildTerrainPicker.js +10 -10
  107. package/Build/Workers/transcodeKTX2.js +12 -9
  108. package/Build/Workers/transferTypedArrayTest.js +1 -1
  109. package/Build/Workers/upsampleQuantizedTerrainMesh.js +22 -22
  110. package/Build/Workers/upsampleVerticesFromCesium3DTilesTerrain.js +25 -25
  111. package/Source/Core/ArcType.js +6 -1
  112. package/Source/Core/ArticulationStageType.js +5 -1
  113. package/Source/Core/AssociativeArray.js +100 -94
  114. package/Source/Core/BoundingSphere.js +1296 -1300
  115. package/Source/Core/Cartesian2.js +7 -5
  116. package/Source/Core/Cartesian3.js +9 -8
  117. package/Source/Core/Cartesian4.js +8 -6
  118. package/Source/Core/Cartographic.js +257 -249
  119. package/Source/Core/ClockRange.js +6 -1
  120. package/Source/Core/ClockStep.js +6 -1
  121. package/Source/Core/Color.js +846 -835
  122. package/Source/Core/ComponentDatatype.js +4 -1
  123. package/Source/Core/CornerType.js +6 -1
  124. package/Source/Core/Credit.js +121 -124
  125. package/Source/Core/DeveloperError.js +2 -1
  126. package/Source/Core/Ellipsoid.js +637 -660
  127. package/Source/Core/ExtrapolationType.js +6 -1
  128. package/Source/Core/GeocodeType.js +6 -1
  129. package/Source/Core/GeographicProjection.js +74 -74
  130. package/Source/Core/GeographicTilingScheme.js +179 -198
  131. package/Source/Core/GeometryOffsetAttribute.js +7 -1
  132. package/Source/Core/GeometryType.js +7 -1
  133. package/Source/Core/HeightmapEncoding.js +6 -1
  134. package/Source/Core/ITwinPlatform.js +1 -0
  135. package/Source/Core/Iau2006XysData.js +24 -13
  136. package/Source/Core/IndexDatatype.js +3 -1
  137. package/Source/Core/InterpolationType.js +5 -1
  138. package/Source/Core/Intersect.js +6 -1
  139. package/Source/Core/Ion.js +1 -1
  140. package/Source/Core/IonGeocodeProviderType.js +5 -1
  141. package/Source/Core/JulianDate.js +850 -848
  142. package/Source/Core/KeyboardEventModifier.js +6 -1
  143. package/Source/Core/MapProjection.js +39 -44
  144. package/Source/Core/Matrix2.js +906 -893
  145. package/Source/Core/Matrix3.js +1643 -1575
  146. package/Source/Core/Matrix4.js +2903 -2872
  147. package/Source/Core/PixelFormat.js +3 -1
  148. package/Source/Core/PrimitiveType.js +11 -1
  149. package/Source/Core/Ray.js +62 -60
  150. package/Source/Core/Rectangle.js +913 -904
  151. package/Source/Core/ReferenceFrame.js +6 -1
  152. package/Source/Core/RequestScheduler.js +8 -3
  153. package/Source/Core/RequestState.js +6 -1
  154. package/Source/Core/RequestType.js +6 -1
  155. package/Source/Core/S2Cell.js +2 -2
  156. package/Source/Core/ScreenSpaceEventType.js +6 -1
  157. package/Source/Core/TerrainMesh.js +10 -1
  158. package/Source/Core/TerrainPicker.js +1 -0
  159. package/Source/Core/TerrainQuantization.js +6 -1
  160. package/Source/Core/TilingScheme.js +100 -98
  161. package/Source/Core/TimeConstants.js +6 -1
  162. package/Source/Core/TimeStandard.js +6 -1
  163. package/Source/Core/TrackingReferenceFrame.js +6 -1
  164. package/Source/Core/Visibility.js +6 -1
  165. package/Source/Core/VulkanConstants.js +6 -1
  166. package/Source/Core/WallGeometry.js +1 -1
  167. package/Source/Core/WallOutlineGeometry.js +1 -1
  168. package/Source/Core/WebGLConstants.js +6 -1
  169. package/Source/Core/WebMercatorProjection.js +108 -109
  170. package/Source/Core/WebMercatorTilingScheme.js +246 -242
  171. package/Source/Core/WindingOrder.js +3 -1
  172. package/Source/Core/assert.js +27 -0
  173. package/Source/Core/globalTypes.js +4 -0
  174. package/Source/DataSources/CzmlDataSource.js +9 -0
  175. package/Source/DataSources/PathGraphics.js +13 -0
  176. package/Source/DataSources/PathVisualizer.js +330 -18
  177. package/Source/DataSources/StaticGeometryColorBatch.js +7 -2
  178. package/Source/DataSources/StaticGeometryPerMaterialBatch.js +7 -2
  179. package/Source/DataSources/StaticGroundGeometryPerMaterialBatch.js +4 -1
  180. package/Source/DataSources/StaticGroundPolylinePerMaterialBatch.js +4 -1
  181. package/Source/DataSources/StripeOrientation.js +6 -1
  182. package/Source/Renderer/BufferUsage.js +20 -9
  183. package/Source/Renderer/Context.js +2 -29
  184. package/Source/Renderer/DrawCommand.js +435 -403
  185. package/Source/Renderer/MipmapHint.js +5 -1
  186. package/Source/Renderer/Pass.js +7 -1
  187. package/Source/Renderer/PickId.js +44 -0
  188. package/Source/Renderer/PixelDatatype.js +3 -1
  189. package/Source/Renderer/RenderState.js +2 -2
  190. package/Source/Renderer/RenderbufferFormat.js +5 -1
  191. package/Source/Renderer/ShaderDestination.js +4 -1
  192. package/Source/Renderer/TextureMagnificationFilter.js +3 -1
  193. package/Source/Renderer/TextureMinificationFilter.js +3 -1
  194. package/Source/Renderer/TextureWrap.js +5 -1
  195. package/Source/Renderer/VertexArray.js +80 -0
  196. package/Source/Scene/AlphaMode.js +5 -1
  197. package/Source/Scene/ArcGisBaseMapType.js +6 -1
  198. package/Source/Scene/ArcGisMapService.js +1 -1
  199. package/Source/Scene/AttributeType.js +3 -1
  200. package/Source/Scene/Axis.js +3 -1
  201. package/Source/Scene/BillboardCollection.js +65 -364
  202. package/Source/Scene/BingMapsStyle.js +6 -1
  203. package/Source/Scene/BlendEquation.js +6 -1
  204. package/Source/Scene/BlendFunction.js +6 -1
  205. package/Source/Scene/BlendOption.js +6 -1
  206. package/Source/Scene/BlendingState.js +6 -1
  207. package/Source/Scene/BufferLoader.js +0 -2
  208. package/Source/Scene/BufferPoint.js +148 -0
  209. package/Source/Scene/BufferPointCollection.js +138 -0
  210. package/Source/Scene/BufferPointMaterial.js +95 -0
  211. package/Source/Scene/BufferPolygon.js +516 -0
  212. package/Source/Scene/BufferPolygonCollection.js +370 -0
  213. package/Source/Scene/BufferPolygonMaterial.js +41 -0
  214. package/Source/Scene/BufferPolyline.js +185 -0
  215. package/Source/Scene/BufferPolylineCollection.js +138 -0
  216. package/Source/Scene/BufferPolylineMaterial.js +93 -0
  217. package/Source/Scene/BufferPrimitive.js +347 -0
  218. package/Source/Scene/BufferPrimitiveCollection.js +818 -0
  219. package/Source/Scene/BufferPrimitiveMaterial.js +140 -0
  220. package/Source/Scene/CameraEventType.js +6 -1
  221. package/Source/Scene/Cesium3DTileColorBlendMode.js +6 -1
  222. package/Source/Scene/Cesium3DTileContent.js +5 -1
  223. package/Source/Scene/Cesium3DTileContentFactory.js +9 -0
  224. package/Source/Scene/Cesium3DTileContentState.js +6 -1
  225. package/Source/Scene/Cesium3DTileContentType.js +3 -1
  226. package/Source/Scene/Cesium3DTileFeature.js +289 -306
  227. package/Source/Scene/Cesium3DTileOptimizationHint.js +6 -1
  228. package/Source/Scene/Cesium3DTilePass.js +5 -1
  229. package/Source/Scene/Cesium3DTilePointFeature.js +433 -511
  230. package/Source/Scene/Cesium3DTileRefine.js +6 -1
  231. package/Source/Scene/Cesium3DTileStyle.js +22 -0
  232. package/Source/Scene/Cesium3DTileVectorFeature.js +586 -0
  233. package/Source/Scene/Cesium3DTileset.js +2 -1
  234. package/Source/Scene/ClassificationType.js +3 -1
  235. package/Source/Scene/ClippingPolygonCollection.js +270 -101
  236. package/Source/Scene/CloudType.js +3 -1
  237. package/Source/Scene/ColorBlendMode.js +4 -1
  238. package/Source/Scene/CubeMapPanorama.js +4 -4
  239. package/Source/Scene/CullFace.js +6 -1
  240. package/Source/Scene/DepthFunction.js +6 -1
  241. package/Source/Scene/DynamicAtmosphereLightingType.js +3 -1
  242. package/Source/Scene/EquirectangularPanorama.js +1 -0
  243. package/Source/Scene/ExpressionNodeType.js +6 -1
  244. package/Source/Scene/GaussianSplat3DTileContent.js +40 -46
  245. package/Source/Scene/GaussianSplatPrimitive.js +413 -70
  246. package/Source/Scene/GetFeatureInfoFormat.js +3 -3
  247. package/Source/Scene/GltfBufferViewLoader.js +0 -2
  248. package/Source/Scene/GltfDracoLoader.js +0 -2
  249. package/Source/Scene/GltfImageLoader.js +0 -3
  250. package/Source/Scene/GltfIndexBufferLoader.js +0 -4
  251. package/Source/Scene/GltfJsonLoader.js +0 -2
  252. package/Source/Scene/GltfLoader.js +215 -39
  253. package/Source/Scene/GltfLoaderUtil.js +14 -0
  254. package/Source/Scene/GltfSpzLoader.js +109 -2
  255. package/Source/Scene/GltfStructuralMetadataLoader.js +0 -2
  256. package/Source/Scene/GltfTextureLoader.js +0 -2
  257. package/Source/Scene/GltfVertexBufferLoader.js +0 -4
  258. package/Source/Scene/HeightReference.js +5 -1
  259. package/Source/Scene/HorizontalOrigin.js +6 -1
  260. package/Source/Scene/ITwinData.js +1 -0
  261. package/Source/Scene/ImageryProvider.js +1 -1
  262. package/Source/Scene/ImageryState.js +6 -1
  263. package/Source/Scene/ImplicitSubdivisionScheme.js +3 -1
  264. package/Source/Scene/InstanceAttributeSemantic.js +3 -1
  265. package/Source/Scene/IonWorldImageryStyle.js +6 -1
  266. package/Source/Scene/JobType.js +6 -1
  267. package/Source/Scene/Label.js +32 -0
  268. package/Source/Scene/LabelCollection.js +14 -13
  269. package/Source/Scene/LabelStyle.js +6 -1
  270. package/Source/Scene/MapMode2D.js +6 -1
  271. package/Source/Scene/Material.js +2 -0
  272. package/Source/Scene/Megatexture.js +1 -0
  273. package/Source/Scene/MetadataClassProperty.js +24 -10
  274. package/Source/Scene/MetadataComponentType.js +118 -24
  275. package/Source/Scene/MetadataSchemaLoader.js +0 -2
  276. package/Source/Scene/MetadataSemantic.js +6 -2
  277. package/Source/Scene/MetadataType.js +3 -1
  278. package/Source/Scene/Model/B3dmLoader.js +0 -3
  279. package/Source/Scene/Model/CustomShaderMode.js +3 -1
  280. package/Source/Scene/Model/CustomShaderPipelineStage.js +3 -1
  281. package/Source/Scene/Model/CustomShaderTranslucencyMode.js +5 -1
  282. package/Source/Scene/Model/EdgeVisibilityPipelineStage.js +735 -264
  283. package/Source/Scene/Model/Extensions/Gpm/PpeSource.js +5 -1
  284. package/Source/Scene/Model/Extensions/Gpm/StorageType.js +5 -1
  285. package/Source/Scene/Model/GeoJsonLoader.js +0 -2
  286. package/Source/Scene/Model/I3dmLoader.js +0 -3
  287. package/Source/Scene/Model/InstancingPipelineStage.js +1 -1
  288. package/Source/Scene/Model/LightingModel.js +5 -1
  289. package/Source/Scene/Model/MaterialPipelineStage.js +331 -3
  290. package/Source/Scene/Model/MetadataPipelineStage.js +3 -3
  291. package/Source/Scene/Model/ModelDrawCommand.js +6 -0
  292. package/Source/Scene/Model/ModelReader.js +475 -4
  293. package/Source/Scene/Model/ModelRuntimePrimitive.js +2 -1
  294. package/Source/Scene/Model/ModelType.js +3 -1
  295. package/Source/Scene/Model/ModelUtility.js +3 -1
  296. package/Source/Scene/Model/PntsLoader.js +4 -3
  297. package/Source/Scene/Model/StyleCommandsNeeded.js +3 -1
  298. package/Source/Scene/Model/UniformType.js +5 -1
  299. package/Source/Scene/Model/VaryingType.js +5 -1
  300. package/Source/Scene/Model/createVectorTileBuffersFromModelComponents.js +375 -0
  301. package/Source/Scene/Model/pickModel.js +94 -299
  302. package/Source/Scene/ModelAnimationLoop.js +6 -1
  303. package/Source/Scene/ModelAnimationState.js +6 -1
  304. package/Source/Scene/ModelComponents.js +1639 -1542
  305. package/Source/Scene/PickedMetadataInfo.js +1 -0
  306. package/Source/Scene/PrimitiveState.js +7 -1
  307. package/Source/Scene/QuadtreeOccluders.js +20 -15
  308. package/Source/Scene/QuadtreeTile.js +547 -541
  309. package/Source/Scene/QuadtreeTileLoadState.js +6 -1
  310. package/Source/Scene/QuadtreeTileProvider.js +159 -175
  311. package/Source/Scene/ResourceLoader.js +0 -1
  312. package/Source/Scene/ResourceLoaderState.js +7 -1
  313. package/Source/Scene/SceneMode.js +4 -1
  314. package/Source/Scene/ScreenSpaceCameraController.js +13 -0
  315. package/Source/Scene/ShadowMode.js +3 -1
  316. package/Source/Scene/SkyBox.js +17 -8
  317. package/Source/Scene/SplitDirection.js +6 -1
  318. package/Source/Scene/StencilFunction.js +6 -1
  319. package/Source/Scene/StencilOperation.js +6 -1
  320. package/Source/Scene/TerrainState.js +7 -1
  321. package/Source/Scene/TileBoundingRegion.js +1 -1
  322. package/Source/Scene/TileBoundingS2Cell.js +1 -1
  323. package/Source/Scene/TileBoundingSphere.js +1 -1
  324. package/Source/Scene/TileState.js +7 -1
  325. package/Source/Scene/Tonemapper.js +5 -1
  326. package/Source/Scene/TweenCollection.js +7 -0
  327. package/Source/Scene/VectorGltf3DTileContent.js +403 -0
  328. package/Source/Scene/VertexAttributeSemantic.js +17 -1
  329. package/Source/Scene/VerticalOrigin.js +6 -1
  330. package/Source/Scene/VoxelBoxShape.js +12 -6
  331. package/Source/Scene/VoxelContent.js +2 -0
  332. package/Source/Scene/VoxelCylinderShape.js +39 -38
  333. package/Source/Scene/VoxelEllipsoidShape.js +46 -96
  334. package/Source/Scene/VoxelMetadataOrder.js +6 -1
  335. package/Source/Scene/VoxelProvider.js +1 -0
  336. package/Source/Scene/VoxelShapeType.js +3 -1
  337. package/Source/Scene/WebMapServiceImageryProvider.js +2 -2
  338. package/Source/Scene/WebMapTileServiceImageryProvider.js +366 -131
  339. package/Source/Scene/parseStructuralMetadata.js +97 -37
  340. package/Source/Scene/renderBufferPointCollection.js +285 -0
  341. package/Source/Scene/renderBufferPolygonCollection.js +339 -0
  342. package/Source/Scene/renderBufferPolylineCollection.js +478 -0
  343. package/Source/Shaders/BillboardCollectionFS.glsl +2 -77
  344. package/Source/Shaders/BillboardCollectionFS.js +2 -77
  345. package/Source/Shaders/BillboardCollectionVS.glsl +2 -60
  346. package/Source/Shaders/BillboardCollectionVS.js +2 -60
  347. package/Source/Shaders/BufferPointMaterialFS.glsl +27 -0
  348. package/Source/Shaders/BufferPointMaterialFS.js +29 -0
  349. package/Source/Shaders/BufferPointMaterialVS.glsl +48 -0
  350. package/Source/Shaders/BufferPointMaterialVS.js +50 -0
  351. package/Source/Shaders/BufferPolygonMaterialFS.glsl +13 -0
  352. package/Source/Shaders/BufferPolygonMaterialFS.js +15 -0
  353. package/Source/Shaders/BufferPolygonMaterialVS.glsl +30 -0
  354. package/Source/Shaders/BufferPolygonMaterialVS.js +32 -0
  355. package/Source/Shaders/BufferPolylineMaterialFS.glsl +13 -0
  356. package/Source/Shaders/BufferPolylineMaterialFS.js +15 -0
  357. package/Source/Shaders/BufferPolylineMaterialVS.glsl +49 -0
  358. package/Source/Shaders/BufferPolylineMaterialVS.js +51 -0
  359. package/Source/Shaders/Builtin/CzmBuiltins.js +2 -0
  360. package/Source/Shaders/Builtin/Functions/computeTextureTransform.glsl +24 -0
  361. package/Source/Shaders/Builtin/Functions/computeTextureTransform.js +25 -0
  362. package/Source/Shaders/Model/ConstantLodStageFS.glsl +60 -0
  363. package/Source/Shaders/Model/ConstantLodStageFS.js +62 -0
  364. package/Source/Shaders/Model/ConstantLodStageVS.glsl +12 -0
  365. package/Source/Shaders/Model/ConstantLodStageVS.js +13 -0
  366. package/Source/Shaders/Model/EdgeVisibilityStageFS.glsl +34 -48
  367. package/Source/Shaders/Model/EdgeVisibilityStageFS.js +34 -49
  368. package/Source/Shaders/Model/EdgeVisibilityStageVS.glsl +98 -0
  369. package/Source/Shaders/Model/EdgeVisibilityStageVS.js +100 -0
  370. package/Source/Shaders/Model/MaterialStageFS.glsl +46 -20
  371. package/Source/Shaders/Model/MaterialStageFS.js +46 -20
  372. package/Source/Shaders/Model/ModelFS.glsl +15 -0
  373. package/Source/Shaders/Model/ModelFS.js +15 -0
  374. package/Source/Shaders/Model/ModelVS.glsl +8 -0
  375. package/Source/Shaders/Model/ModelVS.js +8 -0
  376. package/Source/Shaders/PolygonSignedDistanceFS.glsl +64 -33
  377. package/Source/Shaders/PolygonSignedDistanceFS.js +64 -33
  378. package/Source/Shaders/PrimitiveGaussianSplatVS.glsl +9 -2
  379. package/Source/Shaders/PrimitiveGaussianSplatVS.js +9 -2
  380. package/Source/Shaders/Voxels/VoxelFS.glsl +1 -1
  381. package/Source/Shaders/Voxels/VoxelFS.js +1 -1
  382. package/Source/Shaders/Voxels/convertLocalToBoxUv.glsl +0 -1
  383. package/Source/Shaders/Voxels/convertLocalToBoxUv.js +0 -1
  384. package/Source/Shaders/Voxels/convertLocalToCylinderUv.glsl +7 -9
  385. package/Source/Shaders/Voxels/convertLocalToCylinderUv.js +7 -9
  386. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.glsl +7 -17
  387. package/Source/Shaders/Voxels/convertLocalToEllipsoidUv.js +7 -17
  388. package/Source/Widget/CesiumWidget.js +11 -4
  389. package/Source/Workers/decodeDraco.js +3 -0
  390. package/Source/Workers/decodeI3S.js +5 -2
  391. package/index.d.ts +1332 -402
  392. package/index.js +111 -81
  393. package/package.json +3 -3
  394. package/Build/Workers/chunk-54O3AGOA.js +0 -642
  395. package/Build/Workers/chunk-6U5QMZU3.js +0 -940
  396. package/Build/Workers/chunk-HNDE73JK.js +0 -1829
  397. package/Build/Workers/chunk-PAFMAR7A.js +0 -2357
  398. package/Build/Workers/chunk-S53HSRT6.js +0 -114
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * The state of a {@link QuadtreeTile} in the tile load pipeline.
3
5
  * @enum {number}
@@ -36,4 +38,7 @@ const QuadtreeTileLoadState = {
36
38
  */
37
39
  FAILED: 3,
38
40
  };
39
- export default Object.freeze(QuadtreeTileLoadState);
41
+
42
+ Object.freeze(QuadtreeTileLoadState);
43
+
44
+ export default QuadtreeTileLoadState;
@@ -1,212 +1,196 @@
1
+ // @ts-check
2
+
1
3
  import DeveloperError from "../Core/DeveloperError.js";
2
4
 
5
+ /** @import Context from "../Renderer/Context.js"; */
6
+ /** @import DrawCommand from "../Renderer/DrawCommand.js"; */
7
+ /** @import FrameState from "./FrameState.js"; */
8
+ /** @import QuadtreeOccluders from "./QuadtreeOccluders.js"; */
9
+ /** @import QuadtreePrimitive from "./QuadtreePrimitive.js"; */
10
+ /** @import QuadtreeTile from "./QuadtreeTile.js"; */
11
+ /** @import TilingScheme from "../Core/TilingScheme.js"; */
12
+ /** @import Visibility from "../Core/Visibility.js"; */
13
+
3
14
  /**
4
15
  * Provides general quadtree tiles to be displayed on or near the surface of an ellipsoid. It is intended to be
5
16
  * used with the {@link QuadtreePrimitive}. This type describes an interface and is not intended to be
6
17
  * instantiated directly.
7
18
  *
8
- * @alias QuadtreeTileProvider
9
- * @constructor
19
+ * @interface
10
20
  * @private
11
21
  */
12
- function QuadtreeTileProvider() {
13
- DeveloperError.throwInstantiationError();
14
- }
15
-
16
- /**
17
- * Computes the default geometric error for level zero of the quadtree.
18
- *
19
- * @memberof QuadtreeTileProvider
20
- *
21
- * @param {TilingScheme} tilingScheme The tiling scheme for which to compute the geometric error.
22
- * @returns {number} The maximum geometric error at level zero, in meters.
23
- */
24
- QuadtreeTileProvider.computeDefaultLevelZeroMaximumGeometricError = function (
25
- tilingScheme,
26
- ) {
27
- return (
28
- (tilingScheme.ellipsoid.maximumRadius * 2 * Math.PI * 0.25) /
29
- (65 * tilingScheme.getNumberOfXTilesAtLevel(0))
30
- );
31
- };
32
-
33
- Object.defineProperties(QuadtreeTileProvider.prototype, {
22
+ class QuadtreeTileProvider {
34
23
  /**
35
24
  * Gets or sets the {@link QuadtreePrimitive} for which this provider is
36
25
  * providing tiles.
37
- * @memberof QuadtreeTileProvider.prototype
38
26
  * @type {QuadtreePrimitive}
39
27
  */
40
- quadtree: {
41
- get: DeveloperError.throwInstantiationError,
42
- set: DeveloperError.throwInstantiationError,
43
- },
28
+ quadtree;
44
29
 
45
30
  /**
46
31
  * Gets the tiling scheme used by the provider.
47
- * @memberof QuadtreeTileProvider.prototype
48
32
  * @type {TilingScheme}
49
33
  */
50
- tilingScheme: {
51
- get: DeveloperError.throwInstantiationError,
52
- },
34
+ tilingScheme;
53
35
 
54
36
  /**
55
37
  * Gets an event that is raised when the geometry provider encounters an asynchronous error. By subscribing
56
38
  * to the event, you will be notified of the error and can potentially recover from it. Event listeners
57
39
  * are passed an instance of {@link TileProviderError}.
58
- * @memberof QuadtreeTileProvider.prototype
59
40
  * @type {Event}
60
41
  */
61
- errorEvent: {
62
- get: DeveloperError.throwInstantiationError,
63
- },
64
- });
42
+ errorEvent;
65
43
 
66
- /**
67
- * Called at the beginning of the update cycle, regardless of id a new frame is being rendered, before {@link QuadtreeTileProvider#beginUpdate}
68
- * @memberof QuadtreeTileProvider
69
- * @function
70
- *
71
- * @param {Context} context The rendering context.
72
- * @param {FrameState} frameState The frame state.
73
- */
74
- QuadtreeTileProvider.prototype.update = DeveloperError.throwInstantiationError;
44
+ constructor() {
45
+ DeveloperError.throwInstantiationError();
46
+ }
75
47
 
76
- /**
77
- * Called at the beginning of the update cycle for each render frame, before {@link QuadtreeTileProvider#showTileThisFrame}
78
- * or any other functions.
79
- * @memberof QuadtreeTileProvider
80
- * @function
81
- *
82
- * @param {Context} context The rendering context.
83
- * @param {FrameState} frameState The frame state.
84
- * @param {DrawCommand[]} commandList An array of rendering commands. This method may push
85
- * commands into this array.
86
- */
87
- QuadtreeTileProvider.prototype.beginUpdate =
88
- DeveloperError.throwInstantiationError;
48
+ /**
49
+ * Computes the default geometric error for level zero of the quadtree.
50
+ *
51
+ * @param {TilingScheme} tilingScheme The tiling scheme for which to compute the geometric error.
52
+ * @returns {number} The maximum geometric error at level zero, in meters.
53
+ */
54
+ static computeDefaultLevelZeroMaximumGeometricError(tilingScheme) {
55
+ return (
56
+ (tilingScheme.ellipsoid.maximumRadius * 2 * Math.PI * 0.25) /
57
+ (65 * tilingScheme.getNumberOfXTilesAtLevel(0))
58
+ );
59
+ }
89
60
 
90
- /**
91
- * Called at the end of the update cycle for each render frame, after {@link QuadtreeTileProvider#showTileThisFrame}
92
- * and any other functions.
93
- * @memberof QuadtreeTileProvider
94
- * @function
95
- *
96
- * @param {Context} context The rendering context.
97
- * @param {FrameState} frameState The frame state.
98
- * @param {DrawCommand[]} commandList An array of rendering commands. This method may push
99
- * commands into this array.
100
- */
101
- QuadtreeTileProvider.prototype.endUpdate =
102
- DeveloperError.throwInstantiationError;
61
+ /**
62
+ * Called at the beginning of the update cycle, regardless of id a new frame is being rendered, before {@link QuadtreeTileProvider#beginUpdate}
63
+ *
64
+ * @param {Context} context The rendering context.
65
+ * @param {FrameState} frameState The frame state.
66
+ */
67
+ update(context, frameState) {
68
+ DeveloperError.throwInstantiationError();
69
+ }
103
70
 
104
- /**
105
- * Gets the maximum geometric error allowed in a tile at a given level, in meters.
106
- *
107
- * @see QuadtreeTileProvider#computeDefaultLevelZeroMaximumGeometricError
108
- *
109
- * @memberof QuadtreeTileProvider
110
- * @function
111
- *
112
- * @param {number} level The tile level for which to get the maximum geometric error.
113
- * @returns {number} The maximum geometric error in meters.
114
- */
115
- QuadtreeTileProvider.prototype.getLevelMaximumGeometricError =
116
- DeveloperError.throwInstantiationError;
71
+ /**
72
+ * Called at the beginning of the update cycle for each render frame, before {@link QuadtreeTileProvider#showTileThisFrame}
73
+ * or any other functions.
74
+ *
75
+ * @param {Context} context The rendering context.
76
+ * @param {FrameState} frameState The frame state.
77
+ * @param {DrawCommand[]} commandList An array of rendering commands. This method may push
78
+ * commands into this array.
79
+ */
80
+ beginUpdate(context, frameState, commandList) {
81
+ DeveloperError.throwInstantiationError();
82
+ }
117
83
 
118
- /**
119
- * Loads, or continues loading, a given tile. This function will continue to be called
120
- * until {@link QuadtreeTile#state} is no longer {@link QuadtreeTileLoadState#LOADING}.
121
- *
122
- * @memberof QuadtreeTileProvider
123
- * @function
124
- *
125
- * @param {Context} context The rendering context.
126
- * @param {FrameState} frameState The frame state.
127
- * @param {QuadtreeTile} tile The tile to load.
128
- */
129
- QuadtreeTileProvider.prototype.loadTile =
130
- DeveloperError.throwInstantiationError;
84
+ /**
85
+ * Called at the end of the update cycle for each render frame, after {@link QuadtreeTileProvider#showTileThisFrame}
86
+ * and any other functions.
87
+ *
88
+ * @param {Context} context The rendering context.
89
+ * @param {FrameState} frameState The frame state.
90
+ * @param {DrawCommand[]} commandList An array of rendering commands. This method may push
91
+ * commands into this array.
92
+ */
93
+ endUpdate(context, frameState, commandList) {
94
+ DeveloperError.throwInstantiationError();
95
+ }
131
96
 
132
- /**
133
- * Determines the visibility of a given tile. The tile may be fully visible, partially visible, or not
134
- * visible at all. Tiles that are renderable and are at least partially visible will be shown by a call
135
- * to {@link QuadtreeTileProvider#showTileThisFrame}.
136
- *
137
- * @memberof QuadtreeTileProvider
138
- *
139
- * @param {QuadtreeTile} tile The tile instance.
140
- * @param {FrameState} frameState The state information about the current frame.
141
- * @param {QuadtreeOccluders} occluders The objects that may occlude this tile.
142
- *
143
- * @returns {Visibility} The visibility of the tile.
144
- */
145
- QuadtreeTileProvider.prototype.computeTileVisibility =
146
- DeveloperError.throwInstantiationError;
97
+ /**
98
+ * Gets the maximum geometric error allowed in a tile at a given level, in meters.
99
+ *
100
+ * @see QuadtreeTileProvider#computeDefaultLevelZeroMaximumGeometricError
101
+ *
102
+ * @param {number} level The tile level for which to get the maximum geometric error.
103
+ * @returns {number} The maximum geometric error in meters.
104
+ */
105
+ getLevelMaximumGeometricError(level) {
106
+ DeveloperError.throwInstantiationError();
107
+ }
147
108
 
148
- /**
149
- * Shows a specified tile in this frame. The provider can cause the tile to be shown by adding
150
- * render commands to the commandList, or use any other method as appropriate. The tile is not
151
- * expected to be visible next frame as well, unless this method is call next frame, too.
152
- *
153
- * @memberof QuadtreeTileProvider
154
- * @function
155
- *
156
- * @param {QuadtreeTile} tile The tile instance.
157
- * @param {Context} context The rendering context.
158
- * @param {FrameState} frameState The state information of the current rendering frame.
159
- * @param {DrawCommand[]} commandList The list of rendering commands. This method may add additional commands to this list.
160
- */
161
- QuadtreeTileProvider.prototype.showTileThisFrame =
162
- DeveloperError.throwInstantiationError;
109
+ /**
110
+ * Loads, or continues loading, a given tile. This function will continue to be called
111
+ * until {@link QuadtreeTile#state} is no longer {@link QuadtreeTileLoadState#LOADING}.
112
+ *
113
+ * @param {Context} context The rendering context.
114
+ * @param {FrameState} frameState The frame state.
115
+ * @param {QuadtreeTile} tile The tile to load.
116
+ */
117
+ loadTile(context, frameState, tile) {
118
+ DeveloperError.throwInstantiationError();
119
+ }
163
120
 
164
- /**
165
- * Gets the distance from the camera to the closest point on the tile. This is used for level-of-detail selection.
166
- *
167
- * @memberof QuadtreeTileProvider
168
- * @function
169
- *
170
- * @param {QuadtreeTile} tile The tile instance.
171
- * @param {FrameState} frameState The state information of the current rendering frame.
172
- *
173
- * @returns {number} The distance from the camera to the closest point on the tile, in meters.
174
- */
175
- QuadtreeTileProvider.prototype.computeDistanceToTile =
176
- DeveloperError.throwInstantiationError;
121
+ /**
122
+ * Determines the visibility of a given tile. The tile may be fully visible, partially visible, or not
123
+ * visible at all. Tiles that are renderable and are at least partially visible will be shown by a call
124
+ * to {@link QuadtreeTileProvider#showTileThisFrame}.
125
+ *
126
+ * @param {QuadtreeTile} tile The tile instance.
127
+ * @param {FrameState} frameState The state information about the current frame.
128
+ * @param {QuadtreeOccluders} occluders The objects that may occlude this tile.
129
+ *
130
+ * @returns {Visibility} The visibility of the tile.
131
+ */
132
+ computeTileVisibility(tile, frameState, occluders) {
133
+ DeveloperError.throwInstantiationError();
134
+ }
177
135
 
178
- /**
179
- * Returns true if this object was destroyed; otherwise, false.
180
- * <br /><br />
181
- * If this object was destroyed, it should not be used; calling any function other than
182
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
183
- *
184
- * @memberof QuadtreeTileProvider
185
- *
186
- * @returns {boolean} True if this object was destroyed; otherwise, false.
187
- *
188
- * @see QuadtreeTileProvider#destroy
189
- */
190
- QuadtreeTileProvider.prototype.isDestroyed =
191
- DeveloperError.throwInstantiationError;
136
+ /**
137
+ * Shows a specified tile in this frame. The provider can cause the tile to be shown by adding
138
+ * render commands to the commandList, or use any other method as appropriate. The tile is not
139
+ * expected to be visible next frame as well, unless this method is call next frame, too.
140
+ *
141
+ * @param {QuadtreeTile} tile The tile instance.
142
+ * @param {Context} context The rendering context.
143
+ * @param {FrameState} frameState The state information of the current rendering frame.
144
+ * @param {DrawCommand[]} commandList The list of rendering commands. This method may add additional commands to this list.
145
+ */
146
+ showTileThisFrame(tile, context, frameState, commandList) {
147
+ DeveloperError.throwInstantiationError();
148
+ }
149
+
150
+ /**
151
+ * Gets the distance from the camera to the closest point on the tile. This is used for level-of-detail selection.
152
+ *
153
+ * @param {QuadtreeTile} tile The tile instance.
154
+ * @param {FrameState} frameState The state information of the current rendering frame.
155
+ *
156
+ * @returns {number} The distance from the camera to the closest point on the tile, in meters.
157
+ */
158
+ computeDistanceToTile(tile, frameState) {
159
+ DeveloperError.throwInstantiationError();
160
+ }
161
+
162
+ /**
163
+ * Returns true if this object was destroyed; otherwise, false.
164
+ * <br /><br />
165
+ * If this object was destroyed, it should not be used; calling any function other than
166
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception.
167
+ *
168
+ * @returns {boolean} True if this object was destroyed; otherwise, false.
169
+ *
170
+ * @see QuadtreeTileProvider#destroy
171
+ */
172
+ isDestroyed() {
173
+ DeveloperError.throwInstantiationError();
174
+ }
175
+
176
+ /**
177
+ * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
178
+ * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
179
+ * <br /><br />
180
+ * Once an object is destroyed, it should not be used; calling any function other than
181
+ * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
182
+ * assign the return value (<code>undefined</code>) to the object as done in the example.
183
+ *
184
+ * @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
185
+ *
186
+ * @example
187
+ * provider = provider && provider();
188
+ *
189
+ * @see QuadtreeTileProvider#isDestroyed
190
+ */
191
+ destroy() {
192
+ DeveloperError.throwInstantiationError();
193
+ }
194
+ }
192
195
 
193
- /**
194
- * Destroys the WebGL resources held by this object. Destroying an object allows for deterministic
195
- * release of WebGL resources, instead of relying on the garbage collector to destroy this object.
196
- * <br /><br />
197
- * Once an object is destroyed, it should not be used; calling any function other than
198
- * <code>isDestroyed</code> will result in a {@link DeveloperError} exception. Therefore,
199
- * assign the return value (<code>undefined</code>) to the object as done in the example.
200
- *
201
- * @memberof QuadtreeTileProvider
202
- *
203
- * @exception {DeveloperError} This object was destroyed, i.e., destroy() was called.
204
- *
205
- *
206
- * @example
207
- * provider = provider && provider();
208
- *
209
- * @see QuadtreeTileProvider#isDestroyed
210
- */
211
- QuadtreeTileProvider.prototype.destroy = DeveloperError.throwInstantiationError;
212
196
  export default QuadtreeTileProvider;
@@ -17,7 +17,6 @@ class ResourceLoader {
17
17
  /**
18
18
  * The cache key of the resource.
19
19
  *
20
- * @memberof ResourceLoader.prototype
21
20
  *
22
21
  * @type {string}
23
22
  * @readonly
@@ -1,6 +1,9 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * The {@link ResourceLoader} state.
3
5
  *
6
+ * @enum {number}
4
7
  * @private
5
8
  */
6
9
  const ResourceLoaderState = {
@@ -53,4 +56,7 @@ const ResourceLoaderState = {
53
56
  */
54
57
  FAILED: 5,
55
58
  };
56
- export default Object.freeze(ResourceLoaderState);
59
+
60
+ Object.freeze(ResourceLoaderState);
61
+
62
+ export default ResourceLoaderState;
@@ -53,4 +53,7 @@ SceneMode.getMorphTime = function (value) {
53
53
  }
54
54
  return 0.0;
55
55
  };
56
- export default Object.freeze(SceneMode);
56
+
57
+ Object.freeze(SceneMode);
58
+
59
+ export default SceneMode;
@@ -2360,6 +2360,19 @@ function zoom3D(controller, startPosition, movement) {
2360
2360
  let distance;
2361
2361
  if (defined(intersection)) {
2362
2362
  distance = Cartesian3.distance(ray.origin, intersection);
2363
+ }
2364
+
2365
+ // In tracking/lookAt mode (_globe is undefined), pickPosition can hit terrain
2366
+ // behind the intended target. Ignore farther picks to prevent zoom snap.
2367
+ if (!defined(controller._globe) && defined(distance)) {
2368
+ const targetDistance = camera.getMagnitude();
2369
+ if (targetDistance < distance) {
2370
+ intersection = undefined;
2371
+ distance = undefined;
2372
+ }
2373
+ }
2374
+
2375
+ if (defined(distance)) {
2363
2376
  preIntersectionDistance = distance;
2364
2377
  }
2365
2378
 
@@ -75,4 +75,6 @@ ShadowMode.fromCastReceive = function (castShadows, receiveShadows) {
75
75
  return ShadowMode.DISABLED;
76
76
  };
77
77
 
78
- export default Object.freeze(ShadowMode);
78
+ Object.freeze(ShadowMode);
79
+
80
+ export default ShadowMode;
@@ -35,14 +35,7 @@ import destroyObject from "../Core/destroyObject.js";
35
35
  */
36
36
  function SkyBox(options) {
37
37
  this._sources = options.sources;
38
-
39
- /**
40
- * Determines if the sky box will be shown.
41
- *
42
- * @type {boolean}
43
- * @default true
44
- */
45
- this.show = options.show ?? true;
38
+ this._show = options.show ?? true;
46
39
  this._panorama = new CubeMapPanorama({
47
40
  sources: this._sources,
48
41
  show: this._show,
@@ -64,6 +57,22 @@ Object.defineProperties(SkyBox.prototype, {
64
57
  this._panorama.sources = value;
65
58
  },
66
59
  },
60
+
61
+ /**
62
+ * Determines if the sky box will be shown.
63
+ * @memberof SkyBox.prototype
64
+ * @type {boolean}
65
+ * @default true
66
+ */
67
+
68
+ show: {
69
+ get: function () {
70
+ return this._panorama.show;
71
+ },
72
+ set: function (value) {
73
+ this._panorama.show = value;
74
+ },
75
+ },
67
76
  });
68
77
 
69
78
  /**
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * The direction to display a primitive or ImageryLayer relative to the {@link Scene#splitPosition}.
3
5
  *
@@ -31,4 +33,7 @@ const SplitDirection = {
31
33
  */
32
34
  RIGHT: 1.0,
33
35
  };
34
- export default Object.freeze(SplitDirection);
36
+
37
+ Object.freeze(SplitDirection);
38
+
39
+ export default SplitDirection;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import WebGLConstants from "../Core/WebGLConstants.js";
2
4
 
3
5
  /**
@@ -70,4 +72,7 @@ const StencilFunction = {
70
72
  */
71
73
  ALWAYS: WebGLConstants.ALWAYS,
72
74
  };
73
- export default Object.freeze(StencilFunction);
75
+
76
+ Object.freeze(StencilFunction);
77
+
78
+ export default StencilFunction;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import WebGLConstants from "../Core/WebGLConstants.js";
2
4
 
3
5
  /**
@@ -70,4 +72,7 @@ const StencilOperation = {
70
72
  */
71
73
  DECREMENT_WRAP: WebGLConstants.DECR_WRAP,
72
74
  };
73
- export default Object.freeze(StencilOperation);
75
+
76
+ Object.freeze(StencilOperation);
77
+
78
+ export default StencilOperation;
@@ -1,4 +1,7 @@
1
+ // @ts-check
2
+
1
3
  /**
4
+ * @enum {number}
2
5
  * @private
3
6
  */
4
7
  const TerrainState = {
@@ -10,4 +13,7 @@ const TerrainState = {
10
13
  TRANSFORMED: 5,
11
14
  READY: 6,
12
15
  };
13
- export default Object.freeze(TerrainState);
16
+
17
+ Object.freeze(TerrainState);
18
+
19
+ export default TerrainState;
@@ -462,7 +462,7 @@ TileBoundingRegion.prototype.createDebugVolume = function (color) {
462
462
  Check.defined("color", color);
463
463
  //>>includeEnd('debug');
464
464
 
465
- const modelMatrix = new Matrix4.clone(Matrix4.IDENTITY);
465
+ const modelMatrix = Matrix4.clone(Matrix4.IDENTITY);
466
466
  const geometry = new RectangleOutlineGeometry({
467
467
  rectangle: this.rectangle,
468
468
  height: this.minimumHeight,
@@ -627,7 +627,7 @@ TileBoundingS2Cell.prototype.createDebugVolume = function (color) {
627
627
  Check.defined("color", color);
628
628
  //>>includeEnd('debug');
629
629
 
630
- const modelMatrix = new Matrix4.clone(Matrix4.IDENTITY);
630
+ const modelMatrix = Matrix4.clone(Matrix4.IDENTITY);
631
631
  const topPlanePolygon = new CoplanarPolygonOutlineGeometry({
632
632
  polygonHierarchy: {
633
633
  positions: this._planeVertices[0],
@@ -144,7 +144,7 @@ TileBoundingSphere.prototype.createDebugVolume = function (color) {
144
144
  });
145
145
  const modelMatrix = Matrix4.fromTranslation(
146
146
  this.center,
147
- new Matrix4.clone(Matrix4.IDENTITY),
147
+ Matrix4.clone(Matrix4.IDENTITY),
148
148
  );
149
149
  const instance = new GeometryInstance({
150
150
  geometry: geometry,
@@ -1,4 +1,7 @@
1
+ // @ts-check
2
+
1
3
  /**
4
+ * @enum {number}
2
5
  * @private
3
6
  */
4
7
  const TileState = {
@@ -7,4 +10,7 @@ const TileState = {
7
10
  READY: 2,
8
11
  UPSAMPLED_ONLY: 3,
9
12
  };
10
- export default Object.freeze(TileState);
13
+
14
+ Object.freeze(TileState);
15
+
16
+ export default TileState;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * A tonemapping algorithm when rendering with high dynamic range.
3
5
  *
@@ -61,4 +63,6 @@ export function validateTonemapper(tonemapper) {
61
63
  );
62
64
  }
63
65
 
64
- export default Object.freeze(Tonemapper);
66
+ Object.freeze(Tonemapper);
67
+
68
+ export default Tonemapper;
@@ -562,6 +562,13 @@ TweenCollection.prototype.update = function (time) {
562
562
  } else if (tweenjs.update(time)) {
563
563
  i++;
564
564
  } else {
565
+ // there's a chance that the update callback has side effects that clear the list of tweens and/or adds new tweens
566
+ // if it's the case that the update callback 1) clears all tweens held in the scene, then 2) adds new tweens
567
+ // the splice operation below will not be operating on the original tween, but one of the unprocessed tweens added
568
+ // from the update callback
569
+ if (tweens[i]?.needsStart) {
570
+ continue;
571
+ }
565
572
  tweenjs.stop();
566
573
  tweens.splice(i, 1);
567
574
  }