@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,31 +1,46 @@
1
- import AttributeCompression from "../../Core/AttributeCompression.js";
2
1
  import BoundingSphere from "../../Core/BoundingSphere.js";
3
2
  import Cartesian3 from "../../Core/Cartesian3.js";
4
3
  import Cartographic from "../../Core/Cartographic.js";
5
4
  import Check from "../../Core/Check.js";
6
- import ComponentDatatype from "../../Core/ComponentDatatype.js";
7
5
  import defined from "../../Core/defined.js";
8
6
  import Ellipsoid from "../../Core/Ellipsoid.js";
9
- import IndexDatatype from "../../Core/IndexDatatype.js";
10
7
  import IntersectionTests from "../../Core/IntersectionTests.js";
11
- import Ray from "../../Core/Ray.js";
12
8
  import Matrix4 from "../../Core/Matrix4.js";
13
- import Transforms from "../../Core/Transforms.js";
9
+ import Ray from "../../Core/Ray.js";
14
10
  import VerticalExaggeration from "../../Core/VerticalExaggeration.js";
15
11
  import AttributeType from "../AttributeType.js";
16
12
  import SceneMode from "../SceneMode.js";
17
13
  import VertexAttributeSemantic from "../VertexAttributeSemantic.js";
14
+ import ModelReader from "./ModelReader.js";
18
15
  import ModelUtility from "./ModelUtility.js";
19
16
 
20
17
  const scratchV0 = new Cartesian3();
21
18
  const scratchV1 = new Cartesian3();
22
19
  const scratchV2 = new Cartesian3();
23
- const scratchNodeComputedTransform = new Matrix4();
24
- const scratchModelMatrix = new Matrix4();
25
- const scratchcomputedModelMatrix = new Matrix4();
20
+ const scratchV0_t = new Cartesian3();
21
+ const scratchV1_t = new Cartesian3();
22
+ const scratchV2_t = new Cartesian3();
26
23
  const scratchPickCartographic = new Cartographic();
27
24
  const scratchBoundingSphere = new BoundingSphere();
28
25
 
26
+ /**
27
+ * Reads a 3D position from a flat vertex array at the given element index.
28
+ *
29
+ * @param {TypedArray} vertices The flat array of vertex components.
30
+ * @param {number} index The vertex index (element index, not byte offset).
31
+ * @param {number} elementStride The number of components per vertex element.
32
+ * @param {Cartesian3} result The object into which to store the position.
33
+ * @returns {Cartesian3} The modified result parameter.
34
+ * @private
35
+ */
36
+ function readPosition(vertices, index, elementStride, result) {
37
+ const i = index * elementStride;
38
+ result.x = vertices[i];
39
+ result.y = vertices[i + 1];
40
+ result.z = vertices[i + 2];
41
+ return result;
42
+ }
43
+
29
44
  /**
30
45
  * Find an intersection between a ray and the model surface that was rendered. The ray must be given in world coordinates.
31
46
  *
@@ -60,125 +75,22 @@ export default function pickModel(
60
75
  }
61
76
 
62
77
  let minT = Number.MAX_VALUE;
63
- const sceneGraph = model.sceneGraph;
64
-
65
- const nodes = sceneGraph._runtimeNodes;
66
- for (let i = 0; i < nodes.length; i++) {
67
- const runtimeNode = nodes[i];
68
- const node = runtimeNode.node;
69
-
70
- let nodeComputedTransform = Matrix4.clone(
71
- runtimeNode.computedTransform,
72
- scratchNodeComputedTransform,
73
- );
74
- let modelMatrix = Matrix4.clone(
75
- sceneGraph.computedModelMatrix,
76
- scratchModelMatrix,
77
- );
78
-
79
- const instances = node.instances;
80
- if (defined(instances)) {
81
- if (instances.transformInWorldSpace) {
82
- // Replicate the multiplication order in LegacyInstancingStageVS.
83
- modelMatrix = Matrix4.multiplyTransformation(
84
- model.modelMatrix,
85
- sceneGraph.components.transform,
86
- modelMatrix,
87
- );
88
-
89
- nodeComputedTransform = Matrix4.multiplyTransformation(
90
- sceneGraph.axisCorrectionMatrix,
91
- runtimeNode.computedTransform,
92
- nodeComputedTransform,
93
- );
94
- }
95
- }
96
-
97
- let computedModelMatrix = Matrix4.multiplyTransformation(
98
- modelMatrix,
99
- nodeComputedTransform,
100
- scratchcomputedModelMatrix,
101
- );
102
-
103
- if (frameState.mode !== SceneMode.SCENE3D) {
104
- computedModelMatrix = Transforms.basisTo2D(
105
- frameState.mapProjection,
106
- computedModelMatrix,
107
- computedModelMatrix,
108
- );
109
- }
110
-
111
- const transforms = [];
112
- if (defined(instances)) {
113
- const transformsCount = instances.attributes[0].count;
114
- const instanceComponentDatatype =
115
- instances.attributes[0].componentDatatype;
116
-
117
- const transformElements = 12;
118
- let transformsTypedArray = runtimeNode.transformsTypedArray;
119
- if (!defined(transformsTypedArray)) {
120
- const instanceTransformsBuffer = runtimeNode.instancingTransformsBuffer;
121
- if (defined(instanceTransformsBuffer) && frameState.context.webgl2) {
122
- transformsTypedArray = ComponentDatatype.createTypedArray(
123
- instanceComponentDatatype,
124
- transformsCount * transformElements,
125
- );
126
- instanceTransformsBuffer.getBufferData(transformsTypedArray);
127
- }
128
- }
129
-
130
- if (defined(transformsTypedArray)) {
131
- for (let i = 0; i < transformsCount; i++) {
132
- const index = i * transformElements;
133
-
134
- const transform = new Matrix4(
135
- transformsTypedArray[index],
136
- transformsTypedArray[index + 1],
137
- transformsTypedArray[index + 2],
138
- transformsTypedArray[index + 3],
139
- transformsTypedArray[index + 4],
140
- transformsTypedArray[index + 5],
141
- transformsTypedArray[index + 6],
142
- transformsTypedArray[index + 7],
143
- transformsTypedArray[index + 8],
144
- transformsTypedArray[index + 9],
145
- transformsTypedArray[index + 10],
146
- transformsTypedArray[index + 11],
147
- 0,
148
- 0,
149
- 0,
150
- 1,
151
- );
152
-
153
- if (instances.transformInWorldSpace) {
154
- Matrix4.multiplyTransformation(
155
- transform,
156
- nodeComputedTransform,
157
- transform,
158
- );
159
- Matrix4.multiplyTransformation(modelMatrix, transform, transform);
160
- } else {
161
- Matrix4.multiplyTransformation(
162
- transform,
163
- computedModelMatrix,
164
- transform,
165
- );
166
- }
167
- transforms.push(transform);
168
- }
169
- }
170
- }
171
78
 
172
- if (transforms.length === 0) {
173
- transforms.push(computedModelMatrix);
174
- }
175
-
176
- const primitivesLength = runtimeNode.runtimePrimitives.length;
177
- for (let j = 0; j < primitivesLength; j++) {
178
- const runtimePrimitive = runtimeNode.runtimePrimitives[j];
179
- const primitive = runtimePrimitive.primitive;
180
-
181
- if (defined(runtimePrimitive.boundingSphere) && !defined(instances)) {
79
+ ellipsoid = ellipsoid ?? Ellipsoid.default;
80
+ verticalExaggeration = verticalExaggeration ?? 1.0;
81
+ relativeHeight = relativeHeight ?? 0.0;
82
+
83
+ const mapProjection =
84
+ frameState.mode !== SceneMode.SCENE3D
85
+ ? frameState.mapProjection
86
+ : undefined;
87
+
88
+ ModelReader.forEachPrimitive(
89
+ model,
90
+ { mapProjection: mapProjection },
91
+ function (runtimePrimitive, primitive, instances, computedModelMatrix) {
92
+ // Bounding sphere early-out for non-instanced primitives
93
+ if (defined(runtimePrimitive.boundingSphere) && instances.length === 1) {
182
94
  const boundingSphere = BoundingSphere.transform(
183
95
  runtimePrimitive.boundingSphere,
184
96
  computedModelMatrix,
@@ -189,144 +101,88 @@ export default function pickModel(
189
101
  boundingSphere,
190
102
  );
191
103
  if (!defined(boundsIntersection)) {
192
- continue;
104
+ return;
193
105
  }
194
106
  }
195
107
 
196
- const positionAttribute = ModelUtility.getAttributeBySemantic(
197
- primitive,
198
- VertexAttributeSemantic.POSITION,
199
- );
200
- const byteOffset = positionAttribute.byteOffset;
201
- const byteStride = positionAttribute.byteStride;
202
- const vertexCount = positionAttribute.count;
203
-
204
108
  if (!defined(primitive.indices)) {
205
109
  // Point clouds
206
- continue;
207
- }
208
-
209
- let indices = primitive.indices.typedArray;
210
- if (!defined(indices)) {
211
- const indicesBuffer = primitive.indices.buffer;
212
- const indicesCount = primitive.indices.count;
213
- const indexDatatype = primitive.indices.indexDatatype;
214
- if (defined(indicesBuffer) && frameState.context.webgl2) {
215
- if (indexDatatype === IndexDatatype.UNSIGNED_BYTE) {
216
- indices = new Uint8Array(indicesCount);
217
- } else if (indexDatatype === IndexDatatype.UNSIGNED_SHORT) {
218
- indices = new Uint16Array(indicesCount);
219
- } else if (indexDatatype === IndexDatatype.UNSIGNED_INT) {
220
- indices = new Uint32Array(indicesCount);
221
- }
222
-
223
- indicesBuffer.getBufferData(indices);
224
- }
225
- }
226
-
227
- let vertices = positionAttribute.typedArray;
228
- let componentDatatype = positionAttribute.componentDatatype;
229
- let attributeType = positionAttribute.type;
230
-
231
- const quantization = positionAttribute.quantization;
232
- if (defined(quantization)) {
233
- componentDatatype = positionAttribute.quantization.componentDatatype;
234
- attributeType = positionAttribute.quantization.type;
110
+ return;
235
111
  }
236
112
 
237
- const numComponents = AttributeType.getNumberOfComponents(attributeType);
238
- const bytes = ComponentDatatype.getSizeInBytes(componentDatatype);
239
- const isInterleaved =
240
- !defined(vertices) &&
241
- defined(byteStride) &&
242
- byteStride !== numComponents * bytes;
243
-
244
- let elementStride = numComponents;
245
- let offset = 0;
246
- if (isInterleaved) {
247
- elementStride = byteStride / bytes;
248
- offset = byteOffset / bytes;
113
+ let vertices;
114
+ let numPosComponents;
115
+ const positionAttribute = ModelUtility.getAttributeBySemantic(
116
+ primitive,
117
+ VertexAttributeSemantic.POSITION,
118
+ );
119
+ if (defined(positionAttribute)) {
120
+ numPosComponents = AttributeType.getNumberOfComponents(
121
+ positionAttribute.type,
122
+ );
123
+ vertices = ModelReader.readAttributeAsTypedArray(positionAttribute);
249
124
  }
250
- const elementCount = vertexCount * elementStride;
251
-
252
- if (!defined(vertices)) {
253
- const verticesBuffer = positionAttribute.buffer;
254
-
255
- if (defined(verticesBuffer) && frameState.context.webgl2) {
256
- vertices = ComponentDatatype.createTypedArray(
257
- componentDatatype,
258
- elementCount,
259
- );
260
- verticesBuffer.getBufferData(
261
- vertices,
262
- isInterleaved ? 0 : byteOffset,
263
- 0,
264
- elementCount,
265
- );
266
- }
267
125
 
268
- if (quantization && positionAttribute.normalized) {
269
- vertices = AttributeCompression.dequantize(
270
- vertices,
271
- componentDatatype,
272
- attributeType,
273
- vertexCount,
274
- );
275
- }
126
+ let indices;
127
+ if (defined(primitive.indices)) {
128
+ indices = ModelReader.readIndicesAsTypedArray(primitive.indices);
276
129
  }
277
130
 
278
131
  if (!defined(indices) || !defined(vertices)) {
279
132
  return;
280
133
  }
281
134
 
282
- ellipsoid = ellipsoid ?? Ellipsoid.default;
283
- verticalExaggeration = verticalExaggeration ?? 1.0;
284
- relativeHeight = relativeHeight ?? 0.0;
285
-
286
135
  const indicesLength = indices.length;
287
136
  for (let i = 0; i < indicesLength; i += 3) {
288
137
  const i0 = indices[i];
289
138
  const i1 = indices[i + 1];
290
139
  const i2 = indices[i + 2];
291
140
 
292
- for (const instanceTransform of transforms) {
293
- const v0 = getVertexPosition(
294
- vertices,
295
- i0,
296
- offset,
297
- elementStride,
298
- quantization,
299
- instanceTransform,
300
- verticalExaggeration,
301
- relativeHeight,
302
- ellipsoid,
141
+ readPosition(vertices, i0, numPosComponents, scratchV0);
142
+ readPosition(vertices, i1, numPosComponents, scratchV1);
143
+ readPosition(vertices, i2, numPosComponents, scratchV2);
144
+
145
+ for (const instance of instances) {
146
+ const v0 = Matrix4.multiplyByPoint(
147
+ instance.transform,
303
148
  scratchV0,
149
+ scratchV0_t,
304
150
  );
305
- const v1 = getVertexPosition(
306
- vertices,
307
- i1,
308
- offset,
309
- elementStride,
310
- quantization,
311
- instanceTransform,
312
- verticalExaggeration,
313
- relativeHeight,
314
- ellipsoid,
151
+ const v1 = Matrix4.multiplyByPoint(
152
+ instance.transform,
315
153
  scratchV1,
154
+ scratchV1_t,
316
155
  );
317
- const v2 = getVertexPosition(
318
- vertices,
319
- i2,
320
- offset,
321
- elementStride,
322
- quantization,
323
- instanceTransform,
324
- verticalExaggeration,
325
- relativeHeight,
326
- ellipsoid,
156
+ const v2 = Matrix4.multiplyByPoint(
157
+ instance.transform,
327
158
  scratchV2,
159
+ scratchV2_t,
328
160
  );
329
161
 
162
+ if (verticalExaggeration !== 1.0) {
163
+ VerticalExaggeration.getPosition(
164
+ v0,
165
+ ellipsoid,
166
+ verticalExaggeration,
167
+ relativeHeight,
168
+ v0,
169
+ );
170
+ VerticalExaggeration.getPosition(
171
+ v1,
172
+ ellipsoid,
173
+ verticalExaggeration,
174
+ relativeHeight,
175
+ v1,
176
+ );
177
+ VerticalExaggeration.getPosition(
178
+ v2,
179
+ ellipsoid,
180
+ verticalExaggeration,
181
+ relativeHeight,
182
+ v2,
183
+ );
184
+ }
185
+
330
186
  const t = IntersectionTests.rayTriangleParametric(
331
187
  ray,
332
188
  v0,
@@ -342,8 +198,8 @@ export default function pickModel(
342
198
  }
343
199
  }
344
200
  }
345
- }
346
- }
201
+ },
202
+ );
347
203
 
348
204
  if (minT === Number.MAX_VALUE) {
349
205
  return undefined;
@@ -362,64 +218,3 @@ export default function pickModel(
362
218
 
363
219
  return result;
364
220
  }
365
-
366
- function getVertexPosition(
367
- vertices,
368
- index,
369
- offset,
370
- numElements,
371
- quantization,
372
- instanceTransform,
373
- verticalExaggeration,
374
- relativeHeight,
375
- ellipsoid,
376
- result,
377
- ) {
378
- const i = offset + index * numElements;
379
- result.x = vertices[i];
380
- result.y = vertices[i + 1];
381
- result.z = vertices[i + 2];
382
-
383
- if (defined(quantization)) {
384
- if (quantization.octEncoded) {
385
- result = AttributeCompression.octDecodeInRange(
386
- result,
387
- quantization.normalizationRange,
388
- result,
389
- );
390
-
391
- if (quantization.octEncodedZXY) {
392
- const x = result.x;
393
- result.x = result.z;
394
- result.z = result.y;
395
- result.y = x;
396
- }
397
- } else {
398
- result = Cartesian3.multiplyComponents(
399
- result,
400
- quantization.quantizedVolumeStepSize,
401
- result,
402
- );
403
-
404
- result = Cartesian3.add(
405
- result,
406
- quantization.quantizedVolumeOffset,
407
- result,
408
- );
409
- }
410
- }
411
-
412
- result = Matrix4.multiplyByPoint(instanceTransform, result, result);
413
-
414
- if (verticalExaggeration !== 1.0) {
415
- VerticalExaggeration.getPosition(
416
- result,
417
- ellipsoid,
418
- verticalExaggeration,
419
- relativeHeight,
420
- result,
421
- );
422
- }
423
-
424
- return result;
425
- }
@@ -1,3 +1,5 @@
1
+ // @ts-check
2
+
1
3
  /**
2
4
  * Determines if and how a glTF animation is looped.
3
5
  *
@@ -30,4 +32,7 @@ const ModelAnimationLoop = {
30
32
  */
31
33
  MIRRORED_REPEAT: 2,
32
34
  };
33
- export default Object.freeze(ModelAnimationLoop);
35
+
36
+ Object.freeze(ModelAnimationLoop);
37
+
38
+ export default ModelAnimationLoop;
@@ -1,4 +1,7 @@
1
+ // @ts-check
2
+
1
3
  /**
4
+ * @enum {number}
2
5
  * @private
3
6
  */
4
7
  const ModelAnimationState = {
@@ -6,4 +9,6 @@ const ModelAnimationState = {
6
9
  ANIMATING: 1,
7
10
  };
8
11
 
9
- export default Object.freeze(ModelAnimationState);
12
+ Object.freeze(ModelAnimationState);
13
+
14
+ export default ModelAnimationState;