@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 types of imagery provided by Bing Maps.
3
5
  *
@@ -90,4 +92,7 @@ const BingMapsStyle = {
90
92
  */
91
93
  COLLINS_BART: "CollinsBart",
92
94
  };
93
- export default Object.freeze(BingMapsStyle);
95
+
96
+ Object.freeze(BingMapsStyle);
97
+
98
+ export default BingMapsStyle;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import WebGLConstants from "../Core/WebGLConstants.js";
2
4
 
3
5
  /**
@@ -50,4 +52,7 @@ const BlendEquation = {
50
52
  */
51
53
  MAX: WebGLConstants.MAX,
52
54
  };
53
- export default Object.freeze(BlendEquation);
55
+
56
+ Object.freeze(BlendEquation);
57
+
58
+ export default BlendEquation;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import WebGLConstants from "../Core/WebGLConstants.js";
2
4
 
3
5
  /**
@@ -126,4 +128,7 @@ const BlendFunction = {
126
128
  */
127
129
  SOURCE_ALPHA_SATURATE: WebGLConstants.SRC_ALPHA_SATURATE,
128
130
  };
129
- export default Object.freeze(BlendFunction);
131
+
132
+ Object.freeze(BlendFunction);
133
+
134
+ export default BlendFunction;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * Determines how opaque and translucent parts of billboards, points, and labels are blended with the scene.
3
5
  *
@@ -25,4 +27,7 @@ const BlendOption = {
25
27
  */
26
28
  OPAQUE_AND_TRANSLUCENT: 2,
27
29
  };
28
- export default Object.freeze(BlendOption);
30
+
31
+ Object.freeze(BlendOption);
32
+
33
+ export default BlendOption;
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  import BlendEquation from "./BlendEquation.js";
2
4
  import BlendFunction from "./BlendFunction.js";
3
5
 
@@ -70,4 +72,7 @@ const BlendingState = {
70
72
  functionDestinationAlpha: BlendFunction.ONE,
71
73
  }),
72
74
  };
73
- export default Object.freeze(BlendingState);
75
+
76
+ Object.freeze(BlendingState);
77
+
78
+ export default BlendingState;
@@ -47,7 +47,6 @@ class BufferLoader extends ResourceLoader {
47
47
  /**
48
48
  * The cache key of the resource.
49
49
  *
50
- * @memberof BufferLoader.prototype
51
50
  *
52
51
  * @type {string}
53
52
  * @readonly
@@ -60,7 +59,6 @@ class BufferLoader extends ResourceLoader {
60
59
  /**
61
60
  * The typed array containing the embedded buffer contents.
62
61
  *
63
- * @memberof BufferLoader.prototype
64
62
  *
65
63
  * @type {Uint8Array}
66
64
  * @readonly
@@ -0,0 +1,148 @@
1
+ // @ts-check
2
+
3
+ import BufferPrimitive from "./BufferPrimitive.js";
4
+ import Cartesian3 from "../Core/Cartesian3.js";
5
+ import assert from "../Core/assert.js";
6
+ import BufferPrimitiveCollection from "./BufferPrimitiveCollection.js";
7
+
8
+ /** @import BufferPointCollection from "./BufferPointCollection.js"; */
9
+
10
+ const { ERR_CAPACITY } = BufferPrimitiveCollection.Error;
11
+
12
+ const scratchCartesian = new Cartesian3();
13
+
14
+ /**
15
+ * View bound to the underlying buffer data of a {@link BufferPointCollection}.
16
+ *
17
+ * <p>BufferPoint instances are {@link https://en.wikipedia.org/wiki/Flyweight_pattern|flyweights}:
18
+ * a single BufferPoint instance can be temporarily bound to any conceptual
19
+ * "point" in a BufferPointCollection, allowing very large collections to be
20
+ * iterated and updated with a minimal memory footprint.</p>
21
+ *
22
+ * Represented as one (1) position.
23
+ *
24
+ * @see BufferPointCollection
25
+ * @see BufferPointMaterial
26
+ * @see BufferPrimitive
27
+ * @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
28
+ * @extends BufferPrimitive
29
+ */
30
+ class BufferPoint extends BufferPrimitive {
31
+ /**
32
+ * @type {BufferPointCollection}
33
+ * @ignore
34
+ */
35
+ _collection = null;
36
+
37
+ /** @ignore */
38
+ static Layout = {
39
+ ...BufferPrimitive.Layout,
40
+
41
+ /**
42
+ * Offset in position array to current point vertex, number of VEC3 elements.
43
+ * @type {number}
44
+ * @ignore
45
+ */
46
+ POSITION_OFFSET_U32: BufferPrimitive.Layout.__BYTE_LENGTH,
47
+
48
+ /**
49
+ * @type {number}
50
+ * @ignore
51
+ */
52
+ __BYTE_LENGTH: BufferPrimitive.Layout.__BYTE_LENGTH + 4,
53
+ };
54
+
55
+ /////////////////////////////////////////////////////////////////////////////
56
+ // LIFECYCLE
57
+
58
+ /**
59
+ * Copies data from source point to result.
60
+ *
61
+ * @param {BufferPoint} point
62
+ * @param {BufferPoint} result
63
+ * @return {BufferPoint}
64
+ * @override
65
+ */
66
+ static clone(point, result) {
67
+ super.clone(point, result);
68
+ result.setPosition(point.getPosition(scratchCartesian));
69
+ return result;
70
+ }
71
+
72
+ /////////////////////////////////////////////////////////////////////////////
73
+ // GEOMETRY
74
+
75
+ /**
76
+ * Offset in collection position array to position of this point, number
77
+ * of VEC3 elements.
78
+ *
79
+ * @type {number}
80
+ * @readonly
81
+ * @ignore
82
+ */
83
+ get vertexOffset() {
84
+ return this._getUint32(BufferPoint.Layout.POSITION_OFFSET_U32);
85
+ }
86
+
87
+ /**
88
+ * Count of positions (vertices) in this primitive. Always 1.
89
+ *
90
+ * @type {number}
91
+ * @readonly
92
+ */
93
+ get vertexCount() {
94
+ return 1;
95
+ }
96
+
97
+ /**
98
+ * Gets the position of this point.
99
+ *
100
+ * @param {Cartesian3} [result]
101
+ * @returns {Cartesian3}
102
+ */
103
+ getPosition(result) {
104
+ const positionF64 = this._collection._positionView;
105
+ // @ts-expect-error TODO(tsd-jsdoc): See https://github.com/CesiumGS/cesium/pull/13302.
106
+ return Cartesian3.fromArray(positionF64, this.vertexOffset * 3, result);
107
+ }
108
+
109
+ /**
110
+ * Sets the position of this point.
111
+ *
112
+ * @param {Cartesian3} position
113
+ */
114
+ setPosition(position) {
115
+ const collection = this._collection;
116
+ const vertexOffset = this.vertexOffset;
117
+
118
+ //>>includeStart('debug', pragmas.debug);
119
+ assert(vertexOffset < collection.vertexCountMax, ERR_CAPACITY);
120
+ //>>includeEnd('debug');
121
+
122
+ collection._positionView[vertexOffset * 3] = position.x;
123
+ collection._positionView[vertexOffset * 3 + 1] = position.y;
124
+ collection._positionView[vertexOffset * 3 + 2] = position.z;
125
+
126
+ collection._makeDirtyBoundingVolume();
127
+ }
128
+
129
+ /////////////////////////////////////////////////////////////////////////////
130
+ // DEBUG
131
+
132
+ /**
133
+ * Returns a JSON-serializable object representing the point. This encoding
134
+ * is not memory-efficient, and should generally be used for debugging and
135
+ * testing.
136
+ *
137
+ * @returns {Object} JSON-serializable object.
138
+ * @override
139
+ */
140
+ toJSON() {
141
+ return {
142
+ ...super.toJSON(),
143
+ position: Cartesian3.pack(this.getPosition(), []),
144
+ };
145
+ }
146
+ }
147
+
148
+ export default BufferPoint;
@@ -0,0 +1,138 @@
1
+ // @ts-check
2
+
3
+ import BufferPrimitiveCollection from "./BufferPrimitiveCollection.js";
4
+ import BufferPoint from "./BufferPoint.js";
5
+ import Cartesian3 from "../Core/Cartesian3.js";
6
+ import Frozen from "../Core/Frozen.js";
7
+ import renderPoints from "./renderBufferPointCollection.js";
8
+ import BufferPointMaterial from "./BufferPointMaterial.js";
9
+
10
+ /** @import Matrix4 from "../Core/Matrix4.js"; */
11
+ /** @import FrameState from "./FrameState.js"; */
12
+
13
+ /**
14
+ * @typedef {object} BufferPointOptions
15
+ * @property {Matrix4} [modelMatrix=Matrix4.IDENTITY] Transforms geometry from model to world coordinates.
16
+ * @property {boolean} [show=true]
17
+ * @property {BufferPointMaterial} [material=BufferPointMaterial.DEFAULT_MATERIAL]
18
+ * @property {number} [featureId]
19
+ * @property {object} [pickObject]
20
+ * @property {Cartesian3} [position=Cartesian3.ZERO]
21
+ * @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
22
+ */
23
+
24
+ /**
25
+ * Collection of points held in ArrayBuffer storage for performance and memory optimization.
26
+ *
27
+ * <p>Default buffer memory allocation is arbitrary, and collections cannot be resized,
28
+ * so specific per-buffer capacities should be provided in the collection
29
+ * constructor when available.</p>
30
+ *
31
+ * @example
32
+ * const collection = new BufferPointCollection({primitiveCountMax: 1024});
33
+ *
34
+ * const point = new BufferPoint();
35
+ * const material = new BufferPointMaterial({color: Color.WHITE});
36
+ *
37
+ * // Create a new point, temporarily bound to 'point' local variable.
38
+ * collection.add({
39
+ * position: new Cartesian3(0.0, 0.0, 0.0),
40
+ * material
41
+ * }, point);
42
+ *
43
+ * // Iterate over all points in collection, temporarily binding 'point'
44
+ * // local variable to each, and updating point material.
45
+ * for (let i = 0; i < collection.primitiveCount; i++) {
46
+ * collection.get(i, point);
47
+ * point.setMaterial(material);
48
+ * }
49
+ *
50
+ * @see BufferPoint
51
+ * @see BufferPrimitiveCollection
52
+ * @extends BufferPrimitiveCollection<BufferPoint>
53
+ * @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
54
+ */
55
+ class BufferPointCollection extends BufferPrimitiveCollection {
56
+ /**
57
+ * @param {object} options
58
+ * @param {number} [options.primitiveCountMax=BufferPrimitiveCollection.DEFAULT_CAPACITY]
59
+ * @param {boolean} [options.show=true]
60
+ * @param {boolean} [options.debugShowBoundingVolume=false]
61
+ * @param {boolean} [options.allowPicking=false]
62
+ */
63
+ constructor(options = Frozen.EMPTY_OBJECT) {
64
+ super({ ...options, vertexCountMax: options.primitiveCountMax });
65
+ }
66
+
67
+ _getCollectionClass() {
68
+ return BufferPointCollection;
69
+ }
70
+
71
+ _getPrimitiveClass() {
72
+ return BufferPoint;
73
+ }
74
+
75
+ _getMaterialClass() {
76
+ return BufferPointMaterial;
77
+ }
78
+
79
+ /////////////////////////////////////////////////////////////////////////////
80
+ // COLLECTION LIFECYCLE
81
+
82
+ /**
83
+ * @param {BufferPointCollection} collection
84
+ * @returns {BufferPointCollection}
85
+ * @override
86
+ * @ignore
87
+ */
88
+ static _cloneEmpty(collection) {
89
+ return new BufferPointCollection({
90
+ primitiveCountMax: collection.primitiveCountMax,
91
+ });
92
+ }
93
+
94
+ /////////////////////////////////////////////////////////////////////////////
95
+ // PRIMITIVE LIFECYCLE
96
+
97
+ /**
98
+ * Adds a new point to the collection, with the specified options. A
99
+ * {@link BufferPoint} instance is linked to the new point, using
100
+ * the 'result' argument if given, or a new instance if not. For repeated
101
+ * calls, prefer to reuse a single BufferPoint instance rather than
102
+ * allocating a new instance on each call.
103
+ *
104
+ * @param {BufferPointOptions} options
105
+ * @param {BufferPoint} result
106
+ * @returns {BufferPoint}
107
+ * @override
108
+ */
109
+ add(options, result = new BufferPoint()) {
110
+ super.add(options, result);
111
+
112
+ result._setUint32(
113
+ BufferPoint.Layout.POSITION_OFFSET_U32,
114
+ this._positionCount++,
115
+ );
116
+ result.setPosition(options.position ?? Cartesian3.ZERO);
117
+
118
+ return result;
119
+ }
120
+
121
+ /////////////////////////////////////////////////////////////////////////////
122
+ // RENDER
123
+
124
+ /**
125
+ * @param {FrameState} frameState
126
+ * @ignore
127
+ */
128
+ update(frameState) {
129
+ super.update(frameState);
130
+
131
+ const passes = frameState.passes;
132
+ if (this.show && (passes.render || passes.pick)) {
133
+ this._renderContext = renderPoints(this, frameState, this._renderContext);
134
+ }
135
+ }
136
+ }
137
+
138
+ export default BufferPointCollection;
@@ -0,0 +1,95 @@
1
+ // @ts-check
2
+
3
+ import Frozen from "../Core/Frozen.js";
4
+ import BufferPrimitiveMaterial from "./BufferPrimitiveMaterial.js";
5
+
6
+ /** @import Color from "../Core/Color.js"; */
7
+ /** @import BufferPoint from "./BufferPoint.js"; */
8
+
9
+ /**
10
+ * @typedef {object} BufferPointMaterialOptions
11
+ * @property {Color} [color=Color.WHITE] Color of fill.
12
+ * @property {Color} [outlineColor=Color.WHITE] Color of outline.
13
+ * @property {number} [outlineWidth=0.0] Width of outline, 0-255px.
14
+ * @property {number} [size=1.0] Size of point, 0-255px.
15
+ */
16
+
17
+ /**
18
+ * Material description for a {@link BufferPoint}.
19
+ *
20
+ * <p>BufferPointMaterial objects are {@link Packable|packable}, stored
21
+ * when calling {@link BufferPoint#setMaterial}. Subsequent changes to the
22
+ * material will not affect the point until setMaterial() is called again.</p>
23
+ *
24
+ * @experimental This feature is not final and is subject to change without Cesium's standard deprecation policy.
25
+ * @extends BufferPrimitiveMaterial
26
+ */
27
+ class BufferPointMaterial extends BufferPrimitiveMaterial {
28
+ /** @ignore */
29
+ static Layout = {
30
+ ...BufferPrimitiveMaterial.Layout,
31
+ SIZE_U8: BufferPrimitiveMaterial.Layout.__BYTE_LENGTH,
32
+ __BYTE_LENGTH: BufferPrimitiveMaterial.Layout.__BYTE_LENGTH + 4,
33
+ };
34
+
35
+ /**
36
+ * @type {BufferPointMaterial}
37
+ * @ignore
38
+ */
39
+ static DEFAULT_MATERIAL = Object.freeze(new BufferPointMaterial());
40
+
41
+ /**
42
+ * @param {BufferPointMaterialOptions} [options]
43
+ */
44
+ constructor(options = Frozen.EMPTY_OBJECT) {
45
+ super(options);
46
+
47
+ /**
48
+ * Size of point, 0-255px.
49
+ * @type {number}
50
+ */
51
+ this.size = options.size ?? 1;
52
+ }
53
+
54
+ /**
55
+ * @override
56
+ * @param {BufferPointMaterial} material
57
+ * @param {DataView} view
58
+ * @param {number} byteOffset
59
+ * @override
60
+ */
61
+ static pack(material, view, byteOffset) {
62
+ super.pack(material, view, byteOffset);
63
+ view.setUint8(this.Layout.SIZE_U8 + byteOffset, material.size);
64
+ }
65
+
66
+ /**
67
+ * @override
68
+ * @param {DataView} view
69
+ * @param {number} byteOffset
70
+ * @param {BufferPointMaterial} result
71
+ * @returns {BufferPointMaterial}
72
+ * @override
73
+ */
74
+ static unpack(view, byteOffset, result) {
75
+ super.unpack(view, byteOffset, result);
76
+ result.size = view.getUint8(this.Layout.SIZE_U8 + byteOffset);
77
+ return result;
78
+ }
79
+
80
+ /////////////////////////////////////////////////////////////////////////////
81
+ // DEBUG
82
+
83
+ /**
84
+ * Returns a JSON-serializable object representing the material. This encoding
85
+ * is not memory-efficient, and should generally be used for debugging and
86
+ * testing.
87
+ *
88
+ * @returns {Object} JSON-serializable object.
89
+ */
90
+ toJSON() {
91
+ return { ...super.toJSON(), size: this.size };
92
+ }
93
+ }
94
+
95
+ export default BufferPointMaterial;